REKAYASA PERANGKAT
LUNAK (RPL)
Perancangan PL – Pemodelan
RPL - Perancangan PL - Pemodelan / Tri A. Kurniawan, S.T, M.T, Ph.D 2/32
Tujuan perkuliahan
Memahami pendekatan terstruktur
Memahami pendekatan berorientasi objek
RPL - Perancangan PL - Pemodelan / Tri A. Kurniawan, S.T, M.T, Ph.D 3/32
Agenda
Pemodelan pendekatan terstruktur
Pemodelan pendekatan berorientasi objek
RPL - Perancangan PL - Pemodelan / Tri A. Kurniawan, S.T, M.T, Ph.D 4/32
Metode
Functional Design
– Berorientasi pada fungsi
– Structured Design (Constantin & Yourdon, 1979),
Step wise Refinement (Wirth, 1971, 1976), Jackson
Structured Programming (Jackson, 1975), dll.
Object-oriented Design
– Berorientasi pada objek/data
– Booch (1994), Meyer (1988), Jacobson et all (1993),
dll.
Pemodelan Terstruktur
(Functional Design)
RPL - Perancangan PL - Pemodelan / Tri A. Kurniawan, S.T, M.T, Ph.D 6/32
Functional Design Approaches
Transform Mapping - langkah perancangan untuk tipe DFD
transform flow :
– Incoming flow : aliran/jalur informasi eksternal masuk ke sistem untuk
ditransformasikan menjadi informasi internal
– Transform center : pusat transformasi di dalam sistem yang akan
mentriger informasi keluar dari sistem
– Outgoing flow : aliran/jalur informasi internal keluar dari sistem menjadi
informasi eksternal
Transaction Mapping - langkah perancangan untuk tipe DFD
transaction flow :
– Transaction : data tunggal yang mentriger satu atau beberapa aliran
data
– Transaction center : penghubung antara aliran-aliran data hasil
pentrigeran dengan data trigernya
– Action path : aliran/jalur informasi hasil triger
RPL - Perancangan PL - Pemodelan / Tri A. Kurniawan, S.T, M.T, Ph.D 7/32
Functional Design Approaches
Transform flow : tipe dasar DFD
Transaction flow :
a
b
cd
f
g
e
h
incoming
flow
transform
center
outgoing
flow
a c
b
d e
f
g
h
transaction
transaction
center
action path
RPL - Perancangan PL - Pemodelan / Tri A. Kurniawan, S.T, M.T, Ph.D 8/32
Transform Mapping
Langkah-langkah Transform Mapping :
– Review dan refine DFD sampai ke level paling bawah
– Tentukan apakah DFD tsb. memiliki karakteristik tipe
transform flow atau transaction flow
– Tentukan batas antara incoming flow, transform
center dan outgoing flow
– Bangun first level factoring
– Bangun second level factoring
– Refine first iteration
Contoh Transform Mapping : SafeHome Security
Software
RPL - Perancangan PL - Pemodelan / Tri A. Kurniawan, S.T, M.T, Ph.D 9/32
Transform Mapping – Contoh
DFD level 1 :
1*
Interact
with user
2*
Configure
system
3
Activate
/deactivate
sytem
4
Display
messages
and status
5*
Process
password
6*
Monitor
sensors
configuration
information
user commands
and dataControl
panel
Sensors
Control
panel
display
Alarm
Telephone
line
configure
request
configuration
data
start stop
password
valid ID msg.
A/D msg.
configuration
data
configuration
data
sensor status
sensor
information
alarm type
telephone number tones
display
information
RPL - Perancangan PL - Pemodelan / Tri A. Kurniawan, S.T, M.T, Ph.D 10/32
Transform Mapping – Contoh
DFD level 2 : Monitor sensors
6.3*
Format for
display
6.2*
Assess
against setup
6.4
Generate
alarm
signal
6.1
Read
sensors
6.5*
Dial phone
configuration
information
sensor
information
sensor status
sensor ID, type
configuration
data
alarm type
telephone number
tones
telephone
number
alarm data
sensor ID, type,
location
RPL - Perancangan PL - Pemodelan / Tri A. Kurniawan, S.T, M.T, Ph.D 11/32
Transform Mapping – Contoh
DFD level 3 : Monitor sensors
1
Read
sensors
configuration
information
sensor status
2
Acquire
response
info
3
Establish
alarm
conditions
8
Generate
pulses to
line
4
Select
phone
number
5
Set up
conn. to
phone net
9
Generate
display6
Format
display
7
Generate
alarm
signal
sensor ID, type
configuration
data
sensor
information
alarm type
telephone number
tones
formated ID,
type, location
alarm data
alarm cond.
code, sensor ID,
timing
information
list of
numbers
telephone
number
tone ready
telephone
number
sensor ID, type,
location
RPL - Perancangan PL - Pemodelan / Tri A. Kurniawan, S.T, M.T, Ph.D 12/32
Transform Mapping – Contoh
First level factoring : Monitor sensors
configuration
information
8
9
6
7
1
2
3
4
5
Monitor
sensors
executive
Sensor input
controller
Alarm conditions
controller
Alarm output
controller
RPL - Perancangan PL - Pemodelan / Tri A. Kurniawan, S.T, M.T, Ph.D 13/32
Transform Mapping – Contoh
Second level factoring : Monitor sensors
Monitor
sensors
executive
Sensor input
controller
Alarm conditions
controller
Alarm output
controller
Format
display
Generate
alarm signal
Set up conn. to
phone net
Generate
display
Generate
pulses to line
Establish alarm
conditions
Select phone
numberAcquire
response info
Read sensors
RPL - Perancangan PL - Pemodelan / Tri A. Kurniawan, S.T, M.T, Ph.D 14/32
Transform Mapping – Contoh
Refine first iteration : Monitor sensors
– Incoming controller dihapus : data input tunggal, cukup sederhana
– Transform controller dihapus dan digabung dalam satu modul : ada
penurunan tingkat kohesifitas
– Format display dan generate display digabung : sederhana
Monitor
sensors
executive
Establish alarm
conditionsAlarm output
controller
Produce
display
Generate
alarm signal
Set up conn. to
phone net
Generate
pulses to line
Acquire
response info
Read sensors
RPL - Perancangan PL - Pemodelan / Tri A. Kurniawan, S.T, M.T, Ph.D 15/32
Transaction Mapping
Langkah-langkah Transaction Mapping :
– Review dan refine DFD sampai ke level paling bawah
– Tentukan apakah DFD tsb. memiliki karakteristik tipe
transform flow atau transaction flow
– Tentukan batas antara incoming path/transaction,
transaction center dan action path
– Bangun first level factoring
– Bangun second level factoring
– Refine first iteration
Contoh Transaction Mapping : SafeHome Security
Software
RPL - Perancangan PL - Pemodelan / Tri A. Kurniawan, S.T, M.T, Ph.D 16/32
Transaction Mapping
Transaction structuring
r
s
a
b
d
p
q
Transaction
control
b
a
d
c1
q r s
p
DispatcherReception
path
RPL - Perancangan PL - Pemodelan / Tri A. Kurniawan, S.T, M.T, Ph.D 17/32
Transaction Mapping – Contoh
DFD level 2 : User interaction
3
Read
password
2
Invoke
command
processing
4
Compare
password
w/ file
1
Read user
command
configuration
information
5
Activate/d
eactivate
system
6
Display
message
& status
7
Read
system
data
8
Build
configurat
ion file
command
type
start stop
user commands
and data
configure
request
password
raw
configuration
dataconfiguration
data
A/D msg.
configuration
data
configuration
data
four digits display
informationvalid ID msg.
RPL - Perancangan PL - Pemodelan / Tri A. Kurniawan, S.T, M.T, Ph.D 18/32
Transaction Mapping – Contoh
First/Second level factoring : User interaction
User
interaction
executive
Read user
command
System
configuration
controller
Invoke
command
processing
Activate
/deactivate
system
Password
processing
controller
Read system
data
Build
configuration file
Read
passwordCompare
password w/
file
Display
messages &
status
RPL - Perancangan PL - Pemodelan / Tri A. Kurniawan, S.T, M.T, Ph.D 19/32
Transaction Mapping – Contoh
Arsitektur SafeHome Security Software
User
interaction
executive
Read user
command
System
configuration
controller
Invoke
command
processing
Activate
/deactivate
system
Password
processing
controller
Read system
data
Build
configuration file
Read
passwordCompare
password w/
file
Display
messages &
status
SafeHome
Security
Monitor
sensors
executive
Establish alarm
conditions
Alarm output
controller
Produce
display
Generate
alarm signal
Set up conn. to
phone net
Generate
pulses to line
Acquire
response info
Read sensors
RPL - Perancangan PL - Pemodelan / Tri A. Kurniawan, S.T, M.T, Ph.D 20/32
Latihan
1p
Proses A
2p
Proses B
3p
Proses C
4p
Proses D
5p
Proses E
6p
Proses F
d1
d2d3
d4
d5
Data X
d0
d7
d6
Pemodelan Berorientasi Objek
(Object-oriented Design)
RPL - Perancangan PL - Pemodelan / Tri A. Kurniawan, S.T, M.T, Ph.D 22/32
OOA, OOD, OOP
Object-oriented analysis, design and
programming are related but distinct
OOA is concerned with developing an object
model of the application domain
OOD is concerned with developing an object-
oriented system model to implement requirements
OOP is concerned with realising an OOD using an
OO programming language such as Java or C++
RPL - Perancangan PL - Pemodelan / Tri A. Kurniawan, S.T, M.T, Ph.D 23/32
Konsep
Metode untuk melakukan dekomposisi arsitektur
sistem berdasarkan objek-objek yang dimanipulasi
oleh sistem yang sedang dibangun
Identifikasi dan mendefinisikan klas-klas tambahan
yg merefleksikan implementasi dari kebutuhan-
kebutuhan hasil analisis
Notasi = OOA
Proses :
– Perancangan sistem : struktur klas, user interface, data
management
– Perancangan objek : atribut/struktur data, algoritma operasi
RPL - Perancangan PL - Pemodelan / Tri A. Kurniawan, S.T, M.T, Ph.D 24/32
Struktur klas
Gunakan klas-klas hasil analisis dan tambahkan
sesuai dengan kebutuhan perancangan
Reuse jika memungkinkan
packaging : pengelompokan klas-klas yg sesuai
RPL - Perancangan PL - Pemodelan / Tri A. Kurniawan, S.T, M.T, Ph.D 25/32
Package diagram
RPL - Perancangan PL - Pemodelan / Tri A. Kurniawan, S.T, M.T, Ph.D 26/32
Finding classes
Identifying object classes is often a difficult part of object oriented design
There is no 'magic formula' for object identification. It relies on the skill, experience and domain knowledge of system designers.
Object identification is an iterative process. You are unlikely to get it right first time.
Use domain analysis as before
Use a grammatical approach based on a natural language description of the system
Base the identification on tangible things in the application domain
RPL - Perancangan PL - Pemodelan / Tri A. Kurniawan, S.T, M.T, Ph.D 27/32
Finding classes
Derive them from the use cases
(descriptions/scenarios)
Look for data which must be stored or analysed
Are there external systems?
Are there any devices under the control of the
system?
Are there any organisational parts?
RPL - Perancangan PL - Pemodelan / Tri A. Kurniawan, S.T, M.T, Ph.D 28/32
Object Design
Attributes
– Describe the state and characteristics of the object
– Must be typed : primitive or class
– Only name and type are mandatory
Operations
– Operations manipulate attributes and perform other
tasks
– Scope is the class
– Operation signature is composed of name,
parameters and return type
RPL - Perancangan PL - Pemodelan / Tri A. Kurniawan, S.T, M.T, Ph.D 29/32
Object Design
Sifat akses atribut dan operasi/service :
– private (klas/objek ybs.)
– protected (klas/objek ybs. dan turunannya)
– public (semua klas/objek)
Algoritma operasi untuk implementasi
spesifikasi dari setiap operasi
– operasi manipulasi data (set, delete, get, dll.)
– operasi komputasi
– operasi pengontrolan
RPL - Perancangan PL - Pemodelan / Tri A. Kurniawan, S.T, M.T, Ph.D 30/32
Operations – polymorphism
Polymorphism means many (poly) shapes
(morph)
There are two kinds of polymorphism:
– Overloading
Two or more methods with different signatures with the
same name
They essentially do the same thing, e.g. class constructors
– Overriding
Replacing an inherited method class with another having
the same signature (no matter with different parameter’s
name)
Do different thing using the same method’s signature
RPL - Perancangan PL - Pemodelan / Tri A. Kurniawan, S.T, M.T, Ph.D 31/32
Latihan
A weather station is a package of software controlled instruments which collects data, performs some data processing and transmits this data for further processing. The instruments include air and ground thermometers, an anemometer, a wind vane, a barometer and a rain gauge. Data is collected periodically.
When a command is issued to transmit the weather data, the weather station processes and summarises the collected data. The summarised data is transmitted to the mapping computer when a request is received.
RPL - Perancangan PL - Pemodelan / Tri A. Kurniawan, S.T, M.T, Ph.D 32/32
Penutup
Pemodelan perancangan dilakukan berdasarkan
hasil pemodelan analisis kebutuhan (RE
modeling)
Transform dan transaction mapping digunakan
untuk membangun arsitektur PL berdasarkan
DFD
OOD dilakukan berdasarkan hasil OOA dengan
perluasan klas jika diperlukan untuk keperluan
implementasi