32
REKAYASA PERANGKAT LUNAK (RPL) Perancangan PL Pemodelan

REKAYASA PERANGKAT LUNAK (RPL) · PDF fileRPL - Perancangan PL - Pemodelan / Tri A. Kurniawan, S.T, M.T, Ph.D 2/32 Tujuan perkuliahan Memahami pendekatan terstruktur Memahami pendekatan

Embed Size (px)

Citation preview

Page 1: REKAYASA PERANGKAT LUNAK (RPL) · PDF fileRPL - Perancangan PL - Pemodelan / Tri A. Kurniawan, S.T, M.T, Ph.D 2/32 Tujuan perkuliahan Memahami pendekatan terstruktur Memahami pendekatan

REKAYASA PERANGKAT

LUNAK (RPL)

Perancangan PL – Pemodelan

Page 2: REKAYASA PERANGKAT LUNAK (RPL) · PDF fileRPL - Perancangan PL - Pemodelan / Tri A. Kurniawan, S.T, M.T, Ph.D 2/32 Tujuan perkuliahan Memahami pendekatan terstruktur Memahami pendekatan

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

Tujuan perkuliahan

Memahami pendekatan terstruktur

Memahami pendekatan berorientasi objek

Page 3: REKAYASA PERANGKAT LUNAK (RPL) · PDF fileRPL - Perancangan PL - Pemodelan / Tri A. Kurniawan, S.T, M.T, Ph.D 2/32 Tujuan perkuliahan Memahami pendekatan terstruktur Memahami pendekatan

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

Agenda

Pemodelan pendekatan terstruktur

Pemodelan pendekatan berorientasi objek

Page 4: REKAYASA PERANGKAT LUNAK (RPL) · PDF fileRPL - Perancangan PL - Pemodelan / Tri A. Kurniawan, S.T, M.T, Ph.D 2/32 Tujuan perkuliahan Memahami pendekatan terstruktur Memahami pendekatan

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.

Page 5: REKAYASA PERANGKAT LUNAK (RPL) · PDF fileRPL - Perancangan PL - Pemodelan / Tri A. Kurniawan, S.T, M.T, Ph.D 2/32 Tujuan perkuliahan Memahami pendekatan terstruktur Memahami pendekatan

Pemodelan Terstruktur

(Functional Design)

Page 6: REKAYASA PERANGKAT LUNAK (RPL) · PDF fileRPL - Perancangan PL - Pemodelan / Tri A. Kurniawan, S.T, M.T, Ph.D 2/32 Tujuan perkuliahan Memahami pendekatan terstruktur Memahami pendekatan

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

Page 7: REKAYASA PERANGKAT LUNAK (RPL) · PDF fileRPL - Perancangan PL - Pemodelan / Tri A. Kurniawan, S.T, M.T, Ph.D 2/32 Tujuan perkuliahan Memahami pendekatan terstruktur Memahami pendekatan

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

Page 8: REKAYASA PERANGKAT LUNAK (RPL) · PDF fileRPL - Perancangan PL - Pemodelan / Tri A. Kurniawan, S.T, M.T, Ph.D 2/32 Tujuan perkuliahan Memahami pendekatan terstruktur Memahami pendekatan

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

Page 9: REKAYASA PERANGKAT LUNAK (RPL) · PDF fileRPL - Perancangan PL - Pemodelan / Tri A. Kurniawan, S.T, M.T, Ph.D 2/32 Tujuan perkuliahan Memahami pendekatan terstruktur Memahami pendekatan

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

Page 10: REKAYASA PERANGKAT LUNAK (RPL) · PDF fileRPL - Perancangan PL - Pemodelan / Tri A. Kurniawan, S.T, M.T, Ph.D 2/32 Tujuan perkuliahan Memahami pendekatan terstruktur Memahami pendekatan

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

Page 11: REKAYASA PERANGKAT LUNAK (RPL) · PDF fileRPL - Perancangan PL - Pemodelan / Tri A. Kurniawan, S.T, M.T, Ph.D 2/32 Tujuan perkuliahan Memahami pendekatan terstruktur Memahami pendekatan

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

Page 12: REKAYASA PERANGKAT LUNAK (RPL) · PDF fileRPL - Perancangan PL - Pemodelan / Tri A. Kurniawan, S.T, M.T, Ph.D 2/32 Tujuan perkuliahan Memahami pendekatan terstruktur Memahami pendekatan

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

Page 13: REKAYASA PERANGKAT LUNAK (RPL) · PDF fileRPL - Perancangan PL - Pemodelan / Tri A. Kurniawan, S.T, M.T, Ph.D 2/32 Tujuan perkuliahan Memahami pendekatan terstruktur Memahami pendekatan

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

Page 14: REKAYASA PERANGKAT LUNAK (RPL) · PDF fileRPL - Perancangan PL - Pemodelan / Tri A. Kurniawan, S.T, M.T, Ph.D 2/32 Tujuan perkuliahan Memahami pendekatan terstruktur Memahami pendekatan

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

Page 15: REKAYASA PERANGKAT LUNAK (RPL) · PDF fileRPL - Perancangan PL - Pemodelan / Tri A. Kurniawan, S.T, M.T, Ph.D 2/32 Tujuan perkuliahan Memahami pendekatan terstruktur Memahami pendekatan

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

