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
a
e d
c transform center
h f g outgoing flow
Transaction flow : b
transaction center
transaction
a
action path
c
d g
f
e
h
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
RPL - Perancangan PL - Pemodelan / Tri A. Kurniawan, S.T, M.T, Ph.D
telephone number
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
8
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
b
b
d
Dispatcher
c1
a q
r
s
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
Invoke command processing
Read user command
Read system data
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
Invoke command processing
Acquire response info
Establish alarm conditions
Read sensors
System configuration controller
Activate /deactivate system
Password processing controller
Build configuration file
Display messages & status
Read password
Produce display
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 d0
Data X 1p Proses A
d1
d2
5p Proses E
d3
2p Proses B
3p Proses C
d5
6p Proses F
d7
d4
4p Proses D
d6
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
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 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
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