Anda di halaman 1dari 35

1

Desain PL
Konsep dan Modeling
Fajar Pradana S.ST., M.Eng
2

Tujuan perkuliahan
• Memahami pengertian dan urgensi perancangan PL
• Memahami proses perancangan PL
• Memahami prinsip-prinsip perancangan PL
• Memahami parameter kualitas perancangan PL
• Memahami alat bantu dan dokumentasi yang diperlukan dalam
perancangan PL
3

Agenda
• Pengertian, Urgensi dan Fungsi

• Proses

• Prinsip-prinsip

• Parameter Kualitas

• Alat bantu dan Dokumentasi


4

Pengertian: S/W Design


• Representasi rekayasa dari perangkat lunak yang akan dibangun,
yang terfokus pada data, arsitektur, interface, dan komponen.
Dapat dilacak terhadap kebutuhan-kebutuhan customer/perangkat
lunak (Roger S. Pressman)
• Membangun suatu solusi permasalahan yang memenuhi
kebutuhan-kebutuhan perangkat lunak (Ian Sommerville)
5

S/W design – wicked problem


• There is no definite formulation
• There is no stopping rule
• Solutions are not simply true or false
• Every wicked problem is a symptom of another problem
6

Urgensi dan Fungsi


• Mengapa  K U A L I T A S : perancangan adalah satu2nya jalan
untuk mentransformasi secara akurat kebutuhan2 customer ke
dalam sebuah produk akhir berupa perangkat lunak yang
berkualitas tinggi
• Fungsi  Sebagai dasar dari semua aktifitas rekayasa perangkat
lunak yang mengikutinya (implementasi/coding, pengujian dan
validasi)
7

Proses
• Perancangan data
 Mentransformasikan model domain informasi dari hasil
analisis menjadi struktur data yang dibutuhkan dalam
implementasi PL
• Perancangan arsitektural
 Mendefinisikan elemen-elemen utama (sub-sistem) dan
relasi antar elemen-elemen utama dari struktur PL
• Perancangan interface
 Menjelaskan bagaimana PL berkomunikasi di dlm PL itu
sendiri maupun dengan sistem lain yang berinteraksi atau
dengan manusia sebagai pemakainya
• Perancangan komponen
 Dekomposisi sub-sistem menjadi komponen detil
8

Proses

Informal More
Informal Finished
Design Formal
Design Design
Outline Design

• Kriteria perancangan yang baik (McGlaughlin) :


 Harus mengimplementasikan seluruh kebutuhan eksplisit yang ada
dan yang implisit yang diinginkan oleh customer
 Harus mudah dibaca, dimengerti  panduan implementasi maupun
pengujian
 Harus lengkap menggambarkan keseluruhan PL yang akan dibuat
9

Prinsip-prinsip
• Terdiri dari proses dan model
• Prinsip dasar (Davis) :
 Proses perancangan tidak boleh menggunakan pendekatan ‘kaca
mata kuda’
 Perancangan harus bisa dilacak ke model analisisnya
 Perancangan tidak seharusnya mengulangi rancangan yang sudah
ada -> reusing
 Perancangan harus sedapat mungkin mendekati kenyataan yang
ada di domain permasalahannya
 Perancangan seharusnya seragam (ada konvensi) dan integral
(interface antar komponen)
 Perancangan ≠ implementasi, implementasi ≠ perancangan
 Perancangan harus bisa dievaluasi pada saat berlangsung (tidak
setelah selesai semuanya)
 Perancangan harus terstruktur -> bisa mengakomodasi perubahan
10

Parameter kualitas
• Cohesion
• Coupling
• Understandability
• Adaptability
11

Parameter Kualitas : Cohesion


• Ukuran tingkat kedekatan relasi antar elemen-elemen dalam satu
komponen
• Jika terjadi perubahan pada sebuah komponen -> tingkat
kohesifitas menentukan
• Semakin tinggi semakin baik hasil rancangannya
• Penurunan klas akan mengurangi tingkat kohesifitas
• Untuk memahami sebuah klas/komponen secara lengkap, harus
melihat klas atasnya (super-class)
• Ada beberapa tingkat kohesifitas, tetapi cukup sulit untuk
mengklasifikasikan dengan tepat
12

Parameter Kualitas : Cohesion Level


• Logical association (weak)
 Kesamaan fungsi/logika dari elemen2 sebuah komponen, tetapi
aksinya berbeda-beda
 Contoh : output text to screen
output line to printer
output record to file
• Temporal cohesion (weak)
 Elemen2 yang diaktifkan dalam waktu yang sama
 Contoh : clear screen
open file
initialize time_average
13

Parameter Kualitas : Cohesion Level


• Procedural cohesion (weak)
 Sebuah komponen terdiri dari sekumpulan elemen2 yang
membentuk satu rangkaian proses
 Contoh : calculate quiz_score
calculate final_score
analyze attendance_list
• Sequential cohesion (medium)
 Output dari satu elemen menjadi input bagi elemen yang lain
 Contoh : get temperature_value_to_convert
convert to fahrenheit
output conversion_result to screen
14

Parameter Kualitas : Cohesion Level


• Functional cohesion (strong)
 Tipe kohesi yang paling optimal
 Satu fungsi dan satu data tertentu untuk setiap komponen
 Elemen2 dalam satu komponen untuk memenuhi fungsi yang
