160 likes | 171 Views
REKAYASA PERANGKAT LUNAK. PERTEMUAN KE- 2. Apakah Perangkat Lunak ? Apakah Rekayasa Perangkat Lunak (RPL) ? Apa perbedaan RPL dan rekayasa sistem ? Apa yang dimaksud dengan proses perangkat lunak ? Apakah model proses perangkat lunak ? Berapa biaya rekayasa perangkat lunak ?
E N D
PERTEMUAN KE- 2 • ApakahPerangkatLunak? • ApakahRekayasaPerangkatLunak (RPL) ? • ApaperbedaanRPLdanrekayasasistem ? • Apa yang dimaksuddenganprosesperangkatlunak ? • Apakah model prosesperangkatlunak ? • Berapabiayarekayasaperangkatlunak ? • Apasajametode-metode RPL ? • Apa yang dimaksuddengan CASE (Computer-Aided Software Engineering) ? • Apakahatribut-atributperangkatlunak yang baik ? • Apatantangankunci yang dihadapi RPL ?
PERANGKAT LUNAK • PerangkatLunak(Software)tidaksamadengan program komputer. Perangkatlunaktidakhanyamencakup program, tetapijugasemuadokumentasidankonfigurasi data yang berhubungan, yang diperlukanuntukmembuat agar program beroperasidenganbenar. • SistemPerangkatLunakterdiridari : • Sejumlah program ygterpisah • File-file konfigurasi • Dokumentasisistem • Dokumentasi User
REKAYASA PERANGKAT LUNAK • RPL atauSoftware Engineering (SE) Disiplinilmu yang membahassemuaaspekproduksiperangkatlunak, mulaidaritahapawalspesifikasisistemsampaipemeliharaansistemsetelahdigunakan. Ada 2 istilahkuncidisini : • “disiplinrekayasa” Perekayasamembuatsuatualatbekerja. Menerapkanteori, metode, danalat bantu yang sesuai, selainitumerekamenggunakannyadenganselektifdanselalumencobamencarisolusiterhadappermasalahan. • “semuaaspekproduksiperangkatlunak” RPL tidakhanyaberhubungandenganprosesteknisdaripengembanganperangkatlunaktetapijugadengankegiatansepertiManajemenproyek PL danpengembanganalat bantu, metode, danteoriuntukmendukungproduksi PL.
Perbedaan RPL dengan Rekayasa Sistem ? • Rekayasasistemberkaitandengansemuaaspekdalampembangunansistemberbasiskomputertermasuk hardware, rekayasa PL danproses. RPL adalahbagiandarirekayasasistem yang meliputipembangunan PL, infrasktruktur, kontrol, aplikasidan database padasistem.
Proses Perangkat Lunak • Serangkaiankegiatandanhasil-hasilrelevannya yang menghasilkanperangkatlunak sebagianbesardilakukanolehperekayasaperangkatlunak. Ada 4 kegiatan/aktivitaspadaproses PL : • SpesifikikasiPerangkatLunak Fungsionalitasperangkatlunakdanbatasankemampuanoperasinyaharusdidefinisikan. • PengembanganPerangkatLunak Perangkatlunak yang memenuhispesifikasiharusdiproduksi • ValidasiPerangkatLunak Perangkatlunakharusdivalidasiuntukmenjaminbahwaperangkatlunakmelakukanapa yang diinginkanolehpelanggan. • EvolusiPerangkatLunak Perangkatlunakharusberkembanguntukmemenuhikebutuhanpelanggan.
Model Proses Perangkat Lunak • Merupakandeskripsi yang disederhanakandariprosesperangkatlunakdipresentasikandengansudutpandangtertentu. • Bisamencakupkegiatan yang merupakanbagiandariprosesperangkatlunak, produkperangkatlunak, danperanorang yang terlibatpadarekayasaperangkatlunak (Perekayasa PL).
Contoh Jenis Model Proses PL • Model aliran kerja (workflow) menunjukkan kegiatan pada proses bersama dengan input, output, dan ketergantungannya. Merepresentasikan pekerjaan manusia. • Model aliran data (data flow) merepresentasikan proses sebagai suatu set kegiatan yang melakukan transformasi data. Menunjukkan bagaimana input ke proses, misalnya spesifikasi ditransformasi menjadi output, misalnya menjadi desain. • Model peran/aksi merepresentasikan peran orang yang terlibat pada PL dan kegiatan yg menjadi tanggung jawab mereka.
Model atau paradigma umum pada proses PL • Model air terjun(waterfall) Mengambilkegiatandasarsepertispesifikasi, pengembangan, validasi, danevolusidanmerepresentasikannyasebagaifase-faseproses yang berbedasepertispesifikasipersyaratan, perancanganperangkatlunak, implementasi, pengujiandanseterusnya. • Pengembanganevolusioner Pendekataniniberhimpitandengankegiatanspesifikasi, pengembangan, danvalidasi. Sistemawaldikembangkandengancepatdarispesifikasiabstrak. Sisteminikemudiandiperbaikidenganmasukandaripelangganuntukmenghasilkansistem yang memuaskankebutuhanpelanggan.
Pengembangan Sistem Formal Pendekatan ini menghasilkan suatu sistem matematis yang formal dan mentransformasikan spesifikasi ini, dengan menggunakan metode matematik menjadi sebuah program. • Pengembangan berdasarkan pemakaian ulang (Reusable) Teknik ini menganggap bahwa bagian-bagian sistem sudah ada. Proses pengembangan sistem terfokus pada pengintegrasian bagian-bagian sistem dan bukan pengembangannya dari awal.
Biaya Rekayasa Perangkat Lunak • Umumnya sekitar 60% untuk biaya pengembangan (development) dan 40% biaya pengujian (testing). • Distribusi biaya yang tepat selama proses perangkat lunak bergantung pada proses yang digunakan dan jenis perangkat lunak yang dikembangkan.
Metode-metode RPL • Pendekatan-pendekatanterstrukturterhadappengembanganperangkatlunakmencakup model, notasi, aturan, saran pengembangansistem (rekomendasi), danpanduanproses. • Deskripsi model sistem Deskripsi model yang harusdikembangkandannotasi yang digunakanuntukmendefinisikan model-model ini. Ex : model aliran data. • Aturan Batasan yang berlakubagi model sistem. Ex : Setiapentitaspada model sistemharusmemilikinama yang unik. • Rekomendasi Saran dalammembentukperancangan yang baik. Ex : Tidakadaobjek yang memilikilebihdaritujuh sub-objek yang berhubungandengannya. • PanduanProses Aktifitas yang bisadiikutiuntukmengembangkan model sistem. Ex : Atributobjekharusdidokumentasisebelummendefinisikanoperasi yang berhubungandenganobjek.
CASE (Computer-Aided Software Engineering) • Mencakupberbagaimacam program yang digunakanuntukmendukungkegiatan PL sepertianalisispersyaratan, pemodelansistem, debugging, danpengujian.
Atribut-atribut PL yang baik • PerangkatLunakseharusnyamemberikanuserkebutuhanfungsionalitasdankinerja yang : • Dapatdipelihara(Maintanability) PL harusdapatmemenuhiperubahankebutuhanuser. • Dapatdiandalkan (Dependability) PL harusdapatdipercayadantidakmenyebabkankerusakanfisikatauekonomijikaterjadikegagalansistem. • Efisien PL harusefisiendalampenggunaansumberdayasistem. • Kemampupakaian(Usability) PL harusdapatdipakaisesuaidengan yang direncanakan.
TantanganKunci yang dihadapi RPL ? • TantanganWarisan(Legacy) Tantanganmemeliharadanmeng-update PL sedemikiansehinggabiayaygberlebihandapatdihindaridanlayananbisnisygpentingtetapdilakukan. • TantanganHeterogenitas Tantanganteknikpengembanganuntukmembangunperangkatlunak yang dapatdiandalkandancukupflexibeluntukmenghadapiheterogenitas yang ada. • TantanganPengiriman Tantanganmempersingkatwaktukirimsistembesardankompleks, tanpamengurangikualitassistem.