PerspektifSejarah (Lanjutan)
1940an hinggasekarangrekayasaperangkat
lunaktelahsemakinberkembangsejak
pertamakali diciptakan.
Fokusutamapengembanganuntuk
mengembangkanpraktekdan teknologiuntuk
meningkatkan produktivitas para praktisi
pengembang perangkat lunak dan kualitas
aplikasi yang dapat digunakan oleh pemakai.
Perkembanganperangkatlunakmelibatkanbanyakproses
•Prosesmenentukankebutuhan
•Prosesuntukestimasi
•Perencanaanproyek
•Prosesuntukdesain
•Implementasi
•Pengujian
Prosesdigunakanharussesuaidengantujuanya
Software proses dan siklushidup
Asetprosesperangkatlunakdalamsuatuorganisasiumumnya:
•Kebijakanpengembanganperangkatlunakuntukorganisasi
•Petaprosesyangmenggambarkanalirankegiatan
•Prosedurdanpedomanyangmenjelaskanprosessecara
lebihrinci
•Daftarperiksauntukmembantukinerjaproses
•Templateuntukkinerjaaktivitastertentu(misalnyadesain,
pengujian)
•MateriPelatihan.
Software proses dan siklushidup
Prosesyangdigunakanuntukmengembangkanperangkat
lunakberkualitastinggiumumnyameliputi:
•ProsesmanajemenProyek
•Prosespersyaratan
•Prosesdesain
•Prosespengkodean
•Prosespeer-review
•Prosespengujian
•Prosesseleksidanmanajemenpemasok
•Prosesmanajemenkonfigurasi
•Prosesaudit
•Prosespengukuran
•Prosesperbaikan
•Dandukunganpelanggandanprosespemeliharaan
Software proses dan siklushidup
Software proses dan siklushidup
Proses pengembanganperangkatlunakmemilikisiklushidup
terkaityang terdiridariberbagaifase.
Siklushidupdalamproses pengembanganperangkatlunak
sebagaiberikut:
SiklushidupSpiral(Wapirallifecycles)
•Modelspiraladalahprototipeyangdapat
digunakanKembalidengananalisbisnisdan
pelangganyangmeninjauiterasiterkinidan
memberikan umpan balikkepada tim
pengembangan.Umpanbalikdianalisisdan
digunakanuntukmerencanakanliterasiberikutnya.
•Pendekataniniseringdigunakandalam
pengembangan aplikasiBersama,dimana
kegunaandantampilansertanuansaaplikasi
menjadiperhatianutama.Inipentingdalam
pengembangan berbasiswebdandalam
pengembanganantarmukapenggunagrafis(GUI).
ProsesTerpaduRasional(RationalUnifiedProcess)
•RationalUnifiedProcess(RUP)merupakansuatu
metoderekayasaperangkatlunakyang
dikembangkandenganmengumpulkanberbagai
praktikterbaikyangterdapatdalamindustri
pengembanganperangkatlunak.
•RUPjugamenggunakankonsepobjectoriented,
dengan aktifitasyang berfokuspada
pengembangan modeldenganmenggunakan
UnifiedModelLanguage(UML).
•Inspectionsdalamperangkatlunakadalahbagianlangkahuntukmemeriksakualitas
sebuahproyek.
•Beberapahalinspeksiperangkatlunaksepertimelibatkanmemeriksaperangkatlunak,
dokumentasi,catatanprosesdanlainlain.
•Tujuanadalahagarhasilnyadapatmenjaditinjauanbagimanajerproyekuntukdapat
membuatkeputusanperencanaandanpengalokasikansumberdayauntukproses
pembangunan.Sehinggahasilnyadapatuntukmeningkatkankualitasperangkatlunak,
bukan untuk menilaikinerjaorang di tim pengembangan.
Ada pendekatanterkenalseperti:
MetodologiFagan
PendekatanGilb
PendekatanPrince
•Caramengembangkanperangkatlunakyangbenaradalahdenganmenurunkan
programdarispesifikasinyamenggunakanmatematika,danmenggunakanbukti
matematikauntukmenunjukankebenarannya.
•Inimenawarkankerangkakerjayangketatuntukmengembangkanprogramyang
mengikutiBatasankualitastertinggi.
EdsgerWybeDijkstra
Charles Antony Richard Hoare
MetodeFormal
•Dalampraktiknyateknikmatematikaterbuktirumituntuk
digunakandanpenggunaanyasecaraluasdalamindustry
tidakmungkindilakukansaatini.
•Karenaadakebutuhanuntukketelitianekstradalam
bidang ini,dan teknikmatematika dapat
mendemostrasikanatautidaknyapropertytertentuyang
diingkanatautidakdiinginkan.