SELAMAT DATANG PARA TAMU

SOFTWARE PROSES


Proses software adalah aktivitas yang terkait dalam membuat dan berevolusinya sebuah sistem perangkat

lunak yang meliputi aktivitas umum dalam proses software Spesifikasi, desain dan implementasi, validasi dan

evolusi. Kebutuhan adalah proses menyusun sebuah spesifikasi kebutuhan perangkat lunak Desain dan

implementasi mengubah spesifikasi kedalam program yang dapat dijalankan. Validasi menguji sistem yang

dibangun memenuhi spesifikasi dan kebutuhan user Evolusi terkait dengan perubahan sistem setelah

digunakan Teknologi CASE digunakan untuk membantu dalam aktivitas-aktivitas proses software



Model Software Proses

1. Waterfall Model


Waterfall Model adalah sebuah metode pengembangan software yang bersifat sekuensial . selain ini

Model ini merupakan model yang paling banyak dipakai oleh para pengembang software. Inti dari

metode waterfall adalah pengerjaan dari suatu sistem dilakukan secara berurutan atau secara linear.

Jadi jika langkah satu belum dikerjakan maka tidak akan bisa melakukan pengerjaan langkah 2, 3 dan

seterusnya. Secara otomatis tahapan ke3

akan bisa dilakukan jika tahap ke1

dan ke2

sudah

dilakukan. Ada dua gambaran dari Waterfall Model, biarpun berbeda dalam menggunakan fase tapi

intinya sama.

Fasefase

dalam Waterfall Model menurut Pressman

Fasefase

dalam Waterfall Model menurut Sommervile

Keterkaitan dan pengaruh antar tahap ini ada karena output sebuah tahap dalam Waterfall Model

merupakan input bagi tahap berikutnya, dengan demikian ketidaksempurnaan hasil pelaksanaan tahap

sebelumnya adalah awal ketidaksempurnaan tahap berikutnya. Memperhatikan karakteristik ini, sangat

penting bagi tim pengembang dan perusahaan untuk secara bersamasama

melakukan analisa kebutuhan

dan desain sistem sesempurna mungkin sebelum masuk ke dalam tahap penulisan kode program.

Secara garis besar metode waterfall mempunyai langkahlangkah

sebagai berikut : Analisa, Design,

Code dan Testing, Penerapan dan Pemeliharaan

1. Analisa kebutuhan (Requirement Analysis)/( Requirements analysis and definition)

Langkah ini merupakan analisa terhadap kebutuhan sistem. Pengumpulan data dalam tahap ini bisa

malakukan sebuah penelitian, wawancara atau study literatur. Seorang sistem analis akan menggali

informasi sebanyakbanyaknya

dari user sehingga akan tercipta sebuah sistem komputer yang bisa

melakukan tugastugas

yang diinginkan oleh user tersebut. Tahapan ini akan menghasilkan dokumen

user requirment atau bisa dikatakan sebagai data yang berhubungan dengan keinginanuser dalam

pembuatan sistem. Dokumen ini lah yang akan menjadi acuan sistem analis untuk menterjemahkan ke

dalam bahasa pemprogram.

2. Design sistem (System Design)

Proses desain akan menerjemahkan syarat kebutuhan ke sebuah perancangan perangkat lunak yang

dapat diperkirakan sebelum dibuat coding. Proses ini berfokus pada : struktur data, arsitektur perangkat

lunak, representasi interface, dan detail (algoritma) prosedural. Tahapan ini akan menghasilkan dokumen

yang disebut software requirment. Dokumen inilah yang akan digunakanproggrammer untuk

melakukan aktivitas pembuatan sistemnya.

3. Coding & Testing/penulisan kode Program (Implementation)

Coding merupan penerjemahan design dalam bahasa yang bisa dikenali oleh komputer. Dilakukan oleh

programmer yang akan meterjemahkan transaksi yang diminta oleh user. Tahapan ini lah yang

merupakan tahapan secara nyata dalam mengerjakan suatu sistem. Dalam artian penggunaan komputer

akan dimaksimalkan dalam tahapan ini. Setelah pengkodean selesai maka akan dilakukan testing

