ANALISIS DAN PERANCANGAN
SISTEM (APS)
Tujuan perkuliahan
Memahami pemodelan yang dibutuhkan dalam
rekayasa kebutuhan
Bahan Kuliah APS - Pemodelan Kebutuhan: Terstruktur | Tri A. Kurniawan, S.T, M.T, Ph.D 3/26
Agenda
Konsep pemodelan kebutuhan
Konsep 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
Bahan Kuliah APS - Pemodelan Kebutuhan: Terstruktur | Tri A. Kurniawan, S.T, M.T, Ph.D 5/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
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
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 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*
Bahan Kuliah APS - Pemodelan Kebutuhan: Terstruktur | Tri A. Kurniawan, S.T, M.T, Ph.D 11/26
Data model – ER diagram
Entitas (atribut dan nilai atribut)
Modalitas : tingkat mandatory (minimal)
Kardinalitas : tingkat relasi (maksimal)
Bentuk relasi
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)
Bahan Kuliah APS - Pemodelan Kebutuhan: Terstruktur | Tri A. Kurniawan, S.T, M.T, Ph.D 13/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
Process model – Elemen2 DFD
Terminator
– Representasi entitas eksternal
– Notasi: persegi panjang
– Tidak memproses data
Data flow
– Representasi aliran data
– Notasi: anak panah penuh
– Umumnya satu arah
– Hubungkan terminator, process dan storage
Control flow
– Representasi aliran kontrol proses
– Notasi: anak panah putus2
– Hubungkan terminator, process dan control bar
Customer
data
Bahan Kuliah APS - Pemodelan Kebutuhan: Terstruktur | Tri A. Kurniawan, S.T, M.T, Ph.D 15/26
Process model – Elemen2 DFD (1)
Process
– Representasi aktifitas sistem
– Notasi: lingkaran
– Memproses data
Storage
– Representasi tempat penyimpanan data
– Notasi: dua garis paralel
– Data flow in = diubah, data flow out = dibaca
Control bar
– Representasi spesifikasi kontrol
– Notasi: garis tegak
1
Proses
A
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
Bahan Kuliah APS - Pemodelan Kebutuhan: Terstruktur | Tri A. Kurniawan, S.T, M.T, Ph.D 17/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
Process model – DFD/CFD leveling
Bahan Kuliah APS - Pemodelan Kebutuhan: Terstruktur | Tri A. Kurniawan, S.T, M.T, Ph.D 19/26
Data/Control Context Diagram (DCD/CCD)
Vend
product
Customer
returned coins 0*
Customer
product object
customer selection
slug
coin return
Data/Control Flow Diagram (DFD/CFD 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 paymentBahan Kuliah APS - Pemodelan Kebutuhan: Terstruktur | Tri A. Kurniawan, S.T, M.T, Ph.D 21/26
Data/Control Flow Diagram (DFD/CFD level 2)
DFD/CFD level 2 : Dispense change
5.1p Get change
coin
coin return request
5.2p Get payment
coin
product available change due
coins
payment
payment coins
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
Bahan Kuliah APS - Pemodelan Kebutuhan: Terstruktur | Tri A. Kurniawan, S.T, M.T, Ph.D 23/26
Behavior model
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
Behavior model (1)
CSPEC
– Dispense change : Process Activation Table
coin return
request
available
product
get change
coin
get
payment
coin
TRUE
TRUE
1
0
Bahan Kuliah APS - Pemodelan Kebutuhan: Terstruktur | Tri A. Kurniawan, S.T, M.T, Ph.D 25/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
Summary
Pemodelan kebutuhan diperlukan untuk
meningkatkan pemahaman terhadap kebutuhan
yang sedang dianalisis
Pemodelan terstruktur meliputi pemodelan data,