Model proses pengembangan perangkat lunak yang dijelaskan dalam dokumen tersebut meliputi model waterfall, prototipe, RAD, spiral, dan 4GT. Setiap model memiliki tahapan dan karakteristiknya masing-masing dalam menghasilkan perangkat lunak.
2. KONSEP REKAYASA PL
Berasal dari 2 kata, yaitu Software (Perangkat Lunak) dan Engineering
(Rekayasa).
Perangkat Lunak (Software) adalah source code pada suatu program atau
sistem
source code
dokumentasi
Engineering atau Rekayasa adalah penerapan teori, metode, dan alat bantu
yang sesuai untuk mencari solusi terhadap masalah dengan pendekatan
sistematis yang berdasar atas ilmu pengetahuan dan matematis serta
aplikasi tentang produksi terhadap struktur, mesin, produk, proses atau
sistem
3. DEFINISI REKAYASA PL
Rekayasa Perangkat Lunak adalah suatu disiplin rekayasa yang
berkonsentrasi terhadap seluruh aspek produksi perangkat lunak mulai
yang mencakup hal-hal teknis hingga hal-hal manajerial proyek PL.
4. TUJUAN RPL
1. Memperoleh biaya produksi perangkat lunak
yang rendah.
2. Menghasilkan perangkat lunak yang
kinerjanya tinggi, andal dan tepat waktu.
3. Menghasilkan perangkat lunak yang dapat
bekerja pada berbagai jenis platform.
4. Menghasilkan perangkat lunak yang biaya
perawatannya rendah.
6. KOMPONEN PL / RUANG LINGKUP PL
(1)
software Requirements berhubungan dengan spesifikasi kebutuhan dan
persyaratan perangkat lunak
software desain mencakup proses penampilan arsitektur, komponen, antar
muka, dan karakteristik lain dari perangkat lunak
software construction berhubungan dengan detail pengembangan
perangkat lunak, termasuk algoritma, pengkodean, pengujian dan
pencarian kesalahan
software testing meliputi pengujian pada keseluruhan perilaku perangkat
lunak
software maintenance mencakup upaya-upaya perawatan ketika perangkat
lunak telah dioperasikan
7. KOMPONEN PL / RUANG LINGKUP PL
(2)
software configuration management berhubungan dengan usaha
perubahan konfigurasi perangkat lunak untuk memenuhi kebutuhan
tertentu
software engineering management berkaitan dengan pengelolaan dan
pengukuran RPL, termasuk perencanaan proyek perangkat lunak
software engineering tools and methods mencakup kajian teoritis tentang
alat bantu dan metode RPL
software engineering process berhubungan dengan definisi, implementasi
pengukuran, pengelolaan, perubahan dan perbaikan proses RPL
software quality menitik beratkan pada kualitas dan daur hidup perangkat
lunak
8. KARAKTERISTIK PL (1)
Understandability, yaitu sejauh mana proses secara eksplisit ditentukan
dan bagaimana kemudahan definisi proses itu dimengerti.
Visibility, apakah aktivitas‐aktivitas proses mencapai titik akhir dalam hasil
yang jelas sehingga kemajuan dari proses tersebut dapat terlihat
nyata/jelas.
Supportability, yaitu sejauh mana aktivitas proses dapat didukung oleh
CASE.
Acceptability, apakah proses yang telah ditentukan oleh insinyur dapat
diterima dan digunakan dan mampu bertanggung jawab selama
pembuatan produk perangkat lunak.
9. KARAKTERISTIK PL (2)
Reliability, apakah proses didesain sedikian rupa sehingga kesalahan
proses dapat dihindari sebelum terjadi kesalahan pada produk.
Robustness, dapatkah proses terus berjalan walaupun terjadi masalah yang
tak diduga.
Maintainability, dapatkah proses berkembang untuk mengikuti kebutuhan
atau perbaikan.
Rapidity, bagaimana kecepatan proses pengiriman sistem dapat secara
lengkap memenuhi spesifikasi.
10. RAGAM MODEL PROSES
PENGEMBANGAN PL
MODEL AIR TERJUN (WATER FALL)
MODEL PROTOTYPE
MODEL RAD
MODEL SPIRAL
MODEL 4 GT
11. MODEL WATERFALL (1)
Model Waterfall merupakan model klasik yang sederhana dengan aliran
sistem yang linier.
12. MODEL WATERFALL (2)
TAHAPAN PENGEMBANGAN :
Analisis dan definisi persyaratan
Pelayanan, batasan, dan tujuan sistem ditentukan melalui konsultasi dengan user.
Perancangan sistem dan perangkat lunak
Kegiatan ini menentukan arsitektur sistem secara keseluruhan
Implementasi dan pengujian unit
Perancangan perangkat lunak direalisasikan sebagai serangkaian program
Integrasi dan pengujian sistem
Unit program diintegrasikan atau diuji sebagai sistem yang lengkap untuk menjamin
bahwa persyaratan sitem telah terpenuhi
Operasi dan pemeliharaan
Merupakan fase siklus yang paling lama. Sistem diinstall dan dipakai. Perbaikan
mencakup koreksi dari berbagai error, perbaikan dan implementasi unit sistem dan
pelayanan sistem.
13. MODEL WATERFALL (3)
Keuntungan:
1. Simple dan mudah diimplementasikan
2. Mudah diatur
3. Cocok untuk proyek kecil
Kerugian:
1. Tidak mengakomodasi perubahan requirement
2. Resiko ketidakpastian tinggi
3. Model yang buruk untuk proyek yang berorientasi obyek
4. Model yang buruk untuk proyek lama
14. MODEL PROTOTYPE (1)
Prototyping adalah pengembangan yang cepat dan pengujian terhadap
model kerja (prototipe) dari aplikasi baru melalui proses interaksi dan
berulang-ulang yang biasa digunakan ahli sistem informasi dan ahli bisnis.
15. MODEL PROTOTYPE (2)
TAHAPAN PENGEMBANGAN :
Analisis Kebutuhan Sistem
Analisis dilakukan untuk melihat berbagai komponen yang dipakai sistem yang sedang
berjalan meliputi hardware, software, jaringan dan sumber daya manusia.
Desain Sistem
Analisis sistem (system analysis) mendeskripsikan apa yang harus dilakukan sistem untuk
memenuhi kebutuhan informasi pemakai.
Pengujian Sistem
Paket software prototipe diuji, diimplementasikan, dievaluasi dan dimodifikasi berulang-
ulang hingga dapat diterima pemakainya
Implementasi
Setelah prototipe diterima maka pada tahap ini merupakan implementasi sistem yang siap
dioperasikan dan selanjutnya terjadi proses pembelajaran terhadap sistem baru dan
membandingkannya dengan sistem lama, evaluasi secara teknis dan operasional serta
interaksi pengguna, sistem dan teknologi informasi.
16. MODEL PROTOTYPE (3)
Keunggulan prototyping adalah :
Adanya komunikasi yang baik antara pengembang dan pelanggan.
Pengembang dapat bekerja lebih baik dalam menentukan kebutuhan
pelanggan.
Pelanggan berperan aktif dalam pengembangan sistem.
Lebih menghemat waktu dalam pengembangan sistem.
Penerapan menjadi lebih mudah karena pemakai mengetahui apa yang
diharapkannya
17. MODEL PROTOTYPE (4)
Kelemahan prototyping adalah :
Pelanggan tidak melihat bahwa perangkat lunak belum mencerminkan
kualitas perangkat lunak secara keseluruhan dan belum memikirkan
peneliharaan dalam jangka waktu yang lama.
Pengembang biasanya ingin cepat menyelesaikan proyek sehingga
menggunakan algoritma dan bahasa pemrograman sederhana.
Hubungan pelanggan dengan komputer mungkin tidak menggambarkan
teknik perancangan yang baik.
18. MODEL RAD (1)
Rapid Application Development (RAD) adalah sebuah model proses
perkembangan software sekuensial linier yang menekankan siklus
perkembangan yang sangat pendek
19. MODEL RAD (2)
Tahapan pengembangan :
Requirement Planning
Mengidentifikasikan kebutuhan informasi dan masalah yang dihadapi untuk
menentukan tujuan, batasan-batasan sistem, kendala dan juga alternatif
pemecahan masalah
Design Workshop,
Membuat desain proses bisnis dan desain pemrograman untuk data-data yang
telah didapatkan dan dimodelkan dalam arsitektur system informasi.
Implementation,
Setelah Design Workshop dilakukan, selanjutnya sistem diimplementasikan
(coding) ke dalam bentuk yang dimengerti oleh mesin yang diwujudkan dalam
bentuk program atau unit program. Tahap implementasi sistem merupakan tahap
meletakkan sistem supaya siap untuk dioperasikan.
20. MODEL RAD (3)
Keunggulan :
Berguna untuk proyek-proyek tempat persyaratan-persyaratan pengguna tidak
pasti dan tidak tepat.
Mendorong pengguna aktif dan partisipasi manajemen (berkebalikan dengan
reaksi pasif pada model-model sistem yang tidak bekerja). Hal ini meningkatkan
antusiasme pengguna akhir pada proyek.
Proyek-proyek memiliki visibilitas dan dukungan lebih tinggi karena keterlibatan
pengguna yang ekstensif selama proses.
Para pengguna dan manajemen melihat solusi-solusi yang berbasis perangkat
lunak dan bekerja lebih cepat daripada pengembangan yang model-driven.
Error dan penghilangan cenderung untuk dideteksi lebih awal dan prototype
daripada dalam model sistem.
21. MODEL RAD (4)
Kelemahan :
RAD mendorong mentalitas “mengkode, mengimplementasi, dan memperbaiki”
yang meningkatkan biaya seumur hidup yang diperlukan untuk
mengoperasikan, mendukung dan merawat sistem.
Dapat dengan mudah memecahkan yang salah karena analisis masalah
disingkat atau diabaikan.
Membuat para analis minder untuk mempertimbangkan alternatif-alternatif
teknis lain yang lebih bernilai.
Kadang-kadang lebih baik membuang sebuah prototype, tapi para stakeholder
enggan melakukannya karena menganggapnya sebagai hilangnya waktu dan
usaha dalam produk saat ini.
Penekanan pada kecepatan dapat berdampak terhadap kualitas yang
disebabkan jalan-jalan pintas yang disarankan dengan buruk melalui
metodologi tersebut.
22. MODEL SPIRAL (1)
Model spiral adalah model proses perangkat lunak evolusioner yang
merangkai sifat iteratif dari prototype dengan cara kontrol dan aspek
sistematis model sequensial linier.
23. MODEL SPIRAL (2)
TAHAPAN PENGEMBANGAN :
Perencanaan
Mendefinisikan sumber daya, ketepatan waktu, dan proyek informasi lain yg
berhubungan.
Analisis Resiko
Menaksir resikomanajemen dan teknis.
Perekayasaan
Membangun satu atau lebih representasi dari apikasi tersebut.
Evaluasi Pelanggan
Mendapatkan umpan balik dari pelanggan.
24. MODEL SPIRAL (3)
Kelebihan model Spiral :
Dapat disesuaikan agar perangkat lunak bisa dipakai selama hidup perangkat
lunak komputer.
Lebih cocok untuk pengembangan sistem dan perangkat lunak skala besar
Pengembang dan pemakai dapat lebih mudah memahami dan bereaksi terhadap
resiko setiap tingkat evolusi karena perangkat lunak terus bekerja selama proses .
Menggunakan prototipe sebagai mekanisme pengurangan resiko dan pada set
keadaan di dalam evolusi produk.
Tetap mengikuti langkah-langkah dalam siklus kehidupan klasik dan
memasukkannya ke dalam kerangka kerja iteratif .
Membutuhkan pertimbangan langsung terhadp resiko teknis sehingga
mengurangi resiko sebelum menjadi permaslahan yang serius.
25. MODEL SPIRAL (4)
Kelemahan model Spiral :
Sulit untuk menyakinkan pelanggan bahwa pendekatan evolusioner ini bisa
dikontrol.
Memerlukan penaksiran resiko yang masuk akal dan akan menjadi masalah
yang serius jika resiko mayor tidak ditemukan dan diatur.
Butuh waktu lama untuk menerapkan paradigma ini menuju kepastian yang
absolut
26. MODEL 4GT (1)
Fourth Generation Techniques (4GT) mencakup seperangkat
peralatan perangkat lunak yang berfungsi sebagai perangkat
bantu yang memudahkan seorang pengembang software
mengaplikasi beberapa karakteristik software pada tingkat
yang tinggi, yang akan menghasilkan source code dan object
code secara otomatis sesuai dengan spesifikasi (persyaratan
khusus) yang dibuat oleh sang pengembang perangkat lunak.
28. MODEL 4GT (3)
TAHAPAN PENGEMBANGAN :
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.
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).
29. MODEL 4GT (4)
TAHAPAN PENGEMBANGAN :
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.
Tahap Produksi
Tahap ini merupakan langkah terakhir yakni mengubah implementasi 4GT ke dalam
hasil akhir berupa produk.
30. MODEL 4GT (5)
Kelebihan model ini
Waktu lebih efisien
Peningkatan produktivitas yang besar.
Kekurangan model ini :
Sulit memanfaatkan alat bantu/peralatan/tools 4GT dibandingkan
dengan menggunakan bahasa pemrograman yang konvensional
Terdapat juga masalah dalam hal kode sumber yang tidak efisien.
Pemeliharaan sistem software besar yang dikembangkan oleh 4GT juga
masih sedang dalam proses pengkajian.