Apa itu Model Proses Perangkat Lunak?
Jad model 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.