Upload
doanhanh
View
230
Download
2
Embed Size (px)
Citation preview
PENGENALANPENGENALAN
PerancanganPerancangan PerangkatPerangkat LunakLunak(Software Engineering)(Software Engineering)
BertalyaBertalyaProgram Program PascasarjanaPascasarjanaUnivesitasUnivesitas GunadarmaGunadarma
PengenalanPengenalan 22
PerangkatPerangkat LunakLunak ((SoftwareSoftware))
MerupakanMerupakan program program aplikasiaplikasi berikutberikut dengandengandokumentasidokumentasi dandan data yang data yang dibutuhkandibutuhkan agar agar program program dapatdapat beroperasiberoperasi secarasecara benarbenarSoftware systemSoftware system terdiriterdiri atasatas : program2, file2, : program2, file2, dokumentasidokumentasi sistemsistem, , dokumentasidokumentasi penggunapengguna2 2 tipetipe produkproduk perangkatperangkat lunaklunak ::1. 1. genericgeneric; software stand; software stand--alone, alone, dibuatdibuat suatusuatu perusahaanperusahaan& & dijualdijual didi pasarpasar terbukaterbuka
CthCth : : wordprocessorwordprocessor, database, database2.2. customisedcustomised: : dibuatdibuat berdasarkanberdasarkan permintaanpermintaan klienklien
CthCth : : sistemsistem pengaturanpengaturan lalulintaslalulintas udaraudara
PengenalanPengenalan 33
KarakteristikKarakteristik PerangkatPerangkat LunakLunak yang yang BaikBaik
MaintainabilityMaintainability; ; perangkatperangkat lunaklunak dimungkinkandimungkinkan untukuntukberevolusiberevolusi sesuaisesuai kebutuhankebutuhan perubahanperubahan klienklienDependabilityDependability; ; mencakupmencakup reliabilityreliability, , securitysecurity & & safetysafetyPerangkatPerangkat lunaklunak tidaktidak mengalamimengalami kerugiankerugian fisikfisik & & ekonomiekonomi padapada saatsaat terjaditerjadi kerusakankerusakan sistemsistemEfficiencyEfficiency; ; perangkatperangkat lunaklunak tidaktidak borosboros dalamdalam mengmeng--gunakangunakan sumbersumber dayadaya sistemsistem, , sepertiseperti memory & memory & processorprocessorUsabilityUsability; ; perangkatperangkat lunaklunak harusharus bergunaberguna bagibagipenggunapengguna, , mempunyaimempunyai interface & interface & dokumentasidokumentasiyang yang sesuaisesuai dengandengan penggunapengguna
PengenalanPengenalan 44
Software EngineeringSoftware EngineeringMerupakanMerupakan disiplindisiplin ilmuilmu engineering engineering ygyg memperhatikanmemperhatikansemuasemua aspekaspek pembuatanpembuatan perangkatperangkat lunaklunak daridari tahaptahap awalawalspesifikasispesifikasi s.ds.d. . pemeliharaanpemeliharaan sistemsistem
PerbedaanPerbedaan software engineeringsoftware engineering dgndgn computer sciencecomputer scienceadalahadalah bahwabahwa computer sciencecomputer science lebihlebih memperhatikanmemperhatikan teoriteori& & metodemetode komputerisasikomputerisasi, , sedangkansedangkan software engineeringsoftware engineeringmenyangkutmenyangkut masalahmasalah praktikalpraktikal pembuatanpembuatan dandandeliverydelivery(pengiriman(pengiriman) ) perangkatperangkat lunaklunak
Software engineeringSoftware engineering merupakanmerupakan bagianbagian daridari system system engineeringengineering, , dimanadimana system engineeringsystem engineering memperhatikanmemperhatikansemuasemua aspekaspek pembuatanpembuatan sistemsistem berbasisberbasis komputerkomputer, , termasuktermasuk perangkatperangkat keraskeras, p. , p. lunaklunak & & prosesproses..
PengenalanPengenalan 55
BiayaBiaya & & MetodeMetode Software EngineeringSoftware Engineering
60 % 60 % terletakterletak padapada biayabiaya pembuatanpembuatan, , dandan 40 % 40 % padapada biayabiaya testing, testing, sedangkansedangkan padapada software software ygygcustomisedcustomised, , biayabiaya evolusievolusi lbhlbh besarbesar drpddrpd biayabiayapembuatanpembuatan
MetodeMetode software engineeringsoftware engineering merupakanmerupakanpendekatanpendekatan terstrukturterstruktur keke pembuatanpembuatan software software termasuktermasuk model model sistemsistem, , notasinotasi, , aturanaturan, , rekomendasirekomendasipembuatanpembuatan & & penuntunpenuntun prosesproses..ContohContoh ::
Structured AnalysisStructured AnalysisObjectObject--oriented Modeloriented ModelUnified Unified ModellingModelling LanguageLanguage (UML)(UML)
PengenalanPengenalan 66
PenyelesaianPenyelesaian MasalahMasalah
COMPUTER SCIENCE CUSTOMER
SOFTWAREENGINEERING
Theories ComputerFunctions
Problem
Tools and Techniques toSolve Problem
PengenalanPengenalan 77
ProsesProses PerangkatPerangkat LunakLunakMerupakanMerupakan sekumpulansekumpulan aktifitasaktifitas dandan hasil2 yang hasil2 yang bertujuanbertujuan membuatmembuat suatusuatu produkproduk perangkatperangkat lunaklunakAktifitas2nya al:Aktifitas2nya al:1. 1. Software specificationSoftware specification : : pendefinisianpendefinisian
fungsifungsi & & konstrainkonstrain pengoperasianpengoperasian per. per. lunaklunak2. 2. Software developmentSoftware development : : pembuatanpembuatan per. per. lunaklunak
sesuaisesuai spesifikasispesifikasi3. 3. Software validationSoftware validation: : validasivalidasi per. per. lunaklunak
untukuntuk menjaminmenjamin per. per. lunaklunak bekerjabekerja sesuaisesuaidengandengan keinginankeinginan klienklien
4. 4. Software evolutionSoftware evolution : per. : per. lunaklunak harusharus berevolusiberevolusisesuaisesuai dengandengan keinginankeinginan klienklien
PengenalanPengenalan 88
Model Model ProsesProses PerangkatPerangkat LunakLunakMerupakanMerupakan representasirepresentasi sederhanasederhana daridari prosesproses per. per. lunaklunak, , termasuktermasuk-- aktifitas2 aktifitas2 prosesproses per. per. lunaklunak-- perananperanan orang2 yang orang2 yang terlibatterlibat
Tipe2 model Tipe2 model prosesproses per. per. lunaklunak ::1. 1. workflow modelworkflow model : : menggambarkanmenggambarkan urutanurutan aktifitasaktifitas prosesproses
softwaresoftware2. 2. data flow modeldata flow model : : menggambarkanmenggambarkan aktifitasaktifitas yang yang
mentransformasikanmentransformasikan datadata3.3. role / action modelrole / action model : : menggambarkanmenggambarkan aktifitasaktifitas & & perananperanan
orang2 yang orang2 yang terlibatterlibat
PengenalanPengenalan 99
Model Model ProsesProses ((lanjlanj.).)Model2 Model2 prosesproses perangkatperangkat lunaklunak al:al:
WaterfallWaterfallTahapTahap spesifikasispesifikasi dandan pembuatanpembuatan yang yang terpisahterpisahEvolutionary developmentEvolutionary developmentTahapTahap spesifikasispesifikasi dandan pembuatanpembuatan yang yang disisipkandisisipkanFormal transformationFormal transformationModel Model sistemsistem matematismatematis ygyg ditransformasikanditransformasikan kekeimplementasiimplementasi..Integration from reusable componentsIntegration from reusable componentsSistemSistem dipadukandipadukan dengandengan komponen2 komponen2 ygyg adaada
PengenalanPengenalan 1010
Waterfall ModelWaterfall ModelRequirements
definition
System andsoftware design
Implementationand unit testing
Integration andsystem testing
Operation andmaintenance
PengenalanPengenalan 1111
MasalahMasalah Yang Yang DihadapiDihadapi
KebutuhanKebutuhan klienklien selaluselalu berubah2, berubah2, perluperlu dilakukandilakukanpengulanganpengulangan padapada tahaptahap sebelumnyasebelumnyaMakaMaka, model , model iniini hanyahanya sesuaisesuai dengandengan kebutuhankebutuhanyang yang dapatdapat dipahamidipahami dengandengan baikbaik
PengenalanPengenalan 1212
Evolutionary developmentEvolutionary development
ValidationFinal
version
DevelopmentIntermediate
versions
SpecificationInitial
version
Outlinedescription
Concurrentactivities
PengenalanPengenalan 1313
Evolutionary DevelopmentEvolutionary Development
MasalahMasalahProsesProses tidaktidak terlihatterlihat jelasjelasSistemSistem tidaktidak terstrukturterstrukturDibutuhkanDibutuhkan keahliankeahlian khususkhusus ((dalamdalam pembuatanpembuatanprototype)prototype)
DapatDapat diaplikasikandiaplikasikan padapadaSistemSistem interaktifinteraktif ygyg kecilkecil atauatau mediummediumBagianBagian kecilkecil daridari sistemsistem ygyg besarbesar ((mismis. . antarmukaantarmukauntukuntuk penggunapengguna))ShortShort--lifetime systemslifetime systems
PengenalanPengenalan 1414
Formal Systems DevelopmentFormal Systems Development
DidasarkanDidasarkan padapada transformasitransformasi spesifikasispesifikasi secarasecaramatematismatematis keke programprogram
PengenalanPengenalan 1515
Formal SystemsFormal Systems
Requirementsdefinition
Formalspecification
Formaltransformation
Integration andsystem testing
PengenalanPengenalan 1616
Formal TransformationsFormal Transformations
R2Formal
specificationR3
Executableprogram
P2 P3 P4
T1 T2 T3 T4
Proofs of transformation correctness
Formal transformations
R1
P1
PengenalanPengenalan 1717
Formal Systems DevelopmentFormal Systems Development
MasalahMasalahDibutuhkanDibutuhkan pelatihanpelatihan dandan keahliankeahlian khususkhususSulitSulit menspesifikasikanmenspesifikasikan secarasecara formal formal beberapabeberapaaspekaspek sistemsistem sep, sep, antarmukaantarmuka penggunapengguna
DapatDapat diaplikasikandiaplikasikanSistemSistem kritiskritis dimanadimana diperlukandiperlukan aspekaspek keamanankeamanansebelumsebelum sistemsistem dioperasikandioperasikan
PengenalanPengenalan 1818
ReuseReuse--oriented Developmentoriented Development
DidasarkanDidasarkan padapada penggunaanpenggunaan sistemsistem kembalikembalisecarasecara sistematissistematis, , dimanadimana sistemsistem diintegrasikandiintegrasikandaridari komponen2 komponen2 ygyg adaada atauatau sistemsistem COTS COTS ((CommercialCommercial--offoff--thethe--shelfshelf))PenggunaanPenggunaan sistemsistem iniini masihmasih terbatasterbatas
PengenalanPengenalan 1919
ReuseReuse--oriented Developmentoriented Development
Requirementsspecification
Componentanalysis
Developmentand integration
System designwith reuse
Requirementsmodification
Systemvalidation
PengenalanPengenalan 2020
ProsesProses IterasiIterasi
KebutuhanKebutuhan daridari sistemsistem selaluselalu berubah2 berubah2 atauatauberevolusiberevolusi sehinggasehingga iterasiiterasi prosesproses daridari tahaptahapsebelumnyasebelumnya diperlukandiperlukanIterasiIterasi dapatdapat diaplikasikandiaplikasikan padapada model model prosesproses ygyggeneralgeneralDuaDua pendekatanpendekatan
Incremental developmentIncremental developmentSpiral developmentSpiral development
PengenalanPengenalan 2121
Incremental DevelopmentIncremental Development
ProsesProses pembuatanpembuatan dandan pengirimanpengiriman dibagi2 dibagi2 menjadimenjadi prosesproses penambahanpenambahan sebagaisebagai bagianbagianfungsionalitasfungsionalitas yang yang dibutuhkandibutuhkanKebutuhanKebutuhan penggunapengguna menjadimenjadi prioritasprioritas. . KebutuhanKebutuhan dgndgn prioritasprioritas tertinggitertinggi dimasukkandimasukkansebagaisebagai penambahanpenambahan didi awalawal prosesprosesPenambahan2 Penambahan2 iniini akanakan terusterus berlanjutberlanjut dandanberevolusiberevolusi
PengenalanPengenalan 2222
Incremental DevelopmentIncremental Development
Validateincrement
Develop systemincrement
Design systemarchitecture
Integrateincrement
Validatesystem
Define outline requirements
Assign requirements to increments
System incomplete
Finalsystem
PengenalanPengenalan 2323
KelebihanKelebihan : : Incremental DevelopmentIncremental Development
FungsionalitasFungsionalitas sistemsistem selaluselalu tersediatersedia cepatcepatPenambahanPenambahan terakhirterakhir dianggapdianggap sebagaisebagai prototype prototype ygyg dapatdapat digunakandigunakan utkutk menentukanmenentukan kebutuhan2 kebutuhan2 padapada penambahanpenambahan berikutnyberikutnyResikoResiko terhadapterhadap kesalahankesalahan proyekproyek secarasecara global global kecilkecilPerluPerlu pengujianpengujian terusterus menerusmenerus
PengenalanPengenalan 2424
Spiral DevelopmentSpiral Development
ProsesProses digambarkandigambarkan dalamdalam bentukbentuk spiral spiral dimanadimanasetiapsetiap loop loop menggambarkanmenggambarkan tahaptahap pemrosesanpemrosesanTidakTidak adaada tahaptahap ygyg fiksfiks, , tetapitetapi bergantungbergantung padapada apaapayang yang dibutuhkandibutuhkanResikoResiko ygyg ditemukanditemukan diselesaikandiselesaikan selamaselama prosesproses
PengenalanPengenalan 2525
Spiral ModelSpiral Model
Riskanalysis
Riskanalysis
Riskanalysis
Riskanalysis Proto-
type 1
Prototype 2
Prototype 3Opera-tionalprotoype
Concept ofOperation
Simulations, models, benchmarks
S/Wrequirements
Requirementvalidation
DesignV&V
Productdesign Detailed
design
CodeUnit test
IntegrationtestAcceptance
testService Develop, verifynext-level product
Evaluate alternativesidentify, resolve risks
Determine objectivesalternatives and
constraints
Plan next phase
Integrationand test plan
Developmentplan
Requirements planLife-cycle plan
REVIEW
PengenalanPengenalan 2626
PenspesifikasianPenspesifikasian PerangkatPerangkat LunakLunak
ProsesProses untukuntuk menentukanmenentukan layananlayanan dandan batasanbatasanyang yang dibutuhkandibutuhkan dalamdalam pengoperasianpengoperasian dandanpembuatanpembuatan sistemsistemProsesProses ::
StudiStudi kelayakankelayakanAnalisisAnalisis kebutuhkankebutuhkanSpesifikasiSpesifikasi kebutuhankebutuhanValidasiValidasi kebutuhankebutuhan
PengenalanPengenalan 2727
ProsesProses PenspesifikasiPenspesifikasi KebutuhanKebutuhan
Feasibilitystudy
Requirementselicitation and
analysisRequirementsspecification
Requirementsvalidation
Feasibilityreport
Systemmodels
User and systemrequirements
Requirementsdocument
PengenalanPengenalan 2828
DesainDesain & & ImplementasiImplementasi PerangkatPerangkat LunakLunak
ProsesProses konversikonversi spesifikasispesifikasi sistemsistem keke sistemsistem yang yang akanakan dijalankandijalankanDesainDesain per. per. lunaklunak
DesainDesain strukturstruktur per. per. lunaklunak berdasarkanberdasarkanspesifikasispesifikasi
ImplementasiImplementasiMenterjemahkanMenterjemahkan strukturstruktur keke dalamdalam programprogram
PengenalanPengenalan 2929
AktifitasAktifitas DesainDesain
DesainDesain arsitekturalarsitekturalSpesifikasiSpesifikasi abstrakabstrakDesainDesain antarmukaantarmuka penggunapenggunaDesainDesain komponenkomponenDesainDesain strukturstruktur datadataDesainDesain algoritmaalgoritma
PengenalanPengenalan 3030
ProsesProses DesainDesain
Architecturaldesign
Abstractspecification
Interfacedesign
Componentdesign
Datastructuredesign
Algorithmdesign
Systemarchitecture
Softwarespecification
Interfacespecification
Componentspecification
Datastructure
specification
Algorithmspecification
Requirementsspecification
Design activities
Design products
PengenalanPengenalan 3131
MetodeMetode DesainDesain
PendekatanPendekatan sistematissistematis untukuntuk melakukanmelakukan desaindesainperangkatperangkat lunaklunakDesainDesain didokumentasikandidokumentasikan sebagaisebagai kumpulankumpulanmodel2 model2 grafisgrafisModel2 al:Model2 al:
DataData--flow modelflow modelEntityEntity--relationrelation--attribute modelattribute modelStructural modelStructural modelObject modelsObject models
PengenalanPengenalan 3232
PemrogramanPemrograman
MenterjemahkanMenterjemahkan desaindesain keke dalamdalam programprogramPemrogramPemrogram harusharus melakukanmelakukan pengujianpengujian program program untukuntuk menanganimenangani kesalahan2 kesalahan2 ygyg timbultimbul dalamdalamprogramprogram
PengenalanPengenalan 3333
ProsesProses DebuggingDebugging
Locateerror
Designerror repair
Repairerror
Re-testprogram
PengenalanPengenalan 3434
ProsesProses PengujianPengujian
Sub-systemtesting
Moduletesting
Unittesting
Systemtesting
Acceptancetesting
Componenttesting
Integration testing Usertesting
PengenalanPengenalan 3535
Tahap2 Tahap2 PengujianPengujian
Requirementsspecification
Systemspecification
Systemdesign
Detaileddesign
Module andunit codeand tess
Sub-systemintegrationtest plan
Systemintegrationtest plan
Acceptancetest plan
Service Acceptancetest
Systemintegration test
Sub-systemintegration test