1. Waterfall
2. V-Model
3. Simple Interaction Design Model
4. Star Lifecycle Model (Hartson & Hix, 1989)
5. RAD
1. Model Waterfall
Waterfall adalah suatu metodologi pengembangan
perangkat lunak yang mengusulkan pendekatan kepada perangkat lunak sistematik
dan sekuensial yang mulai pada tingkat kemajuan sistem pada seluruh analisis,
design, kode, pengujian dan pemeliharaan.
Model Waterfall ini awalnya ditemukan oleh Winston W. Royce
pada tahun 1970 . Dia menulis sebuah artikel ilmiah yang berisi pandangan
pribadinya pada pengembangan perangkat lunak . Pada paruh pertama dari artikel,
ia membahas sebuah proses yang dia sebut ” megah ” . Dia bahkan menggambar
sosok model , dan lain yang menunjukkan mengapa hal itu tidak bekerja ( karena
persyaratan selalu berubah ) . Model ini adalah air terjun . Dia menggunakannya
sebagai contoh dari proses yang sama sekali tidak bekerja. Di paruh kedua
artikel ia menggambarkan proses berulang-ulang bahwa ia dianggap jauh lebih
baik .
Nama model ini sebenarnya adalah “Linear Sequential Model”. Model ini sering disebut dengan “classic life cycle” atau model waterfall. Model ini sering dianggap kuno, tetapi merupakan model yang paling banyak dipakai didalam Software Engineering (SE). Model ini melakukan pendekatan secara sistematis dan urut mulai dari level kebutuhan sistem lalu menuju ke tahap analisis, desain, coding, testing / verification, dan maintenance. Disebut dengan waterfall karena tahap demi tahap yang dilalui harus menunggu selesainya tahap sebelumnya dan berjalan berurutan. Sebagai contoh tahap desain harus menunggu selesainya tahap sebelumnya yaitu tahap requirement. Berikut gambar model waterfall.
Nama model ini sebenarnya adalah “Linear Sequential Model”. Model ini sering disebut dengan “classic life cycle” atau model waterfall. Model ini sering dianggap kuno, tetapi merupakan model yang paling banyak dipakai didalam Software Engineering (SE). Model ini melakukan pendekatan secara sistematis dan urut mulai dari level kebutuhan sistem lalu menuju ke tahap analisis, desain, coding, testing / verification, dan maintenance. Disebut dengan waterfall karena tahap demi tahap yang dilalui harus menunggu selesainya tahap sebelumnya dan berjalan berurutan. Sebagai contoh tahap desain harus menunggu selesainya tahap sebelumnya yaitu tahap requirement. Berikut gambar model waterfall.
Penjelasan dari tahap-tahap waterfall model adalah
sebagai berikut:
• Perancangan Sistem (System Enginering)
Perancangan sistem sangat diperlukan, karena piranti
lunak biasanya merupakan bagian dari suatu sistem yang lebih besar. Pembuatan
sebuah piranti lunak dapat dimulai dengan melihat dan mencari apa yang
dibutuhkan oleh sistem. Dari kebutuhan sistem tersebut akan diterapkan kedalam
piranti lunak yang dibuat.
• Analisa Kebutuhan Piranti Lunak (Software Requirement Analysis)
Merupakan proses pengumpulan kebutuhan piranti lunak.
Untuk memahami dasar dari program yang akan dibuat, seorang analisis harus
mengetahui ruang lingkup informasi, fungsi-fungsi yang dibutuhkan, kemampuan
kinerja yang ingin dihasilkan dan perancangan antarmuka pemakai piranti lunak
tersebut.
• Perancangan (Design)
Perancangan piranti lunak merupakan proses bertahap yang
memfokuskan pada empat bagian penting, yaitu: Struktur data, arsitektur piranti
lunak, detil prosedur, dan karakteristik antar muka pemakai.
• Pengkodean (Coding)
Pengkodean piranti lunak merupakan proses penulisan
bahasa program agar piranti lunak tersebut dapat dijalankan oleh mesin.
• Pengujian (Testing)
Proses ini akan menguji
kode program yang telah dibuat dengan memfokuskan pada bagian dalam piranti
lunak. Tujuannya untuk memastikan bahwa semua pernyataan telah diuji dan
memastikan juga bahwa input yang digunakan akan menghasilkan output yang
sesuai.
Pada tahap ini pengujian ini dibagi menjadi dua bagian, pengujian internal dan pengujian eksternal. Pengujian internal bertujuan menggambarkan bahwa semua statement sudah dilakukan pengujian, sedangkan pengujian eksternal bertujuan untuk menemukan kesalahan serta memastikan output yang dihasilkan sesuai dengan yang diharapkan.
Pada tahap ini pengujian ini dibagi menjadi dua bagian, pengujian internal dan pengujian eksternal. Pengujian internal bertujuan menggambarkan bahwa semua statement sudah dilakukan pengujian, sedangkan pengujian eksternal bertujuan untuk menemukan kesalahan serta memastikan output yang dihasilkan sesuai dengan yang diharapkan.
• Pemeliharaan (Maintenance)
Proses ini dilakukan setelah piranti lunak telah
digunakan oleh pemakai atau konsumen. Perubahan akan dilakukan jika terdapat
kesalahan, oleh karena itu piranti lunak harus disesuaikan lagi untuk menampung
perubahan kebutuhan yang diinginkan konsumen.
Keuntungan Waterfall
1) Kualitas
dari sistem yang dihasilkan akan baik. Ini dikarenakan oleh pelaksanaannya
secara bertahap. Sehingga tidak terfokus pada tahapan tertentu.
2) Document
pengembangan system sangat terorganisir, karena setiap fase harus terselesaikan
dengan lengkap sebelum melangkah ke fase berikutnya. Jadi setiap fase
atau tahapan akan mempunyai dokumen tertentu.
3) Metode ini masih lebih baik digunakan walaupun
sudah tergolong kuno, daripada menggunakan pendekatan asal-asalan. Selain itu,
metode ini juga masih masuk akal jika kebutuhan sudah diketahui dengan baik.
Kelemahan Waterfall
1) Diperlukan majemen yang baik, karena proses
pengembangan tidak dapat dilakukan secara berulang sebelum terjadinya suatu
produk.
2) Kesalahan kecil akan menjadi masalah besar jika tidak
diketahui sejak awal pengembangan yang berakibat pada tahapan selanjutnya.
3) Pelanggan sulit menyatakan kebutuhan secara eksplisit
sehingga tidak dapat mengakomodasi ketidak pastian pada saat awal pengembangan.
4) Pelanggan harus sabar, karena pembuatan perangkat
lunak akan dimulai ketika tahap desain sudah selesai. Sedangkan pada tahap
sebelum desain bisa memakan waktu yang lama.
5) Pada kenyataannya, jarang mengikuti urutan sekuensial
seperti pada teori. Iterasi sering terjadi menyebabkan masalah baru.
2. V-Model atau Model V
Model ini merupakan perluasan dari model waterfall.
Disebut sebagai perluasan karena tahap-tahapnya mirip dengan yang terdapat
dalam model waterfall. Jika dalam model waterfall proses dijalankan secara
linear, maka dalam model V proses dilakukan bercabang. Dalam model V ini
digambarkan hubungan antara tahap pengembangan software dengan tahap
pengujiannya.
Berikut penjelasan
masing-masing tahap beserta tahap pengujiannya:
1) Requirement Analysis & Acceptance Testing
Tahap
Requirement Analysis sama seperti yang terdapat dalam model waterfall. Keluaran
dari tahap ini adalah dokumentasi kebutuhan pengguna.
Acceptance Testing
merupakan tahap yang akan mengkaji apakah dokumentasi yang dihasilkan tersebut
dapat diterima oleh para pengguna atau tidak.
2) System Design & System Testing
Dalam
tahap ini analis sistem mulai merancang sistem dengan mengacu pada dokumentasi
kebutuhan pengguna yang sudah dibuat pada tahap sebelumnya. Keluaran dari tahap
ini adalah spesifikasi software yang meliputi organisasi sistem secara umum,
struktur data, dan yang lain. Selain itu tahap ini juga menghasilkan contoh
tampilan window dan juga dokumentasi teknik yang lain seperti Entity Diagram
dan Data Dictionary.
3) Architecture Design & Integration Testing
\ Sering
juga disebut High Level Design. Dasar dari pemilihan arsitektur yang akan
digunakan berdasar kepada beberapa hal seperti: pemakaian kembali tiap modul,
ketergantungan tabel dalam basis data, hubungan antar interface, detail
teknologi yang dipakai.
4) Module Design & Unit Testing
Sering
juga disebut sebagai Low Level Design. Perancangan dipecah menjadi modul-modul
yang lebih kecil. Setiap modul tersebut diberi penjelasan yang cukup untuk
memudahkan programmer melakukan coding. Tahap ini menghasilkan spesifikasi
program seperti: fungsi dan logika tiap modul, pesan kesalahan, proses
input-output untuk tiap modul, dan lain-lain.
5) Coding
Dalam tahap ini
dilakukan pemrograman terhadap setiap modul yang sudah dibentuk.
V-model dikembangkan di Jerman untuk aplikasi
pertahanan. Didalam V-model terdapat 3 kompomen kerja yang pokok yakni
Project Definition yakni mendefenisian project apa yang akan dibuat, Time yakni
waktu yang dibutuhkan dalam pengimplementasiannya dan Project Test And
Integration atau pengujian dan integrasi project tersebut.
Dalam siklus V-Model hidup pengembangan perangkat
lunak langkah yang berbeda yang diikuti Namun di sini kita akan mengambil jenis
yang paling umum dari V-model contoh. V-model biasanya terdiri dari beberapa
tahap sebagai berikut:
1) Unit Pengujian: Persiapan Kasus Uji Satuan
2) Integrasi Pengujian: Persiapan Uji Kasus Integrasi
3) Sistem Pengujian: Persiapan kasus uji Sistem
4) Penerimaan Pengujian: Persiapan Uji Kasus Penerimaan
2) Integrasi Pengujian: Persiapan Uji Kasus Integrasi
3) Sistem Pengujian: Persiapan kasus uji Sistem
4) Penerimaan Pengujian: Persiapan Uji Kasus Penerimaan
Keuntungan V Model
1) Bahasa yang digunakan untuk
merepresentasikan konsep V model menggunakan bahasa formal. Contoh : dengan
menggunakan objek model ataupun frame-frame • Meminimalisasikan kesalahan pada
hasil akhir karena ada test pada setiap prosesnya
2) Penyesuaian yang cepat pada projek yang
baru
3)
Memudahkan dalam pembuatan dokumen projek
4)
Biaya yang murah dalam perawatan dan modifikasinya
5) V Model sangat fleksibel. V Model mendukung project
tailoring dan penambahan dan pengurangan method dan tool secara dinamik.
Akibatnya sangat mudah untuk melakukan tailoring pada V Model agar sesuai
dengan suatu proyek tertentu dan sangat mudah untuk menambahkan method dan tool
baru atau menghilangkan method dan tool yang dianggap sudah obsolete.
6) V Model dikembangkan dan di-maintain oleh publik. User
dari V Model berpartisipasi dalam change control board yang memproses semua
change request terhadap V Model.
Kerugian V Model
1)
Aktifitas V-Model hanya difokuskan pada projectnya saja,
bukan pada keseluruhan organisasi. V-Model adalah proses model yang hanya
dikerjakan sekali selama project saja, bukan keseluruhan organisasi.
2)
Prosesnya hanya secara sementara. Ketika project
selesai, jalannya proses model dihentikan. Tidak berlangsung untuk keseluruhan
organisasi.
3)
Metode yang ditawarkan terbatas. Sehingga kita tidak
memiliki cara pandang dari metode yang lain. Kita tidak memiliki kesempatan
untuk mempertimbangkan jika ada tools lain yang lebih baik.
4)
oolnya tidak selengkap yang dibicarakan. SDE (Software
Development Environment).Tidak ada tools untuk hardware di V-Model. Tool yang
dimaksud adalah “software yang mendukung pengembangan atau pemeliharaan /
modifikasi dari system IT.
5)
V Model adalah model yang project oriented sehingga
hanya bisa digunakan sekali dalam suatu proyek.
6)
V Model terlalu fleksibel dalam arti ada beberapa
activity dalam V Model yang digambarkan terlalu abstrak sehingga tidak bisa
diketahui dengan jelas apa yang termasuk dalam activity tersebut dan apa yang
tidak.
3. Simple Interaction Design Model
Pada model rancangan interaksi
sederhana ini input atau masukan hanya memiliki satu titik. yang mana masukan
tersebut, lalu lakukan langkah-langkah berikut :
1) Identifikasi kebutuhan dan persyaratan sistem disini suatu sistem akan di identifikasi sesuai dengan kebutuhan sistem itu sendiri.
2) Pengembangan desain alternatif (desain konseptual dan fisikal)
3) Membuat versi interaktif dari desain yang dihasilkan
4) Mengevaluasi desain (usabilitas dan user experience)
1) Identifikasi kebutuhan dan persyaratan sistem disini suatu sistem akan di identifikasi sesuai dengan kebutuhan sistem itu sendiri.
2) Pengembangan desain alternatif (desain konseptual dan fisikal)
3) Membuat versi interaktif dari desain yang dihasilkan
4) Mengevaluasi desain (usabilitas dan user experience)
Evaluasi dapat
dilakukan dimana saja, rancangan yang telah di evakuasi dapat kambali didesain
ulang atau apakah rancangan tersebut tidak sesuai dengan kebutuhan user, maka
alur tersebut akan terus berputar hingga pada tahap evaluasi tidak lagi terjadi
kesalahan, baik dalam penetapan kebutuhan user maupun pendesainannya, sehingga
pada tahap evaluasi terciptalah sebuah hasil akhir yang valid.
4. STAR LIFECYCLE MODEL (HARTSON
& HIX, 1989)
- Analisa
Identifikasi kemampuan user, strategi yang digunakan untuk meningkatkan
ketrampilannya, alat yang saat ini dipakai, masalah-masalah yang dialami,
perubahan yang diinginkan baik dalam ketrampilan maupun peralatan.
Metode : tanya kemampuan user dan buat daftar dengan skala prioritas, observasi
ketrampilan di lapangan.
- Evaluasi kompetisi
Tentukan kekuatan dan kelemahan rancangan
Metode : pengguna diminta untuk mencoba menggunakan berbagi produk dan minta untuk menyebutkan kelebihan dan kelemahan dari masing-masing produk.
Tentukan kekuatan dan kelemahan rancangan
Metode : pengguna diminta untuk mencoba menggunakan berbagi produk dan minta untuk menyebutkan kelebihan dan kelemahan dari masing-masing produk.
-Rancang sambil jalan
Gunakan hasil analisa untuk membuat alternatif solusi, minta masukan sampai dengan penentuan pilihan yang terbaik.
Metode : tanyai user sehubungan dengan pengalaman menggunakan prototipe.
Gunakan hasil analisa untuk membuat alternatif solusi, minta masukan sampai dengan penentuan pilihan yang terbaik.
Metode : tanyai user sehubungan dengan pengalaman menggunakan prototipe.
- Evaluasi dan validasi
Secara periodik user memberikan masukan selama pengembangan dan perancangan akan diulang berdasarkan masukan tadi.
Metode : amati kebutuhan pokok user dalam menggunakan sistem.
Secara periodik user memberikan masukan selama pengembangan dan perancangan akan diulang berdasarkan masukan tadi.
Metode : amati kebutuhan pokok user dalam menggunakan sistem.
- Benchmark
Memadukan hal-hal terbaik yang dimiliki pesaing untuk diterapkan dalam sistem
yang dibangun Metode : menggali informasi dari user hal-hal yang sebaiknya ada
dibandingkan dengan kompetitor, contoh : situs IBM.
Dalam Siklus
permodelan ini pengujian dilakukan terus menerus, tidak harus dikahir. Misalnya
dimulai dari menentukan kosep desain (conceptual design ) dalam proses ini akan
langsung terjadi evaluasi untuk langsung ternilai apakah sudah sesuai dengan
kebutuhan user, bila belum maka akan terus berulang di evaluasi hingga
benar-benar pas, selanjutnya apabila sudah pas, maka dari tahap evaluasi yang
pertama aka lanjut ke proses yg selanjutnya yakni requirements/specification
yakni memverifikasikan persyaratan rancangan tersebut, dan pada tahap itu juga
langsung terjadi pengevaluasian seperti tahap pertama, dan selanjutnya akan
tetap sama terjadi pada tahapan-tahapan selanjutnya yakni task
analysis/fungsion analysis, pengimplementasian, prototyping hingga pada
akhirnya terciptalah sebuah aplikasi yang sesuai dengan kebutuhan user. Intinya
pada rancangan model ini pengevaluasian dilakukan disetiap tahapan tidak hanya
pada tahapan akhir seperti model-model rancangan yang lainnya.
5. Rapid Application Development
Rapid application development (RAD) atau rapid prototyping adalah model proses pembangunan perangkat lunak yang tergolong dalam teknik
incremental (bertingkat). RAD menekankan pada siklus pembangunan pendek,
singkat, dan cepat. Waktu yang singkat adalah batasan yang penting untuk model
ini. Rapid application development menggunakan metode iteratif (berulang) dalam
mengembangkan sistem dimana working model (model bekerja) sistem
dikonstruksikan di awal tahap pengembangan dengan tujuan menetapkan kebutuhan
(requirement) user dan selanjutnya disingkirkan. Working model digunakan kadang-kadang
saja sebagai basis desain dan implementasi sistem final.
Penerapan
Model
RAD mengadopsi model waterfall dan pembangunan dalam waktu singkat yang dicapai
dengan menerapkan :
1.
Component based construction ( pemrograman berbasis komponen
bukan prosedural).
2.
Penekanan pada penggunaan ulang (reuse) komponen perangkat lunak
yang telah ada.
3.
Pembangkitan kode program otomatis/semi otomatis.
4.
Multiple team (banyak tim), tiap tim menyelesaikan satu tugas
yang selevel tapi tidak sama. Banyaknya tim tergantung dari area dan
kompleksitasnya sistem yang dibangun.
Jika
keutuhan yang diinginkan pada tahap analisis kebutuhan telah lengkap dan jelas,
maka waktu yang dibutuhkan untuk menyelesaikan secara lengkap perangkat lunak
yang dibuat adalah berkisar 60 sampai 90 hari. Model RAD hampir sama dengan
model waterfall, bedanya siklus pengembangan yang ditempuh model ini sangat
pendek dengan penerapan teknik yang cepat.
Sistem
dibagi-bagi menjadi beberapa modul dan dikerjakan beberapa tim dalam waktu yang
hampir bersamaan dalam waktu yang sudah ditentukan. Model ini melibatkan banyak
tim, dan setiap tim mengerjakan tugas yang selevel, namun berbeda. Sesuai
dengan pembagian modul sistem.
Kelemahan
Beberapa
hal (kelebhan dan kekurangan) yang perlu diperhatikan dalam implementasi
pengembangan menggunakan model RAD :
1.
Model RAD memerlukan sumber daya yang cukup besar, terutama
untuk proyek dengan skala besar.
2.
Model ini cocok untuk proyek dengan skala besar.
3.
Model RAD memerlukan komitmen yang kuat antara pengembang dan
pemesssan, bahkan keduanya bisa tergabung dalam 1 tim
4.
kinerja dari perangkat lunak yang dihasilkan dapat menjadi
masalah manakala kebutuhan-kebutuhan diawal proses tidak dapat dimodulkan,
sehingga pendekatan dengan model ini kurang bagus.
5.
sistem yang tidak bisa dimodularisasi tidak cocok untuk model
ini.
6.
penghalusan dan penggabungan dari beberapa tim di akhir proses
sangat diperlukan dan ini memerlukan kerja keras.
7.
proyek bisa gagal karena waktu yang disepakati tidak dipenuhi
8.
risiko teknis yang tinggi juga kurang cocok untuk model ini.
Sumber:
http://sisfo08.blog.com/2011/10/waterfall-menurut-roger/
http://ayip7shortcutsharing.blogspot.com/2013/06/pengertian-model-v-keuntungan-model-v.html
http://ayip7shortcutsharing.blogspot.com/2013/06/pengertian-model-v-keuntungan-model-v.html
http://kya93.wordpress.com/2013/12/06/model-model-pengembangan-software/
http://putriluphm.wordpress.com/2013/12/11/star-lifecycle-model-hartson-hix-1989/
http://id.wikipedia.org/wiki/Rapid_application_development
http://putriluphm.wordpress.com/2013/12/11/star-lifecycle-model-hartson-hix-1989/
http://id.wikipedia.org/wiki/Rapid_application_development
Tidak ada komentar:
Posting Komentar