terhadap sistem yang telah dibuat tadi. Tujuan testing adalah menemukan kesalahankesalahan

terhadap sistem tersebut dan kemudian bisa diperbaiki.

4. Penerapan / pengujian program (Integration & Testing)

Tahapan ini bisa dikatakan final dalam pembuatan sebuah sistem. Setelah melakukan analisa, design

dan pengkodean maka sistem yang sudah jadi akan digunakan oleh user.

5. Pemeliharaan (Operation & Maintenance)

Perangkat lunak yang sudah disampaikan kepada pelanggan pasti akan mengalami perubahan.

Perubahan tersebut bisa karena mengalami kesalahan karena perangkat lunak harus menyesuaikan

dengan lingkungan (periperal atau sistem operasi baru) baru, atau karena pelanggan membutuhkan

perkembangan fungsional.

Keuntungan Metode Waterfall

● Kualitas dari sistem yang dihasilkan akan baik. Ini dikarenakan oleh pelaksanaannya secara

bertahap. Sehingga tidak terfokus pada tahapan tertentu.

● Document pengembangan sistem sangat terorganisir, karena setiap fase harus terselesaikan dengan

lengkap sebelum melangkah ke fase berikutnya. Jadi setiap fase atau tahapan akan mempunyai

dokumen tertentu.

● Metode ini masih lebih baik digunakan walaupun sudah tergolong kuno, daripada menggunakan

pendekatan asalasalan.

Selain itu, metode ini juga masih masuk akal jika kebutuhan sudah diketahui

dengan baik.

Kelemahan waterfall

● Diperlukan majemen yang baik, karena proses pengembangan tidak dapat dilakukan secara

berulang sebelum terjadinya suatu produk.

● Kesalahan kecil akan menjadi masalah besar jika tidak diketahui sejak awal pengembangan yang

berakibat pada tahapan selanjutnya.

● Pelanggan sulit menyatakan kebutuhan secara eksplisit sehingga tidak dapat mengakomodasi

ketidakpastian pada saat awal pengembangan.

● Pelanggan harus sabar, karena pembuatan perangkat lunak akan dimulai ketika tahap desain sudah

selesai. Sedangkan pada tahap sebelum desain bisa memakan waktu yang lama.

● Pada kenyataannya, jarang mengikuti urutan sekuensial seperti pada teori. Iterasi sering terjadi

menyebabkan masalah baru.

2. Model spiral

Model spiral pada awalnya diusulkan oleh Boehm, adalah model proses perangkat lunak evolusioner

yang merangkai sifat iteratif dari prototype dengan cara kontrol dan aspeksistematis model sequensial

linier.

Model iteratif ditandai dengan tingkah laku yang memungkinkan pengembangmengembangkan

versi perangkat lunak yang lebih lengkap secara bertahap. Perangkat lunakdikembangkan dalam

deretan pertambahan. Selama awal iterasi, rilis inkremantal bisaberupa model/prototype kertas,

kemudian sedikit demi sedikit dihasilkan versi sistem yanglebih lengkap.

TahapanTahapan

Model Spiral

Model spiral dibagi menjadi enam wilayah tugas yaitu:

1. Komunikasi pelanggan

Yaitu tugastugas

untuk membangun komunikasi antara pelanggan dan kebutuhankebutuhan yang

diinginkan oleh pelanggan

2. Perencanaan

Yaitu tugastugas

untuk mendefinisikan sumber daya, ketepatan waktu, dan proyek

informasi lain yg berhubungan.

3. Analisis Resiko

Yaitu tugastugas

yang dibutuhkan untuk menaksir resikomanajemen dan teknis.

4. Perekayasaan

Yaitu tugas yang dibutuhkan untuk membangun satu atau lebih representasi dari

apikasi tersebut.

5. Konstruksi dan peluncuran

Yaitu tugastugas

yang dibutuhkan untuk mengkonstruksi, menguji, memasang , dan

memberi pelayanan kepada pemakai.

6. Evaluasi Pelanggan

Yaitu tugastugas

untuk mendapatkan umpan balik dari pelanggan.

Kelebihan dan Kelemahan Model Spiral

