Pada rekayasa perangkat lunak, banyak model yang telah dikembangkan untuk
membantu proses pengembangan perangkat lunak. Model-model ini pada
umumnya mengacu pada model proses pengembangan sistem yang disebut System
Development Life Cycle (SDLC)
2. Spiral
Model spiral merupakan salah satu dari model revolusioner, model spiral memiliki ciri
yaitu memungkinkan untuk mengembangkan suatu perangkat lunak secara bertahap
atau dengan beberapa versi untuk mengdapatkan perangkat lunak yang lebih sempurna
dan lebih terkontrol.
Metode ini merupakan salah satu metode yang terpopuler dari beberapa metodelogi
pengembangan software yang dipakai untuk pengembangan perangkat lunak,tujuan
utama dari metode ini adalah untuk menurukan biaya dan menyederhanakan dari
berbagai tahapan dalam proses pengembangan perangkat lunak.
5. Evolusioner
Model ini bertumpang tindih dengan kegiatan spesifikasi, pengembangan dan validasi.
Sistem awal dikembangkan dengan cepat dari spesifikasi yang abstrak.
Sistem ini kemudian dikembangkan dengan menerima masukan atau saran dari
pelanggan sehingga sistem dapat disempurnakan sesuai dengan kebutuhan pelanggan.
Karena pengembangan terus berlangsung saat pengguna sudah menggunakan sistem
maka memungkinkan kebingunan dari pengembang dalam menyempurnakan sistem
Karena terkadang kebutuhan pelanggan bisa berubah setiap saat.
Tahapan dalam model proses ini adalah sebagai berikut:
Komunikasi: Komunikasi dalam hal ini adalah pertemuan dengan pelanggan
untuk membicarakan kebutuhan dan fitur-fitur yang akan dibuat pada
software.
Perencanaan: Perencanaan disini merupakan tahap penjelasan mengenai
hasil diskusi dengan pelanggan kepada semua anggota tim pengembang.
Sehingga semua anggota tim memiliki gambaran mengenai software yang
akan dibuat.
Desain Pemodelan:Tahap ini merupakan tahapan dalam membuat interface
software yang harus memprioritaskan kenyamanan dan kemudahan
pelanggan dalam penggunaannya.
Implementasi dalam bentuk prototype: Pada tahapan ini programmer akan
membuat kode-kode yang dibutuhkan untuk membentuk sebuah fitur-fitur
pada software, namun software tersebut belum sempurna
Testing dan Umpan Balik:
Tahap testing akan dilakukan untuk menguji software yang telah dibuat
apakah sudah berjalan sesuai keinginan. Ketika software lolos pada tahap
testing, software akan diserahkan kepada pengguna sehingga pengguna
dapat memberikan umpan balik berupa komentar/keluhan mengenai
kekurangan dari software tersebut
Saat ini pengembangan perangkat lunak yang mendukung 4GT, berisi tool-tool
berikut:
6. Metode Scrum
Metode ini adalah turunan dari metode agile, yang nantinya akan dibahas secara
tersendiri. scrum seringkali tidak digolongkan sebagai metodologi, melainkan suatu kerangka
kerja yang menggunakan pendekatan iteratif (perulangan) dan inkremental (berangsur-angsur).
Pengembang menerapkan scrum ketika ingin membuat sistem yang kompleks. Pasalnya,
kerangka kerja ini memang ditujukan untuk menghasilkan produk bernilai tinggi, unik sekaligus
produktif. Kabarnya Google, Microsoft, hingga Spotify menerapkan sistem ini.
Berbeda dengan metode waterfall yang memakai pendekatan sistematis, scrum diaplikasikan
dengan lima tahapan yang bersifat imperatif dan inkremental. Oleh karena itu, kerangka
kerja scrum pasti melibatkan beberapa tim yang saling bersinergi.
Kerangka kerja scrum membagi proses pengembangan menjadi target-target kecil yang
dinyatakan dalam satuan sprint. Istilah ini mengacu pada kecepatan lari jarak pendek. Sejumlah
target kecil harus selesai dalam waktu singkat untuk tujuan akhir yang lebih besar.
Pengembangan dimulai dengan merumuskan target sprint prioritas dari setiap tim. Diikuti dengan
identifikasi pekerjaan spesifik serta proses pengerjaan sesuai target sprint yang telah ditentukan.
Sementara itu, evaluasi berkala dilakukan selama masa penggarapan tiap sprint.
Setiap sprint berakhir, tim yang terlibat selalu menyampaikan hasil pekerjaannya. Tahapan ini
juga mencakup evaluasi menyeluruh dan perumusan ide-ide baru yang mungkin bisa diterapkan
pada sprint berikutnya.
4. Incremental
Model Incremental merupakan hasil kombinasi elemen-elemen dari model waterfall yang diaplikasikan secara berulang, atau bisa
disebut gabungan dari Model linear sekuensial (waterfall) dengan Model Prototype. Model Incremental dalam rekayasa perangkat
lunak, menerapkan rekayasa perangkat lunak perbagian, hingga menghasilkan perangkat lunak yang lengkap. Proses membangun
berhenti jika produk telah mencapai seluruh fungsi yang diharapkan.
Model ini berfokus pada penyampaian produk operasional dalam Setiap pertambahanya. Pertambahan awal ada di versi stripped down
dari produk akhir, tetapi memberikan kemampuan untuk melayani pemakai dan juga menyediakan platform untuk evaluasi oleh
pemakai. Model ini cocok dipakai untuk proyek kecil dengan anggota tim yang sedikit dan ketersediaan waktu yang terbatas.
Software word-processing, dibangun menggunakan incremental model, mendelivery fungsi dasar file management, editing,
dan fungsi document production pada increment pertama. Kemampuan editing, dan fungsi document production yang lebih baik pada
increment kedua, checking dan grammar spelling pada increment ketiga. Proses akan diulangi sampai produk yang lengkap telah
dihasilkan. Jika menggunakan Incremental model, increment yang pertama merupakan inti product. Incremental model fokus pada
pendeliverian opertional product pada tiap increment.
Pengembangan Incremental sangat berguna ketika staf tidak tersedia untuk implementasi lengkap dengan batas waktu bisnis
yang telah ditetapkan untuk proyek tersebut. Kenaikan awal dapat diimplementasikan dengan sedikit orang. Jika produk inti diterima
dengan baik, maka staf tambahan ( jika diperlukan ) dapat ditambahkan untuk mengimplementasikan kenaikan berikutnya. Selain itu,
kenaikan dapat direncanakan untuk mengelola risiko teknis.
Model Rekayasa Perangkat Lunak
1.Model Incremental
Incremental model adalah model pengembangan sistem pada software development
berdasarkan requirement software yang dipecah menjadi beberapa fungsi atau bagian
sehingga model pengenbangannya secara bertahap. Dengan menggunakan incremental model
dapat membantu kita untuk mengurangi biaya sebelum mencapai level dari initial
productivity dan mengakselerasi proses dari pembuatan suatu fungsi sistem.
Model Incremental merupakan hasil kombinasi elemen-elemen dari model waterfall yang
diaplikasikan secara berulang, atau bisa disebut gabungan dari Model linear sekuensial
(waterfall) dengan Model Prototype. Model Incremental dalam rekayasa perangkat lunak,
menerapkan rekayasa perangkat lunak perbagian, hingga menghasilkan perangkat lunak yang
lengkap. Proses membangun berhenti jika produk telah mencapai seluruh fungsi yang
diharapkan.
Model ini berfokus pada penyampaian produk operasional dalam setiap pertambahannya.
Pertambahan awal ada di versi stripped down dari produk akhir, tetapi memberikan
kemampuan untuk melayani pemakai dan juga menyediakan platform untuk evaluasi oleh
pemakai. Model ini cocok dipakai untuk proyek kecil dengan anggota tim yang sedikit dan
ketersediaan waktu yang terbatas.
Contoh model Incremental:
Software word-processing dibangun menggunakan incremental model, mendelivery fungsi
dasar file management, editing, dan fungsi document production pada increment pertama.
Kemampuan editing, dan fungsi document production yang lebih baik pada increment kedua,
checking dan grammar spelling pada increment ketiga. Proses akan diulangi sampai produk
yang lengkap telah dihasilkan. Jika menggunakan Incremental model, increment yang
pertama merupakan inti product. Incremental model fokus pada pendeliverian opertional
product pada tiap increment.
Pengembangan Incremental sangat berguna ketika staf tidak tersedia untuk implementasi
lengkap dengan batas waktu bisnis yang telah ditetapkan untuk proyek tersebut. Kenaikan
awal dapat diimplementasikan dengan sedikit orang. Jika produk inti diterima dengan baik,
maka staf tambahan (jika diperlukan) dapat ditambahkan untuk mengimplementasikan
kenaikan berikutnya. Selain itu, kenaikan dapat direncanakan untuk mengelola risiko teknis.
2.Model Evolusioner