A. Linear Sequential Model
Linear sequential model (atau disebut juga “classic life cycle” atau “waterfall
model”) adalah metode pengembangan perangkat lunak dengan pendekatan
sekuensial dengan cakupan aktivitas :
1.
Rekayasa sistem dan Analisis (Sistem
Engineering and Analysis)
Karena perangkat lunak adalah bagian dari sistem yang
lebih besar, pekerjaan dimulai dari pembentukan kebutuhan-kebutuhan untuk
seluruh elemen sistem dan kemudian memilah mana yang untuk pengembangan
perangkat lunak. Hal ini penting, ketika perangkat lunak harus berkomunikasi
dengan hardware, orang dan basis data
2.
Analisis
kebutuhan perangkat lunak (Software Requirements Analysis)
Pengumpulan kebutuhan dengan fokus pada perangkat
lunak, yang meliputi:
Domain informasi, fungsi yang dibutuhkan, unjuk
kerja/performansi dan antarmuka. Hasilnya harus didokumentasi dan direview ke
pelanggan
3.
Perancangan
(Design)
Ada 4 atribut untuk program yaitu : Struktur Data,
Arsitektur perangkat lunak, Prosedur detil dan Karakteristik Antarmuka. Proses
desain mengubah kebutuhan-kebutuhan menjadi bentuk karakteristik yang
dimengerti perangkat lunak sebelum dimulai penulisan program. Desain ini harus
terdokumentasi dengan baik dan menjadi bagian konfigurasi perangkat lunak.
4.
Pembuatan
kode (Coding)
Penterjemahan perancangan ke bentuk yang dapat
dimengerti oleh mesin, dengan menggunakan bahasa pemrograman
5.
Pengujian
(Testing)
Setelah kode program selesai testing dapat dilakukan.
Testing memfokuskan pada logika internal dari perangkat lunak, fungsi eksternal
dan mencari segala kemungkinan kesalahan dan memriksa apakah sesuai dengan
hasil yang diinginkan.
6.
Pemeliharaan
(Maintenance)
Merupakan bagian paling akhir dari siklus pengembangan
dan dilakukan setelah perangkat lunak dipergunakan. Kegiatan :
• Corrective Maintenance
: Mengoreksi kesalahan pada perangkat lunak, yang baru terdeteksi pada
saat perangkat lunak dipergunakan
• Adaptive Maintenance :
Penyesuaian dengan lingkungan baru, misalnya sistem operasi atau sebagai
tuntutan atas perkembangan sistem komputer, misalnya penambahan printer
driver
• Perfektive Maintenance
: Bila perangkat lunak sukses dipergunakan oleh pemakai. Pemeliharaan
ditujukan untuk menambah kemampuannya seperti memberikan fungsi-fungsi
tambahan, peningkatan kinerja dan sebagainya.
B. Prototyping Model
Pendekatan prototyping model
digunakan jika pemakai hanya mendefenisikan objektif umum dari perangkat lunak
tanpa merinci kebutuhan input, pemrosesan dan outputnya,
sementara pengembang tidak begitu yakin akan efesiensi algoritma, adaptasi
sistem operasi, atau bentuk antarmuka manusia-mesin yang harus diambil. Cakupan
aktivitas dari prototyping model terdiri dari :
1.
Mendefinisikan
objektif secara keseluruhan dan mengidentifikasi kebutuhan yang sudah
diketahui.
2.
Melakukan
perancangan secara cepat sebagai dasar untuk membuat prototype.
3.
Menguji coba dan
mengevaluasi prototype dan kemudian melakukan penambahan dan
perbaikan-perbaikan terhadap prototype yang sudah dibuat.
Kelemahan prototyping model :
1. Pelanggan yang melihat
working version dari model yang dimintanya tidak menyadari, bahwa mungkin saja
prototype dibuat terburu-buru dan rancangan tidak tersusun dengan baik
2. Pengembang kadang-kadang
membuat implementasi sembarang, karena ingin working version bekerja dengan
cepat
C. RAD (Rapid Application Development) Model
Merupakan model proses
pengembangan perangkat lunak secara linear sequential yang menekankan pada
siklus pengembangan yang sangat singkat. Jika kebutuhan dipahami dengan baik, proses
RAD memungkinkan tim pengembangan menciptakan “sistem fungsional yang utuh”
dalam periode waktu yang sangat pendek (kira-kira 60-90 hari).
Pendekatan RAD model menekankan cakupan :
1.
Pemodelan bisnis
(Bussiness Modelling)
Aliran informasi diantara fungsi-fungsi bisnis
dimodelkan dengan suatu cara untuk menjawab pertanyaan-pertanyaan berikut :
Informasi apa yang mengendalikan proses bisnis ? Kemana informasi itu pergi?
Siapa yang memprosesnya ?
2.
Pemodelan data (Data
Modelling)
Aliran informasi yang didefinisikan sebagai bagian
dari fase pemodelan bisnis disaring ke dalam serangkaian objek data yang
dibutuhkan untuk menopang bisnis tersebut. Karakteristik/atribut dari
masing-masing objek diidentifikasi dan hubungan antara objek-objek tersebut didefinisikan.
3.
Pemodelan proses
(Process Modelling)
Aliran informasi yang didefinisikan dalam fase
pemodelan data ditransformasikan untuk mencapai aliran informasi yang perlu
bagi implementasi sebuah fungsi bisnis. Gambaran pemrosesan diciptakan untuk
menambah, memodifikasi, menghapus atau mendapatkan kembali sebuah objek data.
4.
Pembuatan
aplikasi (Application generation)
Selain menciftakan perangkat lunak dengan menggunakan
bahasa pemrograman generasi ketiga yang konvensional, RAD lebih banyak
memproses kerja untuk memakai lagi komponen program yang telah ada atau
menciftakan komponen yang bias dipakai lagi. Pada semua kasus, alat-alat Bantu
otomatis dipakai untuk memfasilitasi kontruksi perangkat lunak.
5.
Pengujian dan
pergantian (Testing and turnover)
Karena proses RAD menekankan pada pemakaian kembali,
banyak komponen yang telah diuji. Hal ini mengurangi keseluruhan waktu
pengujian. Tapi komponen baru harus diuji.
Kelemahan RAD model :
1.
Untuk proyek
dengan skala besar, RAD membutuhkan sumber daya manusia yang cukup untuk
membentuk sejumlah tim RAD.
2.
RAD membutuhkan
pengembang dan pemakai yang mempunyai komitmen untuk melaksanakan aktivitas
melengkapi sistem dalam kerangka waktu yang singkat.
3.
Akan menimbulkan
masalah jika sistem tidak dapat dibuat secara modular.
4.
RAD tidak cocok
digunakan untuk sistem yang mempunyai resiko teknik yang tinggi.
D. Spiral Model
Merupakan model proses
perangkat lunak yang memadukan wujud pengulangan dari model prototyping dengan
aspek pengendalian dan sistematika dari linear sequential model, dengan
penambahan elemen baru yaitu analisis resiko. Model ini memiliki 4 aktivitas
penting, yaitu :
1.
Perencanaan (Planning),
penentuan tujuan, alternatif dan batasan
2.
Analisis resiko (Risk
Analysis), analisis alternatif dan identifikasi/pemecahan resiko
3.
Rekayasa (Engineering),
pengembangan level berikutnya dari produk
4.
Evaluasi Pemakai
(Customer Evaluation) penilaian terhadap hasil rekayasa
Kelemahan spiral model :
1.
Sulit untuk
meyakinkan pemakai (saat situasi kontrak) bahwa penggunaan pendekatan ini akan
dapat dikendalikan.
2.
Memerlukan tenaga
ahli untuk memperkirakan resiko, dan harus mengandalkannya supaya sukses.
3.
Belum terbukti
apakah metode ini cukup efisien karena usianya relatif baru.
E. Fourth Generation Techniques (4GT)
Istilah generasi ke empat,
mengarah ke perangkat lunak yang umum yaitu tiap pengembang perangkat lunak
menentukan beberapa karakteristik perangkat lunak pada level tinggi.
Saat ini pengembangan
perangkat lunak yang mendukung 4GT, berisi tool-tool berikut :
• Bahasa non
prosedural untuk query basis data
• Report generation
• Data manipulation
• Interaksi layar
• Kemampuan grafik
level tinggi
• Kemampuan
spreadsheet
Menggunakan perangkat bantu (tools)
yang akan membuat kode sumber secara otomatis berdasarkan spesifikasi dari
pengembang perangkat lunak. Hanya digunakan untuk menggunakan perangkat lunak
yang menggunakan bahasa khusus atau notasi grafik yang diselesaikan dengan
syarat yang dimengerti pemakai. Cakupan aktivitas 4GT :
1.
Pengumpulan
kebutuhan, idealnya pelanggan akan menjelaskan kebutuhan yang akan
ditranslasikan ke prototype operasional.
2.
Translasi
kebutuhan menjadi prototype operasional, atau langsung melakukan implementasi
secara langsung dengan menggunakan bahasa generasi keempat (4GL) jika aplikasi
relatif kecil.
3.
Untuk aplikasi
yang cukup besar, dibutuhkan strategi perancangan sistem walaupun 4GL akan
digunakan.
4.
Pengujian.
5.
Membuat
dokumentasi.
6.
Melaksanakan
seluruh aktivitas untuk mengintegrasikan solusi-solusi yang membutuhkan
paradigma rekayasa perangkat lunak lainnya.
Salah satu keuntungan
penggunaan model 4GT adalah pengurangan waktu dan peningkatan produktivitas
secara besar, sementara kekurangannya terletak pada kesulitan penggunaan
perangkat bantu (tools) dibandingkan dengan bahsa pemrograman, dan juga kode
sumber yang dihasilkannya tidak efisien.