06 October 2009

Proses Model Preskriptif

"Apa itu Proses Model Preskriptif ?". Proses Model Preskriptif adalah proses yang didefinisikan dengan aturan yang jelas tentang kegiatan-kegiatan,tindakan, tugas, milestone,dan hasil kerja(work product) yang diperlukan untuk mengembangkan software berkualitas tinggi. "Lalu apa gunanya proses model preskriptif ini ?". Guna dari proses model preskriptif ini adalah untuk Menjamin stabilitas, kontrol dan organisasi terhadap kegiatan pengembangan software. Berikut ini adalah beberapa contoh proses model preskriptif :
.
Waterfall Model
Model Proses pada SE di mana tahap-tahap pembuatan software dilakukan secara sequensial dari tahapan Communication – Planning – Design – Construction - Deployment.

Setiap tahap harus dikerjakan dahulu sampai memang benar-benar mencapai hasil yang memuaskan karena pada model proses ini, apabila tahap selanjutnya sedang dikerjakan, maka tidak bisa kembali pada tahap pengerjaan sebelumnya. Apabila kembali ke tahap sebelumnya, maka akan terjadi kerumitan dalam pengerjaan proyek dan hal ini akan menyebabkan pemborosan waktu.
Model proses Waterfall digunakan jika requirement dari client telah terdefinisi dengan jelas serta alur kerja yang akan dilakukan juga telah jelas.

Incremental Model
Model proses ini hampir sama dengan model proses Waterfall. Bedanya adalah model proses ini dilakukan secara bertahap dan tahap pengerjaan dilakukan permodul. Bisa dikatakan Incremental adalah bentuk pengulangan secara bertahap dari Waterfall. Apabila aliran proses dari Communication sampai Deployment telah selesai pada tahap pertama, maka dilanjutkan pada pengerjaan tahap kedua yang aliran prosesnya sama yaitu dari Communication sampai Deployment. Proses ini berlangsung berulang-ulang secara bertahap sampai tahap final. Tahap pertama adalah tahap yang penting karena tahap pertama merupakan tahap kunci dan produk perdana dalam pengembangan karena apabila produk pada tahap pertama gagal, maka tahap selanjutnya tidak akan berjalan. Tahap pertama sering disebut dengan Core Product.

RAD (Rapid Application Development) Model
Model proses ini adalah kembangan dari Incremental. Sama seperti Incremental tetapi waktu pengerjaan antara siklus pengembangannya berjalan secara singkat. Model RAD merupakan adaptasi High-speed dari model linier sequencial yang pengembangannya dilakukan dengan menggunakan pendekatan component-based. Maksud dari component-based pada RAD ini adalah agar proses pengerjaannya dapat dipercepat dengan cara membagi program menjadi bagian-bagian terkecil yang tiap bagian tersebut ada tim tersendiri yang bertanggung jawab.

Untuk proses skala besar, RAD Model membutuhkan SDM yang memadai untuk membentuk tim-tim yang diperlukan agar tahap pengerjaan berjalan dengan cepat.
RAD Model ini tidak cocok dipakai pada pengerjaan proyek yang memiliki tingkat resiko teknikal yang tinggi. Hal ini bisa terjadi pada saat aplikasi baru menggunakan teknologi baru atau pada saat software yang baru memerlukan derajat kebergantungan yang tinggi terhadap program komputer yang sudah ada. RAD juga memerlukan developer dan customer yang Commit terhadap aktifitas yang ketat sesuai dengan time frame yang diberikan.

Evolutionary Model: Prototyping
Model proses ini digunakan jika requirement dari Customer tidak detail dan Ia masih bingung tentang apa yang akan diimplementasikan pada aplikasi yang akan Ia pakai. Ditambah dengan keraguan developer dalam pembuatan aplikasi ini karena developer bingung dengan requirement yang memang belum terlalu detail.

Dalam hal ini, developer membuat sebuah prototype atau cetak biru dari aplikasi yang akan dibuat. Tahapan pembuatan dilakukan secara berulang di mana untuk setiap tahap dihasilkan sebuah prototype-nya. Apabila prototypenya sudah jadi, maka prototype tersebut akan didemokan kepada customer dan kemudian dinilai oleh customer untuk diminta feedbacknya, kira-kira fitur apa yang kurang atau fitur apa yang ingin ditambah. Tahapan ini terus berlanjut sampai memang aplikasi yang dibuat sudah cocok dengan keinginan customer. Walaupun setiap penyelesaian prototype membutuhkan feedback dari customer, perlu diingat kalau dalam projek ini jangan sampai developer dikuasai oleh keinginan customer yang berlebihan yang ingin ini dan ingin itu. Dalam hal ini developer harus pintar-pintar dalam menghadapi customer.

Evolutionary Model: Spiral
Spiral model adalah salah satu bentuk evolusi yang menggunakan metode iterasi natural yang dimiliki oleh model prototyping dan digabungkan dengan aspek sistematis yang dikembangkan dengan model waterfall. Oleh karena itu, bisa dikatakan bahwa proses model ini merupakan kombinasi dari dua proses model yaitu model proses waterfall dan prototyping.

Proses digambarkan secara spiral. Setiap loop mewakili satu fase dari software process. Loop paling dalam berfokus pada kelayakan dari sistem, loop selanjutnya tentang definisi dari kebutuhan, loop berikutnya berkaitan dengan desain sistem dan seterusnya.

Pada model spiral, resiko sangat dipertimbangkan. Resiko adalah sesuatu yang mungkin mengakibatkan kesalahan. Model spiral merupakan pendekatan yang realistik untuk PL berskala besar. Customer dan Developer bisa memahami dengan baik software yang dibangun karena setiap kemajuan yang dicapai selama proses dapat diamati dengan baik. Namun demikian, waktu yang cukup panjang mungkin bukan pilihan bagi Customer karena waktu yang lama sama dengan biaya yang lebih besar.


Evolutionary Model: Concurrent
Proses pembuatan software dilakukan secara bersama - sama berbarengan dengan semua departemen yang bekerja pada proyek yang sama dan dalam waktu yang sama sehingga proyek dapat selesai dengan cepat.

Component Based Development

Proses ini dipakai jika ada kemungkinan jika objektif pengerjaan aplikasi dikerjakan dengan menggunakan kembali komponen-komponen aplikasi yang sudah ada.


No comments:

Post a Comment