Anda di halaman 1dari 19

1.

Waterfall Model
2. Prototyping Model
3. Agile Model
4. Model Rapid Aplication Development (RAD)
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.
1. Requirement’s analysis and definition: mengumpulkan kebutuhan
secara lengkap kemudian dianalisis dan didefinisikan kebutuhan yang
hasrus dipenuhi oleh program yang akan dibangun.

2. System and software design: desain dikerjakan setelah kebutuhan


selesai dikumpulkan secara lengkap.

3. Implementation and unit testing: desain program diterjemahkan ke


dalam kode-kode dengan menggunakan bahasa pemrograman yang
sudah ditentukan. Program yang dibangun langsung diuji.

4. Integration and system testing: penyatuan unit-unit program


kemudian diuji secara keseluruhan (system testing)

5. Operation and maintenance: mengoperasikan program


dilingkungannya dan melakukan pemeliharaan, seperti penyesuaian
atau perubahan karena adaptasi dengan situasi sebenarnya.
+ Software yang dikembangkan dengan metode ini biasanya
menghasilkan kualitas yang baik.

+ Dokumen pengembangan sistem sangat terorganisir, karena


setiap fase harus terselesaikan lengkap sebelum melangkah ke
fase berikutnya.

- Perubahan sulit dilakukan karena sifatnya yang kaku.

- Karena sifat kakunya, model ini cocok ketika kebutuhan


dikumpulkan secara lengkap

- Waterfall umumnya digunakan untuk rekayasa sistem yang


besar
Adalah metode yang memungkinkan pengguna atau user memiliki gambaran
awal tentang perangkat lunak yang akan dikembangkan, serta dapat
melakukan pengujian di awal sebelum perangkat lunak dirilis.

Metode ini bertujuan untuk mengembangkan model menjadi perangkat lunak


yang final. Artinya sistem akan dikembangkan lebih cepat dan biaya yang
dikeluarkan lebih rendah.
Analisa kebutuhan
Identifikasi perangkat lunak dan semua kebutuhan sistem yang akan dibuat.
Membuat prototype
Membuat rancangan sementara yang berfokus pada alur program kepada pengguna.
Evaluasi prototype
Evaluasi untuk mengetahui apakah model prototype sudah sesuai dengan harapan.
Mengkodekan sistem
Prototype diterjemahkan ke dalam bahasa pemrograman yang sesuai.
Pengujian sistem
Pengujian ini biasanya dilakukan dengan White Box Testing, Black Box Testing, dll
Evaluasi sistem
evaluasi apakah perangkat lunak sudah sesuai yang diharapkan atau tidak.
Menggunakan sistem
Perangkat lunak yang telah diuji dan disetujui siap untuk digunakan.
Kelebihan

▪ Mempersingkat waktu pengembangan perangkat lunak

▪ Penerapan fitur menjadi lebih mudah, karena pengembang


mengetahui apa yang diharapkan

Kekurangan

▪ Proses yang dilakukan untuk analisis dan perancangan terlalu


singkat

▪ Kurang fleksibel jika terjadi perubahan


Metode yang fleksibel di mana pengembangan dilakukan
dalam jangka pendek. Namun diperlukan adaptasi yang
cepat dari developer terhadap perubahan dalam bentuk
apa pun.
• High – value & working app system
Menghasilkan produk dengan kualitas yang baik, dan memiliki nilai jual yang tinggi.
• Iterative, incremental, evolutionary
Pengembangan dapat dilakukan secara iteratif, berulang-ulang, dan dapat mengalami perubahan
jika diperlukan.
• Cost control & value – driven development
Pengembangan perangkat lunak dapat sesuai dengan kebutuhan pengguna dan tim dapat dengan
cepat merespon kebutuhan, sehingga waktu dan biaya pembuatan dari perangkat lunak dapat
dikendalikan.
• High – quality production
Kualitas dari perangkat lunak tetap terjaga, meskipun waktu dan biaya lebih sedikit.
• Flexible & risk management
Meminimalisir terjadinya kesalahan pada program sebelum dilakukannya proses deploy aplikasi.
• Collaboration
Kolaborasi ini dilakukan oleh setiap tim pengembang untuk mendiskusikan feedback yang
diberikan oleh klien.
• Self – organizing, self – managing teams
Pengembang diberikan akses untuk memanajemen sendiri urusan software development.
Seorang manajer hanya bertugas sebagai penghubung antara pengembang dengan klien
sehingga dapat mengurangi terjadinya miss communication.
Analisa kebutuhan
Identifikasi perangkat lunak dan semua kebutuhan sistem yang akan dibuat.
Membuat prototype
Membuat rancangan sementara yang berfokus pada alur program kepada pengguna.
Evaluasi prototype
Evaluasi untuk mengetahui apakah model prototype sudah sesuai dengan harapan.
Mengkodekan sistem
Prototype diterjemahkan ke dalam bahasa pemrograman yang sesuai.
Pengujian sistem
Pengujian ini biasanya dilakukan dengan White Box Testing, Black Box Testing, dll
Evaluasi sistem
evaluasi apakah perangkat lunak sudah sesuai yang diharapkan atau tidak.
Menggunakan sistem
Perangkat lunak yang telah diuji dan disetujui siap untuk digunakan.
Kelebihan