a. Kelebihan model Spiral :

1. Dapat disesuaikan agar perangkat lunak bisa dipakai selama hidup perangkat lunak

komputer.

2. Lebih cocok untuk pengembangan sistem dan perangkat lunak skala besar

3. Pengembang dan pemakai dapat lebih mudah memahami dan bereaksi terhadap

resiko setiap tingkat evolusi karena perangkat lunak terus bekerja selama proses .

4. Menggunakan prototipe sebagai mekanisme pengurangan resiko dan pada setiap

keadaan di dalam evolusi produk.

5. Tetap mengikuti langkahlangkah

dalam siklus kehidupan klasik dan memasukkannya

ke dalam kerangka kerja iteratif .

6. Membutuhkan pertimbangan langsung terhadp resiko teknis sehingga mengurangi

resiko sebelum menjadi permaslahan yang serius.

b. Kelemahan model Spiral :

1. Sulit untuk menyakinkan pelanggan bahwa pendekatan evolusioner ini bisa dikontrol.

2. Memerlukan penaksiran resiko yang masuk akal dan akan menjadi masalah yang

serius jika resiko mayor tidak ditemukan dan diatur.

3. Butuh waktu lama untuk menerapkan paradigma ini menuju kepastian yang absolut

3. Prototyping Model

Prototyping adalah salah satu pendekatan dalam rekayasa perangkat lunak yang secara langsung

mendemonstrasikan bagaimana sebuah perangkat lunak atau komponenkomponen

perangkat lunak

akan bekerja dalam lingkungannya sebelum tahapan konstruksi aktual dilakukan (Howard, 1997).

• Reusable prototype : Prototype yang akan ditransformasikan menjadi produk final.

• Throwaway prototype : Prototype yang akan dibuang begitu selesai menjalankan maksudnya.

• Input/output prototype : Prototype yang terbatas pada antar muka pengguna (user interface).

• Processing prototype : Prototype yang meliputi perawatan file dasar dan prosesproses

transaksi.

• System prototype : Prototype yang berupa model lengkap dari perangkat lunak.

Tahaptahap

dalam prototyping boleh dikata merupakan tahaptahap

yang dipercepat. Strategi utama

dalam prototyping adalah kerjakan yang mudah terlebih dahulu dan sampaikan hasil kepada pengguna

sesegera mungkin. Harris (2003) membagi prototyping dalam enam tahapan seperti terlihat pada

gambar. Tahapantahapan

secara ringkas dapat dijelaskan sebagai berikut:

• Identifikasi kandidat prototyping. Kandidat dalam kasus ini meliputi user interface (menu, dialog, input

dan output), filefile

transaksi utama, danfungsifungsi

pemrosesan sederhana.

• Rancang bangun prototype dengan bantuan software seperti word processor, spreadsheet, database,

pengolah grafik, dan software CASE (ComputerAided

System Engineering).

• Uji prototype untuk memastikan prototype dapat dengan mudah dijalankan untuk tujuan demonstrasi.

• Siapkan prototype USD (User’s System Diagram) untuk mengidentifikasi bagianbagian

dari

perangkat lunak yang diprototypekan.

• Evaluasi dengan pengguna untuk mengevaluasi prototype dan melakukan perubahan jika diperlukan.

• Transformasikan prototype menjadi perangkat lunak yang beroperasi penuh dengan melakukan

penghilangan kodekode

yang tidak dibutuhkan, penambahan programprogram

yang memang

dibutuhkan dan perbaikan dan pengujian perangkat lunak secara berulang.

Keuntungan menggunakan model Prototype dalam pembuatan sebuah software adalah karena model ini

bisa:

1.membuat komunikasi antara developer dan customer lebih mudah

2.memecahkan masalah penerimaan customer terhadap software

3.memberikan pada customer bukti awal konsep software

4.menciptakan kejelasan pada tahap awal desain software

5.mengumpulkan user requirement yang valid dari customer

6.menambahkan partisipasi yang membangun dari pihak user

7.mengelola perubahan user requirement

8.mengatasi ketidakjelasan produk

9.membuat kualitas software lebih terjamin

