1. Model Sekuensial Linier
Sering juga disebut dengan
“siklus kehidupan klasik” atau “model air terjun.” Penggambaran model ini :
Metode pengembangan perangkat
lunak dengan pendekatan pada perkembangan perangkat lunak yang sistematik dan
sekuensial yang mulai pada tingkat dan kemajuan system pada seluruh analisis,
desain, kode, pengujian, dan pemeliharaan. Model ini melingkupi
aktivitas-aktivitas :
a.
Rekayasa dan pemodelan system/informasi
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.
b.
Analisis kebutuhan perangkat lunak
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.
c.
Desain
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.
d.
Generasi kode
Penterjemahan perancangan ke bentuk yang dapat dimengerti
oleh mesin, dengan menggunakan bahasa pemrograman
e.
Pengujian.
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.
f.
Pemeliharaan
Merupakan bagian paling
akhir dari siklus pengembangan dan dilakukan setelah perangkat lunak dipergunakan. Pemeliharaan perangkat lunak mengaplikasikan lagi Setiap fase program sebelumnya dan tidak membuat yang baru.
2. Model Prototype
Model ini dimulai dengan
pengumpulan kebutuhan. 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 efisiensi algoritma, adaptasi sistem operasi, atau
bentuk antarmuka manusia-mesin yang harus diambil. Cakupan aktivitas dari prototyping
model terdiri dari :
a. Mendefinisikan objektif secara keseluruhan dan
mengidentifikasi kebutuhan yang sudah diketahui.
b. Melakukan perancangan secara cepat sebagai dasar untuk
membuat prototype.
c. Menguji coba dan mengevaluasi prototype dan kemudian
melakukan penambahan dan perbaikan-perbaikan terhadap prototype yang sudah
dibuat.
secara
ideal prototype berfungsi sebagai sebuah mekanisme untuk mengidentifikasi
kebutuhan perangkat lunak. Bila prototype yang sedang bekerja dibangun,
pengembang harus menggunakan fragmen-fragmen program yang ada atau
mengaplikasikan alat-alat bantu (contoh: window manager, dsb) yang memungkinkan
program yang bekerja agar dimunculkan secara cepat.
3. Model
RAD (Rapid Application Development)
Merupakan model proses
pengembangan perangkat lunak secara linear sequential yang menekankan pada
siklus pengembangan yang sangat singkat/pendek. 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 :
a.
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.
b.
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.
c.
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.
d.
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.
e.
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.
4. Model Proses
Perangkat Lunak Evolusioner
Model evolusioner adalah model
iterative, ditandai dengan tingkah laku yang memungkinkan perekayasa perangkat
lunak mengembangkan versi perangkat lunak yang lebih lengkap sedikit demi
sedikit. Kebutuhan produk dan bisnis kadang-kadang berubah seiring dengan laju
perkembanganya. Dalam situasi tersebut maupun lainya, perekayasa perangkat
lunak membutuhkan sebuah model proses yang sudah dirancang secara eksplisit
untuk mengakomodasi produk perkembangan sepanjang waktu. Model ini bukan
termasuk rekayasa perangkat lunak klasik. Model evolusioner meliputi :
a. Incremental Model
Model incremental menggabungkan elemen-elemen model
sekuensial linier (diaplikasikan secara berulang) dengan filosofi prototype
iterative. Model ini memakai urutan-urutan linier di dalam model yang
membingungkan, seiring dengan laju waktu kalender. Setiap urutan linier
menghasilkan pertambahan, perangkat lunak “yang bisa disampaikan.” Contoh,
perangkat lunak pengolah kata yang dikembangkan dengan menggunakan paradigm
pertambahan akan menyampaikan manajemen file, editing, serta fungsi penghasilan
dokumen pada pertambahan pertama, dan selanjutnya. Pertambahan pertama dapat
disebut sebagai produk inti (core product).
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.
b. Model spiral
Awalnya
diusulkan oleh Boehm (BOE88), adalah model proses perangkat lunak yang
evolusioner, merangkai sifat iterative dari prototype dengan cara control dan
aspek sistematis dari model sekuensial linier. Model yang berpotensi untuk
pengembangan versi pertambahan perangkat lunak secara cepat. Model spiral dibagi
menjadi sejumlah aktifitas kerangka kerja atau wilayah tugas, antara lain:
- Komunikasi pelanggan, tugas-tugas yang dibutuhkan untuk membangun komunikasi yang efektif diantara pengembang dan pelanggan.
- Perencanaan, tugas-tugas yang dibutuhkan untuk mendefinisikan sumber-sumber daya, ketepatan waktu, dan proyek informasi lain yang berhubungan.
- Analisis resiko, tugas-tugas yang dibutuhkan untuk menaksir resiko-resiko, baik manajemen maupun teknis.
- Perekayasaan, tugas-tugas yang dibutuhkan untuk membangun satu atau lebih representasi dari aplikasi tersebut.
- Konstruksi dan peluncuran, tugas-tugas yang dibutuhkan untuk mengkonstruksi, menguji, memasang (instal), dan memberikan pelayanan kepada pemakai (contohnya pelatihan dan dokumentasi)
- Evaluasi pelanggan, tugas-tugas untuk memperoleh umpan balik dari pelanggan dengan didasarkan pada evaluasi representasi perangkat lunak, yang dibuat selama masa perekayasaan, dan dimplementasikan selama masa pemasangan.
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 : i) Bahasa non prosedural untuk query
basis data; ii) Report generation;
iii) Data manipulation ; iv) Interaksi layar ; v) Kemampuan grafik
level tinggi ; vi) Kemampuan spreadsheet . Tiap tool ini ada tapi hanya
untuk sauatu aplikasi khusus.
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
:
- Pengumpulan kebutuhan, idealnya pelanggan akan menjelaskan kebutuhan yang akan ditranslasikan ke prototype operasional.
- Translasi kebutuhan menjadi prototype operasional, atau langsung melakukan implementasi secara langsung dengan menggunakan bahasa generasi keempat (4GL) jika aplikasi relatif kecil.
- Untuk aplikasi yang cukup besar, dibutuhkan strategi perancangan sistem walaupun 4GL akan digunakan.
- Pengujian.
- Membuat dokumentasi.
- 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.
Untuk aplikasi yang yang kecil,
adalah mungkin untuk langsung berpindah dari pengumpulan kebutuhan ke
implementasi dengan menggunakan 4GL. Tapi untuk aplikasi yang besar, dibutuhkan pengembangan
strategi desain untuk sistem, walau digunakan 4GL. Penggunaan 4GT tanpa
perencanaan yang matang (untuk proyek skala besar) akan meyebabkan kesulitan
yang sama (kualitas dan pemeliharaan yang jelek, ketidakpuasan pelanggan)
seperti dengan metode konvensional.
Sumber: Pressman, Roger S. 2001. Software Engineering. New York: Mc. Graw Hill.
Sumber: Pressman, Roger S. 2001. Software Engineering. New York: Mc. Graw Hill.






Tidak ada komentar:
Posting Komentar