Anda di halaman 1dari 32

REKAYASA PERANGKAT

LUNAK (RPL)
Perancangan PL Pemodelan

Tujuan perkuliahan
Memahami pendekatan terstruktur
Memahami pendekatan berorientasi objek

RPL - Perancangan PL - Pemodelan / Tri A. Kurniawan, S.T, M.T, Ph.D

2/32

Agenda
Pemodelan pendekatan terstruktur
Pemodelan pendekatan berorientasi objek

RPL - Perancangan PL - Pemodelan / Tri A. Kurniawan, S.T, M.T, Ph.D

3/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.

RPL - Perancangan PL - Pemodelan / Tri A. Kurniawan, S.T, M.T, Ph.D

4/32

Pemodelan Terstruktur
(Functional Design)

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

6/32

Functional Design Approaches


Transform flow : tipe dasar DFD
b

incoming
flow

e
d

c
transform
center

f
g
outgoing
flow

Transaction flow :
b

transaction
center

transaction

action path
g

RPL - Perancangan PL - Pemodelan / Tri A. Kurniawan, S.T, M.T, Ph.D

7/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

8/32

Transform Mapping Contoh


DFD level 1 :
Control
panel

user commands
and data
1*
Interact
with user

configuration
data

2*
Configure
system
configure
request

start stop
password

configuration
data

configuration
data

3
Activate
/deactivate
sytem
A/D msg.

5*
Process
password

configuration
information

valid ID msg.

4
Display
messages
and status

display
information

sensor
information
Sensors

sensor status

6*
Monitor
sensors

Control
panel
display

Alarm
alarm type

telephone number tones

RPL - Perancangan PL - Pemodelan / Tri A. Kurniawan, S.T, M.T, Ph.D

Telephone
line

9/32

Transform Mapping Contoh


DFD level 2 : Monitor sensors
6.3*
Format for
display
configuration
information

configuration
data

sensor ID, type,


location
6.2*
Assess
against setup

6.1
Read
sensors

sensor ID, type

sensor
information

6.4
Generate
alarm
signal

alarm type

alarm data

telephone
number

sensor status
6.5*
Dial phone

RPL - Perancangan PL - Pemodelan / Tri A. Kurniawan, S.T, M.T, Ph.D

telephone number
tones

10/32

Transform Mapping Contoh


DFD level 3 : Monitor sensors
configuration
information

formated ID,
type, location
6
Format
display

configuration
data

sensor
information

9
Generate
display

telephone number
tones

sensor status
sensor ID, type,
location
1
Read
sensors
sensor ID, type

2
Acquire
response
info
alarm cond.
code, sensor ID,
timing
information

7
Generate
alarm
signal

alarm type
8
Generate
pulses to
line

alarm data
3
Establish
alarm
conditions
list of
numbers

4
Select
phone
number
telephone
number

RPL - Perancangan PL - Pemodelan / Tri A. Kurniawan, S.T, M.T, Ph.D

5
Set up
conn. to
phone net

tone ready
telephone
number

11/32

Transform Mapping Contoh


First level factoring : Monitor sensors
configuration
information
9
6
1
2

7
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

12/32

Transform Mapping Contoh


Second level factoring : Monitor sensors
Monitor
sensors
executive

Sensor input
controller

Acquire
response info

Read
sensors

Alarm conditions
controller

Establish alarm
conditions

Select phone
number

Alarm output
controller

Format
display

Generate
display

RPL - Perancangan PL - Pemodelan / Tri A. Kurniawan, S.T, M.T, Ph.D

Generate
alarm signal

Set up conn.
to phone net

Generate
pulses to line

13/32

Transform Mapping Contoh


Refine first iteration : Monitor sensors
Monitor
sensors
executive

Acquire
response info

Read
sensors

Establish alarm
conditions

Alarm output
controller

Produce
display

Generate
alarm signal

Set up conn.
to phone net

Generate
pulses to line

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
RPL - Perancangan PL - Pemodelan / Tri A. Kurniawan, S.T, M.T, Ph.D

14/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

15/32

Transaction Mapping
Transaction structuring
Transaction
control
a

Reception
path

Dispatcher

c1

a
q

d
p
p
q

r
s

RPL - Perancangan PL - Pemodelan / Tri A. Kurniawan, S.T, M.T, Ph.D

16/32

Transaction Mapping Contoh


DFD level 2 : User interaction
user commands
and data
1
Read user
command

configure
request
command
type

2
Invoke
command
processing

8
Build
configurat
ion file

configuration
data
configuration
information

start stop
password

3
Read
password

7
Read
system
data

raw
configuration
data

5
Activate/d
eactivate
system

configuration
data
A/D msg.

four digits
4
Compare
password
w/ file

valid ID msg.

RPL - Perancangan PL - Pemodelan / Tri A. Kurniawan, S.T, M.T, Ph.D

configuration
data
6
Display
message
& status
display
information

17/32

Transaction Mapping Contoh


First/Second level factoring : User interaction
User
interaction
executive

Read
user
command

Read system
data

Invoke
command
processing

System
configuration
controller

Activate
/deactivate
system

Password
processing
controller

Build
configuration file

Display
messages &
status

Read
password

RPL - Perancangan PL - Pemodelan / Tri A. Kurniawan, S.T, M.T, Ph.D

Compare
password w/
file

18/32

Transaction Mapping Contoh


Arsitektur SafeHome Security Software
SafeHome
Security
Monitor
sensors
executive
User
interaction
executive

Read
user
command

Read system
data

Acquire
response info

Invoke
command
processing

Establish alarm
conditions
Produce
display

Read
sensors

System
configuration
controller

Activate
/deactivate
system

Password
processing
controller

Build
configuration file

Display
messages &
status

Read
password

Alarm output
controller
Generate
alarm signal

Set up conn.
to phone net

Generate
pulses to line

Compare
password w/
file

RPL - Perancangan PL - Pemodelan / Tri A. Kurniawan, S.T, M.T, Ph.D

19/32

Latihan

RPL - Perancangan PL - Pemodelan / Tri A. Kurniawan, S.T, M.T, Ph.D

20/32

Pemodelan Berorientasi Objek


(Object-oriented Design)

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 objectoriented 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

22/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 kebutuhankebutuhan 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

23/32

Struktur klas
Gunakan klas-klas hasil analisis dan tambahkan
sesuai dengan kebutuhan perancangan
Reuse jika memungkinkan
Model dari OOA
Vehicle
VIN
c olor
s tyle
y ear
make

Model OTS

VehicleOTS

VehicleOTS
VIN

VIN

validateVIN()

validateVIN()

validat eVIN()

Vehicle
color
style
year
make

packaging : pengelompokan klas-klas yg sesuai


RPL - Perancangan PL - Pemodelan / Tri A. Kurniawan, S.T, M.T, Ph.D

24/32

Package diagram

RPL - Perancangan PL - Pemodelan / Tri A. Kurniawan, S.T, M.T, Ph.D

25/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

26/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

27/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

28/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

29/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 parameters
name)
Do different thing using the same methods signature
RPL - Perancangan PL - Pemodelan / Tri A. Kurniawan, S.T, M.T, Ph.D

30/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

31/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

RPL - Perancangan PL - Pemodelan / Tri A. Kurniawan, S.T, M.T, Ph.D

32/32