Meskipun demikian, model Prototype ini juga mempunyai kekurangan, yaitu

1.sulitnya menentukan berapa kali harus bertemu dengan customer

2.proyek bisa dijalankan tanpa batasan waktu yang jelas

3.harus mengatasi konflik antara developer dan customer

4.mengukur tahapan pembuatan software tanpa batasan yang jelas

5.permintaan yang berlebihan dari customer bisa muncul

6.customer tidak peduli terhadap proyek software

4. Incremental model

Incremental model adalah model pengembangan sistem pada software engineering berdasarkan

requirement software yang dipecah menjadi beberapa fungsi atau bagian sehingga model

pengembangannya secara bertahap. dilain pihak ada mengartikan model incremental sebagai

perbaikan dari model waterfall dan sebagai standar pendekatan topdown. Layaknya Model

Waterfall, model ini pun juga memiliki tahapan tahapan untuk perancangan perangkat lunaknya,

yaitu:

1. Requirement , Requirment adalah proses tahapan awal yang dilakukan pada incremental

model adalah penentuan kebutuhan atau analisis kebutuhan.

2. Specification, Specification adalah proses spesifikasi dimana menggunakan analisis

kebutuhan sebagai acuannya.

3. Architecture Design, adalah tahap selanjutnya, perancangan software yang terbuka agar

dapat diterapkan sistem pembangunan perbagian

pada tahapan selanjutnya.

4. Code setelah melakukan proses desain selanjutnya ada pengkodean.

5. Test merupakan tahap pengujian dalam model ini.

Tahapantahapan

tersebut dilakukan secara berurutan. Setiap bagian yang sudah selesai

dilakukan testing, dikirim ke pemakai untuk langsung dapat digunakan. Pada incremental model,

tiga tahapan awal harus diselesaikan terlebih dahulu sebelum sebelum tahap membangun tiap

increment. Untuk mengantisipasi kondisi yang terjadi pada incremental model, diperkenalkan

model More Risky Incremental Model. Model ini menerapkan sistem kerja yang paralel. Setelah

daftar kebutuhan didapatkan dari pemakai, tim spesifikasi membuat spesifikasi untuk modul

pertama. Setelah spesifikasi pertama selesai, tim desain menindak lanjuti. Tim spesifikasi

sebelumnya juga langsung membuat spesifikasi untuk model kedua, dan seterusnya. Jadi, tidak

harus menunggu modul pertama selesai hingga dikirim ke user.

Beberapa Kelebihan Dari Mode Incremental atara lain :

1. Merupakan model dengan manajemen yang sederhana

2. Pengguna tidak perlu menunggu sampai seluruh sistem dikirim untuk mengambil

keuntungan dari sistem tersebut. Increment yang pertama sudah memenuhi persyaratan

mereka yang paling kritis, sehingga perangkat lunak dapat segera digunakan.

3. Resiko untuk kegagalan proyek secara keseluruhan lebih rendah. Walaupun masalah

masih dapat ditemukan pada beberapa increment. Karena layanan dengan prioritas

tertinggi diserahkan pertama dan increment berikutnya diintegrasikan dengannya,

sangatlah penting bahwa layanan sistem yang paling penting mengalami pengujian yang

ketat. Ini berarti bahwa pengguna akan memiliki kemungkinan kecil untuk memenuhi

kegagalan perangkat lunak pada increment sistem yang paling bawah.

4. Nilai penggunaan dapat ditentukan pada setiap increment sehingga fungsionalitas sistem

disediakan lebih awal.

5. Memiliki risiko lebih rendah terhadap keseluruhan pengembagan sistem,

6. Prioritas tertinggi pada pelayanan sistem adalah yang paling diuji

Kelemahannya adalah :

1. kemungkinan tiap bagian tidak dapat diintegrasikan

2. Dapat menjadi build and Fix Model, karena kemampuannya untuk selalu mendapat

perubahan selama proses rekayasa berlangsung

3. Harus Open Architecture

4. Mungkin terjadi kesulitan untuk memetakan kebutuhan pengguna ke dalam rencana

spesifikasi masingmasing

hasil increment.

Tidak ada komentar:

Posting Komentar