350 likes | 628 Views
Metode rpl. BY: Y. PALOPAK S.Si ., MT. Dalam rekayasa perangkat lunak , diperlukan tahapan-tahapan kerja yang harus dilalui . Rekayasa perangkat lunak yang sukses tidak hanya membutuhkan kemampuan komputasi seperti algoritma , pemrograman , dan basis data yang kuat .
E N D
Metoderpl BY: Y. PALOPAK S.Si., MT.
Dalamrekayasaperangkatlunak, diperlukantahapan-tahapankerja yang harusdilalui. • Rekayasaperangkatlunak yang suksestidakhanyamembutuhkankemampuankomputasisepertialgoritma, pemrograman, dan basis data yang kuat. • Namunjugaperlupenentuantujuan yang baik, identifikasicarapenyelesaian, metodepengembangan, urutanaktifitas, identifikasikebutuhansumberdaya, danfaktor-faktor lain. • Adabanyak model yang dikemukakanuntukmenyelesaikanproyek RPL
Karakteristik Model • Kebutuhan terhadap definisi masalah yang jelas. Semakinjelasakansemakinbaikkarenaakanmemudahkandalampenyelesaianmasalah • Tahapan-tahapan pengembangan yang teratur. Meskipun model-model pengembanganperangkatlunakmemilikipola yang berbeda-beda, biasanya model-model tersebutmengikutipolaumum: Perencanaan – Analisis – design – Implementasi
Karakteristik Model • Stakeholder berperan sangat penting dalam keseluruhan tahapan pengembangan. Stakeholder dalamrekayasaperangkatlunakdapatberupapengguna, pemilik, pengembang, pemrogramdanorang-orang yang terlibatdalamrekayasaperangkatlunaktersebut. • Dokumentasimerupakanbagianpentingdaripengembanganperangkatlunak. Masing-masingtahapandalam model biasanyamenghasilkansejumlahtulisan, diagram, gambarataubentuk-bentuk lain yang harusdidokumentasi. • Keluarandariprosespengembanganperangkatlunakharusbernilaiekonomis. Efekdaripenggunaanperangkatlunak yang telahdikembangkan haruslah memberi nilai tambah bagi organisasi.
System Development Life Cycle (SDLC) • Merupakanprosespengembanganataumengubahsuatusistemperangkatlunakdenganmenggunakan model-model danmetodologi yang ada.
System Development Life Cycle (SDLC) • SDLCpadaumumnyaterdiriatasempatFaseutama: • Planning • Analysis • Design • Implementation
Fase I: Planning • Faseinimerupakanproses fundamental sehubungandenganmengapasistemharusdibangun • FasePlanning jugaakanmenentukanbagaimana team akanbekerjamembangunsistemtersebut • FasePlanning terdiriatasduatahapanutama: • TahapanselamaInisialisasi project, mengidentifikasinilaibisnissistemtersebutbagiorganisasi. (Bagaimanasupayabiayamurahdanmeningkatkankeuntungan). • TahapanselamaManjemen Project, Manager proyekmembuatrencanakerja, team proyek, mengaturjalannyaproyek
FaseII: Analysis • Analisissistemadalahsebuahteknikpemecahanmasalah yang menguraikansebuahsistemmenjadikomponen-komponennyadengantujuanmempelajariseberapabaguskomponen-komponentersebutbekerjadanberinteraksiuntukmeraihtujuan. • Faseanalisismengenai, siapa yang akanmenggunakansistem, apa yang sistemdapatlakukan, dimanadankapansistemdapatdigunakan. • Selamafaseini, team proyekmelakukaninvestigasisistem-sistem yang sudahada, identifikasikemungkinanpengembangan, danmengembangkankonsepuntuksistem yang baru. • Analisismungkinadalahbagianterpentingdariprosesrekayasaperangkatlunak. Karenasemuaproseslanjutanakansangatbergantungpadabaiktidaknyahasilanalisis
FaseII: Analysis • Faseinimemilikitigalangkahanalisis: • Analysis strategy: Dikembangkanuntukmenuntunusaha team, termasukanalisissistem existing. • Requirements gathering: Analisainformasimenuntunpadapengembangankonsepuntuksistembaru, dandigunakanuntukmembangun model analisis. • System proposal: System proposal sebagaigambaranawalakankebutuhan-kebutuhansistembaru. Proposal jugauntukkelangsunganpembiayaanproyek, baikbagidonaturmaupunbagiindividu-individu yang menentukankelangsunganproyek.
Bagian-bagian Analisis • AnalisisMasalah • AnalisisKelemahan • AnalisisKebutuhanPengembanganSistem • AnalisisKelayakan
FaseIII: Design • Desainperangkatlunakadalahtugas, tahapanatauaktivitas yang difokuskanpadaspesifikasidetildarisolusiberbasis computer (Whitten et al, 2004). • Desainperangkatlunakseringjugadisebutsebagaiphysical design. Jikatahapananalisissistemmenekankanpadamasalahbisnis (business rule), makasebaiknyadesainperangkatlunakfokuspadasisiteknisdanimplementasisebuahperangkatlunak (Whitten et al, 2004).
FaseIII: Design • Output utamadaritahapandesainperangkatlunakadalahspesifikasidesain. • Spesifikasiinimeliputispesifikasidisainumum yang akandisampaikankepada stakeholder sistemdanspesifikasidisainrinci yang akandigunakanpadatahapimplementasi. • Spesifikasidesainumumhanyaberisigambaranumum agar stakeholder sistemmengertiakansepertiapaperangkatlunak yang akandibangun.
FaseIII: Design • Desainarsitekturrinciperangkatlunakdiperlukanuntukmerancangsistemsehinggamemilikikonstruksi yang baik, prosespengolahan data yang tepatdanakurat, bernilai, memilikiaspek user friendly danmemilikidasar-dasaruntukpengembanganselanjutnya. • Desainarsitekturiniterdiridaridesain database, desainproses, desain user interface yang mencakupdesain input, output form dan report, desain hardware, software danjaringan.
Fase Design Faseiniterdiriatasbeberapatahap: • Design Strategy: Menjelaskanapakahsistemakandikembangkansendiridiperusahaanataudiluarperusahaan. • Architecture Design: Menjelaskan hardware, software, daninfrastrukturjaringan yang akandigunakan. • Database and File Specifications: Mendefinisikan data apadandimana data akandisimpan. • Program Design: Mendefinisikan program apa yang akanditulisdanapa yang dapatdikerjakanoleh program tersebut.
FaseIV: Implementation • Selamafaseini, sistemdiimplementasikanataudijualkepadapembeli ( paket software) • Merupakanfaseterpanjangdantermahaldariproses yang ada • Terdiridaritigatahap: • System Construction: Prosespembangunandanpengujiansistemuntukmeastikanhasilsesuai design. • Installation: Persiapandanprosesinstalasi system. • Support Plan: Termasuk review pascaimplementasi.
The waterfall model • Merupakan model SDLC yang paling sederhana. • Merupakandasardari model-model yang lain • Hal terbaikdari model iniadalahstrukturtahappengembangansistemjelas, dokumentasidihasilkandisetiaptahappengembangandansebuahtahapdijalankansetelahtahapsebelumnyaselesai (tidakadatumpangtindih)
The waterfall model • Dari kenyataannya, sanganjarang model inidapatdilakukansesuaitahapan, sebab: • Perubahanspesifikasiperangkatlunakterjadiditengah-alurpengembangan • Sangatsulitbagipelangganuntukmendefinisikansemuaspesifikasidiawalalurpengembangan. • Pelanggantidaksabarmengakomodasiperubahan yang diperlukandiakhiralurpengembangan.
Prototyping model • Prototyping adalahsalahsatupendekatandalamrekayasaperangkatlunak yang secaralangsungmendemonstrasikanbagaimanasebuahperangkatlunakataukomponenperangkatlunakakanbekerjadalamlingkungannyasebelumtahapankonstruksiaktualdilakukan • Dapatdilakukanuntukmenyambungketidakpahamanpelanggandanmemperjelas spec kebutuhan • Prototipeakandievaluasibersamaoleh team pengembangdan user/pelanggan • Prototipe / mock-up harusmampumendemonstrasikansebagianbesarfungsisistemsebenarnyasertamemungkinkanpengujiandesainsistem. • Model inicocokdigunakanuntukmenggalispesifikasikebutuhanpelanggansecara detail, namunberesikoterhadapbiayadanwaktu
Prototyping model • Beberapakelemahan • Pelanggandapatseringmengubah-ubahataumenambahspesifikasi, halinidapatmemperlambatprosespengembangan • Pengembanglebihseringkompromiuntukmendapatkanprototipedenganwaktu yang cepatsehinggakualitaskurangbaik, bahkanbisarmenyebabkaniteratiftanpaakhir.
RAD Model (Rapid Application Development) • Merupakan model prosespengembanganperangkatlunak yang bersifatinkrementalterutamauntukwaktupengerjaan yang pendek. • Merupakanadaptasidari model waterfall versikecepatantinggi • Model RAD membagi team menjadibeberapa team untukmengerjakanbeberapatahapansecaraparalel
RAD Model (Rapid Application Development) • Kelemahan: • Untuksistemskalabesar, model RAD memerlukan SDM yang cukupbesar • Jikatidakadakemampuanuntukmengembangkanperangkatlunaksecaracepat, maka model iniakanmembingungkan. • Tidakcocokdigunakanuntuksistemperangkatlunak yang memilikiresikoteknis yang sangattinggi, misalnyamenggunakanteknologibaru
RAD Model (Rapid Application Development) • Model RAD cocokditerapkanapabilamemenuhikriteria: • Anggota team sudahberpengalamanmengembangkanperangkatlunak yang sejenis • Pengembangsudahmemilikikomponen-komponensistem yang disadigunakankembalidalamproyektersebut.
Incremental Model • Model Incremental mengkombinasikanproses-prosespada model waterfall daniterasipada model prototipe • Model inidibuatuntukmengatasikelemahandari model waterfall yang tidakmengakomodasiiterasisertamengatasikelemahandari model prototipe yang memilikiprosesterlalupendekdimanasetiapprosesiterasinyatidakselalumenghasilkanprototipe.
Spiral Model • Model spiral diusulkanoleh Barry Boehm (Boehm, 1988) berbentuk spiral yang memasangkaniteratifpada model prototipedengankontroldanaspeksistematik yang diambildari model waterfall. • Model inibertujuanuntukmengurangiresikopadasetiaptahapan yang dilalui. • Selamaawaliterasi, rilisindreentalbisamerupakansebuah model/prototype, iterasiselanjutnyasedikit-demisedikitdihasilkanversirekayasa yang lebihlengkap. • Terdiridariempatbagian
Spiral Model • Terdiridariempatbagian: • Determine Ojectives (kuadran I): sebagaiawalproses, menentukanpermasalahan, menentukanalternatifdanobjek-objek yang penting • Risk Analysis (kuadaran II): analisisresiko, evaluasidanmencarisolusi • Engineering/Develop (kuadran III): Prosespemilihan model pengembangan • Plan next pahse: Penentuanrencana-rencanauntuktahapanselanjutnya.
Tugas • Artikel: • Prototype software