Professional Documents
Culture Documents
Pendekatan Terstruktur
Fajar Pradana S.ST., M.Eng
Tujuan perkuliahan
Memahami pemodelan yang dibutuhkan dalam rekayasa
kebutuhan
Memahami konsep pendekatan terstruktur dalam pemodelan
kebutuhan
Agenda
Konsep pemodelan kebutuhan
Konsep pemodelan terstruktur
Elemen-elemen pemodelan terstruktur
Konsep pemodelan kebutuhan
Model kebutuhan menjembatani antara deskripsi sistem secara
umum dengan model perancangan
Tujuan utama model kebutuhan:
Menjelaskan apa yang dibutuhkan oleh customer
Menjadi dasar bagi perancangan PL
Menjadi referensi dalam melakukan validasi kebutuhan
Metode: terstruktur & berorientasi objek
Prinsip pemodelan kebutuhan
Model yang dibuat harus fokus pada kebutuhan yang relevan
dengan domain permasalahan WHAT
Setiap model kebutuhan harus bisa dilacak ke model
perancangan traceability
Setiap elemen dalam model kebutuhan harus mampu
memperjelas pemahaman secara utuh terhadap kebutuhan PL
domain masalah, fungsionalitas dan perilaku sistem
Minimalisasi kopling antar klas/modul
Pastikan bahwa model kebutuhan memiliki nilai manfaat untuk
seluruh stakeholders
Model dibuat sesederhana mungkin notasi yang sederhana,
non duplikasi informasi
Tipe pemodelan kebutuhan
Scenario-based models
Berdasarkan sudut pandang aktor
Data models
Menjelaskan domain informasi dari masalah
Class-oriented models
Merepresentasikan klas-klas yang relevan dengan kebutuhan PL
Flow-oriented models
Merepresentasikan proses dan data dari sistem
Behavioral models
Merepresentasikan perilaku sistem berdasar event
Pemodelan terstruktur
Konsep
Pertama kali dipopulerkan oleh T. DeMarco (1979) Structured
Analysis and System Specification
Perluasan notasi untuk kebutuhan real-time systems oleh Hatley
dan Pirbhai (1987) SA/RT Strategies for Real-Time System
Specification
Processes
Data Behavior
Elemen-Elemen Pemodelan
Process
Data Object
Specificatio
Description
Data Flown (PSPEC)
ER
Diagram
Diagram
(DFD)
Data
Dictionary
State
Transition
Diagram
(STD)
Control
Specificatio
n (CSPEC)
Data Dictionary
Representasi Simbol :
= : composed of + : and
{} : iterations of [.|] : selection / or
() : optional : literal
* * : comment/description
object
returned coins
0*
customer
selection Vend
Customer Customer
product
slug
product
coin return
request product
available
Data/Control Flow Diagram (DFD/CFD level 1)
coin return
object request
coins
1* 5* returned
slug Get payment Dispense coins
customer change
payment sufficient change due
coin detected payment 3p
Validate product
payment product
price 6p
available product
2p Dispense
dispensed
Get product
product 4p valid
valid
price Get valid selection
price table selection
selection
customer product products
selection available
Data/Control Flow Diagram (DFD/CFD level 2)
coin return
request
product
change due
available
5.2p
Get payment coins
coins payment
coin
payment
PSPEC
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
Behaviour Model
State Transition Diagram (STD) initial
accept new coin
Waiting for a
coin payment returned
accept new coin
coin detected
accept customer coin return request
request return payment
product dispensed
Waiting for Returning
accept new coin
selection payment
product
sufficient payment available=FALSE
dispense product return payment
Dispensing
product
CSPEC
get
coin return product get change
payment
request available coin
coin
TRUE TRUE 1 0
D/C FALSE 0 1
Terima Kasih
Ada Pertanyaan