Model Pengembangan Perangkat Lunak
11. Protorype
Prototype
merupakan salah satu metode pengembangan perangat lunak yang banyak digunakan.
Dengan metode prototyping ini pengembang dan pelanggan dapat saling
berinteraksi selama proses pembuatan sistem. Sering terjadi seorang pelanggan
hanya mendefinisikan secara umum apa yang dikehendakinya tanpa menyebutkan
secara detal output apa saja yang dibutuhkan, pemrosesan dan data-data apa saja
yang dibutuhkan. Sebaliknya disisi pengembang kurang memperhatikan efesiensi
algoritma, kemampuan sistem operasi dan interface yang menghubungkan manusia
dan komputer.
Kunci agar model prototype ini berhasil
dengan baik adalah dengan mendefinisikan aturan-aturan main pada saat awal,
yaitu pelanggan dan pengembang harus setuju bahwa prototype dibangun untuk
mendefinisikan kebutuhan. Prototype akan dihilangkan sebagian atau seluruhnya
dan perangkat lunak aktual aktual direkayasa dengan kualitas dan implementasi
yang sudah ditentukan.
Tahapan
- Tahapan Prototyping
- Pengumpulan kebutuhan.
- Pelanggan dan
pengembang bersama-sama mendefinisikan format seluruh perangkat lunak,
mengidentifikasikan semua kebutuhan, dan garis besar sistem yang akan
dibuat.
- Membangun prototyping.
- Membangun
prototyping dengan membuat perancangan sementara yang berfokus pada
penyajian kepada pelanggan (misalnya dengan membuat input dan format
output)
- Evaluasi protoptyping.
- Evaluasi ini
dilakukan oleh pelanggan apakah prototyping yang sudah dibangun sudah
sesuai dengan keinginann pelanggan. Jika sudah sesuai maka langkah 4 akan
diambil. Jika tidak prototyping direvisi dengan mengulangu langkah 1, 2 ,
dan 3.
- Mengkodekan system.
- Dalam tahap ini
prototyping yang sudah di sepakati diterjemahkan ke dalam bahasa
pemrograman yang sesuai.
- Menguji system.
- Setelah sistem
sudah menjadi suatu perangkat lunak yang siap pakai, harus dites dahulu
sebelum digunakan. Pengujian ini dilakukan dengan White Box, Black Box,
Basis Path, pengujian arsitektur dan lain-lain
- Evaluasi Sistem.
- Pelanggan
mengevaluasi apakah sistem yang sudah jadi sudah sesuai dengan yang
diharapkan . Juka ya, langkah 7 dilakukan; jika tidak, ulangi langkah 4
dan 5.
- Menggunakan system.
- perangkat lunak
yang telah diuji dan diterima pelanggan siap untuk digunakan.
Keunggulan dan
Kelemahan dari Prototyping
- Keunggulan prototyping adalah:
- Adanya komunikasi
yang baik antara pengembang dan pelanggan
- Pengembang dapat
bekerja lebih baik dalam menentukan kebutuhan pelanggan
- Pelanggan
berperan aktif dalam pengembangan system
- Lebih menghemat
waktu dalam pengembangan system
- Penerapan menjadi
lebih mudah karena pemakai mengetahui apa yang diharapkannya.
- Kelemahan prototyping adalah :
- Pelanggan kadang
tidak melihat atau menyadari bahwa perangkat lunak yang ada belum
mencantumkan kualitas perangkat lunak secara keseluruhan dan juga belum
memikirkan kemampuan pemeliharaan untuk jangja waktu lama.
- Pengembang
biasanya ingin cepat menyelesaikan proyek. Sehingga menggunakan algoritma
dan bahasa pemrograman yang sederhana untuk membuat prototyping lebih
cepat selesai tanpa memikirkan lebih lanjut bahwa program tersebut hanya
merupakan cetak biru sistem .
- Hubungan
pelanggan dengan komputer yang disediakan mungkin tidak mencerminkan
teknik perancangan yang baik.
Prototyping bekerja dengan baik
pada penerapan-penerapan yang berciri sebagai berikut:
- Resiko tinggi Yaitu untuk
maslaha-masalah yang tidak terstruktur dengan baik, ada perubahan yang
besar dari waktu ke waktu, dan adanya persyaratan data yang tidak menentu.
- Interaksi pemakai penting . Sistem
harus menyediakan dialog on-line antara pelanggan dan komputer.
- Perlunya penyelesaian yang cepat.
- Perilaku pemakai yang sulit ditebak
- Sitem yang inovatif. Sistem tersebut membutuhkan cara penyelesaian masalah dan penggunaan perangkat keras yang mutakhir
2. Transformasi Formal
Metode
ini berbasiskan pada transformasi spesifikasi secara matematik melalui
representasi yang berbeda untuk suatu program yang dapat dieksekusi.
Trasformasi menyatakan spesifikasi program
Menggunakan pendekatan ‘Cleanroom’ untuk pengembangan PL.
Menggunakan pendekatan ‘Cleanroom’ untuk pengembangan PL.
Metode ini mempunyai keterbatasan dalam pemakaiannya. Keunggulannya adalah mengurangi jumlah kesalahan pada sistem sehingga penggunaan utamanya adalah pada sistem yang kritis. Hal ini menjadi efektif dari segi biaya.
Pemakaian model pengembangan formal memerlukan tingkat kerahasian sebelum digunakan.
Permasalahan dalam model pengembangan metode formal:
• Memerlukan keahlian khusus dan pelatihan untuk mengaplikasikannya
• Sulit menentukan beberapa aspek dari suatu sistem seperti
Pengembangan
sistem formal merupakan pendekatan terhadap pengembangan perangkat lunak yang
memiliki kesamaan dengan model air terjun, tetapi proses pengembangannya
didasarkan pada transformasi matematis dari spesifikasi sistem menjadi program
yang dapat dijalankan.
Perbedaan kritis antara pendekatan ini dan model air
terjun adalah:
- Spesifikasi
persyaratan perangkat lunak diperbaiki menjadi spesifikasi formal yang
rinci yang dinyatakan dalam notasi matematis.
- Proses
pengembangan perancangan, implementasi , dan pengujian unit digantikan
oleh proses pengembangan transformasional dimana spesifikasi formal
diperbaiki, melalui serangkaian transformasi, menjadi program.
Pada proses transformasi, representasi matematis
formal dari sistem secara sistematis diubah menjadi representasi sistem yang
lebih rinci, tetapi tetap benar secara matematis. Setiap langkah menambahkan
perincian sampai spesifikasi formal diubah menjadi program yang ekivalen.
Keuntungan:
-
Jarak antara setiap
transformasi lebih kecil daripada jarak antara spesifikasi dan program.
-
Terdiri dari
serangkaian langkah yang lebih kecil sehingga lebih mudah ditelusuri
Masalah:
-
Pemilihan transformasi
apa yang akan dipakai merupakan pekerjaan yang membutuhkan keahlian dan
membuktikan hubungan transformasi adalah sesuatu yang sulit.
3. RAD
Rapid Application Development adalah seperangkat strategi yang
terintegrasi yang ada dalam suatu kerangka kerja meneyeluruh yang disebut
Information Engineering (IE). RAD (Rapid Application Development) adalah sistem
pemrograman yang memungkinkan programmer membuat program dengan cepat. Secara
umum, Sistem RAD menyediakan sejumlah alat-bantu untuk membuat antarmuka
pengguna grafis (graphical user interfaces) yang biasanya membutuhkan usaha dan
waktu yang lama untuk membuatnya. Dua sistem RAD yang paling populer untuk
Windows adalah Visual Basic dan Delphi.
RAD Mempunyai 4
Unsur Penting : Manajemen, Manusia, Metodologi, dan Peralatan. RAD adalah
penggabungan beberapa metode atau teknik terstruktur. RAD menggunakan metode
prototyping dan teknik terstruktur lainnya untuk menentukan kebutuhan user dan
perancangan sistem informasi.
Proses pengembangan, meliputi
1. Mempelajari apakah proyek pengembangan
sistem memenuhi kriteria
2. Mempelajari aktivitas bisnis
perusahaan, menentukan area bisnis serta fungsi yang menjadi prioritas
3. Membuat
model dari fungsi-fungsi yang menjadi prioritas
4. Memilih
protype mana yang direview
5. Implementasi
Sistem Informasi
Kelebihan model RAD :
1.
Lebih efektif dari pendekatan waterfall/sequential linear
dalam menghasilkan sistem yang memenuhi kebutuhan langsung dari pelanggan
2.
Cocok
untuk proyek yang memerlukan waktu yang singkat
Kekurangan
Model RAD
1. RAD tidak cocok digunakan untuk
sistem yang mempunyai resiko teknik yang tinggi
2. Membutuhkan orang yang banyak untuk
menyelesaikan sebuah proyek berskala besar
3. Pengembang dan customer harus punya
komitmen yang kuat untuk menyelesaikan sebuah software
4. Jika sistem tidak di bangun dengan
benar maka RAD akan bermasalah
5. Jika ada perubahan di tengah-tengah
pengerjaan maka harus membuat kontrak baru antara pengembang dan customer
4. Pengembangan Increment
Pengembangan Increment merupakan kombinasi linear sequential model
(diaplikasikan secara berulang) dan filosofi pengulangan dari prototyping
model. Setiap tahapan linear sequential menghasilkan deliverable increment bagi
perangkat lunak, dimana increment pertamanya merupakan sebuah produk inti yang
mewakili kebutuhan dasar sistem. Produk inti ini nantinya dikembangkan menjadi
increment-increment selanjutnya setelah digunakan dan dievaluasi sampai didapat
produk yang lengkap dan memenuhi kebutuhan pemakai.
Kelebihan:
- Memberikan kualitas produk
operasional pada setiap tahap tetapi hanya satu yang memenuhi persyaratan
dari klien.
- Pihak konsumen dapat langsung
menggunakan dahulu bagian-bagian yang telah selesai dibangun. Contohnya
pemasukan data karyawan.
- Mengurangi trauma karena perubahan
sistem. Klien dibiasakan perlahan-lahan menggunakan produknya bagian
per bagian.
- Memaksimalkan pengembalian modal
investasi konsumen
Kekurangan:
- Hanya akan berhasil jika tidak ada
staffing untuk penerapan secara menyeluruh.
- Penambahan staf dilakukan jika
hasil incremental akan dikembangkan lebih lanjut.
- Tiap bagian tidak dapat
diintegrasikan.
- Setiap tambahan yang dibangun harus
dimasukkan kedalam struktur yang ada tanpa menurunkan kualitas dari yang
telah dibangun system tersebut sampai saat ini.
- Penambahan staf dilakukan jika
hasil incremental akan dikembangkan lebih lanjut
5. Spiral
Model spiral (spiral model) adalah model proses software yang
evolusioner yang merangkai sifat iteratif dari prototipe dengan cara kontrol
dan aspek sistematis dari model sekuensial linier. Model ini berpotensi untuk
pengembangan versi pertambahan software secara cepat. Di dalam model spiral, software
dikembangkan di dalam suatu deretan pertambahan. Selama awal iterasi, rilis
inkremental bisa merupakan sebuah model atau prototipe kertas. Selama iterasi
berikutnya, sedikit demi sedikit dihasilkan versi sistem rekayasa yang lebih
lengkap.
Model spiral dibagi menjadi sejumlah aktifitas kerangka kerja,
disebut juga wilayah tugas, di antara tiga sampai enam wilayah tugas, yaitu :
komunikasi pelanggan yang dibutuhkan untuk membangun komunikasi yang efektif di
antara pengembangan dan pelanggan, perencanaan yang dibutuhkan untuk
mendefinisikan sumber – sumber daya, ketepatan waktu, dan proyek informasi lain
yang berhubungan, analisis risiko yang dibutuhkan untuk menperhitungkan resiko
(manajemen maupun teknis), perekayasaan yang dibutuhkan untuk membangun satu
atau lebih representasi dari aplikasi tersebut, konstruksi dan peluncuran yang
dibutuhkan untuk mengkonstruksi dan menguji serta memasang (instal) dan
memberikan pelayanan kepada user (contohnya pelatihan dan dokumentasi) dan
bagian evaluasi user yang dibutuhkan untuk memperoleh umpan balik dari user
dengan didasarkan pada evaluasi representasi software, yang dibuat selama masa
perekayasaan, dan diimplementasikan selama masa pemasangan.
Dalam pengembangan sistem informasi berbasis web, model ini digunakan
untuk menyelesaikan
sistem secara global terlebih dahulu, kemudian untuk
feature dari sistem akan dikembangkan kemudian. Dengan ini mempercepat dalam
pengimplementasian project. dan hal ini cocok digunakan dalam sistem informasi
Web.
Kelebihan
model spiral:
- Dapat disesuaikan agar perangkat
lunak bisa dipakai selama hidup perangkat lunak komputer.
- Lebih cocok untuk pengembangan
sistem dan perangkat lunak skala besar.
- 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
iterative.
- Membutuhkan pertimbangan langsung
terhadp resiko teknis sehingga mengurangi resiko sebelum menjadi
permaslahan yang serius.
Kekurangan
model spiral:
- Sulit untuk meyakinkan pemakai
(saat situasi kontrak) bahwa penggunaan pendekatan ini akan dapat
dikendalikan.
- Memerlukan tenaga ahli untuk
memperkirakan resiko, dan harus mengandalkannya supaya sukses.
Belum terbukti apakah
metode ini cukup efisien karena usianya yang relatif
6. Fourt - Generation Techniques (4GT)
Model Teknik Generasi ke-4
Istilah Fourth Generation Techniques (4GT) mencakup
seperangkat peralatan perangkat lunak yang berfungsi sebagai perangkat bantu
yang memudahkan seorang pengembang software mengaplikasi beberapa karakteristik
software pada tingkat yang tinggi, yang akan menghasilkan source code
dan object code secara otomatis sesuai dengan spesifikasi (persyaratan
khusus) yang dibuat oleh sang pengembang perangkat lunak.
Dewasa ini, 4GT tools dipakai sebagai bahasa non
prosedur untuk DataBase Query, Pembentukan laporan (Report Generation),
Manipulasi data, Definisi dan interaksi layar (screen), Pembentukan object
dan source ( Object and source generation ), Kemampuan grafik
yang tinggi, dan Kemampuan spreadsheet.
Tahapan-tahapan model 4GT dapat diringkas sebagai
berikut.
Tahap
Pengumpulan Kebutuhan: tahap ini dimulai
dengan mengumpulkan serangkaian kebutuhan yang nantinya akan diterjemahkan ke
dalam prototipe. Namun, apabila pelanggan tidak yakin dengan apa yang
diperlukan dan fakta-fakta tidak jelas diketahui maka prototipe tidak dapat
dikerjakan oleh peralatan 4GT.
Tahap
Merancang Strategi: tahap ini dibutuhkan untuk
proyek besar yakni dengan menterjemahkan kebutuhan menjadi prototipe
operasional agar tidak timbul masalah yang sama jika dibuat dengan model
konvensional. Namun, untuk proyek skala kecil tahap ini dapat dihilangkan
dengan langsung melakukan implementasi dengan menggunakan bahasa generasi
keempat (4GT).
Tahap
Implementasi Menggunakan Bahasa Keempat: untuk
skala kecil tahap ini dapat langsung dilakukan ketika kebutuhan telah jelas,
dan untuk proyek besar tahapan ini dijalankan setelah dirancang prototipe
operasional. Implementasi yang menggunakan 4GT memudahkan pengembang software
untuk menjelaskan hasil yang diharapkan yang nantinya akan diterjemahkan ke dalam
bentuk kode sumber dan kode objek.
Tahap
Produksi: Tahap ini merupakan langkah terakhir
yakni mengubah implementasi 4GT ke dalam hasil akhir berupa produk.
Kelebihan
model ini adalah pengurangan waktu dan
peningkatan produktivitas yang besar.
Kekurangan
model ini adalah kemungkinan akan sulit
memanfaatkan alat bantu/peralatan/tools 4GT dibandingkan dengan menggunakan
bahasa pemrograman yang konvensional, selain itu terdapat juga masalah dalam
hal kode sumber yang tidak efisien. Di samping itu, pemeliharaan sistem
software besar yang dikembangkan oleh 4GT juga masih sedang dalam proses
pengkajian.
Model
ini diaplikasikan untuk
mengembangkan perangkat lunak yang memakai bentuk bahasa khusus atau notasi
grafik yang dieksekusi/diselesaikan dengan syarat atau keten
Sumber:
http://blog.ub.ac.id/zanwar/2012/10/17/metode-metode-pengembangan-desain-aplikasi/http://blog.ub.ac.id/zanwar/2012/10/17/metode-metode-pengembangan-desain-aplikasi/
0 komentar:
Posting Komentar