ANALISIS DAN PERANCANGAN SISTEM (APS) Pemodelan Kebutuhan: Pendekatan Terstruktur
Tujuan perkuliahan Memahami pemodelan yang dibutuhkan dalam rekayasa kebutuhan Memahami konsep pendekatan terstruktur dalam pemodelan kebutuhan
Bahan Kuliah APS - Pemodelan Kebutuhan: Terstruktur | Tri A. Kurniawan, S.T, M.T, Ph.D
2/26
Agenda Konsep pemodelan kebutuhan Konsep pemodelan terstruktur Elemen-elemen pemodelan terstruktur
Bahan Kuliah APS - Pemodelan Kebutuhan: Terstruktur | Tri A. Kurniawan, S.T, M.T, Ph.D
3/26
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
Bahan Kuliah APS - Pemodelan Kebutuhan: Terstruktur | Tri A. Kurniawan, S.T, M.T, Ph.D
4/26
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 Bahan Kuliah APS - Pemodelan Kebutuhan: Terstruktur | Tri A. Kurniawan, S.T, M.T, Ph.D
5/26
Tipe-tipe model 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 Bahan Kuliah APS - Pemodelan Kebutuhan: Terstruktur | Tri A. Kurniawan, S.T, M.T, Ph.D
6/26
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
Bahan Kuliah APS - Pemodelan Kebutuhan: Terstruktur | Tri A. Kurniawan, S.T, M.T, Ph.D
8/26
Elemen-elemen pemodelan
Data Object Description
Data Flow Diagram (DFD)
ER Diagram
Process Specification (PSPEC)
Data Dictionary
State Transition Diagram (STD) Control Specification (CSPEC)
Bahan Kuliah APS - Pemodelan Kebutuhan: Terstruktur | Tri A. Kurniawan, S.T, M.T, Ph.D
9/26
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
[“YES” | “NO”] quarter
*25 cents US currency*
coin return request
[TRUE | FALSE]
control
Bahan Kuliah APS - Pemodelan Kebutuhan: Terstruktur | Tri A. Kurniawan, S.T, M.T, Ph.D
10/26
Data model – ER diagram Entitas (atribut dan nilai atribut) Modalitas : tingkat mandatory (minimal) Kardinalitas : tingkat relasi (maksimal) Bentuk relasi
Manufacturer
Builds
Car
Bahan Kuliah APS - Pemodelan Kebutuhan: Terstruktur | Tri A. Kurniawan, S.T, M.T, Ph.D
11/26
Data model – data object description Data object – represents a composite information – consists of a number of different attributes or properties – encapsulates data only no operation applied to its data – can be external entity, thing, occurrence/event, role, organizational unit, structure, etc. – e.g. dimensions (height, weight, depth), cars (make, model, ID, body type, color, owner) – can be represented in a tabular representation Bahan Kuliah APS - Pemodelan Kebutuhan: Terstruktur | Tri A. Kurniawan, S.T, M.T, Ph.D
12/26
Process model – DFD Useful for analyzing existing as well as proposed systems process decomposition Focus on the movement of data between external entities and processes, and between processes and data stores A relatively simple technique to learn and use Model elements: terminator, process, data flow, control flow, storage, control bar The highest level (0) Context diagram – Single process – Terminators – Data flows, control flows Bahan Kuliah APS - Pemodelan Kebutuhan: Terstruktur | Tri A. Kurniawan, S.T, M.T, Ph.D
13/26
Process model – Elemen2 DFD Terminator – Representasi entitas eksternal – Notasi: persegi panjang – Tidak memproses data
Customer
Data flow – – – –
Representasi aliran data data Notasi: anak panah penuh Umumnya satu arah Hubungkan terminator, process dan storage
Control flow – Representasi aliran kontrol proses control – Notasi: anak panah putus2 – Hubungkan terminator, process dan control bar Bahan Kuliah APS - Pemodelan Kebutuhan: Terstruktur | Tri A. Kurniawan, S.T, M.T, Ph.D
14/26
Process model – Elemen2 DFD (1) Process – Representasi aktifitas sistem – Notasi: lingkaran – Memproses data
1 Proses A
Storage – Representasi tempat penyimpanan data – Notasi: dua garis paralel – Data flow in = diubah, data flow out = dibaca
data X
Control bar – Representasi spesifikasi kontrol – Notasi: garis tegak Bahan Kuliah APS - Pemodelan Kebutuhan: Terstruktur | Tri A. Kurniawan, S.T, M.T, Ph.D
15/26
Process model – Panduan DFD Jumlah proses dalam satu diagram DFD : 4 + 2 Maks. 4 level dekomposisi (DFD/CFD) Dekomposisi fungsional (DFD) : – fungsi-fungsi yang saling berhubungan dikelompokkan – fungsi-fungsi yang tidak berhubungan dipisahkan – setiap fungsi dispesifikasi hanya sekali
Data flow membawa informasi yg diperlukan oleh sebuah proses untuk transformasi, control flow membawa informasi yang harus diinterpretasikan untuk merubah perilaku sistem dan/ aktifasi proses Proses pemodelan DFD/CFD adalah proses iterasi, tidak sekali jadi Penjenjangan CFD harus sesuai dengan DFD Bahan Kuliah APS - Pemodelan Kebutuhan: Terstruktur | Tri A. Kurniawan, S.T, M.T, Ph.D
16/26
Data – control identification Identify data first rather than control to know what you are controlling first Continuous signals, and processes that act on them, are always categorized as data Discrete signals, and processes that act on them, are usually categorized as control Terms like activate, turn on, engage and execute are usually associated with control requirements
Bahan Kuliah APS - Pemodelan Kebutuhan: Terstruktur | Tri A. Kurniawan, S.T, M.T, Ph.D
17/26
Process model – DFD/CFD leveling Must be consistent
Bahan Kuliah APS - Pemodelan Kebutuhan: Terstruktur | Tri A. Kurniawan, S.T, M.T, Ph.D
18/26
Data/Control Context Diagram (DCD/CCD)
object
returned coins 0*
Customer
customer selection
slug
coin return request
Vend product
Customer
product
product available
Bahan Kuliah APS - Pemodelan Kebutuhan: Terstruktur | Tri A. Kurniawan, S.T, M.T, Ph.D
19/26
Data/Control Flow Diagram (DFD/CFD level 1)
object
slug
coins 1* Get customer payment
5* Dispense change
payment
2p Get product price
returned coins
change due
sufficient payment
coin detected
price table
coin return request
3p Validate payment
price
valid selection customer selection
product product available
4p Get valid selection
6p Dispense product
product dispensed
valid selection
product available
products
Bahan Kuliah APS - Pemodelan Kebutuhan: Terstruktur | Tri A. Kurniawan, S.T, M.T, Ph.D
20/26
Data/Control Flow Diagram (DFD/CFD level 2) DFD/CFD level 2 : Dispense change coin return request product available
change due
5.1p Get change coin
returned coins
change coins
5.2p Get payment coin
coins
payment coins
payment
Bahan Kuliah APS - Pemodelan Kebutuhan: Terstruktur | Tri A. Kurniawan, S.T, M.T, Ph.D
21/26
Process model – Process specification PSPEC – 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 APS - Pemodelan Kebutuhan: Terstruktur | Tri A. Kurniawan, S.T, M.T, Ph.D
22/26
Behavior model State Transition Diagram (STD) initial accept new coin Waiting for a coin
payment returned accept new coin
coin detected
product dispensed accept new coin
accept customer request
coin return request return payment Returning payment
Waiting for selection sufficient payment
product available=FALSE
dispense product
return payment
Dispensing product
Bahan Kuliah APS - Pemodelan Kebutuhan: Terstruktur | Tri A. Kurniawan, S.T, M.T, Ph.D
23/26
Behavior model (1) CSPEC – Dispense change : Process Activation Table
coin return request
product available
get change coin
get payment coin
TRUE
TRUE
1
0
D/C
FALSE
0
1
Bahan Kuliah APS - Pemodelan Kebutuhan: Terstruktur | Tri A. Kurniawan, S.T, M.T, Ph.D
24/26
Latihan DFD Buat DFD untuk mesin ATM – – – –
Mulai dari diagram konteks Identifikasi aliran data dan kontrol Identifikasi proses2 utama Dekomposisi proses
Buat STD untuk mesin ATM – Identifikasi state-state yang ada – Identifikasi transisinya
Bahan Kuliah APS - Pemodelan Kebutuhan: Terstruktur | Tri A. Kurniawan, S.T, M.T, Ph.D
25/26
Summary Pemodelan kebutuhan diperlukan untuk meningkatkan pemahaman terhadap kebutuhan yang sedang dianalisis Pemodelan terstruktur meliputi pemodelan data, proses dan perilaku dari sistem yang sedang dikembangkan
Bahan Kuliah APS - Pemodelan Kebutuhan: Terstruktur | Tri A. Kurniawan, S.T, M.T, Ph.D
26/26