Agung Panji Sasmito, S.Pd., M.Pd.
Materi 03
–
Rekayasa Perangkat Lunak
Proses - Proses
Perangkat Lunak
1. Software Development Life Cycle
2. Model Proses Perangkat Lunak 3. Spesifikasi Perangkat Lunak
4. Perancangan dan Implementasi Perangkat Lunak
Materi 03 – Rekayasa Perangkat Lunak
Software Development Life Cycle
Proses perangkat lunak SANGAT RUMIT bergantung pada
PENILAIAN MANUSIA
TIDAK ADA proses perangkat lunak yang IDEAL
terdapat kegiatan mendasar yang UMUM bagi semua proses
perangkat lunak
Software Development Life Cycle
proses pembuatan dan pengubahan sistem
serta model dan metodologi yang
digunakan untuk mengembangkan sistem-sistem tersebut
pola / tahapan pekerjaan yang dilakukan
oleh analis sistem dan programmer dalam
Model Proses Perangkat Lunak
-Abstraksi yang digunakan untuk
menjelaskan
pendekatan-pendekatan terhadap
pengembangan
perangkat lunak
-Suatu
representasi proses
perangkat lunak
yang
Model Proses Perangkat Lunak
Model Proses Perangkat Lunak
MODEL AIR TERJUN (WATERFALL)
PENGEMBANGAN EVOLUSIONER
PENGEMBANGAN SISTEM FORMAL
Model Proses Perangkat Lunak
Model Air Terjun
ANALISIS & DEFINISI PERSYARATAN
PERANCANGAN SISTEM & PERANGKAT LUNAK
IMPLEMENTASI & PENGUJIAN UNIT
INTEGRASI DAN PENGUJIAN SISTEM
Model Proses Perangkat Lunak
Model Air Terjun
- kegiatan proses dasar yang alurnya
menurun dari satu fase ke fase yang lain
- setiap fase merupakan satu / lebih
doku e ya g disetujui dita da
-ta ga i
Model Proses Perangkat Lunak
Model Air Terjun
- sering terjadi pembagian proyek menjadi tahap-tahap yang tidak fleksibel karena tahap-tahap tersebut sering tumpah tindih
- model ini hanya digunakan ketika
persyaratan sistem benar-benar dipahami,
jika tidak maka perekayasa akan kesulitan menanggapi perubahan persyaratan
Model Proses Perangkat Lunak
Model Air Terjun
Keuntungan
- Mudah dipahami dan diimplementasikan - Model klasik yang paling banyak
digunakan
- Metode ini masih masuk akal jika
Model Proses Perangkat Lunak
Model Air Terjun
Kekurangan
- Kesulitan untuk mengakomodasi perubahan setelah proses berjalan (bersifat kaku/rigid) Kesalahan di awal tahap berakibat sangat fatal
pada tahap berikutnya
- Sulit mendefinisikan kebutuhan PL di awal secara eksplisit
Model Proses Perangkat Lunak
Model Pengembangan Evolusioner
PENJELASAN GARIS BESAR KEGIATAN-KEGIATAN YANG
Model Proses Perangkat Lunak
Model Pengembangan Evolusioner
- tidak ada kegiatan spesifikasi,
pengembangan, dan validasi yang
terpisah
- kegiatan dilakukan secara bersamaan
dengan umpan balik yang cepat untuk
Model Proses Perangkat Lunak
Model Pengembangan Evolusioner
Keuntungan:
- lebih efektif dari model air terjun dalam menghasilkan sistem yang memenuhi kebutuhan langsung dari pelanggan
- spesifikasi dapat dikembangkan secara inkremental
- sistem perangkat lunak dapat
Model Proses Perangkat Lunak
Model Pengembangan Evolusioner
Kekurangan:
- proses tidak bisa dilihat
- sistem seringkali memiliki struktur yang buruk
- mungkin diperlukan alat bantu dan teknik khusus
- tidak cocok untuk pengembangan
Model Proses Perangkat Lunak
Model Pengembangan Evolusioner
PENGEMBANGAN EKSPLORATORI
Model Proses Perangkat Lunak
Model Pengembangan Sistem Formal
DEFINISI
PERSYARATAN SPESIFIKASI FORMAL
TRANSFORMASI FORMAL
INTEGRASI & PENGUJIAN SISTEM
SPESIFIKASI
FORMAL R1 R2 R3
PROGRAM YANG DAPAT DIJALANKAN
P1 P2 P3 P4
T1 T2 T3 T4
Model Proses Perangkat Lunak
Model Pengembangan Sistem Formal
mirip dengan model air terjun tetapi
proses pengembangannya didasarkan pada transformasi matematis dari
Model Proses Perangkat Lunak
Model Pengembangan Sistem Formal
Kelebihan
- Spesifikasi persyaratan perangkat lunak
lebih rinci dinyatakan dalam notasi
matematis
- Mengurangi jumlah kesalahan pada
sistem
- Efektif dalam segi biaya
Model Proses Perangkat Lunak
Model Pengembangan Sistem Formal
Kekurangan
- Dibutuhkan ketrampilan dan
pelatihan khusus untuk
mengaplikasikan teknik ini
- Kesulitan dalam menspesifikasikan
beberapa aspek ke dalam sistem
- Memerlukan tingkat kerahasiaan dan
keamanan yang tinggi sebelum
Model Proses Perangkat Lunak
Model Pengembangan Berorientasi Pemakaian Ulang
SPESIFIKASI
PERSYARATAN ANALISIS KOMPONEN
MODIFIKASI PERSYARATAN
PERANCANGAN SISTEM DENGAN PEMAKAIAN ULANG
PENGEMBANGAN
Model Proses Perangkat Lunak
Model Pengembangan Berorientasi Pemakaian Ulang
Bergantung pada sejumlah besar
Model Proses Perangkat Lunak
Model Pengembangan Berorientasi Pemakaian Ulang
Keuntungan:
- mengurangi besarnya perangkat lunak yang akan dikembangkan
- memperkecil biaya dan resiko
Model Proses Perangkat Lunak
Model Pengembangan Berorientasi Pemakaian Ulang
Kekurangan:
- bisa menghasilkan sistem yang tidak
memenuhi kebutuhan sebenarnya dari user persyaratan mungkin tidak cocok - kontrol terhadap evolusi sistem akan
Model Proses Perangkat Lunak
pada sistem besar
terkadang membutuhkan berbagai pendekatan untuk beberapa bagian sistem
memerlukan model PROSES HIBRID
setiap bagian proses
DIULANG: perancangan dan
Model Proses Perangkat Lunak
Proses Hybrid - INKREMENTAL
- spesifikasi, perancangan, dan
implementasi perangkat lunak dibagi menjadi serangkaian inkremen yang dikembangkan secara bergantian
- diusulkan oleh Mills (1980) sebagai cara untuk mengurangi pengerjaan ulang
Model Proses Perangkat Lunak
Proses Hybrid - INKREMENTAL
DEFINISIKAN PERSYARATAN
GARIS BESAR
TERAPKAN PERSYARATAN KE
INKREMEN
RANCANG ARSITEKTUR SISTEM
KEMBANGKAN
PEMBAGIAN SISTEM VALIDASI INKREMEN
INTEGRASIKAN
Model Proses Perangkat Lunak
Proses Hybrid - INKREMENTAL
C o m m u n i c a t i o n 1st increment
deliv ery of 2nd increment
deliv ery of
nt h increment
increment # n
project calendar t ime
Model Proses Perangkat Lunak
Proses Hybrid - INKREMENTAL
Kelebihan:
- Lebih fleksibel, biaya rendah untuk
mengakomodasi perubahan (jika ada) - Mudah diuji dan di-debug selama
iterasi
Model Proses Perangkat Lunak
Proses Hybrid - INKREMENTAL
Kekurangan:
- Bisa timbul masalah terkait arsitektur sistem
- Tiap fase inkremen bersifat kaku
- Hanya cocok untuk proyek dengan skala kecil kurang cocok untuk proyek
Model Proses Perangkat Lunak
Proses Hybrid - SPIRAL
- diusulkan oleh Boehm (1988)
- direpresentasikan sebagai SPIRAL
setiap untai pada spiral
merepresentasikan fase proses
Model Proses Perangkat Lunak
Proses Hybrid - SPIRAL
setiap untai dibagi menjadi 4 sektor:
PENENTUAN TUJUAN
PENILAIAN DAN PENGURANGAN RISIKO
PENGEMBANGAN DAN VALIDASI
Model Proses Perangkat Lunak
Pr
o
se
s
-Pr
ose
s
P
e
ra
n
gk
a
t
Lu
na
k
Model Proses Perangkat Lunak
Proses Hybrid - SPIRAL
Kelebihan:
- Mengeliminasi error lebih dini
- Menggabungkan keunggulan air terjun dan evolusioner
Model Proses Perangkat Lunak
Proses Hybrid - SPIRAL
Kekurangan:
- Memerlukan keahlian di bidang analisis risiko
- Cenderung cocok untuk sistem berskala besar