Apa itu Model Proses Perangkat Lunak?
Proses merupakan
suatu deskripsi yang disederhanakan dari proses perangkat lunak dan kemudian
dipresentasikan dengan sudut pandang tertentu. Model proses ini bisa saja
mencakup suatu kegiatan yang termasuk dalam bagian dari proses perangkat lunak
tersebut dan produk perangkat lunak. Serta terlibatnya peran seseorang pada
rekayasa perangkat lunak tersebut.
Model proses perangkat lunak itu sendiri dibagi menjadi beberapa macam
pengembangan, seperti dibawah ini :
1. Waterfall
Pengertian model waterfall
ini adalah suatu model klasik yang memiliki pengembangan perangkat lunak secara
sistematis. Jadi, dari model waterfall ini melakukan pengerjaan dari suatu
sistem dilakukan secara berurutan atau secara linear.
Kelebihan dari waterfall:
·
Software yang dikembangkan dengan metode ini
biasanya menghasilkan kualitas yang baik.
·
Dokumen pengembangan sistem sangat terorganisir.
Mengapa? Karena pada setiap fasenya harus terselesaikan secara lengkap sebelum
nantinya akan melangkah ke fase berikutnya.
Kekurangan dari waterfall:
·
Perubahan sulit dilakukan karena sifatnya yang
kaku. Jadi, karena sifat kakunya inilah model proses waterfall mungkin cocok
ketika nanti kebutuhan yang dikumpulkan lengkap, sehingga perubahan bisa
ditekan sekecil mungkin. Tapi pada kenyataannya jarang sekali pengguna yang
bisa memberikan kebutuhan secara lengkap, mungkin karena perubahan
kebutuhan adalah sesuatu yang wajar terjadi.
2. Prototype
Metode Prototype merupakan
metode pengembangan perangkat lunak yang memodelkan dari sistem kerja suatu
perangkat lunak yang belum lengkap dari pihak user.
Kelebihan dari prototype :
·
User dapat berinteraksi aktif.
·
Penentuan kebutuhan lebih mudah diwujudkan.
·
Mempersingkat waktu pengembangan.
Kekurangan dari prototype :
·
Proses analisis dan perancangan terlalu singkat.
·
Mengesampingkan alternatif pemecahan masalah.
·
Bisanya kurang fleksible dalam mengahadapi
perubahan.
·
Prototype yang dihasilkan tidak selamanya mudah
dirubah.
·
Prototype terlalu cepat selesai.
3. Spiral
Model spiral adalah model
proses dari software yang evolsioner dan dapat merangkai dengan sifat yang
iteraktif dari prototype dengan cara kontrol dan aspek sistematis dari model
sekuensial linear. Model ini sangat berpotensi untuk pengembangan versi
software secara cepat.
Kelebihan dari spiral :
·
Nantinya dapat disesuaikan agar perangkat lunak
bisa digunakan selama perangkat lunak komputer masih aktif.
·
Model ini cocok untuk pengembangan sistem dan
perangkat lunak skala besar.
Kekurangan dari spiral :
·
Sulit untuk menyakinkan pelanggan bahwa pendekatan
evolusioner ini bisa dikontrol.
·
Memerlukan penaksiran resiko yang masuk akal dan
akan menjadi masalah yang serius jika resiko mayor tidak ditemukan dan diatur.
·
Butuh waktu lama untuk menerapkan paradigma ini
menuju kepastian yang absolute.
4. Rapin Aplication Development (RAD)
Model RAD merupakan sebuah
adaptasi “kecepatan tinggi” dari model sekuensial linier, yang di mana
perkembangan ini cepat dicapai dengan menggunakan pendekatan kontruksi berbasis
komponen.
Kelebihan dari RAD :
·
Setiap fungsi mayor dapat dimodulkan dalam waktu
tertentu kurang dari 3 bulan dan dapat dibicarakan oleh tim RAD yang terpisah
dan kemudian diintegrasikan sehingga waktunya lebih efisien.
·
RAD mengikuti tahap pengembangan sistem seperti
umumnya, tetapi mempunyai kemampuan untuk menggunakan kembali komponen yang ada
sehingga pengembang tidak perlu membuat dari awal lagi dan waktu yang lebih
singkat
Kekurangan dari RAD adalah :
·
Bagi proyek yang besar tetapi berskala, RAD
memerlukan sumber daya manusia yang memadai untuk menciptakan jumlah tim RAD
yang baik.
·
RAD menuntut pengembangan dan pelanggan memiliki
komitmen di dalam aktivitas rapid-fire yang diperlukan untuk melengkapi sebuah
sistem, di dalam kerangka waktu yang sangat diperpendek. Jika komitmen tersebut
tidak ada, proyek RAD akan gagal.
5. Incremental
Model
incremental (Incremental waterfall model) merupakan perbaikan dari
modelwaterfall dan sebagai standar pendekatan top-down. Ide dasar dari model
ini adalahmembangun software secara meningkat (Increment) berdasarkan kemampuan
fungsional.
Kelebihan dari Incremental :
·
Penambahan kemampuan fungsional akan lebih mudah
diuji, diverifikasi, dan divalidasi dan dapat menurunkan biaya yang dikeluarkan
untuk memperbaiki sistem.
·
Nilai penggunaan dapat ditentukan pada setiap
increament sehingga fungsionalitas sistem disediakan lebih awal.
·
Increment awal berupa prototype untuk membantu
memahami kebutuhan pada increment berikutnya.
·
Memiliki risiko lebih rendah terhadap keseluruhan
pengembagan sistem.
·
Prioritas tertinggi pada pelayanan sistem adalah
yang paling diuji.
Kekurangan dari Incremental :
·
Tiap bagian tidak dapat diintegrasikan.
·
Setiap tambahan yang dibangun harus dimasukkan
kedalam struktur yang ada tanpa menurunkan kualitas dari yang telah dibangun
system tersebut sampai saat ini.
·
Penambahan staf dilakukan jika hasil incremental
akan dikembangkan lebih lanjut.
Nah itulah pembahasan
tentang pengertian model proses perangkat lunak, kelebihan dan kekurangan model
proses, dan macam-macam model proses. Semoga dapat membantu sobat semuanya.