1.
Waterfall
Model
Sebuah pendekatan pengembangan perangkat
lunak sistematik dan sekuensial. Disebut juga “Classic Life Cycle”. Disebut
waterfall (berarti air terjun) karena memang diagram tahapan prosesnya mirip
dengan air terjun yang bertingkat
Aktivitas Waterfall Model
·
Requirements analysis and definition :
mengumpulkan kebutuhan secara lengkap kemudian dianalisis dan didefinisikan
kebutuhan yang hasrus dipenuhi oleh program yang akan dibangun.
·
System and software design : desain
dikerjakan setelah kebutuhan selesai dikumpulkan secara lengkap.
·
Implementation and unit testing : desain
program diterjemahkan ke dalam kode-kode dengan menggunakan bahasa pemrograman
yang sudah ditentukan. Program yang dibangun langsung diuji.
·
Integration and system testing :
penyatuan unit-unit program kemudian diuji secara keseluruhan (system testing)
·
Operation and maintenance :
mengoperasikan program dilingkungannya dan melakukan pemeliharaan, seperti
penyesuaian atau perubahan karena adaptasi dengan situasi sebenarnya.
Keunggulan
dari waterfall:
ü Software
yang dikembangkan dengan metode ini biasanya menghasilkan kualitas yang baik.
ü Dokumen
pengembangan sistem sangat terorganisir, karena setiap fase harus terselesaikan
dengan lengkap sebelum melangkah ke fase berikutnya.
Kekurangan dari waterfall:
ü Perubahan
sulit dilakukan karena sifatnya yang kaku.
ü Karena
sifat kakunya, model ini cocok ketika kebutuhan dikumpulkan secara lengkap
sehingga perubahan bisa ditekan sekecil mungkin. Tapi pada kenyataannya jarang
sekali konsumen/pengguna yang bisa memberikan kebutuhan secara lengkap,
perubahan kebutuhan adalah sesuatu yang wajar terjadi.
ü Waterfall
pada umumnya digunakan untuk rekayasa sistem yang besar dimana proyek
dikerjakan di beberapa tempat berbeda, dan dibagi menjadi beberapa bagian
sub-proyek.
2.
Incremental
Model
Incremental Model merupakan gabungan antara model
linear sekuensial dan prototyping. Setiap linear sekuen menghasilkan produk
yang deliveriables. Increment pertama merupakan produk inti yang mengandung persyaratan/kebutuhan
dasar. Penambahan dilakukan pada increment-incremet berikutnya.
Keunggulan dari
Incremental Model :
ü Personil
bekerja optimal
ü 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 dari Incremental Model :
ü Cocok
untuk proyek berukuran kecil (tidak lebih dari 200.000 baris coding)
ü Mungkin
terjadi kesulitan untuk memetakan kebutuhan pengguna ke dalam rencana spesifikasi
masing-masing hasil increment
ü Dapat
menjadi build and Fix Model, karena kemampuannya untuk selalu mendapat
perubahan selama proses rekayasa berlangsung.
3.
Model
RAD
Model RAD
bisa dibilang keluarganya dari waterfall, karena pada Model RAD mengadopsi dari
model waterfall. Lebih jelasnya mungkin bisa dilihat keterangan di bawah ini :
·
RAD adalah model proses pembangunan
perangkat lunak yang incremental.
·
RAD menekankan pada siklus pembangunan
yang pendek/singkat.
·
RAD mengadopsi model waterfall dan
pembangunan dalam waktu singkat dicapai dengan menerapkan component based
construction.
·
Pada model ini waktu yang singkat yang
di gunakan pada model tsb.
Jika kebutuhan lengkap dan jelas maka
waktu yang diperlukan kira2 60 sampai 90 hari.
Kelemahan model RAD:
ü Sangat
Tidak cocok untuk proyek skala besar
ü Proyek
bisa gagal karena waktu yang disepakati tidak dipenuhi
Kelebihan model RAD:
ü Lebih
efektif dari pendekatan air terjun dalam menghasilkan sistem yang memenuhi
kebutuhan langsung dari pelanggan.
ü Cocok
untuk proyek yang memerlukan waktu yang singkat.
4.
Model
Prototype
Metode prototyping adalah sistem informasi yang
menggambarkan hal-hal penting dari sistem informasi yang akan datang. Prototipe
sistem informasi bukanlah merupakan sesuatu yang lengkap, tetapi sesuatu yang
harus dimodifikasi kembali, dikembangkan, ditambahkan atau digabungkan dengan
sistem informasi yang lain bila perlu.
Keunggulan Prototyping:
ü user
dapat berpartisipasi aktif
ü Penentuan
kebutuhan lebih mudah diwujudkan
ü Mempersingkat
waktu pengembangan SI
Kelemahan Prototyping :
ü Proses
analisis dan perancangan terlalu singkat
ü Mengesampingkan
alternatif pemecahan masalah
ü Bisanya
kurang fleksible dalam mengahadapi perubahan
ü Prototype
yang dihasilkan tidak selamanya mudah dirubah
ü Prototype
terlalu cepat selesai
5.
Spiral
Model
Proses digambarkan sebagai 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. Setiap Loop dibagi
menjadi beberapa sektor :
·
Objective settings (menentukan tujuan):
menentukan tujuan dari fase yang ditentukan. Batasan-batasan pada proses dan
produk sudah diketahui. Perencanaan sudah disiapkan. Resiko dari proyek sudah
diketahui. Alternatif strategi sudah disiapkan berdasarkan resiko-resiko yang
diketahui, dan sudah direncanakan.
·
Risk assessment and reduction
(Penanganan dan pengurangan resiko): setiap resiko dianalisis secara detil pada
sektor ini. Langkahlangkah penanganan dilakukan, misalnya membuat prototype
untuk mengetahui ketidakcocokan kebutuhan.
·
Development and Validation (Pembangunan
dan pengujian): Setelah evaluasi resiko, maka model pengembangan sistem
dipilih. Misalnya jika resiko user interface dominan, maka membuat prototype
User Interface. Jika bagian keamanan yang bermasalah, maka menggunakan model
formal dengan perhitungan matematis, dan jika masalahnya adalah integrasi
sistem model waterfall lebih cocok.
·
Planning: Proyek dievaluasi atau
ditinjau-ulang dan diputuskan untuk terus ke fase loop selanjutnya atau tidak.
Jika melanjutkan ke fase berikutnya rencana untuk loop selanjutnya.
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 .
Kelemahan
model Spiral:
ü Sulit
untuk menyakinkan pelanggan bahwa pendekatan evolusioner ini bisa dikontrol.
ü Memerlukan
penaksiran resiko yang masuk akal dan akan menjadi masalah yang serius jika
resiko mayor tidak ditemukan dan diatur.
ü Butuh
waktu lama untuk menerapkan paradigma ini menuju kepastian yang absolute