Upload
raraafifa
View
235
Download
0
Embed Size (px)
Citation preview
7/23/2019 RPL Bab5 Perancangan Pemodelan
1/32
REKAYASA PERANGKATREKAYASA PERANGKATLUNAK (RPL)LUNAK (RPL)
PerancanganPerancangan PLPLPemodelanPemodelan
7/23/2019 RPL Bab5 Perancangan Pemodelan
2/32
RPLRPL --Perancangan PLPerancangan PL --Pemodelan / Tri A. Kurniawan, S.T, M.T, Ph.DPemodelan / Tri A. Kurniawan, S.T, M.T, Ph.D 22/32/32
TujuanTujuan perkuliahanperkuliahan
MemahamiMemahami pendekatanpendekatan terstrukturterstruktur
MemahamiMemahami pendekatanpendekatan berorientasiberorientasi objekobjek
7/23/2019 RPL Bab5 Perancangan Pemodelan
3/32
RPLRPL --Perancangan PLPerancangan PL --Pemodelan / Tri A. Kurniawan, S.T, M.T, Ph.DPemodelan / Tri A. Kurniawan, S.T, M.T, Ph.D 33/32/32
AgendaAgenda
PemodelanPemodelan pendekatanpendekatan terstrukturterstruktur
PemodelanPemodelan pendekatanpendekatan berorientasiberorientasi objekobjek
7/23/2019 RPL Bab5 Perancangan Pemodelan
4/32
RPLRPL --Perancangan PLPerancangan PL --Pemodelan / Tri A. Kurniawan, S.T, M.T, Ph.DPemodelan / Tri A. Kurniawan, S.T, M.T, Ph.D 44/32/32
MetodeMetode
Functional DesignFunctional Design
BerorientasiBerorientasi padapada fungsifungsi
Structured Design (Structured Design (ConstantinConstantin& Yourdon& Yourdon, 1979),, 1979),Step wise Refinement (Step wise Refinement (WirthWirth, 1971, 1976), Jackson, 1971, 1976), Jackson
Structured Programming (Structured Programming (JacksonJackson, 1975),, 1975), dlldll..
ObjectObject--oriented Designoriented DesignBerorientasiBerorientasi padapada objekobjek/data/data
BoochBooch
(1994), Meyer (1988), Jacobson et all (1993),(1994), Meyer (1988), Jacobson et all (1993),
dlldll..
7/23/2019 RPL Bab5 Perancangan Pemodelan
5/32
PemodelanPemodelan TerstrukturTerstruktur
((Functional Design)Functional Design)
7/23/2019 RPL Bab5 Perancangan Pemodelan
6/32
RPLRPL --Perancangan PLPerancangan PL --Pemodelan / Tri A. Kurniawan, S.T, M.T, Ph.DPemodelan / Tri A. Kurniawan, S.T, M.T, Ph.D 66/32/32
Functional Design ApproachesFunctional Design Approaches
Transform MappingTransform Mapping-- langkahlangkah perancanganperancangan untukuntuk tipetipe DFDDFD
transform flowtransform flow::
Incoming flowIncoming flow:: aliran/jaluraliran/jalur informasiinformasi eksternaleksternal masukmasuk keke sistemsistem untukuntuk
ditransformasikanditransformasikan menjadimenjadi informasiinformasi internalinternal
Transform centerTransform center:: pusatpusat transformasitransformasi didi dalamdalam sistemsistem yangyang akanakan
mentrigermentriger informasiinformasi keluarkeluar daridari sistemsistem
Outgoing flowOutgoing flow:: aliran/jaluraliran/jalur informasiinformasi internalinternal keluarkeluar daridari sistemsistem menjadimenjadi
informasiinformasi eksternaleksternal
Transaction MappingTransaction Mapping-- langkahlangkah perancanganperancangan untukuntuk tipetipe DFDDFD
transaction flowtransaction flow::
TransactionTransaction: data: data tunggaltunggal yangyang mentrigermentriger satusatu atauatau beberapabeberapa aliranalirandatadata
Transaction centerTransaction center:: penghubungpenghubung antaraantara aliranaliran--aliranaliran datadata hasilhasil
pentrigeranpentrigeran dengandengan datadata trigernyatrigernya
Action pathAction path:: aliran/jaluraliran/jalur informasiinformasi hasilhasil trigertriger
7/23/2019 RPL Bab5 Perancangan Pemodelan
7/32
RPLRPL --Perancangan PLPerancangan PL --Pemodelan / Tri A. Kurniawan, S.T, M.T, Ph.DPemodelan / Tri A. Kurniawan, S.T, M.T, Ph.D 77/32/32
Functional Design ApproachesFunctional Design Approaches
Transform flowTransform flow:: tipetipe dasardasar DFDDFD
Transaction flowTransaction flow::
a
b
cd
f
g
e
h
incomingflow
transformcenter
outgoingflow
a c
b
d e
f
g
h
transaction
transaction
center
action path
7/23/2019 RPL Bab5 Perancangan Pemodelan
8/32
RPLRPL --Perancangan PLPerancangan PL --Pemodelan / Tri A. Kurniawan, S.T, M.T, Ph.DPemodelan / Tri A. Kurniawan, S.T, M.T, Ph.D 88/32/32
Transform MappingTransform Mapping
LangkahLangkah--langkahlangkah Transform MappingTransform Mapping::
ReviewReviewdandan refinerefineDFDDFD sampaisampai keke level palinglevel paling bawahbawah
TentukanTentukan apakahapakah DFDDFD tsbtsb.. memilikimemiliki karakteristikkarakteristik tipetipetransform flowtransform flowatauatau transaction flowtransaction flow
TentukanTentukan batasbatas antaraantara incoming flowincoming flow,, transformtransform
centercenterdandan outgoing flowoutgoing flow
BangunBangun first level factoringfirst level factoring
BangunBangun second level factoringsecond level factoring
Refine first iterationRefine first iteration
ContohContoh Transform MappingTransform Mapping:: SafeHomeSafeHomeSecuritySecurity
SoftwareSoftware
7/23/2019 RPL Bab5 Perancangan Pemodelan
9/32
RPLRPL --Perancangan PLPerancangan PL --Pemodelan / Tri A. Kurniawan, S.T, M.T, Ph.DPemodelan / Tri A. Kurniawan, S.T, M.T, Ph.D 99/32/32
Transform MappingTransform Mapping ContohContoh
DFD level 1 :DFD level 1 :
1*
Interact
with user
2*
Configure
system
3Activate
/deactivate
sytem
4
Display
messages
and status
5*
Process
password
6*
Monitor
sensors
configurationinformation
user commands
and dataControlpanel
Sensors
Controlpanel
display
Alarm
Telephoneline
configure
request
configuration
data
start stoppassword
valid ID msg.
A/D msg.
configuration
data
configuration
data
sensor status
sensor
information
alarm type
telephone number tones
display
information
7/23/2019 RPL Bab5 Perancangan Pemodelan
10/32
RPLRPL --Perancangan PLPerancangan PL --Pemodelan / Tri A. Kurniawan, S.T, M.T, Ph.DPemodelan / Tri A. Kurniawan, S.T, M.T, Ph.D 1010/32/32
Transform MappingTransform Mapping ContohContoh
DFD level 2 :DFD level 2 : Monitor sensorsMonitor sensors
6.3*
Format for
display
6.2*
Assess
against setup
6.4
Generatealarm
signal
6.1Read
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
7/23/2019 RPL Bab5 Perancangan Pemodelan
11/32
RPLRPL --Perancangan PLPerancangan PL --Pemodelan / Tri A. Kurniawan, S.T, M.T, Ph.DPemodelan / Tri A. Kurniawan, S.T, M.T, Ph.D 1111/32/32
Transform MappingTransform Mapping ContohContoh
DFD level 3 :DFD level 3 : Monitor sensorsMonitor sensors
1
Read
sensors
configuration
information
sensor status
2
Acquire
response
info
3
Establish
alarmconditions
8
Generate
pulses to
line
4
Select
phone
number
5
Set up
conn. to
phone net
9Generate
display6
Format
display
7
Generatealarm
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
7/23/2019 RPL Bab5 Perancangan Pemodelan
12/32
RPLRPL --Perancangan PLPerancangan PL --Pemodelan / Tri A. Kurniawan, S.T, M.T, Ph.DPemodelan / Tri A. Kurniawan, S.T, M.T, Ph.D 1212/32/32
Transform MappingTransform Mapping ContohContoh
First level factoring :First level factoring : Monitor sensorsMonitor sensors
configuration
information
8
9
6
7
1
2
3
4
5
Monitorsensors
executive
Sensor input
controller
Alarm conditions
controller
Alarm output
controller
7/23/2019 RPL Bab5 Perancangan Pemodelan
13/32
RPLRPL --Perancangan PLPerancangan PL --Pemodelan / Tri A. Kurniawan, S.T, M.T, Ph.DPemodelan / Tri A. Kurniawan, S.T, M.T, Ph.D 1313/32/32
Transform MappingTransform Mapping ContohContoh
Second level factoring :Second level factoring : Monitor sensorsMonitor sensors
Monitor
sensorsexecutive
Sensor inputcontroller
Alarm conditionscontroller
Alarm outputcontroller
Formatdisplay
Generatealarm signal
Set up conn.to phone net
Generatedisplay
Generatepulses to line
Establish alarmconditions
Select phonenumber
Acquireresponse info
Readsensors
7/23/2019 RPL Bab5 Perancangan Pemodelan
14/32
RPLRPL --Perancangan PLPerancangan PL --Pemodelan / Tri A. Kurniawan, S.T, M.T, Ph.DPemodelan / Tri A. Kurniawan, S.T, M.T, Ph.D 1414/32/32
Transform MappingTransform Mapping ContohContoh
Refine first iteration :Refine first iteration : Monitor sensorsMonitor sensors
Incoming controllerIncoming controllerdihapusdihapus : data input: data input tunggaltunggal,, cukupcukup sederhanasederhana
Transform controllerTransform controllerdihapusdihapus dandan digabungdigabung dalamdalam satusatu modulmodul :: adaada
penurunanpenurunan tingkattingkat kohesifitaskohesifitas
Format displayFormat displaydandan generate displaygenerate displaydigabungdigabung :: sederhanasederhana
Monitorsensors
executive
Establish alarmconditions
Alarm outputcontroller
Producedisplay
Generatealarm signal
Set up conn.to phone net
Generatepulses to line
Acquireresponse info
Readsensors
7/23/2019 RPL Bab5 Perancangan Pemodelan
15/32
RPLRPL --Perancangan PLPerancangan PL --Pemodelan / Tri A. Kurniawan, S.T, M.T, Ph.DPemodelan / Tri A. Kurniawan, S.T, M.T, Ph.D 1515/32/32
Transaction MappingTransaction Mapping
LangkahLangkah--langkahlangkah Transaction MappingTransaction Mapping::
ReviewReviewdandan refinerefineDFDDFD sampaisampai keke level palinglevel paling bawahbawah
TentukanTentukan apakahapakah DFDDFD tsbtsb.. memilikimemiliki karakteristikkarakteristik tipetipetransform flowtransform flowatauatau transaction flowtransaction flow
TentukanTentukan batasbatas antaraantara incoming path/transaction,incoming path/transaction,
transaction centertransaction center dandanaction pathaction pathBangunBangun first level factoringfirst level factoring
BangunBangun second level factoringsecond level factoring
Refine first iterationRefine first iteration
ContohContoh Transaction MappingTransaction Mapping:: SafeHomeSafeHome
Security SoftwareSecurity Software
7/23/2019 RPL Bab5 Perancangan Pemodelan
16/32
RPLRPL --Perancangan PLPerancangan PL --Pemodelan / Tri A. Kurniawan, S.T, M.T, Ph.DPemodelan / Tri A. Kurniawan, S.T, M.T, Ph.D 1616/32/32
Transaction MappingTransaction Mapping
Transaction structuringTransaction structuring
r
s
a
b
d
p
q
Transactioncontrol
b
a
d
c1
q r s
p
DispatcherReceptionpath
7/23/2019 RPL Bab5 Perancangan Pemodelan
17/32
RPLRPL --Perancangan PLPerancangan PL --Pemodelan / Tri A. Kurniawan, S.T, M.T, Ph.DPemodelan / Tri A. Kurniawan, S.T, M.T, Ph.D 1717/32/32
Transaction MappingTransaction MappingContohContoh
DFD level 2 :DFD level 2 : User interactionUser interaction
3
Readpassword
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
configurationdata
configuration
data
A/D msg.
configurationdata
configurationdata
four digits display
informationvalid ID msg.
7/23/2019 RPL Bab5 Perancangan Pemodelan
18/32
RPLRPL --Perancangan PLPerancangan PL --Pemodelan / Tri A. Kurniawan, S.T, M.T, Ph.DPemodelan / Tri A. Kurniawan, S.T, M.T, Ph.D 1818/32/32
Transaction MappingTransaction MappingContohContoh
First/Second level factoring :First/Second level factoring : User interactionUser interaction
Userinteractionexecutive
Readuser
command
Systemconfiguration
controller
Invokecommandprocessing
Activate/deactivate
system
Passwordprocessingcontroller
Read systemdata
Buildconfiguration file
Readpassword
Comparepassword w/
file
Displaymessages &
status
7/23/2019 RPL Bab5 Perancangan Pemodelan
19/32
RPLRPL --Perancangan PLPerancangan PL --Pemodelan / Tri A. Kurniawan, S.T, M.T, Ph.DPemodelan / Tri A. Kurniawan, S.T, M.T, Ph.D 1919/32/32
Transaction MappingTransaction MappingContohContoh
ArsitekturArsitektur SafeHomeSafeHomeSecurity SoftwareSecurity Software
Userinteractionexecutive
Readuser
command
System
configurationcontroller
Invokecommandprocessing
Activate
/deactivatesystem
Password
processingcontroller
Read systemdata
Buildconfiguration file
Readpassword
Comparepassword w/
file
Displaymessages &
status
SafeHomeSecurity
Monitorsensors
executive
Establish alarmconditions
Alarm outputcontroller
Producedisplay
Generatealarm signal
Set up conn.to phone net
Generate
pulses to line
Acquireresponse info
Readsensors
7/23/2019 RPL Bab5 Perancangan Pemodelan
20/32
RPLRPL --Perancangan PLPerancangan PL --Pemodelan / Tri A. Kurniawan, S.T, M.T, Ph.DPemodelan / Tri A. Kurniawan, S.T, M.T, Ph.D 2020/32/32
LatihanLatihan
7/23/2019 RPL Bab5 Perancangan Pemodelan
21/32
PemodelanPemodelan BerorientasiBerorientasi ObjekObjek
((ObjectObject--oriented Design)oriented Design)
7/23/2019 RPL Bab5 Perancangan Pemodelan
22/32
RPLRPL --Perancangan PLPerancangan PL --Pemodelan / Tri A. Kurniawan, S.T, M.T, Ph.DPemodelan / Tri A. Kurniawan, S.T, M.T, Ph.D 2222/32/32
OOA, OOD, OOPOOA, OOD, OOP
ObjectObject--oriented analysis, design andoriented analysis, design and
programming are related but distinctprogramming are related but distinct
OOA is concerned with developing an objectOOA is concerned with developing an objectmodel of the application domainmodel of the application domain
OOD is concerned with developing an objectOOD is concerned with developing an object--
oriented system model to implement requirementsoriented system model to implement requirements
OOP is concerned with realising an OOD usingOOP is concerned with realising an OOD using
an OO programming language such as Java oran OO programming language such as Java orC++C++
7/23/2019 RPL Bab5 Perancangan Pemodelan
23/32
RPLRPL --Perancangan PLPerancangan PL --Pemodelan / Tri A. Kurniawan, S.T, M.T, Ph.DPemodelan / Tri A. Kurniawan, S.T, M.T, Ph.D 2323/32/32
KonsepKonsep
MetodeMetode untukuntuk melakukanmelakukan dekomposisidekomposisi arsitekturarsitektur
sistemsistem berdasarkanberdasarkan objekobjek--objekobjek yangyang dimanipulasidimanipulasi
oleholeh sistemsistem yangyang sedangsedang dibangundibangunIdentifikasiIdentifikasi dandan mendefinisikanmendefinisikan klasklas--klasklas tambahantambahan
ygyg merefleksikanmerefleksikan implementasiimplementasi daridari kebutuhankebutuhan--
kebutuhankebutuhan hasilhasil analisisanalisisNotasiNotasi = OOA= OOA
ProsesProses ::
PerancanganPerancangan sistemsistem :: strukturstruktur klasklas,, user interfaceuser interface,, datadata
managementmanagement
PerancanganPerancangan objekobjek :: atribut/strukturatribut/struktur data,data, algoritmaalgoritma operasioperasi
7/23/2019 RPL Bab5 Perancangan Pemodelan
24/32
RPLRPL --Perancangan PLPerancangan PL --Pemodelan / Tri A. Kurniawan, S.T, M.T, Ph.DPemodelan / Tri A. Kurniawan, S.T, M.T, Ph.D 2424/32/32
StrukturStruktur klasklas
GunakanGunakan klasklas--klasklas hasilhasil analisisanalisis dandan tambahkantambahkan
sesuaisesuai dengandengan kebutuhankebutuhan perancanganperancangan
ReuseReusejikajika memungkinkanmemungkinkan
packagingpackaging:: pengelompokanpengelompokan klasklas--klasklas ygyg sesuaisesuai
Vehicle
color
style
yearmake
VehicleOTS
VIN
validateVIN()
Vehicle
VIN
color
styleyear
make
validateVIN()
VehicleOTS
VIN
validateVIN()
Model dari OOA Model OTS
7/23/2019 RPL Bab5 Perancangan Pemodelan
25/32
RPLRPL --Perancangan PLPerancangan PL --Pemodelan / Tri A. Kurniawan, S.T, M.T, Ph.DPemodelan / Tri A. Kurniawan, S.T, M.T, Ph.D 2525/32/32
Package diagramPackage diagram
7/23/2019 RPL Bab5 Perancangan Pemodelan
26/32
RPLRPL --Perancangan PLPerancangan PL --Pemodelan / Tri A. Kurniawan, S.T, M.T, Ph.DPemodelan / Tri A. Kurniawan, S.T, M.T, Ph.D 2626/32/32
Finding classesFinding classes
Identifying object classes is often a difficult part ofIdentifying object classes is often a difficult part ofobject oriented designobject oriented design
There is no 'magic formula' for objectThere is no 'magic formula' for objectidentification. It relies on the skill, experience andidentification. It relies on the skill, experience anddomain knowledge of system designers.domain knowledge of system designers.
Object identification is an iterative process. YouObject identification is an iterative process. Youare unlikely to get it right first time.are unlikely to get it right first time.
Use domain analysis as beforeUse domain analysis as before
Use a grammatical approach based on a naturalUse a grammatical approach based on a naturallanguage description of the systemlanguage description of the system
Base the identification on tangible things in theBase the identification on tangible things in the
application domainapplication domain
7/23/2019 RPL Bab5 Perancangan Pemodelan
27/32
RPLRPL --Perancangan PLPerancangan PL --Pemodelan / Tri A. Kurniawan, S.T, M.T, Ph.DPemodelan / Tri A. Kurniawan, S.T, M.T, Ph.D 2727/32/32
Finding classesFinding classes
Derive them from the use casesDerive them from the use cases
(descriptions/scenarios)(descriptions/scenarios)
Look for data which must be stored or analysedLook for data which must be stored or analysedAre there external systems?Are there external systems?
Are there any devices under the control of theAre there any devices under the control of thesystem?system?
Are there any organisational parts?Are there any organisational parts?
7/23/2019 RPL Bab5 Perancangan Pemodelan
28/32
RPLRPL --Perancangan PLPerancangan PL --Pemodelan / Tri A. Kurniawan, S.T, M.T, Ph.DPemodelan / Tri A. Kurniawan, S.T, M.T, Ph.D 2828/32/32
Object DesignObject Design
AttributesAttributes
Describe the state and characteristics of the objectDescribe the state and characteristics of the object
Must be typed : primitive or classMust be typed : primitive or classOnlyOnly namenameandand typetypeare mandatoryare mandatory
OperationsOperations
Operations manipulate attributes and perform otherOperations manipulate attributes and perform other
taskstasks
Scope is the classScope is the class
Operation signature is composed of name,Operation signature is composed of name,
parameters and return typeparameters and return type
7/23/2019 RPL Bab5 Perancangan Pemodelan
29/32
RPLRPL --Perancangan PLPerancangan PL --Pemodelan / Tri A. Kurniawan, S.T, M.T, Ph.DPemodelan / Tri A. Kurniawan, S.T, M.T, Ph.D 2929/32/32
Object DesignObject Design
SifatSifat aksesakses atributatribut dandan operasioperasi/service :/service :
privateprivate((klas/objekklas/objek ybsybs.).)
protectedprotected((klas/objekklas/objek ybsybs.. dandan turunannyaturunannya))publicpublic((semuasemua klas/objekklas/objek))
AlgoritmaAlgoritma operasioperasi untukuntuk implementasiimplementasi
spesifikasispesifikasi daridari setiapsetiap operasioperasi
operasi manipulasi data (set, delete, get, dll.)operasi manipulasi data (set, delete, get, dll.)
operasi komputasioperasi komputasioperasi pengontrolanoperasi pengontrolan
7/23/2019 RPL Bab5 Perancangan Pemodelan
30/32
RPLRPL --Perancangan PLPerancangan PL --Pemodelan / Tri A. Kurniawan, S.T, M.T, Ph.DPemodelan / Tri A. Kurniawan, S.T, M.T, Ph.D 3030/32/32
OperationsOperationspolymorphismpolymorphism
Polymorphism meansPolymorphism means manymany(poly)(poly) shapesshapes
(morph)(morph)
There are two kinds of polymorphism:There are two kinds of polymorphism:OverloadingOverloading
Two or more methods with different signatures with theTwo or more methods with different signatures with the
same namesame nameThey essentially do the same thing, e.g. class constructorsThey essentially do the same thing, e.g. class constructors
OverridingOverriding
Replacing an inherited method class with another havingReplacing an inherited method class with another havingthe same signature (no matter with different parameterthe same signature (no matter with different parameterss
name)name)
Do different thing using the same methodDo different thing using the same method
s signatures signature
7/23/2019 RPL Bab5 Perancangan Pemodelan
31/32
RPLRPL --Perancangan PLPerancangan PL --Pemodelan / Tri A. Kurniawan, S.T, M.T, Ph.DPemodelan / Tri A. Kurniawan, S.T, M.T, Ph.D 3131/32/32
LatihanLatihan
7/23/2019 RPL Bab5 Perancangan Pemodelan
32/32
RPLRPL --Perancangan PLPerancangan PL --Pemodelan / Tri A. Kurniawan, S.T, M.T, Ph.DPemodelan / Tri A. Kurniawan, S.T, M.T, Ph.D 3232/32/32
PenutupPenutup
PemodelanPemodelan perancanganperancangan dilakukandilakukan berdasarkanberdasarkan
hasilhasil pemodelanpemodelan analisisanalisis kebutuhankebutuhan (RE(RE
modeling)modeling)TransformTransform dandan transaction mappingtransaction mapping digunakandigunakan
untukuntuk membangunmembangun arsitekturarsitektur PLPL berdasarkanberdasarkan
DFDDFD
OODOOD dilakukandilakukan berdasarkanberdasarkan hasilhasil OOAOOA dengandengan
perluasanperluasan klasklasjikajika diperlukandiperlukan untukuntuk keperluankeperluanimplementasiimplementasi