1. Model Water Fall
·
Biasa disebut dengan metode sekuensial
linear
·
Merupakan metode pengembangan sistem
yang paling tua
·
Metodologi pengembangan yang paling
banyak dipakai
·
Model ini mengusulkan sebuah pendekatan perkembangan
perangkat lunak yang sistematik dan sekunsial yang dimulai pada tingkat dan
kemajuan sistem pada seluruh analisis, desain , kode, pengujian, dan pemeliharaan.
·
Mudah di aplikasikan
·
Pelanggan sulit untuk menyatakan
kebutuhan secara eksplisit sehingga sulit untuk megakomodasi ketidakpastian
pada saat awal proyek
·
Pelanggan harus bersikap sabar karena
harus menunggu sampai akhir proyrk dilalui. Sebuah kesalahan jika tidak
diketahui dari awal akan menjadi masalah besar karena harus mengulang dari awal
·
Pengembang sering melakukan penundaan
yang tidak perlu
Berikut merupakan gambaran dari
proses waterfall :
12. Model
Prototype
·
Belum ada sistem dengan karakteristik yang sama dengan sistem yang
diajukan yang pernah dikembangkan oleh pengembang.
·
Pengalaman dalam menggunakan sistem yang secara signifikan ditambahkan
kedalam daftar kebutuhan yang harus dipenuhi oleh sistem
·
Pengguna user ikut berpartisipasi dalam proses pengembangan.
·
Adanya intensitas kerjasama antara developer dan customers atau user
·
Berfungsi sebagai sebuah mekanisme untuk mengidentifikasi kebutuhan
perangkat lunak
·
Sistem prototype dikembangkan dalam waktu yang singkat dan biaya yang relatif
murah
·
Sistem prototype dapat dikembangkan dengan menggunakan metode dan bahasa
pemrograman konvensional
·
Selama prototyping, analis dapat menghubungkan bagian dari program reusable
·
Prototype di bangun ulang, alternatif ini berarti memprogram ulang
mulai dari awal.
·
Perlunya penyelesaian yang cepat
·
Sitem yang inovatif. Sistem tersebut
membutuhkan cara penyelesaian masalah dan penggunaan perangkat keras yang
mutakhir
Pemodelan
tahapan prototyping :
3. RAD (Rapid Application
Development)
·
Proses pengembangan sistem relatif singkat
·
Bersifat reusable, developer tidak perlu melakukan pengembangan sistem
dari awal dan memiliki waktu yang singkat
·
Tidak cocok untuk skala proyek yang besar
·
sistem yang tidak bisa dimodularisasi
tidak cocok untuk model ini
·
Proyek bisa gagal karena waktu yang
disepakati tidak dipenuhi
·
Resiko teknis yang tinggi juga kurang
cocok untuk model ini
·
RAD menuntut pengembang dan pelanggan
memiliki komitmen di dalam aktivitas rapd-fire
Pemodelan
proses pada RAD :
4.
SDLC
(System Developments Life Cycle)
·
Proses yang diterapkan secara logik
mulai dari tahap perencanaan sampai penerapan
·
Kebutuhan pemakai pada umumnya
didefinisikan dengan baik
·
Proses input, output, dan transaksi
relatif tinggi
·
Sistem kendali ekstensif dan keamanan
relatif canggih
·
Biasanya suatu sistem komputer banyak
pemakai yang besar dan saling terintegrasi
Pemodelan
tahapan SDLC :
5.
Throw-away
prototyping
·
Merupakan model pengembangan yang hampir
sama dengan prototype
·
Menekankan pada tahapan design
·
Memahami persyaratan user dengan
memberikan prototype aplikasinya
·
Aplikasi akan sesuai dengan keinginan
user berdasarkan pada usability dan estetika penggunaan
·
Digunakan pada lingkup sistem yang kecil
atau menengah
Pemodelan
proses throw-away prototyping :
6.
Incremental
Development
·
Incremental model termasuk kategori evolutionary
software process models karena bersifat iteratif atau mengandung perulangan
·
Adanya penambahan rules yang
mengakibatkan bertambahnya kemampuan fungsional sistem
·
Merupakan model dengan manajemen yang
sederhan
·
Resiko untuk kegagalan proyek secara
keseluruhan lebih rendah, walaupun masalah masih dapat ditemukan pada beberapa increment
·
Nilai penggunaan dapat ditentukan pada
setiap increment sehingga fungsionalitas sistem disediakan lebih awal.
·
Prioritas tertinggi pada pelayanan
sistem adalah yang paling diuji
·
Memiliki risiko lebih rendah terhadap
keseluruhan pengembagan sistem
·
Merupakan kombinasi dari waterfall
model, yaitu dengan melakukan tahap- tahap waterfall model secara
iteratif.
·
Mungkin terjadi kesulitan untuk
memetakan kebutuhan pengguna ke dalam rencana spesifikasi masing-masing hasil increment
·
Untuk sistem dengan interaksi skala
kecil dan medium
·
Untuk sistem dengan masa penggunaan
pendek
·
Cocok untuk proyek berukuran kecil
(tidak lebih dari 200.000 baris coding)
Pemodelan
proses Incremental:
7.
Component-Based
Development Model
·
Component-based development sangat
berkaitan dengan teknologi berorientasi
Objek
·
Banyak class yang dibangun dan menjadi
komponen
·
Class-class tersebut bersifat reusable
artinya bisa digunakan kembali
·
Model ini bersifat iteratif atau
berulang-ulang prosesnya
·
Menekankan perancangan dan pembangunan
software dengan menggunakan komponen software yang sudah ada
·
Biaya produksi berkurang sampai 84%
arena pembangunan komponen berkurang
·
Siklus waktu pengembangan software,
karena mampu mengurangi waktu 70%
·
software engineering (component-based development)
melakukan analisis terhadap domain model yang sudah ditetapkan kemudian
menentukan spesifikasi dan merancang berdasarkan model struktur dan spesifikasi
sistem
8.
Extreme
Programming
·
Metodologi yang menekankan pada
keterlibatan user secara langsung, pengujian, pay-as-you-go design
·
Mengandung 4 nilai penting yaitu :
komunikasi, tanggapan, kesederhanaan, dan berani
·
Membutuhkan waktu lebih instan dalam
pengembangannya
·
Bekerja lebih baik dalam projek dengan
tidak ada perubahan yang tak tentu
·
Membutuhkan kedisiplinan tinggi
·
Tepat hanya jika dilakukan di projek
kecil
·
Membutuhkan lebih banyak inputan dari
pengguna
9.
Spiral
·
Setiap loop mewakili satu fase dari
software process
·
Loop paling dalam berfokus pada
kelayakan dari sistem
·
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
·
Membutuhkan pertimbangan langsung
terhadp resiko teknis sehingga mengurangi resiko sebelum menjadi permaslahan
yang serius
·
Butuh waktu lama untuk menerapkan
paradigma ini menuju kepastian yang absolut
·
Memerlukan penaksiran resiko yang masuk
akal dan akan menjadi masalah yang serius jika resiko mayor tidak ditemukan dan
diatur
Pemodelan
proses spiral:
10.
Parallel
Development
·
Suatu cara pada SDLC yang melakukan fase
design dan implementation secara paralel.
·
Meminimalisasi waktu penjadwalan
·
Meminimalisasi kesempatan untuk
dikerjakan ulang
·
Masih menggunakan dokument di kertas
·
Menggabungkan subproyek memerlukan suatu
keahlian yang khusus. Biasanya banyak terjadi kegagalan pada saat proses
penggabungannya
Pemodelan
proses parallel :
11.
Phased
Develpoment
·
Merupakan turunan dari model
pengembangan sistem RAD
·
Menghemat waktu pengembangan sistem
·
Mengembangkan suatu desain yang telah
disetujui oleh konsumen
·
Sistem dapat dipecah menjadi bagian yang
lebih kecil
·
Phase development-based methodologi
mempunyai perolehan keuntungan yang cepat
Pemodelan
proses phased-development :