Dokumen tersebut membandingkan beberapa metodologi pengembangan perangkat lunak seperti Waterfall, Spiral, Incremental, Prototyping, dan Rapid Application Development (RAD). Setiap metodologi memiliki tahapan dan artefak yang berbeda-beda, serta kelebihan dan kekurangan masing-masing. Dokumen ini juga memberikan referensi untuk mendukung pembahasan mengenai perbandingan metodologi pengembangan perangkat lunak tersebut.
2. Methodologi S/W Development, SDLC
(System Development Life Cycle)
SDLC
Waterfall
Spiral
Incremental
Prototyping
Rapid Application
Development (RAD)
3. Metodologi Waterfall
Fase-fase dalam metodologi waterfall
Model ini adalah model klasik yang bersifat sistematis, berurutan dalam
membangun software. Berikut ini ada dua gambaran dari waterfall
model.
Sekalipun keduanya menggunakan nama-nama fase yang berbeda,
namun sama dalam intinya.
Gambar Model Menurut Pressman
4. Tahapan waterfall
Fase-fase dalam Waterfall Model menurut referensi
Sommerville :
Pembentukan kebutuhan dari semua
elemen
Pembentukan Domain Informasi
Membuat design sebelum dibuat program
Pengkodean design sehingga menjadi
program yang bisa dimengerti.
Memeriksa apakah program telah sesuai
harapan atau tidak.
Pemecahaan error yang muncul dan
menambah fungsi bila diperlukan
6. Keuntungan dan kerugian
waterfall
Keuntungan
Membagi masalah ke dalam tahap
yang berbeda yang dapat dilakukan
secara independen
Pendekatan alami untuk pemecahan
masalah
Mudah untuk mengelola dalam
kontrak - setiap fase adalah
milestone
Kerugian
Menganggap bahwa persyaratan
dapat ditetapkan dan dibekukan di
awal
Menetapkan perangkat keras dan
teknologi lainnya terlalu dini
Mengikuti pendekatan "big bang" –
“all or nothing delivery”; terlalu
berisiko
Sangat berorientasi dokumen,
membutuhkan dokumen pada akhir
7. Metodologi Spiral
Pendekatan dengan model ini
sangat baik digunakan untuk
pengembangan sistem dalam skala
besar karena progres
perkembangan dari proyek dapat
dipantau oleh kedua belah pihak
baik developer maupun
user/customer, sehingga mereka
dapat mengerti dengan baik
mengenai proyek ini.
Gambar 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.
9. Artefak dari setiap tahapan
spiral
• Input : hasil interview
• Proses : komunikasi antara pengembang dengan
pelanggan
• Output : kebutuhan
• Input : kebutuhan
• Proses : penentuan tujuan, alternatif dan batasan
• Output : gambaran sistem
• Input : gambaran sistem
• Proses : analisa alternatif dan
identifikasi/pemecahan resiko
• Output : rancangan sistem
10. Artefak dari setiap tahapan
spiral
• Input : rancangan sistem
• Proses : pengembangan level berikutnya dari
produk
• Output : produk
• Input : produk
• Proses : testing, instalasi, dan menyediakan
support termasuk dengan training pada user dan
pembuatan dokumentasi
• Output : produk jadi
• Input : produk jadi
• Proses : penilaian terhadap hasil engineering
• Output : hasil evaluasi, produk siap pakai
11. Kelebihan dan kekurangan metodologi
Spiral
Keuntungan
Dapat disesuaikan agar perangkat
lunak bisa dipakai selama hidup
perangkat lunak komputer.
Lebih cocok untuk pengembangan
sistem dan perangkat lunak skala
besar
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 iteratif .
Kerugian
Sulit untuk meyakinkan 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 absolut
12. Methodologi Incremental
Metode Incremental adalah suatu model pengembangan sistem
pada software engineering yang berdasarkan requirement software
yang dipecah menjadi beberapa fungsi atau bagian sehingga
model pengembangan dilakukan secara bertahap atau increment
Gambar Model
14. Model Incremental
kombinasikan element-element dari
waterfall dengan sifat
iterasi/perulangan.
element-element dalam waterfall
dikerjakan dengan hasil berupa
produk
dengan spesifikasi tertentu,
kemudian proses dimulai dari fase
pertama hingga akhir dan
menghasilkan produk dengan
spesifikasi yang lebih lengkap dari
yang sebelumnya. Demikian
seterusnya hingga semua spesifikasi
memenuhi kebutuhan pengguna.
produk hasil increment pertama
biasanya produk inti (core
product), yaitu produk yang
memenuhi kebutuhan dasar.
model ini cocok jika jumlah anggota tim pengembang/pembangun PL tidak cukup.
Mampu mengakomodasi perubahan secara fleksibel.
Produk yang dihasilkan pada increment pertama bukanlah prototype, tapi
produk yang sudah bisa berfungsi dengan spesifikasi dasar.
15. Kelebihan dan kekurangan metodologi
incremental
Keuntungan
Penambahan kemampuan
fungsional akan lebih mudah diuji,
diverifikasi, dan divalidasi dandapat
menurunkan biaya yang dikeluarkan
untuk memperbaiki system.
Nilai penggunaan dapat ditentukan
pada setiap increament sehingga
fungsionalitas sistemdisediakan
lebih awal
Increment awal berupa prototype
untuk membantu memahami
kebutuhan pada
incrementberikutnya.
Kerugian
Tiap bagian tidak dapat
diintegrasikan
Setiap tambahan yang dibangun
harus dimasukkan kedalam struktur
yang ada tanpamenurunkan kualitas
dari yang telah dibangun system
tersebut sampai saat ini.
Penambahan staf dilakukan jika
hasil incremental
akan dikembangkan lebih lanjut
16. Methodologi Prototyping
Paradigma dari 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.
17. Tahapan dan artefak model
Prototyping
Pengumpulan
kebutuhan
Membangun
Prototyping
Evaluasi
Prototyping
Mengkodekan
sistem
Menguji sistem
Evaluasi Sistem
Input : hasil wawancara pelanggan
Proses : mendefinisikan kebutuhan
Output : format PL dan garis besar sistem
Input : format PL
Proses : Membuat perancangan sementara
Output : prototyping
Input : prototyping
Proses : evaluasi oleh pelanggan
Output : kebutuhan lain dan prototyping
Input : prototyping
Proses : prototyping yg diterjemahkan
ke
bahasa pemrograman.
Output : sistem/programInput : sistem
Proses : pengujian sistem siap pakai
Output : laporan hasil uji dan sistem
Input : sistem
Proses : evaluasi sistem oleh
pelanggan
Output : kebutuhan lain dan sistem
18. Kelebihan metodologi
prototyping
Adanya komunikasi yang baik antara
pengembang dan pelanggan
Pengembang dapat bekerja lebih baik dalam
menentukan kebutuhan pelanggan
Pelanggan berperan aktif dalam
pengembangan sistem
Lebih menghemat waktu dalam
pengembangan sistem
Penerapan menjadi lebih mudah karena
pemakai mengetahui apa yang
diharapkannya.
19. Kekurangan Metodologi
Prototyping
Pelanggan yang melihat working version dari
model yang diminta/diperlihatkan tidak menyadari
bahwa mungkin saja prototype dibuat terburu-
buru dan rancangan tidak tersusun dengan baik.
Pengembang kadang-kadang membuat
implementasi sembarang, karena ingin working
version selesai dengan cepat.
Karena sudah melihat prototype-nya, pelanggan
menjadi tidak sabar untuk menunggu versi
jadinya. Karena pelanggan merasa program
jadinya tidak akan lama lagi selesai.
20. Metodologi Rapid Application
Development
RAD adalah model proses
pembangunan PL 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. Waktu yang
singkat adalah batasan yang
penting untuk model ini.
Gambar Model
21. Tahapan dan Artefak Metodologi
RAD
Business
Modelling
Data Modelling
Proses Modelling
Application
Generation
Testing and
Turnover
Input : aliran informasi
Proses : penyusunan
informasi
Output : objek data
Input : objek data
Proses : pengubahan objek
Output : aliran informasi
Input : komponen program
Proses : Pembuatan program
Output : Program
Input : Program
Proses : Pengujian program
Output : Program baru
Input : user interview
Proses : pengumpulan
data
Output : kebutuhan
sistem
22. Kelebihan Metodologi RAD
Proses pengiriman menjadi lebih mudah, hal ini
dikarenakan proses pembuatan lebih banyak
menggunakan potongan-potongan script.
Mudah untuk diamati karena menggunakan model
prototype, sehingga user lebih mengerti akan
sistem yang dikembangkan.
Lebih fleksibel karena pengembang dapat
melakukan proses desain ulang pada saat yang
bersamaan.
Bisa mengurangi penulisan kode yang kompleks
karena menggunakan wizard.
23. Kekurangan metodologi RAD
Tidak cocok untuk proyek skala besar
Proyek bisa gagal karena waktu yang
disepakati tidak dipenuhi
Sistem yang tidak bisa dimodularisasi tidak
cocok untuk model ini
Resiko teknis yang tinggi juga kurang cocok
untuk model ini