0
Spiral model
Posted by jujur
on
5:05 AM
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.
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 aktivitas-aktivitas 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 dari pada
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
aktivitas-aktivitas dari spiral model, maka dilanjutkan dengan proyek
selanjutnya yaitu pengembangan produk baru, peningkatan produk, sampai
pemeliharaan proyek. Semuanya melalui sirkuit-sirkuit dari spiral model.
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 tahap-tahap 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.
Kelebihan model Spiral :
- Setiap tahap pengerjaan dibuat prototyping sehingga kekurangan dan apa yang diharapkan oleh client dapat diperjelas dan juga dapat menjadi acuan untuk client dalam mencari kekurangan kebutuhan.
- Lebih cocok untuk pengembangan sistem dan perangkat lunak skala besar.
- Dapat disesuaikan agar perangkat lunak bisa dipakai selama hidup perangkat lunak komputer.
- Pengembang dan pemakai dapat lebih mudah memahami dan bereaksi terhadap resiko setiap tingkat evolusi karena perangkat lunak terus bekerja selama proses.
- Menggunakan prototipe sebagai mekanisme pengurangan resiko dan pada setiap keadaan di dalam evolusi produk.
- Tetap mengikuti langkah-langkah dalam siklus kehidupan klasik dan memasukkannya ke dalam kerangka kerja iteratif.
- Membutuhkan pertimbangan langsung terhadp resiko teknis sehingga mengurangi resiko sebelum menjadi permaslahan yang serius.
Kekurangan model Spiral :
- Banyak konsumen (Client) tidak percaya bahwa pendekatan secara evolusioner dapat dikontrol oleh kedua pihak. Model spiral mempunyai resiko yang harus dipertimbangkan ulang oleh konsumen dan developer.
- Memerlukan tenaga ahli untuk memperkirakan resiko, dan harus mengandalkannya supaya sukses.
- Belum terbukti apakah metode ini cukup efisien karena usianya yang relatif baru.
- 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.