REKAYASA PERANGKAT LUNAK (RPL)di perpustakaan dgn memasukkan sebuah kata kunci . ( f) Sistem tidak...
Transcript of REKAYASA PERANGKAT LUNAK (RPL)di perpustakaan dgn memasukkan sebuah kata kunci . ( f) Sistem tidak...
REKAYASA PERANGKAT REKAYASA PERANGKAT
LUNAK (RPL)LUNAK (RPL)
AnalisisAnalisis KebutuhanKebutuhan
PerangkatPerangkat LunakLunak
Bahan Kuliah RPL Bahan Kuliah RPL -- Analisis Kebutuhan PL / Tri Astoto K.,ST.MTAnalisis Kebutuhan PL / Tri Astoto K.,ST.MT 22/43/43
Anonymous CustomerAnonymous Customer
““I know you believe you understood what you I know you believe you understood what you
think I said, but I am not sure you realize that think I said, but I am not sure you realize that
what you heard is not what I meant . . . . .what you heard is not what I meant . . . . .””
Bahan Kuliah RPL Bahan Kuliah RPL -- Analisis Kebutuhan PL / Tri Astoto K.,ST.MTAnalisis Kebutuhan PL / Tri Astoto K.,ST.MT 33/43/43
CommunicationCommunication
Bahan Kuliah RPL Bahan Kuliah RPL -- Analisis Kebutuhan PL / Tri Astoto K.,ST.MTAnalisis Kebutuhan PL / Tri Astoto K.,ST.MT 44/43/43
PendahuluanPendahuluan
RelevansiRelevansi PerkuliahanPerkuliahan ::
–– Banyak terjadi kasus bahwa perangkat lunak yang Banyak terjadi kasus bahwa perangkat lunak yang
sudah jadi tidak sesuai dengan apa yang dibutuhkan sudah jadi tidak sesuai dengan apa yang dibutuhkan
oleh oleh customercustomer
–– DenganDengan melakukanmelakukan analisisanalisis kebutuhankebutuhan perangkatperangkat
lunaklunak makamaka diharapkandiharapkan PL PL dikembangkandikembangkan
berdasarkanberdasarkan apaapa--apaapa yang yang dibutuhkandibutuhkan oleholeh customercustomer
TujuanTujuan InstruksionalInstruksional KhususKhusus ::
Mahasiswa akan dapat menjabarkan pengertian dan Mahasiswa akan dapat menjabarkan pengertian dan
metodemetode--metode analisis kebutuhan perangkat lunakmetode analisis kebutuhan perangkat lunak
Bahan Kuliah RPL Bahan Kuliah RPL -- Analisis Kebutuhan PL / Tri Astoto K.,ST.MTAnalisis Kebutuhan PL / Tri Astoto K.,ST.MT 55/43/43
Agenda Agenda PembahasanPembahasan
PendahuluanPendahuluan
PengertianPengertian AnalisisAnalisis KebutuhanKebutuhan dandan KebutuhanKebutuhan
UrgensiUrgensi dandan FungsiFungsi AnalisisAnalisis KebutuhanKebutuhan
ProblemProblem
ProsesProses
MetodeMetode
AlatAlat Bantu Bantu dandan DokumentasiDokumentasi
Bahan Kuliah RPL Bahan Kuliah RPL -- Analisis Kebutuhan PL / Tri Astoto K.,ST.MTAnalisis Kebutuhan PL / Tri Astoto K.,ST.MT 66/43/43
PengertianPengertian: : S/W Req. Analysis (SRA)S/W Req. Analysis (SRA)
AktifitasAktifitas RPL yang RPL yang menjembatanimenjembatani antaraantara
kebutuhankebutuhan didi tingkattingkat sistemsistem dandan perancanganperancangan
perangkatperangkat lunaklunak ((Roger S. PressmanRoger S. Pressman))
ProsesProses yang yang digunakandigunakan untukuntuk mendapatkanmendapatkan, ,
menganalisismenganalisis, , dandan memvalidasimemvalidasi kebutuhankebutuhan--
kebutuhankebutuhan sistemsistem ((Ian Ian SommervilleSommerville))
Bahan Kuliah RPL Bahan Kuliah RPL -- Analisis Kebutuhan PL / Tri Astoto K.,ST.MTAnalisis Kebutuhan PL / Tri Astoto K.,ST.MT 77/43/43
PengertianPengertian: : RequirementRequirement
SuatuSuatu kondisikondisi atauatau kemampuankemampuan yang yang dibutuhkandibutuhkan
oleholeh penggunapengguna untukuntuk menyelesaikanmenyelesaikan permasalahanpermasalahan
atauatau untukuntuk mencapaimencapai sebuahsebuah tujuantujuan ((IEEEIEEE))
SebuahSebuah kondisikondisi atauatau kemampuankemampuan yang yang harusharus
dipenuhidipenuhi atauatau dimilikidimiliki oleholeh sebuahsebuah sistemsistem……untukuntuk
memenuhimemenuhi sebuahsebuah kontrakkontrak, standard, , standard, spesifikasispesifikasi, ,
atauatau dokumen2 formal dokumen2 formal lainnyalainnya ((IEEEIEEE))
SetiapSetiap fungsifungsi, , batasanbatasan, , atauatau propertiproperti lainnyalainnya yang yang
harusharus disediakandisediakan, , dimilikidimiliki atauatau dipenuhidipenuhi untukuntuk
mencapaimencapai kebutuhankebutuhan daridari sistemsistem yang yang dimaksudkandimaksudkan
oleholeh penggunapengguna ((R. J. AbbottR. J. Abbott))
Bahan Kuliah RPL Bahan Kuliah RPL -- Analisis Kebutuhan PL / Tri Astoto K.,ST.MTAnalisis Kebutuhan PL / Tri Astoto K.,ST.MT 88/43/43
UrgensiUrgensi & & FungsiFungsi
If you donIf you don’’t analyze, itt analyze, it’’s highly likely that yous highly likely that you’’ll build a ll build a
very elegant software solution that solves the wrong very elegant software solution that solves the wrong
problem. The result is wasted time and money, problem. The result is wasted time and money,
personal frustrationpersonal frustration, and unhappy customers, and unhappy customers
((Roger S. PressmanRoger S. Pressman))
KegunaanKegunaan hasilhasil analisisanalisis kebutuhankebutuhan::
–– UntukUntuk mencapaimencapai kesepakatankesepakatan antaraantara developerdeveloper, , customercustomer
dandan penggunapengguna akhirakhir akanakan kebutuhankebutuhan yang yang harusharus dipenuhidipenuhi
–– UntukUntuk menyediakanmenyediakan dasardasar yang yang akuratakurat bagibagi perancanganperancangan
perangkatperangkat lunaklunak
–– UntukUntuk menyediakanmenyediakan referensireferensi bagibagi dilakukannyadilakukannya validasivalidasi PLPL
Bahan Kuliah RPL Bahan Kuliah RPL -- Analisis Kebutuhan PL / Tri Astoto K.,ST.MTAnalisis Kebutuhan PL / Tri Astoto K.,ST.MT 99/43/43
ProblemProblem
StakeholderStakeholder ((endend--user, user, manajermanajer, maintenance engineer, maintenance engineer, ,
policy makerpolicy maker) ) tidaktidak tahutahu persispersis apaapa yang yang sesungguhnyasesungguhnya
merekamereka inginkaninginkan
StakeholderStakeholder menyatakanmenyatakan kebutuhannyakebutuhannya dalamdalam bahasabahasa
yang yang dipahamidipahami oleholeh merekamereka sendirisendiri
StakeholderStakeholder yang yang berbedaberbeda mungkinmungkin memilikimemiliki kebutuhankebutuhan
yang yang salingsaling bertentanganbertentangan
KebutuhanKebutuhan mungkinmungkin berubahberubah padapada saatsaat dilakukandilakukan
analisisanalisis. . StakeholderStakeholder barubaru yang yang bergabungbergabung mungkinmungkin
merubahmerubah dandan lingkunganlingkungan bisnisbisnis mengalamimengalami perubahanperubahan
PertentanganPertentangan antaraantara unjukunjuk kerjakerja ((performanceperformance) ) dandan
kemudahankemudahan ((simplicitysimplicity) ) dalamdalam mencapaimencapai tujuantujuan
Bahan Kuliah RPL Bahan Kuliah RPL -- Analisis Kebutuhan PL / Tri Astoto K.,ST.MTAnalisis Kebutuhan PL / Tri Astoto K.,ST.MT 1010/43/43
ProsesProses
PenggalianPenggalian dandan analisisanalisis kebutuhankebutuhan ((s/ws/w req. req.
elicitation and analysiselicitation and analysis))
SpesifikasiSpesifikasi kebutuhankebutuhan ((s/ws/w req. specificationreq. specification))
ValidasiValidasi kebutuhankebutuhan ((s/ws/w req. validationreq. validation))
ManajemenManajemen kebutuhankebutuhan ((s/ws/w req. managementreq. management))
Karakteristik
operasional P/L Interface P/L Batasan P/L
Bahan Kuliah RPL Bahan Kuliah RPL -- Analisis Kebutuhan PL / Tri Astoto K.,ST.MTAnalisis Kebutuhan PL / Tri Astoto K.,ST.MT 1111/43/43
ProsesProses : : ElisitasiElisitasi dandan AnalisisAnalisis
DeveloperDeveloper harusharus memahamimemahami domain domain
permasalahanpermasalahan
DeveloperDeveloper dandan stakeholderstakeholder menggalimenggali domain domain
aplikasiaplikasi, , layananlayanan--layananlayanan sistemsistem yang yang harusharus
disediakandisediakan, , unjukunjuk kerjakerja sistemsistem yang yang diperlukandiperlukan, ,
batasanbatasan--batasanbatasan perangkatperangkat keraskeras dandan sejenisnyasejenisnya
FokusFokus padapada A P A (A P A (WHATWHAT) ) dandan B U K A NB U K A N
bagaimanabagaimana ((HOWHOW))
Via Via interviewinterview atauatau meeting meeting �� communicationcommunication
Bahan Kuliah RPL Bahan Kuliah RPL -- Analisis Kebutuhan PL / Tri Astoto K.,ST.MTAnalisis Kebutuhan PL / Tri Astoto K.,ST.MT 1212/43/43
ProsesProses : : ElisitasiElisitasi dandan AnalisisAnalisis
TipeTipe kebutuhankebutuhan ((D. T. Ross & K. F. D. T. Ross & K. F. SchomanSchoman) :) :
–– FungsionalFungsional ((functionalfunctional)) �� fungsi/kapabilitasfungsi/kapabilitas yang yang
harusharus mampumampu dijalankandijalankan oleholeh sistemsistem
–– Non Non fungsionalfungsional ((nonnon--functionalfunctional)) �� performanceperformance, ,
reliabilityreliability, , securitysecurity, , availabilityavailability, , constraintsconstraints, , dlldll..
–– InversiInversi ((inverseinverse) ) �� apaapa--apaapa yang yang harusharus tidaktidak
bolehboleh dilakukandilakukan sistemsistem
–– BatasanBatasan perancanganperancangan & & implementasiimplementasi ((design & design &
implementation constraintsimplementation constraints))
Bahan Kuliah RPL Bahan Kuliah RPL -- Analisis Kebutuhan PL / Tri Astoto K.,ST.MTAnalisis Kebutuhan PL / Tri Astoto K.,ST.MT 1313/43/43
ProsesProses : : ElisitasiElisitasi dandan AnalisisAnalisis
SumberSumber--sumbersumber kebutuhankebutuhan ::
Relatively
high
Relatively
low
Approximate % of requirements
gathered from people
Type of
application
highly
constrainedmissile guidance system
flight control system for airliner
enhancement to corporate accounting system
manufacturing control system
corporate accounting system
encounter video game
decision support system
unconstrained
Bahan Kuliah RPL Bahan Kuliah RPL -- Analisis Kebutuhan PL / Tri Astoto K.,ST.MTAnalisis Kebutuhan PL / Tri Astoto K.,ST.MT 1414/43/43
ProsesProses : : ElisitasiElisitasi dandan AnalisisAnalisis
Domain
understanding
Requirements
checking
Requirements
collection
Classification
Prioritisation
Conflict
resolution
Requirements
definition
Requirements
specification
Bahan Kuliah RPL Bahan Kuliah RPL -- Analisis Kebutuhan PL / Tri Astoto K.,ST.MTAnalisis Kebutuhan PL / Tri Astoto K.,ST.MT 1515/43/43
ProsesProses : : ElisitasiElisitasi dandan AnalisisAnalisis ((ContohContoh))
PerangkatPerangkat lunaklunak harusharus mampumampu menyediakanmenyediakan saranasaranauntukuntuk menampilkanmenampilkan dandan mengaksesmengakses filefile--file yang file yang dibuatdibuatoleholeh tooltool yang lain. (yang lain. (ff))
PenggunaPengguna harusharus dapatdapat mencarimencari buku/dokumen/literaturbuku/dokumen/literaturdidi perpustakaanperpustakaan dgndgn memasukkanmemasukkan sebuahsebuah katakata kuncikunci. (. (ff))
SistemSistem tidaktidak bolehboleh dioperasikandioperasikan oleholeh penggunapengguna yang yang tidaktidak memilikimemiliki otoritasotoritas. (. (ii))
SistemSistem harusharus menyediakanmenyediakan GUIGUI sehinggasehingga dapatdapatdigunakandigunakan secarasecara mudahmudah oleholeh penggunapengguna yang yang belumbelumberpengalamanberpengalaman. (. (nn--ff))
SistemSistem harusharus bisabisa memanfaatkanmemanfaatkan databasedatabase yang yang sudahsudahadaada. (. (dd--cc))
Sistem harus diimplementasikan dgn bahasa Java. (Sistem harus diimplementasikan dgn bahasa Java. (ii--cc))
Bahan Kuliah RPL Bahan Kuliah RPL -- Analisis Kebutuhan PL / Tri Astoto K.,ST.MTAnalisis Kebutuhan PL / Tri Astoto K.,ST.MT 1616/43/43
ProsesProses : : SpesifikasiSpesifikasi
ProsesProses untukuntuk menjelaskanmenjelaskan kebutuhankebutuhan P/L yang P/L yang telahtelahdidefinisikandidefinisikan sebelumnyasebelumnya secarasecara lebihlebih detildetil dandan tepattepatyang yang akanakan menjadimenjadi dasardasar bagibagi perancanganperancangan dandanimplementasiimplementasi
DefinisiDefinisi kebutuhankebutuhan ((req. definitionreq. definition) :) :1.1. P/L P/L harusharus mampumampu menyediakanmenyediakan saranasarana untukuntuk menampilkanmenampilkan
dandan mengaksesmengakses filefile--file yang file yang dibuatdibuat oleholeh tool yang lain. tool yang lain. (SRS_PRJ_100)(SRS_PRJ_100)
SpesifikasiSpesifikasi kebutuhankebutuhan ((req. specificationreq. specification) :) :1.11.1 PenggunaPengguna harusharus disediakandisediakan fasilitasfasilitas untukuntuk mendefinisikanmendefinisikan
tipetipe file. (SRS_PRJ_101)file. (SRS_PRJ_101)
1.21.2 SetiapSetiap tipetipe file file direpresentasikandirepresentasikan dengandengan ikonikon tertentutertentu padapadalayarlayar penggunapengguna. (SRS_PRJ_102). (SRS_PRJ_102)
Bahan Kuliah RPL Bahan Kuliah RPL -- Analisis Kebutuhan PL / Tri Astoto K.,ST.MTAnalisis Kebutuhan PL / Tri Astoto K.,ST.MT 1717/43/43
ProsesProses : : ValidasiValidasi (+ (+ VerifikasiVerifikasi))
ProsesProses pengecekanpengecekan untukuntuk menjaminmenjamin bahwabahwa pernyataanpernyataankebutuhankebutuhan yang yang telahtelah didefinisikandidefinisikan dandan dispesifikasikandispesifikasikanadalahadalah benarbenar, , akuratakurat dandan lengkaplengkap
Dilakukan bersamaDilakukan bersama--sama antara kustomer dan sama antara kustomer dan developerdeveloper
SangatSangat pentingpenting dilakukandilakukan karenakarena kesalahankesalahan didi dalamdalammenentukanmenentukan kebutuhankebutuhan akanakan berdampakberdampak padapadakeseluruhankeseluruhan prosesproses yang yang mengikutinyamengikutinya
ValidasiValidasi : : do we make the right product do we make the right product …….. ?.. ?
VerifikasiVerifikasi :: do we make the product right do we make the product right …….. ?.. ?
TeknikTeknik ::
–– ReviewReview : : Software Specification Review (SSR)Software Specification Review (SSR)
–– PrototypingPrototyping : : executable model of the system/softwareexecutable model of the system/software
Bahan Kuliah RPL Bahan Kuliah RPL -- Analisis Kebutuhan PL / Tri Astoto K.,ST.MTAnalisis Kebutuhan PL / Tri Astoto K.,ST.MT 1818/43/43
ProsesProses : : ValidasiValidasi (+ (+ VerifikasiVerifikasi))
Parameter Parameter validasivalidasi ::
–– ValidityValidity �� does the system provide the functions which does the system provide the functions which
best support the customerbest support the customer’’s needs ?s needs ?
–– ConsistencyConsistency �� are there any requirements conflicts ?are there any requirements conflicts ?
–– ComprehensibilityComprehensibility �� are all functions required by the are all functions required by the
customer included ?customer included ?
Parameter Parameter verifikasiverifikasi ::
–– ReadabilityReadability
–– TestabilityTestability
–– CompletenessCompleteness
–– IdentifiabilityIdentifiability
–– AmbiguityAmbiguity
Bahan Kuliah RPL Bahan Kuliah RPL -- Analisis Kebutuhan PL / Tri Astoto K.,ST.MTAnalisis Kebutuhan PL / Tri Astoto K.,ST.MT 1919/43/43
ProsesProses : : ManajemenManajemen KebutuhanKebutuhan
Aktifitas untuk melakukan kontrol terhadap Aktifitas untuk melakukan kontrol terhadap
kebutuhan yang sedang maupun telah didefinisikan :kebutuhan yang sedang maupun telah didefinisikan :
–– IdentifikasiIdentifikasi �� bagaimanabagaimana setiapsetiap kebutuhankebutuhan dapatdapat
diidentifikasidiidentifikasi dengandengan mudahmudah (Cont. : SRS_PRJ_XXX, (Cont. : SRS_PRJ_XXX,
IRS_PRJ_XXX)IRS_PRJ_XXX)
–– ManajemenManajemen perubahanperubahan �� bagaimanabagaimana mekanismemekanisme
untukuntuk menanganimenangani perubahanperubahan kebutuhankebutuhan yang yang terjaditerjadi
–– DokumentasiDokumentasi �� SRS SRS dandan IRS IRS sebagaisebagai deliverable, deliverable,
ECP, PCRECP, PCR
–– TrackingTracking �� penelusuranpenelusuran informasiinformasi yang yang berhubunganberhubungan
dengandengan sebuahsebuah kebutuhankebutuhan ((sumber/asalsumber/asal, , alokasialokasi keke
perancanganperancangan))
Bahan Kuliah RPL Bahan Kuliah RPL -- Analisis Kebutuhan PL / Tri Astoto K.,ST.MTAnalisis Kebutuhan PL / Tri Astoto K.,ST.MT 2020/43/43
MetodeMetode : : PemodelanPemodelan
Bagian dari proses elisitasi/analisis dan spesifikasi Bagian dari proses elisitasi/analisis dan spesifikasi
kebutuhankebutuhan
MengapaMengapa ::
–– MemudahkanMemudahkan memahamimemahami dandan menganalisismenganalisis kebutuhankebutuhan
–– IdentifikasiIdentifikasi potensipotensi masalahmasalah lebihlebih awalawal
Model Model ygyg baikbaik ::
–– MengurangiMengurangi kompleksitaskompleksitas
–– MemfasilitasiMemfasilitasi penjelasanpenjelasan daridari permasalahanpermasalahan ygyg komplekskompleks
–– TidakTidak mahalmahal dandan mudahmudah untukuntuk modifikasimodifikasi
Structured Analysis Structured Analysis dandan Object Oriented AnalysisObject Oriented Analysis
Bahan Kuliah RPL Bahan Kuliah RPL -- Analisis Kebutuhan PL / Tri Astoto K.,ST.MTAnalisis Kebutuhan PL / Tri Astoto K.,ST.MT 2121/43/43
MetodeMetode : : Structured AnalysisStructured Analysis
PertamaPertama kali kali dipopulerkandipopulerkan oleholeh T. T. DeMarcoDeMarco
(1979) (1979) �� Structured Analysis and System Structured Analysis and System
SpecificationSpecification
PerluasanPerluasan notasinotasi untukuntuk kebutuhankebutuhan realreal--time time
systems systems oleholeh HatleyHatley dandan PirbhaiPirbhai (1987) (1987) –– SA/RT SA/RT
�� Strategies for RealStrategies for Real--Time System SpecificationTime System Specification
Processes
Data Behavior
Bahan Kuliah RPL Bahan Kuliah RPL -- Analisis Kebutuhan PL / Tri Astoto K.,ST.MTAnalisis Kebutuhan PL / Tri Astoto K.,ST.MT 2222/43/43
MetodeMetode : : Structured AnalysisStructured Analysis
ElemenElemen--elemenelemen ::
Data Dictionary
Data Flow Diagram (DFD)
ER Diagram
State Transition Diagram (STD)
Process Specification (PSPEC)
Data Object Description
Control Specification (CSPEC)
Bahan Kuliah RPL Bahan Kuliah RPL -- Analisis Kebutuhan PL / Tri Astoto K.,ST.MTAnalisis Kebutuhan PL / Tri Astoto K.,ST.MT 2323/43/43
MetodeMetode : : Structured AnalysisStructured Analysis
ER Diagram :ER Diagram :
–– EntitasEntitas
–– ModalitasModalitas : : tingkattingkat mandatorymandatory
–– KardinalitasKardinalitas : : tingkattingkat relasirelasi
–– BentukBentuk relasirelasi
Manufacturer CarBuilds
Data Flow Diagram (DFD) :Data Flow Diagram (DFD) :
–– DFD level 0 : DFD level 0 : Context DiagramContext Diagram
–– DFD level 1, DFD level 1, dstdst. : breakdown . : breakdown detildetil, , konsistensikonsistensi
–– Terminator, process, data flow, control flow, memory/storage, Terminator, process, data flow, control flow, memory/storage,
control barcontrol bar
Bahan Kuliah RPL Bahan Kuliah RPL -- Analisis Kebutuhan PL / Tri Astoto K.,ST.MTAnalisis Kebutuhan PL / Tri Astoto K.,ST.MT 2424/43/43
MetodeMetode : : Structured AnalysisStructured Analysis
ContohContoh Data/Control Context Diagram Data/Control Context Diagram
(DCD/CCD)(DCD/CCD)
Vendproduct
Customer
returned coins
0*
Customer
product
object
customer
selection
slug
coin return
request product
available
Bahan Kuliah RPL Bahan Kuliah RPL -- Analisis Kebutuhan PL / Tri Astoto K.,ST.MTAnalisis Kebutuhan PL / Tri Astoto K.,ST.MT 2525/43/43
MetodeMetode : : Structured AnalysisStructured Analysis
ContohContoh Data/Control Flow Diagram (DFD/CFD Data/Control Flow Diagram (DFD/CFD
level 1)level 1)
1*
Get
customer
payment
2p
Get
product
price
3p
Validate
payment
4p
Get valid
selection
5*
Dispense
change
6p
Dispense
product
price table
coins
products
returned coins
product
object
customer
selection
slug
coin return
request
payment
price
valid selection
change due
valid selection
coin detectedsufficient
payment
product
dispensed
product
available
product
available
Bahan Kuliah RPL Bahan Kuliah RPL -- Analisis Kebutuhan PL / Tri Astoto K.,ST.MTAnalisis Kebutuhan PL / Tri Astoto K.,ST.MT 2626/43/43
MetodeMetode : : Structured AnalysisStructured Analysis
PSPEC PSPEC –– Validate payment (Process 3)Validate payment (Process 3)
Inputs : payment (data in)
price (data in)
Outputs : change due (data out)
sufficient payment (control out)
Body :
IF payment >= price THEN
change due = payment – price
sufficient payment = TRUE
ELSE
change due = 0
sufficient payment = FALSE
END IF
Bahan Kuliah RPL Bahan Kuliah RPL -- Analisis Kebutuhan PL / Tri Astoto K.,ST.MTAnalisis Kebutuhan PL / Tri Astoto K.,ST.MT 2727/43/43
MetodeMetode : : Structured AnalysisStructured Analysis
Data/Control Flow Diagram (DFD/CFD level 2) : Data/Control Flow Diagram (DFD/CFD level 2) :
Dispense changeDispense change
5.1p
Get change
coin
coin return
request
5.2p
Get
payment
coin
product
availablechange due
coins
payment
payment coins
change coins returned coins
Bahan Kuliah RPL Bahan Kuliah RPL -- Analisis Kebutuhan PL / Tri Astoto K.,ST.MTAnalisis Kebutuhan PL / Tri Astoto K.,ST.MT 2828/43/43
MetodeMetode : : Structured AnalysisStructured Analysis
CSPECCSPEC –– Dispense change : Process Activation TableDispense change : Process Activation Table
1100FALSEFALSED/CD/C
0011TRUETRUETRUETRUE
get get
payment payment
coincoin
get change get change
coincoinproduct product
availableavailablecoin return coin return
requestrequest
Bahan Kuliah RPL Bahan Kuliah RPL -- Analisis Kebutuhan PL / Tri Astoto K.,ST.MTAnalisis Kebutuhan PL / Tri Astoto K.,ST.MT 2929/43/43
MetodeMetode : : Structured AnalysisStructured Analysis
State Transition Diagram (STD)State Transition Diagram (STD)
Waiting for a coin
Waiting for selection
Dispensing product
Returning payment
initial
accept new coin
payment returned
accept new coincoin detected
accept customer
requestproduct dispensed
accept new coin
sufficient payment
dispense product
product
available=FALSE
return payment
coin return request
return payment
Bahan Kuliah RPL Bahan Kuliah RPL -- Analisis Kebutuhan PL / Tri Astoto K.,ST.MTAnalisis Kebutuhan PL / Tri Astoto K.,ST.MT 3030/43/43
MetodeMetode : : Structured AnalysisStructured Analysis
Data DictionaryData DictionaryRepresentasi Simbol :
= : composed of + : and
{ } : iterations of [….|…] : selection / or
( ) : optional “ “ : literal
* * : comment/description
Vend product (partly) :
Name Element Type
object [coin | slug](product) data
product [ice cream | coffee | candy] data
coins 0{[quarter | nickel | dime]}8 data
product available [TRUE | FALSE] control
[“YES” | “NO”]
quarter *25 cents US currency*
coin return request [TRUE | FALSE] control
Bahan Kuliah RPL Bahan Kuliah RPL -- Analisis Kebutuhan PL / Tri Astoto K.,ST.MTAnalisis Kebutuhan PL / Tri Astoto K.,ST.MT 3131/43/43
MetodeMetode : : Structured AnalysisStructured Analysis
BeberapaBeberapa panduanpanduan pemodelanpemodelan ::
–– JumlahJumlah prosesproses dalamdalam satusatu diagram DFD : 4 diagram DFD : 4 ++ 22
–– MaksMaks. 4 level . 4 level dekomposisidekomposisi (DFD/CFD)(DFD/CFD)
–– DekomposisiDekomposisi fungsionalfungsional (DFD) :(DFD) :
fungsifungsi--fungsifungsi yang yang salingsaling berhubunganberhubungan dikelompokkandikelompokkan
fungsifungsi--fungsifungsi yang yang tidaktidak berhubunganberhubungan dipisahkandipisahkan
setiapsetiap fungsifungsi dispesifikasidispesifikasi hanyahanya sekalisekali
–– Data flowData flow membawamembawa informasiinformasi ygyg diperlukandiperlukan oleholeh sebuahsebuah prosesproses
untukuntuk transformasitransformasi, , control flowcontrol flow membawamembawa informasiinformasi yang yang harusharus
diinterpretasikandiinterpretasikan untukuntuk merubahmerubah perilakuperilaku sistemsistem dandan/ / aktifasiaktifasi prosesproses
–– ProsesProses pemodelanpemodelan DFD/CFD DFD/CFD adalahadalah prosesproses iterasiiterasi, , tidaktidak sekalisekali jadijadi
–– Context DiagramContext Diagram adalahadalah level level tertinggitertinggi daridari Data/Control Flow Data/Control Flow
DiagramDiagram
–– PenjenjanganPenjenjangan CFD CFD harusharus sesuaisesuai dengandengan DFDDFD
Bahan Kuliah RPL Bahan Kuliah RPL -- Analisis Kebutuhan PL / Tri Astoto K.,ST.MTAnalisis Kebutuhan PL / Tri Astoto K.,ST.MT 3232/43/43
MetodeMetode : : Object Oriented AnalysisObject Oriented Analysis
MulaiMulai populerpopuler akhirakhir ’’80an 80an –– ’’90an (90an (BoochBooch, , RumbaughRumbaugh--
OMT, JacobsonOMT, Jacobson--OOSE, OOSE, Coad+YourdonCoad+Yourdon, , WirfsWirfs--Brock) :Brock) :
–– ElisitasiElisitasi kebutuhankebutuhan customercustomer
–– IdentifikasiIdentifikasi skenarioskenario / use/ use--case (case (useuse--case diagramcase diagram))
–– IdentifikasiIdentifikasi klasklas berdasarkanberdasarkan kebutuhankebutuhan customercustomer
–– IdentifikasiIdentifikasi atributatribut dandan operasioperasi setiapsetiap klasklas
–– DefinisiDefinisi strukturstruktur klasklas ((class diagramclass diagram))
–– DefinisiDefinisi model model relasirelasi antarantar klasklas ((collaboration/sequence collaboration/sequence
diagramdiagram))
–– DefinisiDefinisi perpindahanperpindahan status status sistemsistem ((statechartstatechart diagramdiagram))
1996 : UML (1996 : UML (Unified Modeling LanguageUnified Modeling Language) ) –– Grady Grady
Booch+JamesBooch+James Rumbaugh+IvarRumbaugh+Ivar JacobsonJacobson
Bahan Kuliah RPL Bahan Kuliah RPL -- Analisis Kebutuhan PL / Tri Astoto K.,ST.MTAnalisis Kebutuhan PL / Tri Astoto K.,ST.MT 3333/43/43
Object, ClassObject, Class –– ApaApa ItuItu ??
ObjekObjek ((ObjectObject) :) :
–– Benda (Benda (tangible & intangible thingtangible & intangible thing))
–– ContohContoh : : AndiAndi, , EkoEko, Susi , Susi –– dalamdalam sistemsistem akademikakademik
perkuliahanperkuliahan
–– SebuahSebuah objekobjek memilikimemiliki karakteristikkarakteristik : : identity identity
((identitasidentitas), ), statestate ((sekumpulansekumpulan atributatribut) & ) & behaviourbehaviour
((sekumpulansekumpulan operasioperasi))
NotasiNotasi ::NamaNama ObjekObjek
Atribut2Atribut2
Operasi2Operasi2
Bahan Kuliah RPL Bahan Kuliah RPL -- Analisis Kebutuhan PL / Tri Astoto K.,ST.MTAnalisis Kebutuhan PL / Tri Astoto K.,ST.MT 3434/43/43
Object, ClassObject, Class –– ApaApa ItuItu ??
KlasKlas ((ClassClass) :) :
–– GambaranGambaran umumumum ((template, bluetemplate, blue--printprint) yang ) yang menjelaskanmenjelaskan
sekumpulansekumpulan objekobjek yang yang memilikimemiliki kesamaankesamaan karakteristikkarakteristik
((atributatribut dandan operasioperasi))
–– MerupakanMerupakan cetakancetakan daridari objekobjek
–– DigunakanDigunakan untukuntuk menginstansiasimenginstansiasi objekobjek yang yang memilikimemiliki
identitasidentitas yang yang berbedaberbeda
–– ContohContoh : : KlasKlas MahasiswaMahasiswa �� objekobjek AndiAndi, , EkoEko, Susi , Susi
–– KlasKlas AbstrakAbstrak dandan KonkretKonkret ((abstract & concrete classabstract & concrete class))
–– AbstrakAbstrak : : tidaktidak bisabisa diinstansiasidiinstansiasi, , sebagaisebagai interfaceinterface ((harusharus
adaada klasklas implementasinyaimplementasinya))
–– KonkretKonkret : : bisabisa diinstansiasidiinstansiasi menjadimenjadi beberapabeberapa objekobjek
Bahan Kuliah RPL Bahan Kuliah RPL -- Analisis Kebutuhan PL / Tri Astoto K.,ST.MTAnalisis Kebutuhan PL / Tri Astoto K.,ST.MT 3535/43/43
Object, ClassObject, Class –– ApaApa ItuItu ??
MahasiswaMahasiswa
-- NIMNIM
-- NamaNama
-- BuatBuat skripsiskripsi
-- UjianUjian
MahasiswaMahasiswa
-- NIM : 001NIM : 001
-- NamaNama : : AndiAndi
-- BuatBuat skripsiskripsi
-- UjianUjian
MahasiswaMahasiswa : : AndiAndi
MahasiswaMahasiswa
-- NIM : 002NIM : 002
-- NamaNama : : EkoEko
-- BuatBuat skripsiskripsi
-- UjianUjian
MahasiswaMahasiswa : : EkoEko
MahasiswaMahasiswa
-- NIM : 003NIM : 003
-- NamaNama : Susi: Susi
-- BuatBuat skripsiskripsi
-- UjianUjian
MahasiswaMahasiswa : Susi: Susi
InstansiasiInstansiasi : :
penciptaanpenciptaan objekobjek
Bahan Kuliah RPL Bahan Kuliah RPL -- Analisis Kebutuhan PL / Tri Astoto K.,ST.MTAnalisis Kebutuhan PL / Tri Astoto K.,ST.MT 3636/43/43
MetodeMetode : : Object Oriented Analysis Object Oriented Analysis –– UMLUML
Diagram Diagram utamautama ::
–– UseUse--case diagramcase diagram ((statisstatis))
–– Class diagramClass diagram ((statisstatis))
–– Collaboration/sequence diagramCollaboration/sequence diagram ((dinamisdinamis))
–– StatechartStatechart diagramdiagram ((dinamisdinamis))
UseUse--case diagramcase diagram ::
–– MenjelaskanMenjelaskan perilakuperilaku sistemsistem daridari tampaktampak luarluar
–– MenyediakanMenyediakan fungsifungsi--fungsifungsi ygyg harusharus dipenuhidipenuhi sistemsistem
–– AktorAktor ((orangorang, , sistemsistem lain) lain) dandan useuse--casecase
–– SetiapSetiap useuse--casecase dilengkapidilengkapi dengandengan skenarioskenario
((deskripsideskripsi))
MetodeMetode : : Object Oriented Analysis Object Oriented Analysis –– UMLUML
UseUse--case diagram :case diagram :
Select product
Get return coins
Customer
Enter object
Bahan Kuliah RPL Bahan Kuliah RPL -- Analisis Kebutuhan PL / Tri Astoto K.,ST.MTAnalisis Kebutuhan PL / Tri Astoto K.,ST.MT 3838/43/43
MetodeMetode : : Object Oriented Analysis Object Oriented Analysis –– UMLUML
UseUse--case scenariocase scenario ::
CustomerCustomerActorsActors
The selected product dispensed as the number neededThe selected product dispensed as the number neededPostPost--conditioncondition
1.1. If the selected product is not available, the system will If the selected product is not available, the system will
display a message display a message ““Your selected product is not availableYour selected product is not available””..
2.2. If the selected product is available but there isnIf the selected product is available but there isn’’t enough t enough
number to order, the system will display a number to order, the system will display a messangemessange ““The The
number isnnumber isn’’t enough, max. xt enough, max. x””. X is the existing number of the . X is the existing number of the
product.product.
Alternative flowsAlternative flows
1.1. The customer selects a button product.The customer selects a button product.
2.2. The system displays an entry prompt of number of product The system displays an entry prompt of number of product
to order.to order.
Main flowMain flow
Coin detected and validCoin detected and validPrePre--conditioncondition
Allow customer to select a certain product to dispenseAllow customer to select a certain product to dispenseObjectiveObjective
Flow of events for the Flow of events for the Select productSelect product useuse--casecase
MetodeMetode : : Object Oriented Analysis Object Oriented Analysis –– UMLUML
Class diagram (Class diagram (‘‘is ais a’’ -- inheritance)inheritance) ::
Product
name : String
description : String
price : Currency
getName() : String
getDescription() : String
getPrice() : CurrencysetName(newName : String)
setDescription(newDescription : String)
setPrice(newPrice : Currency)
Candy
weight : double
taste : String
Coffee
volume : double
sugarContent : double
type : String
Ice Cream
weight : double
milkContent : double
MetodeMetode : : Object Oriented Analysis Object Oriented Analysis –– UMLUML
Class diagram (Class diagram (‘‘part ofpart of’’ -- aggregation)aggregation) ::
Product
name : String
description : String
price : Currency
getName() : String
getDescript ion() : String
getPrice() : Currency
setName(newName : String)
setDescript ion(newDescript ion : String)
setPrice(newPrice : Currency)
Products
getProduct(name : String) : Product
isProductAvailable(name : String) : boolean
0..*0..*
MetodeMetode : : Object Oriented Analysis Object Oriented Analysis –– UMLUML
Sequence diagramSequence diagram ::
: Customer : SelectionScreen : SelectionController : Products :
DispenserProduct
selectProduct( )getValidSelection(String)
isProductAvailable(String)
dispenseProduct(String, int)
Bahan Kuliah RPL Bahan Kuliah RPL -- Analisis Kebutuhan PL / Tri Astoto K.,ST.MTAnalisis Kebutuhan PL / Tri Astoto K.,ST.MT 4242/43/43
Alat Bantu + Dokumentasi : Alat BantuAlat Bantu + Dokumentasi : Alat Bantu
Structured AnalysisStructured Analysis ::
–– AplikasiAplikasi pengolahpengolah model : Visio, model : Visio, dlldll..
–– AplikasiAplikasi pengolahpengolah katakata : MS Word, : MS Word, dlldll..
–– CASE Tool : CASE Tool : StPStP ((Software through PictureSoftware through Picture), PSL/PSA ), PSL/PSA
((Problem Statement Language/Problem Statement Problem Statement Language/Problem Statement
AnaylzerAnaylzer), ), ILeafILeaf, SPMS, , SPMS, dlldll..
OO AnalysisOO Analysis ::
–– AplikasiAplikasi pengolahpengolah model : Visio, model : Visio, dlldll..
–– AplikasiAplikasi pengolahpengolah katakata : MS Word, : MS Word, dlldll..
–– CASE Tool : Rational CASE Tool : Rational RequisiteProRequisitePro, Rational Soda for , Rational Soda for
Word, Rational Rose, Word, Rational Rose, dlldll..
Bahan Kuliah RPL Bahan Kuliah RPL -- Analisis Kebutuhan PL / Tri Astoto K.,ST.MTAnalisis Kebutuhan PL / Tri Astoto K.,ST.MT 4343/43/43
Alat Bantu + Dokumentasi : DokumentasiAlat Bantu + Dokumentasi : Dokumentasi
IEEE Standard+ (IRS/SRS):IEEE Standard+ (IRS/SRS):1.1. IntroductionIntroduction
1.1.1.1. Purpose of the requirements documentPurpose of the requirements document
1.2.1.2. Scope of the productScope of the product
1.3.1.3. Definition, acronyms and abbreviationsDefinition, acronyms and abbreviations
1.4.1.4. ReferencesReferences
2.2. General DescriptionGeneral Description
2.1.2.1. Product perspectiveProduct perspective
2.2.2.2. Product functionsProduct functions
2.3.2.3. User characteristicsUser characteristics
2.4.2.4. General constraintsGeneral constraints
3.3. Specific RequirementsSpecific Requirements
All functional and nonAll functional and non--functional requirements, system models (functional requirements, system models (egeg. DFD/CFD, ERD, . DFD/CFD, ERD,
STD, UseSTD, Use--Case, Class, Sequence, Case, Class, Sequence, StatechartStatechart diagrams), performance, database diagrams), performance, database
requirements, design constraints, security.requirements, design constraints, security.
3.3. Qualification/Validation RequirementsQualification/Validation Requirements
4.4. Appendices/BibliographyAppendices/Bibliography