Page 16: REKAYASA PERANGKAT LUNAK (RPL) · PDF fileRPL - Perancangan PL - Pemodelan / Tri A. Kurniawan, S.T, M.T, Ph.D 2/32 Tujuan perkuliahan Memahami pendekatan terstruktur Memahami pendekatan

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

Page 17: REKAYASA PERANGKAT LUNAK (RPL) · PDF fileRPL - Perancangan PL - Pemodelan / Tri A. Kurniawan, S.T, M.T, Ph.D 2/32 Tujuan perkuliahan Memahami pendekatan terstruktur Memahami pendekatan

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.

Page 18: REKAYASA PERANGKAT LUNAK (RPL) · PDF fileRPL - Perancangan PL - Pemodelan / Tri A. Kurniawan, S.T, M.T, Ph.D 2/32 Tujuan perkuliahan Memahami pendekatan terstruktur Memahami pendekatan

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

Page 19: REKAYASA PERANGKAT LUNAK (RPL) · PDF fileRPL - Perancangan PL - Pemodelan / Tri A. Kurniawan, S.T, M.T, Ph.D 2/32 Tujuan perkuliahan Memahami pendekatan terstruktur Memahami pendekatan

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

Page 20: REKAYASA PERANGKAT LUNAK (RPL) · PDF fileRPL - Perancangan PL - Pemodelan / Tri A. Kurniawan, S.T, M.T, Ph.D 2/32 Tujuan perkuliahan Memahami pendekatan terstruktur Memahami pendekatan

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

Page 21: REKAYASA PERANGKAT LUNAK (RPL) · PDF fileRPL - Perancangan PL - Pemodelan / Tri A. Kurniawan, S.T, M.T, Ph.D 2/32 Tujuan perkuliahan Memahami pendekatan terstruktur Memahami pendekatan

Pemodelan Berorientasi Objek

(Object-oriented Design)

Page 22: REKAYASA PERANGKAT LUNAK (RPL) · PDF fileRPL - Perancangan PL - Pemodelan / Tri A. Kurniawan, S.T, M.T, Ph.D 2/32 Tujuan perkuliahan Memahami pendekatan terstruktur Memahami pendekatan

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

Page 23: REKAYASA PERANGKAT LUNAK (RPL) · PDF fileRPL - Perancangan PL - Pemodelan / Tri A. Kurniawan, S.T, M.T, Ph.D 2/32 Tujuan perkuliahan Memahami pendekatan terstruktur Memahami pendekatan

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

Page 24: REKAYASA PERANGKAT LUNAK (RPL) · PDF fileRPL - Perancangan PL - Pemodelan / Tri A. Kurniawan, S.T, M.T, Ph.D 2/32 Tujuan perkuliahan Memahami pendekatan terstruktur Memahami pendekatan

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

Page 25: REKAYASA PERANGKAT LUNAK (RPL) · PDF fileRPL - Perancangan PL - Pemodelan / Tri A. Kurniawan, S.T, M.T, Ph.D 2/32 Tujuan perkuliahan Memahami pendekatan terstruktur Memahami pendekatan

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

Package diagram

Page 26: REKAYASA PERANGKAT LUNAK (RPL) · PDF fileRPL - Perancangan PL - Pemodelan / Tri A. Kurniawan, S.T, M.T, Ph.D 2/32 Tujuan perkuliahan Memahami pendekatan terstruktur Memahami pendekatan

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

Page 27: REKAYASA PERANGKAT LUNAK (RPL) · PDF fileRPL - Perancangan PL - Pemodelan / Tri A. Kurniawan, S.T, M.T, Ph.D 2/32 Tujuan perkuliahan Memahami pendekatan terstruktur Memahami pendekatan

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?

Page 28: REKAYASA PERANGKAT LUNAK (RPL) · PDF fileRPL - Perancangan PL - Pemodelan / Tri A. Kurniawan, S.T, M.T, Ph.D 2/32 Tujuan perkuliahan Memahami pendekatan terstruktur Memahami pendekatan

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

Page 29: REKAYASA PERANGKAT LUNAK (RPL) · PDF fileRPL - Perancangan PL - Pemodelan / Tri A. Kurniawan, S.T, M.T, Ph.D 2/32 Tujuan perkuliahan Memahami pendekatan terstruktur Memahami pendekatan

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

Page 30: REKAYASA PERANGKAT LUNAK (RPL) · PDF fileRPL - Perancangan PL - Pemodelan / Tri A. Kurniawan, S.T, M.T, Ph.D 2/32 Tujuan perkuliahan Memahami pendekatan terstruktur Memahami pendekatan

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

Page 31: REKAYASA PERANGKAT LUNAK (RPL) · PDF fileRPL - Perancangan PL - Pemodelan / Tri A. Kurniawan, S.T, M.T, Ph.D 2/32 Tujuan perkuliahan Memahami pendekatan terstruktur Memahami pendekatan

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.

Page 32: REKAYASA PERANGKAT LUNAK (RPL) · PDF fileRPL - Perancangan PL - Pemodelan / Tri A. Kurniawan, S.T, M.T, Ph.D 2/32 Tujuan perkuliahan Memahami pendekatan terstruktur Memahami pendekatan

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