METODE
PENGEMBANGAN PERANGKAT LUNAK
Pengembangan perangkat lunak
dapat diartikan sebagai proses membuat suatu perangkat lunak baru untuk
menggantikan perangkat lunak lama secara keseluruhan atau memperbaiki perangkat
lunak yang telah ada. Agar lebih cepat dan tepat dalam mendeskripsikan solusi
dan mengembangkan perangkat lunak, juga hasilnya mudah dikembangkan dan
dipelihara, maka pengembangan perangkat lunak memerlukan suatu metodologi
khusus. Metodologi pengembangan perangkat lunak
adalah suatu proses pengorganisasian kumpulan metode dan konvensi notasi yang
telah didefinisikan untuk mengembangkan perangkat lunak. Secara prinsip
bertujuan untuk membantu menghasilkan perangkat lunak yang berkualitas (Jaidan
Jauhari .pdf). Berikut batu landasan yang menopang rekayasa perangkat lunak (Rogers
S. Pressman, 2002:28):
Gb.1
Metodologi
pengembangan perangkat lunak (atau disebut juga model proses atau paradigma rekayasa
perangkat lunak) adalah suatu strategi pengembangan yang memadukan proses,
metode, dan perangkat (tools) (Modul RPL.pdf). Metode-metode rekayasa perangkat lunak, memberikan teknik untuk membangun perangkat
lunak. Berkaitan dengan serangkaian tugas yang luas yang menyangkut analisis kebutuhan,
konstruksi program, desain, pengujian, dan pemeliharaan (Rogers S. Pressman:2002).
Untuk
menyelesaikan masalah di dalam pengembangan perangkat lunak, tim perekayasa
harus menggabungkan strategi pengembangan yang melingkupi lapisan proses,
metode, dan alat bantu. Model proses rekayasa perangkat lunak dipilih
berdasarkan sifat aplikasi dan proyeknya, metode dan alat-alat bantu yang akan dipakai,
dan control serta penyampaian yang dibutuhkan.
Berikut Metode-Metode Pengembangan Perangkat
Lunak (Model Proses Pengembangan Perangkat Lunak) yaitu metode sekuensial
linier, prototype, RAD, Fourth
Generation Techniques (4GT) dan spiral (dalam Jaidan
Jauhari.Pdf). Selain metode-metode tersebut Roger S. Pressman (2002:45), mengungkapkan dua metode
lagi yaitu metode Proses Perangkat Lunak Evolusioner
(pertambahan, spiral, konkruen), dan metode formal. Berikut Metode-metode
tersebut :
1.
Model Sekuensial Linier
Sering
juga disebut dengan “siklus kehidupan klasik” atau “model air terjun.”
Penggambaran model ini :
Gb. Fase lingkaran pemecahan
masalah
Gb. Model sekuensial linier
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. 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
Model
sekuensial adalah paradigm rekayasa perangkat lunak yang paling luas dipakai
dan paling tua. Kelemahan model ini antara lain :
·
Proyek yang sebenarnya jarang
mengikuti alur sekuensial seperti diusulkan, sehingga perubahan yang terjadi
dapat menyebabkan hasil yang sudah didapat tim harus diubah kembali/iterasi
sering menyebabkan masalah baru.
·
Linear sequential model
mengharuskan semua kebutuhan pemakai sudah dinyatakan secara eksplisit di awal
proses, tetapi kadang-kadang ini tidak dapat terlaksana karena kesulitan yang
dialami pemakai saat akan mengungkapkan semua kebutuhannya tersebut.
·
Pemakai harus bersabar karena
versi dari program tidak akan didapat sampai akhir rentang waktu proyek.
·
Adanya waktu menganggur bagi
pengembang, karena harus menunggu anggota tim proyek lainnya menuntaskan
pekerjaannya.
2. Model Prototype
Gb.
Prototype paradigma
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.
Kelemahan
prototyping model :
a.
Pelanggan yang melihat working version dari model yang
dimintanya tidak menyadari, bahwa mungkin saja prototype dibuat terburu-buru
dan rancangan tidak tersusun dengan baik
b.
Pengembang kadang-kadang membuat implementasi sembarang,
karena ingin working version bekerja dengan 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.
Gb. Model RAD
Kelemahan
model RAD :
a.
Untuk proyek dengan skala
besar, RAD membutuhkan sumber daya manusia yang cukup untuk membentuk sejumlah
tim RAD yang baik.
b.
RAD membutuhkan pengembang dan
pemakai yang mempunyai komitmen dalam aktivitas rapid-fire untuk melaksanakan aktivitas melengkapi sistem dalam
kerangka waktu yang singkat. Jika komitmen tersebut tidak ada, proyek RAD
gagal.
Tidak semua aplikasi sesuai untuk RAD.bila system tidak
dapat dimodulkan dengan teratur, pembangunan komponen penting pada RAD akan
menjadi sangat problematic. RAD menjadi tidak sesuai jika risiko teknisnya
tinggi.
sumber
http://andisulaeman.weebly.com/uploads/1/9/2/8/19280497/metode__pengembangan__perangkat__lunak.docx
http://andisulaeman.weebly.com/uploads/1/9/2/8/19280497/metode__pengembangan__perangkat__lunak.docx
No comments:
Post a Comment