02 model proses rpl v2
DESCRIPTION
RpLTRANSCRIPT
Sesi 3 :Model Proses Perangkat Lunak
Achmad BasukiPENS-ITS 2006
Laboratorium Rekayasa Perangkat Lunak
Materi Sesi 3Materi Sesi 3
• Model Proses Perangkat Lunak• Iterasi Proses• Spesifikasi Perangkat Lunak• Perancangan dan Implementasi PerangkatLunak
• Validasi Perangkat Lunak• Evolusi Perangkat Lunak
Laboratorium Rekayasa Perangkat Lunak
Proses Perangkat LunakProses Perangkat Lunak• Spesifikasi Perangkat Lunak: mendefinisikan
fungsionalitas dan batasan operasi.• Perancangan dan Implementasi PerangkatLunak: merancang dan membuat perangkat lunakyang memenuhi persyaratan
• Validasi Perangkat Lunak: menjamin perangkatlunak berjalan sesuai dengan apa yang dibutuhkan user.
• Evolusi Perangkat Lunak: mengembangkanperangkat lunak sesuai perubahan kebutuhan user.
Tidak ada proses perangkat lunak yang “ideal”, danstandarisasi proses perangkat lunak adalah salah satu
jaminan untuk memperoleh proses perangkat lunak yang baik.
Laboratorium Rekayasa Perangkat Lunak
Model Proses Perangkat LunakModel Proses Perangkat Lunak
• Waterfall• Pengembangan Evolusioner• Pengembangan Sistem Formal• Pengembangan Berdasarkan PemakaianUlang
Model proses perangkat lunak adalahrepresentasi abstrak dari proses perangkatlunak. Model proses perangkat lunak yang umum atau disebut dengan paradigmaumum antara lain:
Laboratorium Rekayasa Perangkat Lunak
WaterfallWaterfall
• Analisis dan Definisi Persyaratan• Perancangan Sistem dan Perangkat Lunak• Implementasi dan Pengujian Unit• Integrasi dan Pengujian Sistem• Operasi dan Pemeliharaan
Model ini pertama kali digunakan untukpengembangan perangkat lunak (Royce, 1970) dan merupakan model software life cycle.
Laboratorium Rekayasa Perangkat Lunak
WaterfallWaterfallDefinisi
PersyaratanDefinisi
Persyaratan
Perancangan Sistemdan Perangkat LunakPerancangan Sistemdan Perangkat Lunak
Implementasi danPengujian Unit
Implementasi danPengujian Unit
Integrasi danPengujian SistemIntegrasi dan
Pengujian Sistem
Operasi danPemeliharaanOperasi danPemeliharaan
Laboratorium Rekayasa Perangkat Lunak
Pengembangan EvolusionerPengembangan Evolusioner
• Pengembangan Eksplorasi:– Sistem berubah dengan adanya fitur-fiturtambahan dari user.
• Prototype yang dapat dibuang (Throw-Away):– Memahami persyaratan user untukmendapatkan definisi persyaratan yang lebihbaik.
Laboratorium Rekayasa Perangkat Lunak
Pengembangan EvolusionerPengembangan Evolusioner
PenjelasanGaris BesarPenjelasanGaris Besar
Spesifikasi
Pengembangan
Validasi
Versi AwalVersi Awal
Versi MenengahVersi Menengah
Versi AkhirVersi Akhir
Laboratorium Rekayasa Perangkat Lunak
Pengembangan EvolusionerPengembangan Evolusioner
• Proses tidak dapat dilihat• Sistem seringkali mempunyai strukturyang tidak baik
• Mungkin diperlukan alat bantu khusus
Masalah-masalah dalam PengembanganEvolusioner
Model pengembangan evolusioner ini cocok untukaplikasi yang kecil dan life-cycle yang pendek.
Laboratorium Rekayasa Perangkat Lunak
Pengembangan Sistem FormalPengembangan Sistem Formal• Pengembangan Sistem Formal mirip denganWaterfall, hanya pendekatannya didasarkanpada transformasi matematis.
• Biasanya model ini tidak berfokus padapengujian tetapi pada keandalan sistem.
• Perbedaan Pengembangan Sistem Formal danWaterfall adalah:– Spesifikasi persyaratan perangkat lunak dinyatakandalan notasi matematika
– Proses pengembangan dilakukan melaluiserangkaian proses transformasi
Laboratorium Rekayasa Perangkat Lunak
Pengembangan Sistem FormalPengembangan Sistem Formal
DefinisiPersyaratan
SpesifikasiFormal
TransformasiFormal
IntegrasiSistem
SpesifikasiFormal
SpesifikasiFormal ProgramProgramR1R1 R2R2 R3R3
P1P1 P2P2 P3P3 P4P4
T1 T2 T3 T4
Transformasi Formal
Laboratorium Rekayasa Perangkat Lunak
Pengembangan BerorientasiPemakaian Ulang
Pengembangan BerorientasiPemakaian Ulang
• Analisis Komponen• Modifikasi Persyaratan• Perancangan Sistem dengan PemakaianUlang
• Pengembangan dan Integrasi
Laboratorium Rekayasa Perangkat Lunak
Pengembangan BerorientasiPemakaian Ulang
Pengembangan BerorientasiPemakaian Ulang
SpesifikasiPersyaratanSpesifikasiPersyaratan
AnalisisKomponenAnalisis
KomponenModifikasiPersyaratanModifikasiPersyaratan
Perancangan Sistemdengan Pemakaian UlangPerancangan Sistem
dengan Pemakaian Ulang
Pengembangandan Integrasi
Pengembangandan Integrasi Validasi SistemValidasi Sistem
Laboratorium Rekayasa Perangkat Lunak
Iterasi ProsesSoftware Life-Cycle
Iterasi ProsesSoftware Life-Cycle
• Pengembangan Incremental: – Proses perangkat lunak dibagi menjadiserangkaian increment yang dikembangkansecara bergantian.
• Pengembangan Spiral: – Pengembangan sistem membentuk spiral proses, dengan spiral luar adalah sistempengembangan akhir.
Laboratorium Rekayasa Perangkat Lunak
Pengembangan IncrementalPengembangan Incremental
DefinisiPersyaratanDefinisi
PersyaratanTerapkan
PersyaratanTerapkan
PersyaratanRancangArsitekturSistem
RancangArsitekturSistem
Kembangkan PembagianSistem
Kembangkan PembagianSistem
ValidasiIncrementValidasiIncrement
IntegrasiIncrementIntegrasiIncrement Validasi SistemValidasi Sistem
SistemAkhir
Laboratorium Rekayasa Perangkat Lunak
KeuntunganPengembangan Incremental
KeuntunganPengembangan Incremental
• User tidak perlu menunggu seluruh sistemdikirimkan, karena increment pertamamempunyai persyaratan kritis dan perangkatlunak segera dapat digunakan.
• User dapat memakai increment pertamasebagai prototype
• Resiko kegagalan proyek secara keseluruhanlebih rendah
• Pengujian paling ketat diberlakukan padaincrement pertama.
Laboratorium Rekayasa Perangkat Lunak
Pengembangan SpiralPengembangan Spiral
• Penentuan Tujuan• Penilaian dan Pengurangan Resiko• Pengembangan dan Validasi• Perencanaan
Empat Sektor Spiral:
Laboratorium Rekayasa Perangkat Lunak
Pengembangan SpiralPengembangan Spiral
Laboratorium Rekayasa Perangkat Lunak
Fase Utama PersyaratanPerangkat Lunak
Fase Utama PersyaratanPerangkat Lunak
• Studi Kelayakan• Elisitasi dan Analisis Persyaratan• Spesifikasi Persyaratan• Validasi Persyaratan
Laboratorium Rekayasa Perangkat Lunak
Spesifikasi PersyaratanPerangkat Lunak
Spesifikasi PersyaratanPerangkat Lunak
StudiKelayakanStudi
KelayakanElisitasi danAnalisis
Persyaratan
Elisitasi danAnalisis
Persyaratan
SpesifikasiPersyaratanSpesifikasiPersyaratan
ValidasiPersyaratanValidasi
PersyaratanLaporanKelayakanLaporanKelayakan Model SistemModel Sistem
PersyaratanUser dan SistemPersyaratan
User dan Sistem
DokumenPersyaratanDokumenPersyaratan
Laboratorium Rekayasa Perangkat Lunak
Kegiatan PerancanganPerangkat Lunak
Kegiatan PerancanganPerangkat Lunak
• Perancangan Arsitektural• Spesifikasi Abstrak• Perancangan Interface• Perancangan Komponen• Perancangan Struktur Data• Perancangan Algoritma
Laboratorium Rekayasa Perangkat Lunak
Perancangan dan ImplementasiPerangkat Lunak
Perancangan dan ImplementasiPerangkat Lunak
SpesifikasiPersyaratan
PerancanganArsitektural
SpesifikasiAbstrak
PerancanganInterface
PerancanganKomponen
PerancanganStruktur Data
PerancanganAlgoritma
ArsitekturSistem
ArsitekturSistem
SpesifikasiPerangkat LunakSpesifikasi
Perangkat Lunak
SpesifikasiInterface
SpesifikasiInterface
SpesifikasiKomponenSpesifikasiKomponen
SpesifikasiStruktur dataSpesifikasiStruktur data
SpesifikasiAlgoritma
SpesifikasiAlgoritma
Laboratorium Rekayasa Perangkat Lunak
Metode PerancanganMetode Perancangan
• Model Aliran Data – DAD, DFD
• Model Entity Relational – ERD
• Model Struktural– Flow Chart
• Model Berorientasi Obyek– Class Diagram
Laboratorium Rekayasa Perangkat Lunak
DebugDebug
Cari Lokasi ErrorCari Lokasi Error
RancangPerbaikan ErrorRancang
Perbaikan Error
Perbaiki ErrorPerbaiki Error
Uji Ulang ProgramUji Ulang Program
Laboratorium Rekayasa Perangkat Lunak
Validasi Perangkat LunakValidasi Perangkat Lunak
PengujianUnit
PengujianUnit
PengujianModul
PengujianModul
PengujianSub SistemPengujianSub Sistem
PengujianSistem 1
PengujianSistem 1
PengujianSistem 2
PengujianSistem 2
PengujianKomponen Pengujian Integrasi Pengujian User
Laboratorium Rekayasa Perangkat Lunak
Evolusi Perangkat LunakEvolusi Perangkat Lunak
DefinisiPersyaratan
Sistem
DefinisiPersyaratan
SistemNilai SistemYang Ada
Nilai SistemYang Ada
PengajuanPerubahanSistem
PengajuanPerubahanSistem
ModifikasiSistem
ModifikasiSistem
SistemYang AdaSistem
Yang AdaSistemBaru
SistemBaru
Question ?
End of Session 3