Tentang Spiral Model




TUGAS REKAYASA SISTEM.

Nama: Ilham Aji K

NIM: 1322477190

Dosen: Nasril Sanny

SPIRAL MODEL


Di postingan BrainStorm kali ini, kita akan membahas tentang Spiral Model


SPIRAL MODEL


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 yakin bahwa pendekatan evolusioner ini dapat terus dalam ambang kontrol yang bagus. Dibutuhkan kombinasi kemampuan manajerial dan teknis tersendiri untuk mengontrol model ini sehingga dengan sendirinya dapat meyakinkan user / customer tersebut. Mengenai analisis resiko yang terdapat pada model ini dibutuhkan kemampuan expert tersendiri agar tahap ini dapat berjalan dengan baik. Dibutuhkan kemampuan manajemen yang tinggi untuk melakukan perkiraan resiko, karena jika ada resiko yang luput untuk dievaluasi, dikhawatirkan dapat muncul di kemudian hari yang dapat menghambat proses SE. Kesimpulannya, model ini sebetulnya cukup populer, tetapi masih kalah populer dibandingkan model2 yang lama yaitu waterfall atau prototype akibat belum banyak penggunaan model ini yang dapat meyakinkan pemikiran user / customer.

Menurut saya, spiral model ini merupakan model proses yang paling cocok digunakan setelah ada tahap evolusioner pada model proses. Saya mengatakan itu berdasarkan kemampuan spiral model yang menggabungkan kemampuan dari waterfall model dan prototyping dimana kedua model ini merupakan model yang sangat populer digunakan. Sangat populer tentu karena menghasikan sesuatu yang pasti hasilnya baik. Dua hal baik digabungkan seharusnya bisa menjadi sesuatu hal yang sangat baik.

Waterfall model dengan tahapan2 standarnya yang sudah saya paparkan pada tulisan yang lain ditambah dengan prototype untuk memuaskan kebutuhan user / customer menjadi kombinasi untuk memuaskan konsumen secara teknis dengan sangat baik. Ada tahapan yang belum terdapat pada model yang lain yaitu analisis resiko yang menjadi suatu keunggulan tersendiri dari spiral model ini. Analisis resiko menjadikan model ini unggul secara manajerial maupun teknis, karena resiko yang dianalisis mencakup dalam 2 scope tersebut. Mungkin untuk project dengan skala kecil, analisis resiko bisa membuang waktu, meskipun penting juga untuk dilakukan. Akan tetapi untuk project dengan skala besar, analisis resiko harus, harus, dan harus dilakukan. Jika muncul masalah pada suatu tahapan tentu akan membuang waktu lebih banyak. Jadi, sudah sewajarnya ketika akan menerapkan SE dengan model ini, tentu harus ada alokasi waktu tersendiri khusus untuk melakukan tahapan analisis resiko. Pada akhirnya, meskipun ada beberapa kelemahan, akan tetapi spiral model ini cocok digunakan untuk pengembangan software di jaman sekarang ini.

Kelebihan dan Kelemahan Model Spiral

A. Kelebihan model Spiral :
1. Dapat disesuaikan agar perangkat lunak bisa dipakai selama hidup perangkat lunak komputer.
2. Lebih cocok untuk pengembangan sistem dan perangkat lunak skala besar
3. Pengembang dan pemakai dapat lebih mudah memahami dan bereaksi terhadap resiko setiap
tingkat evolusi karena perangkat lunak terus bekerja selama proses.
4. Menggunakan prototipe sebagai mekanisme pengurangan resiko dan pada setiap keadaan di dalam evolusi produk.
5. Tetap mengikuti langkah-langkah dalam siklus kehidupan klasik dan memasukkannya ke dalam kerangka kerja iteratif .
6. Membutuhkan pertimbangan langsung terhadp resiko teknis sehingga mengurangi resiko sebelum menjadi permaslahan yang serius.

B. Kelemahan model Spiral :
1. Sulit untuk menyakinkan pelanggan bahwa pendekatan evolusioner ini bisa dikontrol.
2. Memerlukan penaksiran resiko yang masuk akal dan akan menjadi masalah yang serius jika resiko mayor tidak ditemukan dan diatur.
3. Butuh waktu lama untuk menerapkan paradigma ini menuju kepastian yang absolut

Gambar: 1

0 komentar:

Posting Komentar

 

Blogger news

Blogroll

About