terdefinisi tsb.
 Contoh : calculate average
• Object cohesion (strong)
 Setiap operasi memiliki kemampuan untuk memanipulasi atribut
yang dibutuhkan dari sebuah klas
 Contoh : display temperature
log temperature
analyze temperature
15

Parameter Kualitas : Coupling


• Ukuran tingkat kedekatan relasi antar komponen
• Semakin rendah semakin baik hasil rancangannya
• Jika terjadi perubahan pada sebuah komponen, maka tingkat
kopling menentukan
• Penurunan klas akan menaikkan tingkat kopling
• OO systems memberikan tingkat kopling yang rendah : tidak ada
shared data
16

Parameter Kualitas : Coupling


• Kopling tinggi :
Modu le A Module B

Modu le C Module D

Sh ared data
area
• Kopling rendah :
Module A
A’s data

Module B Module C

B’s data C’s data

Module D

D’s data
17

Parameter Kualitas : Coupling


• Mudah dipahami : implementasi, pengujian dan perawatan (jika
terjadi perubahan)
• Berhubungan dengan beberapa karakteristik komponen :
 Cohesion dan coupling : can the component be understood on its
own ?
 Naming : are meaningful names used ?
 Documentation : is the design well-documented ?
 Complexity : are complex algorithms used ?
18

Parameter Kualitas : Adaptability


• Seberapa mudah dilakukan perubahan perancangan
• Perancangan yang adaptif :
 Kopling rendah
 Dokumentasi bagus dan up to date
 Traceability yang tinggi
 Kohesi tinggi
• Penurunan klas : meningkatkan adaptability
19

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.
20

Functional Design approach


• 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
21

Functional Design approach


22

Functional Design Approaches


• Transform flow : tipe dasar DFD
b

a e
incoming
flow d
c

transfor
h
m center f
g
• Transaction flow :
outgoing
flow
transactio b
transactio n center
n
a c f

action
path d e
g
h
23

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
24

Contoh

user commands configuration


Control 2* configuration
and data data
panel Configur information
e system
1*
Interact configure
with user request configuration configuration
data data

start stop 3
password Activate
/deactivat
e sytem
A/D msg. 4
5* display Control
valid ID msg. Display information
Process panel
messages
password display
and status
sensor
Alarm
information
6*
sensor status alarm type
Sensors Monitor
Telephone
sensors telephone number tones line
25

Contoh
• Level 2
6.3*
Format sensor
for information
display
configuration
information configuration sensor ID, type,
data location 6.4
Generate alarm type
6.2* alarm
Assess signal
against alarm data
setup
telephone
6.1 sensor ID, type number
Read
sensors
sensor status
6.5*
Dial
phone telephone
number tones
26

Contoh
• Level 3 configuration
formated ID, sensor
information
type, 9
information
location Generate
6 display telephone
configuration Format
number tones
data display
sensor status
7
sensor ID, alarm type
Generate
type, location alarm
8
1 signal
Generate
Read 2 alarm data pulses to
sensors Acquire
3 line
response
sensor ID, type info Establish
4 tone ready
alarm
alarm cond. conditions Select telephone
list of phone 5 number
code, sensor
numbers number Set up
ID, timing
conn. to
information telephone
phone net
number
27

Contoh
• First Level Factoring
configuration
information
9
6
1
2 7
3
4
5 8

Monitor
sensors
executive

Sensor input Alarm conditions Alarm output


controller controller controller
28

Transform Mapping – Contoh


• Second level factoring
Monitor
sensors
executive

Sensor input Alarm conditions Alarm output


controller controller controller

Acquire Establish alarm Select phone Generate alarm Set up conn. to


Format display
response info conditions number signal phone net

Generate Generate pulses


Read sensors
display to line
29

Contoh
• Refine first iteration : Monitor sensors
Monitor
sensors
executive

Acquire Establish alarm Alarm output


response info conditions controller

Produce Generate Set up conn.


Read sensors display alarm signal 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
30

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
31

Transaction Mapping
• Transaction structuring
Transaction
control
a
Reception
b d Dispatcher
path

b a c1

q r s
d
p
p

s
32

Transaction Mapping – Contoh


• DFD level 2 : User interaction
user commands raw
and data 7 configuration 8
Read data Build
1 configure configuration
Read user system configurat data
request
command data ion file
2
Invoke configuration
command
command information
type
processing
configuration configuration
5 data data
start stop
password Activate/d
eactivate A/D msg. 6
system Display
message
3 & status
Read
password four digits 4 display
Compare information
valid ID msg.
password
w/ file
33

Transaction Mapping – Contoh


• First/Second level factoring : User interaction
User
interaction
executive

Invoke
Read user
command
command
processing

System Password
Activate
configuration processing
/deactivate system
controller controller

Build configuration Display


Read system data Read password Compare
file messages &
password w/ file
status
34

Arsitektur SafeHome Security Software


SafeHome
Security
Monitor
sensors
executive
User
interaction Acquire Establish alarm Alarm output
executive response info conditions controller

Invoke Produce Generate alarm Set up conn. to


Read user Read sensors
command display signal phone net
command
processing

Generate
System Activate Password
pulses to line
configuration /deactivate processing
controller system controller

Build Display Compare


Read system data Read password
configuration file messages & password w/
status file
35

Terima Kasih
Ada Pertanyaan

Anda mungkin juga menyukai