Metode Waterfall
● Merupakan pendekatan tradisional
● One big project
● Fase yang lain dimulai setelah fase sebelumnya selesai
(sequential process)
● Tanpa backtracking dan looping (segala requirement harus
dinyatakan dengan jelas).
● Cocok untuk situasi dimana perubahan adalah tidak
dimungkinkan.
Planning
● Internal Analysis
Design
Implementatio
n
Maintenance
Permasalahan pada Pendekatan
Waterfall
∙ System requirement “dikunci” setelah ditentukan
(tidak dapat diubah)
∙ Keterlibatan user terbatas (hanya pada fase
requirement)
∙ Terlalu fokus pada deadline jadwal dari setiap
fase SLDC sehingga mengorbangkan praktek
pengembangan yang sehat.
Alternatif terhadap Tradisional
Waterfall
∙ Prototyping
∙ Rapid Application Development (RAD)
– Case tools
– Joint Application Design (JAD)
∙ Agile Methodologies
– extreme Programming
Protyping
Merupakan proses pengembangan bersifat iteratif:
● Requirement dengan cepat dikonversi menjadi suatu sistem
yang bekerja.
● Sistem direvisi secara terus-menurus
● Kolaborasi erat antara user dan analyst.
Prototyping
Initial Customer
Design Evaluation
Requirement
Review/Update
Prototyping sering digunakan pada fase analisa pada SDLC tradisional untuk
mempercepat development untuk menghasilkan model prototype yang dapat
digunakan tanpa analisa dan design yang detail. Prototype dapat menggunakan
Spreadsheet, maupun MS Access.
Rapid Application Development
● Metodologi untuk mengurangi waktu perancangan dan
implementasi.
● Termasuk: prototyping, JAD, CASE tools dan code
generator
Case Tools
● Computer Aided Software Engineering
● Software tools yang menyediakan dukungan
otomatisasi untuk pengembangan sistem.
● Project dictionary/workbook-system description and
specification
● Diagramming tools
● Contoh produk: Oracle designer, Rational Rose
Joint Application Development
● Proses terstruktur yang melibatkan user, analyst, dan
manager
● Sesi pertemuan workgroup intensif beberapa hari
● Tujuan – untuk menspesifikasikan atau me-review
system requirement Facilitator
Core Team Members
Others
Metodologi Agile
● Dimotivasi dengan menyadari bahwa pengembangan sofware seperti fluida,
sulit diprediksi, dan dinamis.
● Fleksible
● Many small project, dan highly collaborative
● Cocok untuk yang menginginkan continous improvement.
● Melibatkan user
● Sebuah proses dimana requirement dpat berevolusi dan berubah.
● Tiga prinsip utama:
● Bersifat adaptif daripada prediktif
● Menekanan kepada orang daripada aturan
● Proses bersifat self-adaptive
Metodologi Agile (lanjutan)
eXtreme Programming
● Pendek, siklus pengembangan bersifat incremental.
● Otomatisasi test
● Tim pengembangan Two-person (Pair Programming)
● Koding dan Testing dioperasikan secara bersamaan.
● Keuntungan:
● Komunikasi antar developer
● Produktivitas tingkat tinggi
● Koding berkualitas tinggi
Object Oriented Analysis and
Design
● Menekankan pada objek dari pada
data atau proses.
● Objek – suatu struktur enkapsulasi Requirement
atribut-atribut dan prilaku dari suatu
entitas dunia nyata. Analysis