• Perubahan dapat dengan cepat ditangani.

• Membutuhkan waktu yang relatif cepat dan tidak memerlukan sumber daya
yang besar.

• Klien dapat memberikan feedback kepada pengembang dalam proses


pembuatan program.

Kekurangan

• Metode ini kurang sesuai dengan tim yang besar (lebih dari 20 orang).

• Tim harus selalu siap, karena perubahan dapat terjadi kapan saja.

• Metode ini kurang cocok untuk tim yang berkomitmen untuk menyelesaikan
proyek bersama-sama.
Sebuah model proses perkembangan perangkat lunak sekuensial
linier yang menekankan siklus perkembangan yang sangat pendek
(kira-kira 60 sampai 90 hari).

Model RAD ini merupakan sebuah adaptasi “kecepatan tinggi” dari


model sekuensial linier dimana perkembangan cepat dicapai dengan
menggunakan pendekatan konstruksi berbasis komponen.
Kelebihan
• Lebih efektif dari Pengembangan Model waterfall/sequential
linear dalam menghasilkan sistem yang memenuhi kebutuhan
langsung dari pelanggan.
• Cocok untuk proyek yang memerlukan waktu yang singkat.
• Model RAD mengikuti tahap pengembangan sistem seperti pada
umumnya, tetapi mempunyai kemampuan untuk menggunakan
kembali komponen yang ada sehingga pengembang tidak perlu
membuatnya dari awal lagi sehingga waktu pengembangan
menjadi lebih singkat dan efisien.
Kekurangan
• Model RAD menuntut pengembangan dan pelanggan memiliki
komitmen di dalam aktivitas rapid-fire yang diperlukan untuk
melengkapi sebuah sistem, di dalam kerangka waktu yang
sangat diperpendek. Jika komitmen tersebut tidak ada, proyek
RAD akan gagal.
• Tidak semua aplikasi sesuai untuk RAD, bila system tidak dapat
dimodulkan dengan teratur, pembangunan komponen penting
pada RAD akan menjadi sangat bermasalah.
• RAD tidak cocok digunakan untuk sistem yang mempunyai
resiko teknik yang tinggi.
• Membutuhkan Tenaga kerja yang banyak untuk menyelesaikan
sebuah proyek dalam skala besar.( Jdi dak biso di pake utk TA)
• Jika ada perubahan di tengah-tengah pengerjaan maka harus
membuat kontrak baru antara pengembang dan pelanggan.
Model spiral merupakan penggabungan dari model
prototyping dan model waterfall.
Fungsi model spiral adalah untuk melakukan perubahan,
penambahan dan pengembangan perangkat lunak
dengan memaksimalkan aspek kecepatan dan ketepatan
berdasarkan keinginan dan kebutuhan penggunanya.
Kelebihan
• Pembangunan dan perubahan perangkat lunak yang terjadi dapat
diselesaikan secara sistematis
• Mudah dalam mengestimasi biaya karena proses pembuatan
prototype yang jelas dan terencana dalam tahapan yang sistematis
• Manajemen dan analisa risiko yang lebih cepat dan mudah
• Mudah dalam melakukan perubahan kebutuhan dan dokumentasi
• Produksi software bisa terjadi lebih cepat
Kekurangan
• Tidak cocok dan sulit diimplementasikan dalam projek kecil
• Memakan waktu yang cukup lama
• Membutuhkan best practice atau pengalaman sebelumnya karena
proses yang sangat kompleks
• Resiko dalam tahap planning cukup besar. Misalnya terjadi
perbedaan dalam jadwal pengembangan dan anggaran belanja.

Anda mungkin juga menyukai