REKAYASA PERANGKAT
REKAYASA PERANGKAT
LUNAK (RPL)
LUNAK (RPL)
Analisis
Analisis
Kebutuhan
Kebutuhan
Perangkat
Anonymous Customer
Anonymous 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 . . . . .
Communication
Communication
Pendahuluan
Pendahuluan
Relevansi
Relevansi
Perkuliahan
Perkuliahan
:
:
–
– 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 lunak
lunak makamaka diharapkandiharapkan PL PL dikembangkandikembangkan berdasarkan
berdasarkan apaapa--apaapa yang yang dibutuhkandibutuhkan oleholeh customercustomer
Tujuan
Tujuan
Instruksional
Instruksional
Khusus
Khusus
:
:
Mahasiswa akan dapat menjabarkan pengertian dan Mahasiswa akan dapat menjabarkan pengertian dan
metode
Agenda
Agenda
Pembahasan
Pembahasan
Pendahuluan
Pendahuluan
Pengertian
Pengertian
Analisis
Analisis
Kebutuhan
Kebutuhan
dan
dan
Kebutuhan
Kebutuhan
Urgensi
Urgensi
dan
dan
Fungsi
Fungsi
Analisis
Analisis
Kebutuhan
Kebutuhan
Problem
Problem
Proses
Proses
Metode
Metode
Alat
Pengertian
Pengertian
:
:
S/W Req. Analysis (SRA)
S/W Req. Analysis (SRA)
Aktifitas
Aktifitas
RPL yang
RPL yang
menjembatani
menjembatani
antara
antara
kebutuhan
kebutuhan
di
di
tingkat
tingkat
sistem
sistem
dan
dan
perancangan
perancangan
perangkat
perangkat
lunak
lunak
(
(
Roger S. Pressman
Roger S. Pressman
)
)
Proses
Proses
yang
yang
digunakan
digunakan
untuk
untuk
mendapatkan
mendapatkan
,
,
menganalisis
menganalisis
,
,
dan
dan
memvalidasi
memvalidasi
kebutuhan
kebutuhan
-
-kebutuhan
Pengertian
Pengertian
:
:
Requirement
Requirement
Suatu
Suatu
kondisi
kondisi
atau
atau
kemampuan
kemampuan
yang
yang
dibutuhkan
dibutuhkan
oleh
oleh
pengguna
pengguna
untuk
untuk
menyelesaikan
menyelesaikan
permasalahan
permasalahan
atau
atau
untuk
untuk
mencapai
mencapai
sebuah
sebuah
tujuan
tujuan
(
(
IEEE
IEEE
)
)
Sebuah
Sebuah
kondisi
kondisi
atau
atau
kemampuan
kemampuan
yang
yang
harus
harus
dipenuhi
dipenuhi
atau
atau
dimiliki
dimiliki
oleh
oleh
sebuah
sebuah
sistem
sistem
…
…
untuk
untuk
memenuhi
memenuhi
sebuah
sebuah
kontrak
kontrak
, standard,
, standard,
spesifikasi
spesifikasi
,
,
atau
atau
dokumen2 formal
dokumen2 formal
lainnya
lainnya
(
(
IEEE
IEEE
)
)
Setiap
Setiap
fungsi
fungsi
,
,
batasan
batasan
,
,
atau
atau
properti
properti
lainnya
lainnya
yang
yang
harus
harus
disediakan
disediakan
,
,
dimiliki
dimiliki
atau
atau
dipenuhi
dipenuhi
untuk
untuk
mencapai
mencapai
kebutuhan
kebutuhan
dari
dari
sistem
sistem
yang
yang
dimaksudkan
dimaksudkan
oleh
Urgensi
Urgensi
&
&
Fungsi
Fungsi
If you don
If you don
’
’
t analyze, it
t analyze, it
’
’
s highly likely that you
s 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 frustration
personal frustration
, and unhappy customers
, and unhappy customers
(
(
Roger S. Pressman
Roger S. Pressman
)
)
Kegunaan
Kegunaan hasilhasil analisisanalisis kebutuhankebutuhan::
–
– UntukUntuk mencapaimencapai kesepakatankesepakatan antaraantara developerdeveloper, , customercustomer
dan
dan penggunapengguna akhirakhir akanakan kebutuhankebutuhan yang yang harusharus dipenuhidipenuhi –
– UntukUntuk menyediakanmenyediakan dasardasar yang yang akuratakurat bagibagi perancanganperancangan perangkat
Problem
Problem
Stakeholder
Stakeholder ((endend--user, user, manajermanajer, maintenance engineer, maintenance engineer, ,
policy maker
policy maker) ) tidaktidak tahutahu persispersis apaapa yang yang sesungguhnyasesungguhnya mereka
mereka inginkaninginkan
Stakeholder
Stakeholder menyatakanmenyatakan kebutuhannyakebutuhannya dalamdalam bahasabahasa yang
yang dipahamidipahami oleholeh merekamereka sendirisendiri
Stakeholder
Stakeholder yang yang berbedaberbeda mungkinmungkin memilikimemiliki kebutuhankebutuhan yang
yang salingsaling bertentanganbertentangan Kebutuhan
Kebutuhan mungkinmungkin berubahberubah padapada saatsaat dilakukandilakukan analisis
analisis. . StakeholderStakeholder barubaru yang yang bergabungbergabung mungkinmungkin merubah
merubah dandan lingkunganlingkungan bisnisbisnis mengalamimengalami perubahanperubahan Pertentangan
Pertentangan antaraantara unjukunjuk kerjakerja ((performanceperformance) dan) dan kemudahan
Proses
Proses
Penggalian
Penggalian
dan
dan
analisis
analisis
kebutuhan
kebutuhan
(
(
s/w
s/w
req.
req.
elicitation and analysis
elicitation and analysis
)
)
Spesifikasi
Spesifikasi
kebutuhan
kebutuhan
(
(
s/w
s/w
req. specification
req. specification
)
)
Validasi
Validasi
kebutuhan
kebutuhan
(
(
s/w
s/w
req. validation
req. validation
)
)
Manajemen
Manajemen
kebutuhan
kebutuhan
(
(
s/w
s/w
req. management
req. management
)
)
Karakteristik
Proses
Proses
:
:
Elisitasi
Elisitasi
dan
dan
Analisis
Analisis
Developer
Developer
harus
harus
memahami
memahami
domain
domain
permasalahan
permasalahan
Developer
Developer
dan
dan
stakeholder
stakeholder
menggali
menggali
domain
domain
aplikasi
aplikasi
,
,
layanan
layanan
-
-
layanan
layanan
sistem
sistem
yang
yang
harus
harus
disediakan
disediakan
,
,
unjuk
unjuk
kerja
kerja
sistem
sistem
yang
yang
diperlukan
diperlukan
,
,
batasan
batasan
-
-
batasan
batasan
perangkat
perangkat
keras
keras
dan
dan
sejenisnya
sejenisnya
Fokus
Fokus
pada
pada
A P A (
A P A (
WHAT
WHAT
)
)
dan
dan
B U K A N
B U K A N
bagaimana
bagaimana
(
(
HOW
HOW
)
)
Via
Proses
Proses
:
:
Elisitasi
Elisitasi
dan
dan
Analisis
Analisis
Tipe
Tipe
kebutuhan
kebutuhan
(
(
D. T. Ross & K. F.
D. T. Ross & K. F.
Schoman
Schoman
) :
) :
–
–
Fungsional
Fungsional
(
(
functional
functional
)
)
fungsi/kapabilitas
fungsi/kapabilitas
yang
yang
harus
harus
mampu
mampu
dijalankan
dijalankan
oleh
oleh
sistem
sistem
–
–
Non
Non
fungsional
fungsional
(
(
non
non
-
-
functional
functional
)
)
performance
performance
,
,
reliability
reliability
,
,
security
security
,
,
availability
availability
,
,
constraints
constraints
,
,
dll
dll
.
.
–
–
Inversi
Inversi
(
(
inverse
inverse
)
)
apa
apa
-
-
apa
apa
yang
yang
harus
harus
tidak
tidak
boleh
boleh
dilakukan
dilakukan
sistem
sistem
–
–
Batasan
Batasan
perancangan
perancangan
&
&
implementasi
implementasi
(
(
design &
design &
implementation constraints
Proses
Proses
:
:
Elisitasi
Elisitasi
dan
dan
Analisis
Analisis
Sumber
Sumber
-
-
sumber
sumber
kebutuhan
kebutuhan
:
:
Relatively high Relatively
low
Approximate % of requirements gathered from people
Type of application
highly constrained
missile guidance system
flight control system for airliner
enhancement to corporate accounting system manufacturing control system
corporate accounting system
encounter video game
decision support system
Proses
Proses
:
:
Elisitasi
Elisitasi
dan
dan
Analisis
Analisis
Domain understanding Requirements checking Requirements collection Classification Prioritisation Conflict resolution Requirements definition Requirements specification
Proses
Proses
:
:
Elisitasi
Elisitasi
dan
dan
Analisis
Analisis
(
(
Contoh
Contoh
)
)
Perangkat
Perangkat lunaklunak harusharus mampumampu menyediakanmenyediakan saranasarana untuk
untuk menampilkanmenampilkan dandan mengaksesmengakses filefile--file yang file yang dibuatdibuat oleh
oleh tooltool yang lain. (yang lain. (ff)) Pengguna
Pengguna harusharus dapatdapat mencarimencari buku/dokumen/literaturbuku/dokumen/literatur di
di perpustakaanperpustakaan dgndgn memasukkanmemasukkan sebuahsebuah katakata kuncikunci. (. (ff)) Sistem
Sistem tidaktidak bolehboleh dioperasikandioperasikan oleholeh penggunapengguna yang yang tidak
tidak memilikimemiliki otoritasotoritas. (. (ii)) Sistem
Sistem harusharus menyediakanmenyediakan GUIGUI sehinggasehingga dapatdapat digunakan
digunakan secarasecara mudahmudah oleholeh penggunapengguna yang yang belumbelum berpengalaman
berpengalaman. (. (nn--ff)) Sistem
Sistem harusharus bisabisa memanfaatkanmemanfaatkan databasedatabase yang yang sudahsudah ada
ada. (. (dd--cc))
Sistem harus diimplementasikan dgn bahasa Java. (
Proses
Proses
:
:
Spesifikasi
Spesifikasi
Proses
Proses untukuntuk menjelaskanmenjelaskan kebutuhankebutuhan P/L yang P/L yang telahtelah didefinisikan
didefinisikan sebelumnyasebelumnya secarasecara lebihlebih detildetil dandan tepattepat yang
yang akanakan menjadimenjadi dasardasar bagibagi perancanganperancangan dandan implementasi
implementasi Definisi
Definisi kebutuhankebutuhan ((req. definitionreq. definition) :) :
1.
1. P/L P/L harusharus mampumampu menyediakanmenyediakan saranasarana untukuntuk menampilkanmenampilkan dan
dan mengaksesmengakses filefile--file yang file yang dibuatdibuat oleholeh tool yang lain. tool yang lain. (SRS_PRJ_100)
(SRS_PRJ_100)
Spesifikasi
Spesifikasi kebutuhankebutuhan ((req. specificationreq. specification) :) :
1.1
1.1 PenggunaPengguna harusharus disediakandisediakan fasilitasfasilitas untukuntuk mendefinisikanmendefinisikan tipe
tipe file. (SRS_PRJ_101)file. (SRS_PRJ_101) 1.2
1.2 SetiapSetiap tipetipe file direpresentasikanfile direpresentasikan dengandengan ikonikon tertentutertentu padapada layar
Proses
Proses
:
:
Validasi
Validasi
(+
(+
Verifikasi
Verifikasi
)
)
Proses
Proses pengecekanpengecekan untukuntuk menjaminmenjamin bahwabahwa pernyataanpernyataan kebutuhan
kebutuhan yang yang telahtelah didefinisikandidefinisikan dandan dispesifikasikandispesifikasikan adalah
adalah benarbenar, , akuratakurat dandan lengkaplengkap Dilakukan bersama
Dilakukan bersama--sama antara kustomer dan sama antara kustomer dan developer
developer Sangat
Sangat pentingpenting dilakukandilakukan karenakarena kesalahankesalahan didi dalamdalam menentukan
menentukan kebutuhankebutuhan akanakan berdampakberdampak padapada keseluruhan
keseluruhan prosesproses yang yang mengikutinyamengikutinya Validasi
Validasi : : do we make the right product do we make the right product …….. ?.. ?
Verifikasi
Verifikasi :: do we make the product right do we make the product right …….. ?.. ?
Teknik Teknik ::
–
– ReviewReview : : Software Specification Review (SSR)Software Specification Review (SSR)
–
Proses
Proses
:
:
Validasi
Validasi
(+
(+
Verifikasi
Verifikasi
)
)
Parameter
Parameter
validasi
validasi
:
:
–
– ValidityValidity does the system provide the functions which does the system provide the functions which best support the customer
best 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
verifikasi
verifikasi
:
:
– – ReadabilityReadability – – TestabilityTestability – – CompletenessCompleteness – – IdentifiabilityIdentifiability
Proses
Proses
:
:
Manajemen
Manajemen
Kebutuhan
Kebutuhan
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 diidentifikasi
diidentifikasi dengandengan mudahmudah (Cont. : SRS_PRJ_XXX, (Cont. : SRS_PRJ_XXX, IRS_PRJ_XXX)
IRS_PRJ_XXX) –
– ManajemenManajemen perubahanperubahan bagaimanabagaimana mekanismemekanisme untuk
untuk menanganimenangani perubahanperubahan kebutuhankebutuhan yang yang terjaditerjadi –
– DokumentasiDokumentasi SRS SRS dandan IRS IRS sebagaisebagai deliverable, deliverable, ECP, PCR
ECP, PCR –
– TrackingTracking penelusuranpenelusuran informasiinformasi yang yang berhubunganberhubungan dengan
dengan sebuahsebuah kebutuhankebutuhan ((sumber/asalsumber/asal, , alokasialokasi keke perancangan
Metode
Metode
:
:
Pemodelan
Pemodelan
Bagian dari proses elisitasi/analisis dan spesifikasi Bagian dari proses elisitasi/analisis dan spesifikasi kebutuhan
kebutuhan Mengapa
Mengapa ::
–
– 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
Metode
Metode
:
:
Structured Analysis
Structured Analysis
Pertama
Pertama
kali
kali
dipopulerkan
dipopulerkan
oleh
oleh
T.
T.
DeMarco
DeMarco
(1979)
(1979)
Structured Analysis and System
Structured Analysis and System
Specification
Specification
Perluasan
Perluasan
notasi
notasi
untuk
untuk
kebutuhan
kebutuhan
real
real
-
-
time
time
systems
systems
oleh
oleh
Hatley
Hatley
dan
dan
Pirbhai
Pirbhai
(1987)
(1987)
–
–
SA/RT
SA/RT
Strategies for Real
Strategies for Real
-
-
Time System Specification
Time System Specification
Processes
Metode
Metode
:
:
Structured Analysis
Structured Analysis
Elemen
Elemen
-
-
elemen
elemen
:
:
Data Dictionary Data Flow Diagram (DFD) ER Diagram State Transition Diagram (STD) Process Specification (PSPEC) Data Object Description Control
Metode
Metode
:
:
Structured Analysis
Structured Analysis
ER Diagram : ER Diagram :
–
– EntitasEntitas –
– ModalitasModalitas : : tingkattingkat mandatorymandatory –
– KardinalitasKardinalitas : : tingkattingkat relasirelasi –
– BentukBentuk relasirelasi
Manufacturer Builds Car
Data Flow Diagram (DFD) : Data Flow Diagram (DFD) :
–
– DFD level 0 : DFD level 0 : Context DiagramContext Diagram
–
– DFD level 1, dstDFD level 1, dst. : breakdown . : breakdown detildetil, , konsistensikonsistensi –
– Terminator, process, data flow, control flow, memory/storage, Terminator, process, data flow, control flow, memory/storage, control bar
Metode
Metode
:
:
Structured Analysis
Structured Analysis
Contoh
Contoh
Data/Control Context Diagram
Data/Control Context Diagram
(DCD/CCD)
(DCD/CCD)
Vend product Customer returned coins 0* Customer product object customer selection slug coin return request productMetode
Metode
:
:
Structured Analysis
Structured Analysis
Contoh
Contoh
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 detected sufficient payment product dispensed product available product availableMetode
Metode
:
:
Structured Analysis
Structured 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
Metode
Metode
:
:
Structured Analysis
Structured Analysis
Data/Control Flow Diagram (DFD/CFD level 2) :
Data/Control Flow Diagram (DFD/CFD level 2) :
Dispense change
Dispense change
5.1p Get change coin coin return request 5.2p Get payment coin product available change due coins payment payment coinsMetode
Metode
:
:
Structured Analysis
Structured Analysis
CSPEC
CSPEC
–– Dispense change : Process Activation TableDispense change : Process Activation Table1 1 0 0 FALSE FALSE D/C D/C 0 0 1 1 TRUE TRUE TRUE TRUE get get payment payment coin coin get change get change coin coin product product available available coin return coin return request request
Metode
Metode
:
:
Structured Analysis
Structured 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 coin coin detected
accept customer request product dispensed
accept new coin
sufficient payment dispense product
product available=FALSE
return payment coin return request
Metode
Metode
:
:
Structured Analysis
Structured Analysis
Data Dictionary
Data Dictionary
Representasi 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
Metode
Metode
:
:
Structured Analysis
Structured Analysis
Beberapa
Beberapa 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) :
fungsi
fungsi--fungsifungsi yang yang salingsaling berhubunganberhubungan dikelompokkandikelompokkan fungsi
fungsi--fungsifungsi yang yang tidaktidak berhubunganberhubungan dipisahkandipisahkan setiap
setiap fungsifungsi dispesifikasidispesifikasi hanyahanya sekalisekali
–
– Data flowData flow membawamembawa informasiinformasi ygyg diperlukandiperlukan oleholeh sebuahsebuah prosesproses untuk
untuk transformasitransformasi, , control flowcontrol flow membawamembawa informasiinformasi yang yang harusharus diinterpretasikan
diinterpretasikan 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 Diagram
Diagram
–
Metode
Metode
:
:
Object Oriented Analysis
Object Oriented Analysis
Mulai
Mulai populerpopuler akhirakhir ’’80an 80an –– ’’90an (90an (BoochBooch, , Rumbaugh-Rumbaugh -OMT, Jacobson
OMT, 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 diagram
diagram)) –
– DefinisiDefinisi perpindahanperpindahan status status sistemsistem ((statechartstatechart diagramdiagram))
1996 : UML (
Object, Class
Object, Class
–
–
Apa
Apa
Itu
Itu
?
?
Objek
Objek
(
(
Object
Object
) :
) :
–
– Benda (Benda (tangible & intangible thingtangible & intangible thing)) –
– ContohContoh : : AndiAndi, , EkoEko, Susi , Susi –– dalamdalam sistemsistem akademikakademik perkuliahan
perkuliahan –
– SebuahSebuah objekobjek memilikimemiliki karakteristikkarakteristik : : identity identity
(
(identitasidentitas), ), statestate ((sekumpulansekumpulan atributatribut) & ) & behaviourbehaviour
(
(sekumpulansekumpulan operasioperasi))
Notasi
Notasi
:
:
Nama
Nama ObjekObjek Atribut2 Atribut2 Operasi2 Operasi2
Object, Class
Object, Class
–
–
Apa
Apa
Itu
Itu
?
?
Klas
Klas
(
(
Class
Class
) :
) :
–
– GambaranGambaran umumumum ((template, bluetemplate, blue--printprint) yang ) yang menjelaskanmenjelaskan sekumpulan
sekumpulan objekobjek yang yang memilikimemiliki kesamaankesamaan karakteristikkarakteristik (
(atributatribut dandan operasioperasi)) –
– MerupakanMerupakan cetakancetakan daridari objekobjek –
– DigunakanDigunakan untukuntuk menginstansiasimenginstansiasi objekobjek yang yang memilikimemiliki identitas
identitas 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 ada
Object, Class
Object, Class
–
–
Apa
Apa
Itu
Itu
?
?
Mahasiswa Mahasiswa -- NIMNIM -- NamaNama
-- BuatBuat skripsiskripsi -- UjianUjian Mahasiswa Mahasiswa -- NIM : 001NIM : 001
-- NamaNama : : AndiAndi
-- BuatBuat skripsiskripsi
-- UjianUjian
Mahasiswa
Mahasiswa : Andi: Andi
Mahasiswa Mahasiswa
-- NIM : 002NIM : 002
-- NamaNama : : EkoEko
-- BuatBuat skripsiskripsi
-- UjianUjian
Mahasiswa
Mahasiswa : Eko: Eko
Mahasiswa Mahasiswa
-- NIM : 003NIM : 003
-- NamaNama : Susi: Susi
-- BuatBuat skripsiskripsi
-- UjianUjian
Mahasiswa
Mahasiswa : Susi: Susi Instansiasi
Instansiasi : : penciptaan
Metode
Metode
:
:
Object Oriented Analysis
Object Oriented Analysis
–
–
UML
UML
Diagram
Diagram
utama
utama
:
:
–
– UseUse--case diagramcase diagram ((statisstatis)) –
– Class diagramClass diagram (statis(statis)) –
– Collaboration/sequence diagramCollaboration/sequence diagram ((dinamisdinamis)) –
– StatechartStatechart diagramdiagram ((dinamisdinamis))
Use
Use
-
-
case diagram
case diagram
:
:
–
– MenjelaskanMenjelaskan perilakuperilaku sistemsistem daridari tampaktampak luarluar –
– MenyediakanMenyediakan fungsifungsi-fungsi-fungsi ygyg harusharus dipenuhidipenuhi sistemsistem –
– AktorAktor ((orangorang, , sistemsistem lain) lain) dandan useuse--casecase
–
Metode
Metode
:
:
Object Oriented Analysis
Object Oriented Analysis
–
–
UML
UML
Use
Use
-
-
case diagram :
case diagram :
Select product
Get return coins Customer
Metode
Metode
:
:
Object Oriented Analysis
Object Oriented Analysis
–
–
UML
UML
Use
Use--case scenariocase scenario ::
Customer
Customer
Actors Actors
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 isn
number 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 flows Alternative 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 flow Main flow
Coin detected and valid
Coin detected and valid
Pre
Pre--conditioncondition
Allow customer to select a certain product to dispense
Allow customer to select a certain product to dispense
Objective Objective
Flow of events for the
Metode
Metode
:
:
Object Oriented Analysis
Object Oriented Analysis
–
–
UML
UML
Class diagram (
Class diagram (
‘
‘
is a
is a
’
’
-
-
inheritance)
inheritance)
:
:
Product name : String description : String price : Currency getName() : String getDescription() : String getPrice() : Currency setName(newName : String) setDescription(newDescription : String) setPrice(newPrice : Currency) Candy weight : double t ast e : String Coffee volume : double sugarContent : double type : String Ice Cream weight : double milkContent : double
Metode
Metode
:
:
Object Oriented Analysis
Object Oriented Analysis
–
–
UML
UML
Class diagram (
Class diagram (
‘
‘
part of
part of
’
’
-
-
aggregation)
aggregation)
:
:
Product name : String
description : St ring price : Currency getName() : String getDescript ion() : String getP rice() : Currency
setName(newName : String) Products
getP roduct(name : String) : Product
isP roductAvailable(name : String) : boolean
0..* 0..*
Metode
Metode
:
:
Object Oriented Analysis
Object Oriented Analysis
–
–
UML
UML
Sequence diagram
Sequence diagram
:
:
: Customer : SelectionScreen : SelectionController : Products :
DispenserProduct
selectProduct( )
getValidSelection(String)
isProductAvailable(String)
Alat Bantu + Dokumentasi : Alat Bantu
Alat Bantu + Dokumentasi : Alat Bantu
Structured Analysis
Structured Analysis
:
:
–
– AplikasiAplikasi pengolahpengolah model : Visio, dllmodel : Visio, dll.. –
– 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 Anaylzer
Anaylzer), ), ILeafILeaf, SPMS, , SPMS, dlldll..
OO Analysis
OO Analysis
:
:
–
– AplikasiAplikasi pengolahpengolah model : Visio, model : Visio, dlldll.. –
– AplikasiAplikasi pengolahpengolah katakata : MS Word, dll: MS Word, dll.. –
Alat Bantu + Dokumentasi : Dokumentasi
Alat 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 non
All functional and non--functional requirements, system models (functional requirements, system models (egeg. DFD/CFD, ERD, . DFD/CFD, ERD, STD, Use
STD, 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.