Rabu, 01 Juni 2011

keuntungan membangun software menggunakan protipe dan langkah-langkah yang harus diperhatikan jika kita membangun prototipe

keuntungan membangun software menggunakan protipe dan langkah-langkah yang harus diperhatikan jika kita membangun prototipe

I. PENDAHULUAN

Prototype merupakan metodologi pengembangan software yang menitik-beratkan pada pendekatan aspek desain, fungsi dan user-interface. Developer dan user fokus pada user-interface dan bersama-sama mendefinisikan spesifikasi, fungsi, desain dan bagaimana software bekerja. Developer dan user bertemu dan melakukan komunikasi dan menentukan tujuan umum, kebutuhan yang diketahui dan gambaran bagian-bagian yang akan dibutuhkan. Developer mengumpulkan detail dari kebutuhan dan memberikan suatu gambaran dengan cetak biru (prototype).

Dari proses tersebut akan diketahui detail-detail yang harus dikembangkan atau ditambahkan oleh developer terhadap cetak biru, atau menghapus detail-detail yang tidak diperlukan oleh user. Proses akan terjadi terus menerus sehingga produk sesuai dengan keinginan dari user.


Tujuan utama dari prototype [Thompson, Wishbow - 1992] adalah :

* Proses revisi dan pengujian terhadap produk dilakukan secara terus menerus, sehingga didapatkan produk yang sesuai dengan yang diinginkan oleh user. Proses testing dan revisi dapat dilakukan baik secara keseluruhan maupun partial pada bagian dari produk.
* Proses pengujian harus memiliki perbandingan baku (benchmark) sehingga menghasilkan produk yang secara empiris sehinga menghindari kegagalan produk atau terjadi perbedaan persepsi antara developer atau user.
* Dengan proses testing dan komunikasi yang terus menerus antara user dan developer diharapkan dihasilkan produk yang user-friendly.


II. METODOLOGI

[Purtilo, Larson, Clark-1991] mengambarkan proses-proses pada model prototype sebagai berikut:

1. Identifikasi objek, definisi dari masalah yang harus dipecahkan dinyatakan secara bersama-sama dengan memberikan ukuran-ukuran yang pasti terhadap batasan kesuksesan dari produk yang digunakan sebagai benchmark.
2. Identifikasi resiko, tidak ada pengembangan produk yang bersih dan mampu menghasilkan produk yang berstatus “Tidak ada Masalah”, selalu terdapat area abu-abu yang memberikan resiko terhadap pengembangan produk. Perjelas dan pertegas batasan dan permasalahan pada area tersebut.
3. Merumuskan hipotesa prototype, setelah resiko dinyatakan pengembang mendesain secara terperinci sebuah prototype yang menggambarkan keseluruhan sistem dan resiko-resiko yang mungkin berpengaruh pada sistem. Prototype juga memberikan potensi terhadap perbaikan-perbaikan terhadap produk.
4. Membangun perancangan prototype, perancangan prototype berdasarkan hipotesa kedalam produk prototype. Tujuan yang utama dari membangun suatu prototipe adalah untuk menjawab satu atau lebih pertanyaan mengenai karakteristik fungsional dari produk .
5. Eksperimental, prototipe harus dicoba-coba untuk menentukan perilakunya dan mengumpulkan keluaran dari instrumentasi sistem sehingga didapat produk yang sesuai dengan keinginan user.
6. Evaluasi, Hasil dari eksperimen harus dievaluasi untuk menilai kebenaran dan efisiensi prototype.
7. Proses yang berulang-ulang, proses yang keseluruhan diulangi sampai salah satu dari tiga hasil dicapai:

* Didapat informasi yang cukup dari prototype sehingga dapat dimulainya proses pengembangan produk.
* Untuk beberapa masalah yang tidak terpecahkan telah dapat ditemukan solusi yang lebih mudah atau setara dengan tetap memperhatikan cost dan manfaat.
* Didapat prototype yang memiliki mutu yang sesuai dengan spesifikasi produk yang ingin dibuat sehingga proses pembuatan produk dapat dilakukan dengan menggunakan prototype yang ada.


III. KETERGANTUNGAN TERHADAP USER

User atau pengguna merupakan bagian terpenting pada prototype. Karena user merupakan komponen yang menentukan apakah prototype telah memenuhi spesifikasi untuk dikembangkan sebagai produk.

[Harker -1993] memaparkan tentang permasalahan yang terjadi pada metodologi prototype :

* User yang tidak memiliki spesialisasi dalam pembuatan dan perancangan sistem akan memberikan input yang akan mempersulit pembuatan prototype.
* Prototype yang dikembangkan secara tim memerlukan kepastian dapat menangani keinginan user terutama dilevel manajemen.

* Perancangan prototype akan tidak relevan dan menyulitkan jika pada lever user terjadi perubahan struktur organisasi yang cenderung lebih besar pengaruhnya dinding perubahan secara teknis


IV. TIPE-TIPE PROTOTYPE

Terdapat 3 (tiga) tipe dari metodologi prototype [Sommerville, 1995]:

* Throwaway Prototypes

Model Throwaway Prototypes mengunakan prototype sebagai tool atau perangkat untuk melakukan analisa terhadap user-interface dan kebutuhan fungsional dari produk yang ingin dibuat. ketika prototype dievaluasi dan spesifikasi dibaharui, prototype dibuang dan proses pengembangan dimulai kembali.

* Evolutionary Prototypes

Evalusi prototype didasarkan pada pengembangan produk dengan melakukan peningkatan pada detail-detail yang dianggap perlu diperbaharui. Proses akan dilakukan secara terus menerus dalam satu produk dan dilakukan hingga didapat produk yang sesuai dengan keinginan dari user.

* Incremental Development

Metodologi ini masing-masing dievaluasi berdasarkan bagian-bagian secara partial jika terjadi perubahan akan dilakukan secara partial juga. Setelah didapatkan potongan-potongan produk yang sesuai, maka disatukan untuk mendapatkan produk yang sesuai dengan keinginan user.


V. KEUNTUNGAN

Keuntungan dari metodologi prototype adalah [Sommerville, 1995] :

* Kegagalan dalam mendefinisikan masalah antara user dan developer dapat dikenali dari awal.
* Kesulitan user-interface dan pemakaian dapat dikenali dari awal
* Manajemen telah melihat gambaran secara riil tentang produk yang dibuat dengan melihat prototype dari produk.
* Prototype dapat disebut juga sebagai bagian dari training penggunaan produk, sehingga user telah mengenal produk dari prototype.
* Proses testing dan perbaikan dapat dilakukan secara terus menerus sehingga mengurangi tingkat kegagalan produk.
* Prototype lebih mengedepankan pada requirement sehingga mampu menghasilkan produk yang berkualitas dan sesuai dengan keinginan dari user.