240 likes | 757 Views
3. PROSES-PROSES PERANGKAT LUNAK. REKAYASA PERANGKAT LUNAK. By : Andi Latifa Nabone. MATERI. Model Proses Perangkat Lunak Iterasi Proses Spesifikasi Perangkat Lunak Perancangan dan Implementasi Perangkat Lunak . Validasi Perangkat Lunak Evolusi Perangkat Lunak. Pendahuluan.
E N D
3 PROSES-PROSES PERANGKAT LUNAK REKAYASA PERANGKAT LUNAK By : AndiLatifaNabone
MATERI • Model Proses PerangkatLunak • Iterasi Proses • SpesifikasiPerangkatLunak • PerancangandanImplementasiPerangkatLunak. • ValidasiPerangkatLunak • EvolusiPerangkatLunak
Pendahuluan Proses perangkatlunakmerupakanserangkaiansuatukegiatandanhasil yang berhubungandengannya, yang menujupadadihasilkannyaprodukperangkatlunak. Kegiataninimencakuppengembanganperangkatlunakmulaidariawal, walaupunkenyataannyamakinseringterjadibahwaperangkatlunak yang barudikembangkandenganmemperluasdanmemodifikasisistem yang telahada. Walaupunadabanyak proses perangkatlunak, adakegiatan-kegiatanmendasar yang umumbagisemua proses perangkatlunak.
1. Model Proses PerangkatLunak • Model proses perangkatlunakmerupakanrepresentasiabstrakdari proses perangkatlunak. • Setiapmodel proses merepresentasikansuatu proses darisudutpandangtertentusehinggahanyamemberikaninformasiparsialmengenai proses tersebut. • Model-model inibiasanyamerupakanabstraksi yang dapatdigunakanuntukmenjelaskanpendekatan-pendekatanterhadappengembanganperangkatlunak. • Untukbanyaksistembesar, tentusaja, tidakhanyaadasatu proses perangkatlunak yang digunakan.
Model proses meliputi; • Pendekatan Model Air terjun (Water fall), Menempatkansemuaaktifitassesuaidengantahapanpada model Waterfall denganmemisahkandanmembedakanantaraspesifikasidanpengembangan. • Pengembanganyang berevolusi, Pendekatan yang melanjutkanAktifitassatudan yang lainnyadariSpesifikasidanpengembangansertavalidasisecaracepat.
PengembanganEvolusioner PengembanganEvolusionerberdasarkanpada ide untukmengembangkanimplementasiawal, memperlihatkankepada user untukdikomentari, danmemperbaikinyaversi demi versisampaisistem yang memenuhipersyaratan. Tidakadakegiatanspesifikasi,pengembangan, danvalidasi yang terpisah, alih-alihkegiatan-kegiataninidilakukanpadasaat yang bersamaandenganumpanbalik yang cepatuntukmasing-masingkegiatan.
Duajenispengembanganevolusioner: • PengembanganEksploratori. Bekerjadenganpelangganuntukmenyelidikipersyaratanmerekadanmengirimkansistemakhir. • PrototipeYang DapatDibuang (Throw-Away). Memahamipersyaratanpelanggandandengandemikianmengembangkandefinisipersyaratan yang lebihuntuksistem.
Ada 6MasalahDalamPengembanganevolusioner, yaitu : • Proses TidakBisaDilihat • SistemSeringkaliMemilikiStruktur Yang Buruk • MungkinDiperlukanAlat Bantu Dan TeknikKhusus. • UntukSistemKecil (kurangdari 100.000 bariskode) • UntukSistemMenengah(sampai 500.000 bariskode) • WaktuHidup Yang PendekBagiPengembanganSistem Yang Besar.
PengembanganBerorientasiPemakaianulang Berdasarkanpadapendekatanpakai-ulang yang sistematikdimanasistemdintegrasikandarikomponen-komponenyang telahtersediaataudisebut COTS (Commercial-off-the-shelf) system-system Tahap Proses ini : • Component analysis(AnalisisKomponen) • Requirements modification(ModifikasiPersyaratan) • System design with reuse(PerancanganSistemdenganPemakaianUlang) • Development and integration(Pengembangan Dan Integrasi) Pendekataninimenjadisangatpentingnamunkajiandanpengalamanmasihsangatterbatas
Proses Iterasi Dalamsuatu project system requirements selalumengalamiperubahan, itulahsebabnyaiterasi proses padatahapanawal yang selaludikerjakanberulang-ulangmenjadibagiandariprosesspada system yang lebihbesar. Iterasidapatditerapkanpadasetiap model proses yang generik. Model PendekatanItersi: • PengembanganInkremental. Dimanaspesifikasi, perancangandanimplementasiperangkatlunakdibagimenjadiserangkaianinkremen yang dikembangkansecarabergantian. • Pengembangan Spiral. Dimanapengembangansistemseolahberalurmembentuk spiral keluardarigarisawalsampaisistempengembanganakhir.
Proses Iterasi-(PengembanganInkremental) • Bukansekedarmenghantarkansistemsebagai “single delivery”, development dan delivery dipecahmenjadibeberapatahapandimanatiaptahapakanmendeliverbagiandarikebutuhanfungsionalitassistem. • Mengurangipengerjaanulangpada proses pengembangandanmemberikesempatanbagipelangganuntukmenundakeputusanpersyaratanrincisampaimerekamemperolehpengalamandengansistem. • Pada proses inipelangganmengidentifikasi, secaragarisbesar, layanan (service) yang akandisediakanolehsistem. • Persyaratanpenggunadiprioritiskandanpersyaratanprioritastertinggidimasukkandalamawal increment
Proses Iterasi-(Pengembangan Spiral) • Process direpresentasikansebagai spiral bukanaktifitas sequence dengan backtracking • Merupakan model proses perangkatlunak yang memadukanwujudpengulangandari model prototyping denganaspekpengendaliandansistematikadari linear sequential model. • Dalam model iniperangkatlunakdikembangkandalamsuatuseriincremental release. • Setiap loop dalam spiral merupakantahapdalam proses. • Tidakadafasetetapsepertispesifikasiataudesain-loop dalam spiral dipilihtergantungpadaapa yang dibutuhkan. • Resikosecaraeksplisitdinilaidandiselesaikanselama proses.
Proses Iterasi-(Pengembangan Spiral) SetiapUntaiPada Spiral dibagiMenjadiEmpatSektor • PenentuanTujuan • Menentukantujuanuntuk phase yang diidentifikasi • PenilaiandanPenguranganResiko • Resikodikenalidanaktifitasdilakukanuntukmengurangisejumlaresiko • Pegembangan Dan Validasi • Model development system ditentukan yang memungkinkanpenggunaanberbagai model secaraumum • Perencanaan • Proyekiniditinjaudandibuatrencanauntukfaseproyekberikutnya
SpesifikasiPerangkatLunak Proses iniuntukmenentukan services apa yang dibutuhkandanbatasanpadatahapanpengoperasiandanpengembangansistem. Ada 4 FaseUtamaPada Proses RekayasaPersyaratan: • Studikelayakan • Elisitasi Dan AnalisisPersyaratan • SpesifikasiPersyaratan • ValidasiPersyaratan
MetodePerancangan • Pendekatansistemastisuntukmengembangkandesainsofware. • Desainbiasanyadidokumentasikansebagaisatu set model grafis. • Kemungkinan model menjadi: • Data Flow Model • HubunganEntitas-Atribut Model • Model Struktural • Model BerorintasiObjek
Pemrograman Dan Debug • Merubahdesainkedalam program danmenghilangkan errors yang ditimbulkandari program • Pemrogramanmerupakankegiatanpribadidandisinitidakada proses yang biasanyadipakaidanakanmemulaidengankomponen-komponen yang merekaketahui. • Pemrogrammelakukanbeberapapengujianuntukmenemukankesalahandalam program danmenghapuskesalahandalam proses debugging. • Debugger harusmembuathipotesismengenaiperilaku program yang dapatterlihat, kemudianmengujihipotesisinidenganharapanmenemukankesalahan yang menyebabkanpenyimpangan output
ValidasiPerangkatLunak • Verification dan validation diperlukanuntukmenunjukkanbahwa system telahsesuaidenganspesifikasinyadanmemenuhikebutuhandari customer • Melibatkan checking dan review proses serta system testing • System testing meliputimengeksekusi system denganskenario test yang diturunkandarispesifikasi data real untukdiprosesoleh system
Tahap-TahapPada Proses Pengujian: • Pengujian Unit. MasingMasingKomponenDiuji. • PengujianModul. Terkaitkoleksikomponentergantungdiuji. • PengujianSubSistem. Moduldiintegrasikankedalamsubsistemdandiuji. Disiniharusfokusdalampengujian interface. • PengujianSistem. PengujiansecaraKeseluruhan. • PengujianPenerimaan. Pengujian data pelangganuntukmemeriksakinerjasistem.
EvolusiPerangkatLunak • Software padadasarnya flexible dandapatdirubah. • Denganberubahnyakebutuhanseiringdenganperubahankondisibisnis, software yang mendukungbisnissudahselayaknyajugaikutberubah • Walaupunseringterjadipembatasanantara proses pengembanganperangkatlunakdan proses evolusiperangkatlunak (pemeliharaanperangkatlunak). Proses pemeliharaandianggapmenantangdaripengembanganperangkatlunakaslinya.
Klasifikasi CASE Pengklasifikasian CASE membantukitadalammemahamiberbagaitipedari CASE tools dandukungannyaterhadap process activities. CASE Tool daritigasudutpandang: • Sudut Pandang Fungsional. Di mana CASE Tool diklasifikasikanmenurutfungsinya. • Sudut Pandang Proses. Di mana CASE Tool diklasifikasikanmenurutkegiatan proses yang didukungnya. • Sudut Pandang Integrasi. Di mana CASE Tool diklasifikasikanmenurutbagaimanamerekadiorganisasikankedalam unit-unit yang terintegrasi, yang memberikandukunganbagisatukegiatan proses ataulebih.
CASE Integration • Tool (Alat Bantu) • Mendukungpekerjaan proses individual sepertimemeriksakonsistensiperancangan,kompilasi program, membandingkanhasilpengujiandll. • Workbench • Faseataukegiatan proses sepertispesifikasi, perancangan, dsb. Terdiridariserangkain tool denganderajatintegrasi yang lebihbesarataulebihkecil. • LingkunganMendukung • Semuaatau paling tidakbagian yang pentingdari proses lengkaplunak. Lingkunganbiasanyamencakupbeberapa workbench yang terintegrasidengansuatucara.