Proses
model yang lain, yang cukup populer adalah Spiral Model. Model ini juga cukup
baru ditemukan, yaitu pada sekitar tahun 1988 oleh Barry Boehm pada artikel A Spiral Model of Software
Development and Enhancement. Spiral model adalah salah satu bentuk evolusi
yang menggunakan metode iterasi natural yang dimiliki oleh model prototyping
dan digabungkan dengan aspek sistimatis yang dikembangkan dengan model
waterfall. Tahap desain umumnya digunakan pada model Waterfall, sedangkan tahap
prototyping adalah suatu model dimana software dibuat prototype (incomplete
model), “blue-print”-nya, atau contohnya dan ditunjukkan ke user /
customer untuk mendapatkan feedback-nya.
Jika prototype-nya sudah sesuai dengan keinginan user / customer, maka proses
SE dilanjutkan dengan membuat produk sesungguhnya dengan menambah dan
memperbaiki kekurangan dari prototype tadi.
Model
ini juga mengkombinasikan top-down design dengan bottom-up design, dimana
top-down design menetapkan sistem global terlebih dahulu, baru diteruskan
dengan detail sistemnya, sedangkan bottom-up design berlaku sebaliknya.
Top-down design biasanya diaplikasikan pada model waterfall dengan
sequential-nya, sedangkan bottom-up design biasanya diaplikasikan pada model
prototyping dengan feedback yang diperoleh. Dari 2 kombinasi tersebut, yaitu
kombinasi antara desain dan prototyping, serta top-down dan bottom-up, yang
juga diaplikasikan pada model waterfall dan prototype, maka spiral model ini
dapat dikatakan sebagai model proses hasil kombinasi dari kedua model tersebut.
Oleh karena itu, model ini biasanya dipakai untuk pembuatan software dengan
skala besar dan kompleks.
Spiral
model dibagi menjadi beberapa framework aktivitas, yang disebut dengan task
regions. Kebanyakan aktivitas2 tersebut dibagi antara 3 sampai 6 aktivitas.
Berikut adalah aktivitas-aktivitas yang dilakukan dalam spiral model:
· Customer communication. Aktivitas yang dibutuhkan untuk membangun komunikasi yang
efektif antara developer dengan user / customer terutama mengenai kebutuhan
dari customer.
· Planning. Aktivitas perencanaan ini dibutuhkan untuk menentukan
sumberdaya, perkiraan waktu pengerjaan, dan informasi lainnya yang dibutuhkan
untuk pengembangan software.
· Analysis risk. Aktivitas analisis resiko ini dijalankan untuk
menganalisis baik resiko secara teknikal maupun secara manajerial. Tahap inilah
yang mungkin tidak ada pada model proses yang juga menggunakan metode iterasi,
tetapi hanya dilakukan pada spiral model.
· Engineering. Aktivitas yang dibutuhkan untuk membangun 1 atau lebih
representasi dari aplikasi secara teknikal.
· Construction & Release. Aktivitas yang dibutuhkan untuk develop software,
testing, instalasi dan penyediaan user / costumer support seperti training
penggunaan software serta dokumentasi seperti buku manual penggunaan software.
· Customer evaluation. Aktivitas yang dibutuhkan untuk mendapatkan feedback dari
user / customer berdasarkan evaluasi mereka selama representasi software pada
tahap engineering maupun pada implementasi selama instalasi software pada tahap
construction and release.
Berikut
adalah gambar dari spiral model secara umum :
Satu
lingkaran dari bentuk spiral pada spiral model dibagi menjadi beberapa daerah
yang disebut dengan region. Region tersebut dibagi sesuai dengan jumlah
aktivitas yang dilakukan dalam spiral model. Tentunya lingkup tugas untuk
project yang kecil dan besar berbeda. Untuk project yang besar, setiap region
berisi sejumlah tugas-tugas yang tentunya lebih banyak dan kompleks daripada
untuk project yang kecil. SE berjalan dari inti spiral berjalan mengitari
sirkuit per sirkuit. Sebagai contoh untuk sirkuit pertama dilakukan untuk
pembangunan dari spesifikasi dari software dengan mencari kebutuhan dari
customer. Untuk sirkuit pertama harus menjalani semua aktivitas yang
didefinisikan. Setelah 1 sirkuit terlewati lanjut ke tugas selanjutnya misalnya
membangun prototype. Tugas ini juga harus mengitari 1 sirkuit dan begitu terus
selanjutnya sampai project selesai.
Tidak
seperti model-model konvesional dimana setelah SE selesai, maka model tersebut
juga dianggap selesai. Akan tetapi hal ini tidak berlaku untuk spiral model,
dimana model ini dapat digunakan kembali sepanjang umur dari software tersebut.
Pada umumnya, spiral model digunakan untuk beberapa project seperti Concept
Development Project (proyek pengembangan konsep), New Product Development
Project (proyek pengembangan produk baru), Product Enhancement Project (proyek
peningkatan produk), dan Product Maintenance Project (proyek pemeliharaan
proyek). Keempat project tersebut berjalan berurutan mengitari sirkuit dari
spiral. Sebagai contoh setelah suatu konsep dikembangkan dengan melalui
aktivitas2 dari spiral model, maka dilanjutkan dengan proyek selanjutnya yaitu
pengembangan produk baru, peningkatan produk, sampai pemeliharaan proyek.
Semuanya melalui sirkuit2 dari spiral model.
Mengapa spiral model begitu populer? Pendekatan dengan model ini sangat baik digunakan untuk
pengembangan sistem software dengan skala besar. Karena progres perkembangan
dari SE dapat dipantau oleh kedua belah pihak baik developer maupun user /
customer, sehingga mereka dapat mengerti dengan baik mengenai software ini
begitu juga dengan resiko yang mungkin didapat pada setiap aktivitas yang
dilakukan. Selain dari kombinasi 2 buah model yaitu waterfall dan prototyping,
kelebihan dari software ini ada pada analisis resiko yang dilakukan, sehingga
resiko tersebut dapat direduksi sebelum menjadi suatu masalah besar yang dapat
menghambat SE. Model ini membutuhkan konsiderasi langsung terhadap resiko
teknis, sehingga diharapkan dapat mengurangi terjadinya resiko yang lebih
besar. Sebenarnya dengan menggunakan prototype juga bisa menghindari terjadinya
resiko yang muncul, tetapi kelebihan dari model ini yaitu dilakukannya proses
prototyping untuk setiap tahap dari evolusi produk secara kontinu. Model ini
melakukan tahap2 yang sudah sangat baik didefinisikan pada model waterfall dan
ditambah dengan iterasi yang menyebabkan model ini lebih realistis untuk
merefleksikan dunia nyata. Hal-hal itulah yang menjadi kelebihan menggunakan
spiral model.
Meskipun
banyak kelebihan tetapi tentu masih ada kekurangannya. Kekurangannya ada pada
masalah pemikiran user / customer dimana mereka pada umumnya tidak
Tidak ada komentar:
Posting Komentar