Metode
Pengembangan Perangkat Lunak (Spiral)
Pada
artikel kali ini saya akan melanjutkan postingan tentang salah satu
metode pengembangan perangkat lunak yaitu metode PRL SPIRAL. Model
ini mengadaptasi dua model perangkat lunak yang ada yaitu model
prototyping dengan pengulangannya dan model waterfall dengan
pengendalian dan sistematikanya. Model ini dikenal dengan
sebutan Spiral Boehm. Pengembang dalam model ini memadupadankan
beberapa model umum tersebut untuk menghasilkan produk khusus atau
untuk menjawab persoalan-persoalan tertentu selama proses pengerjaan
proyek.
Gambar
1. Model Spiral Boehm
Model
spiral (spiral
model)
adalah model
proses software yang evolusioner yang merangkai sifat iteratif dari
prototipe dengan cara kontrol dan aspek sistematis dari model
sekuensial linier. Model ini berpotensi untuk pengembangan versi
pertambahan software secara cepat. Di dalam model spiral, software
dikembangkan di dalam suatu deretan pertambahan. Selama awal iterasi,
rilis inkremental bisa merupakan sebuah model atau prototipe kertas.
Selama iterasi berikutnya, sedikit demi sedikit dihasilkan versi
sistem rekayasa yang lebih lengkap.
Model
spiral dibagi menjadi sejumlah aktifitas kerangka kerja, disebut juga
wilayah tugas, di antara tiga sampai enam wilayah tugas. Tahap-tahap
model tersebut dapat dijelaskan secara ringkas sebagai berikut.
1. Tahap
Liason: pada
tahap ini membangun komunikasi yang efektif di antara pengembangan
dan pelanggan.
2.
Tahap Planning (perencanaan): pada
tahap ini ditentukan sumber-sumber informasi, batas waktu dan
informasi-informasi yang dapat menjelaskan proyek.
3. Tahap
Analisis Resiko: mendefinisikan
resiko, menentukan apa saja yang menjadi resiko baik teknis maupun
manajemen.
4. Tahap
Rekayasa (engineering): pembuatan
prototipe atau pembangunan satu atau lebih representasi dari aplikasi
tersebut
5.Tahap
Konstruksi dan Pelepasan (release): pada
tahap ini dilakukan pembangunan perangkat lunak yang dimaksud, diuji,
diinstal dan diberikan sokongan-sokongan tambahan untuk keberhasilan
proyek.
6. Tahap
Evaluasi: Pelanggan/pemakai/pengguna
biasanya memberikan masukan berdasarkan hasil yang didapat dari tahap
engineering dan instalasi.
Dalam
pengembangan sistem informasi berbasis web, model ini digunakan untuk
menyelesaikan sistem secara global terlebih dahulu, kemudian untuk
feature dari sistem akan dikembangkan kemudian. Dengan ini
mempercepat dalam pengimplementasian project dan hal ini cocok
digunakan dalam sistem informasi Web.
Kelebihan
1. Sangat mempertimbangkan resiko kemungkinan munculnya kesalahan sehingga sangat dapat diandalkan untuk pengembangan perangkat lunak skala besar.
2. Pendekatan model ini dilakukan melalui tahapan-tahapan yang sangat baik dengan menggabungkan model waterfall ditambah dengan pengulangan-pengulangan sehingga lebih realistis untuk mencerminkan keadaan sebenarnya.
3. Baik pengembang maupun pemakai dapat cepat mengetahui letak kekurangan dan kesalahan dari sistem karena proses-prosesnya dapat diamati dengan baik.
1. Sangat mempertimbangkan resiko kemungkinan munculnya kesalahan sehingga sangat dapat diandalkan untuk pengembangan perangkat lunak skala besar.
2. Pendekatan model ini dilakukan melalui tahapan-tahapan yang sangat baik dengan menggabungkan model waterfall ditambah dengan pengulangan-pengulangan sehingga lebih realistis untuk mencerminkan keadaan sebenarnya.
3. Baik pengembang maupun pemakai dapat cepat mengetahui letak kekurangan dan kesalahan dari sistem karena proses-prosesnya dapat diamati dengan baik.
Kekurangan
1.Waktu
yang dibutuhkan untuk mengembangkan perangkat lunak cukup panjang
demikian juga biaya yang besar.
2.
Sangat tergantung kepada tenaga ahli yang dapat memperkirakan resiko.
3.
Terdapat pula kesulitan untuk mengontrol proses. Sampai saat ini,
karena masih relatif baru, belum ada bukti apakah metode ini cukup
handal untuk diterapkan.
4.
Meyakinkan konsumen (khusunya dalam situasi kontrak) bahwa pendekatan
evolusioner bisa dikontrol.
Model
Boehm sangat cocok diterapkan untuk pengembangan
sistem dan perangkat lunak skala besar di mana pengembang dan pemakai
dapat lebih mudah memahami kondisi pada setiap tahapan dan bereaksi
terhadap kemungkinan terjadinya kesalahan. Selain itu, diharapkan
juga waktu dan dana yang tersedia cukup memadai.