1.
Model
Sekuensial Linier (Model Waterfall)
Keterangan
:
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
f.
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.
g.
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.
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)
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 komponenPembuatan 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 bisa dipakai lagi.
f. Pengujian
dan pergantian (Testing and turnover)
Karena
proses RAD menekankan pada pemakaian kembali, banyak komponen
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 sebuahmodel proses yang sudah dirancang secara eksplisit
untuk mengakomodasi produk perkembangan sepanjang waktu. Model ini bukan
termasuk rekayasa perangkat lunak klasik. Model evolusioner meliputi :
a.
Model pertambahan
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.
·
Tahap Liason: pada tahap ini dibangun
komunikasi yang baik dengan calon pengguna/pemakai.
·
Tahap Planning (perencanaan): pada tahap
ini ditentukan sumber-sumber informasi, batas waktu dan informasi-informasi
yang dapat menjelaskan proyek.
·
Tahap Analisis Resiko: mendefinisikan
resiko, menentukan apa saja yang menjadi resiko baik teknis maupun manajemen.
·
Tahap Rekayasa (engineering): pembuatan prototype
·
Tahap Konstruksi dan Pelepasan
(release): pada tahap ini dilakukan pembangunan perangkat lunak yang dimaksud,
diuji, diinstal dan diberikan sokongan-sokongan tambahan untuk keberhasilan
proyek.
·
Tahap Evaluasi:
Pelanggan/pemakai/pengguna biasanya memberikan masukan berdasarkan hasil yang
didapat dari tahap engineering dan instalasi.
Kelebihan
model ini adalah sangat mempertimbangkan resiko kemungkinan munculnya kesalahan
sehingga sangat dapat diandalkan untuk pengembangan perangkat lunak skala
besar. Pendekatan model ini dilakukan melalui tahapan-tahapan yang sangat baik
dengan menggabungkan model waterfall ditambah dengan pengulangan-pengulangan
sehingga lebih realistis untuk mencerminkan keadaan sebenarnya. Baik pengembang
maupun pemakai dapat cepat mengetahui letak kekurangan dan kesalahan dari
sistem karena proses-prosesnya dapat diamati dengan baik.
Kekurangan
model ini adalah waktu yang dibutuhkan untuk mengembangkan perangkat lunak cukup
panjang demikian juga biaya yang besar. Selain itu, sangat tergantung kepada
tenaga ahli yang dapat memperkirakan resiko. Terdapat pula kesulitan untuk
mengontrol proses. Sampai saat ini, karena masih relatif baru, belum ada bukti
apakah metode ini cukup handal untuk diterapkan.
5.
Model
Formal
Model metode
formal mencangkup sekumpulan aktivitas yang membawa kepada spesifikasi
matematis perangkat lunak computer. Metode ini memungkinkan perekayasa
perangkat lunak untuk mengkhususkan, mengembangkan, dan memverifikasi system
berbasis computer dengan menggunakan notasi matematis yang tepat.variasi dalam
pendekatan ini, disebut clean-room rekayasa perangkat
lunak, sedang diaplikasikan oleh banyak organisasi pengembang perangkat lunak.
Bila metode
formal dipakai selama masa pengembangan, maka akan memberikan mekanisme untuk
mengeliminasi banyak masalah yang sulit dipecahkan menggunakan paradigm
perangkat lunak yang lain. Ambiguitas, ketidaklengkapan, dan ketidak-konsitenan
bisa ditemukan dan diperbaiki secara mudah, tidak melalui kajian ad hoc tetapi melalui aplikasi analisis
matematis. Jika metode ini dipakai selama proses perancangan, maka berfungsi
sebagai dasar bagi verifikasi program sehingga memungkinkan perekayasa untuk
menemukan dan memperbaiki kesalahan yang mungkin saja tidak terdeteksi.
Metode formal
akan banyak memperoleh penganut diantara pengembang perangkat lunak yang harus
membangun perangkat lunak yang kritis untuk keselamatan (missal : pengembangan
perangkat medis, dan penerbangan pesawat), serta diantara yang harus menderita
karena faktor ekonomis yang harus dialami oleh perangkat lunak.
6.
Fourth Generation Techniques (4GT)
Tahapan-tahapan model 4GT
dapat diringkas sebagai berikut :
1.
Tahap Pengumpulan Kebutuhan: tahap ini dimulai dengan
mengumpulkan serangkaian kebutuhan yang nantinya akan diterjemahkan ke dalam
prototipe. Namun, apabila pelanggan tidak yakin dengan apa yang diperlukan dan
fakta-fakta tidak jelas diketahui maka prototipe tidak dapat dikerjakan oleh
peralatan 4GT.
2.
Tahap Merancang Strategi: tahap ini dibutuhkan untuk
proyek besar yakni dengan menterjemahkan kebutuhan menjadi prototipe
operasional agar tidak timbul masalah yang sama jika dibuat dengan model
konvensional. Namun, untuk proyek skala kecil tahap ini dapat dihilangkan
dengan langsung melakukan implementasi dengan menggunakan bahasa generasi
keempat (4GT).
3.
Tahap Implementasi Menggunakan Bahasa Keempat: untuk
skala kecil tahap ini dapat langsung dilakukan ketika kebutuhan telah jelas,
dan untuk proyek besar tahapan ini dijalankan setelah dirancang prototipe
operasional. Implementasi yang menggunakan 4GT memudahkan pengembang software
untuk menjelaskan hasil yang diharapkan yang nantinya akan diterjemahkan ke
dalam bentuk kode sumber dan kode objek.
4.
Tahap Produksi: Tahap ini merupakan langkah terakhir
yakni mengubah implementasi 4GT ke dalam hasil akhir berupa produk.
Tidak ada komentar:
Posting Komentar