These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with
permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 1
Software Engineering: A Practitioner’s Approach, 6/e
Chapter 8
Pemodelan Analisis
copyright © 1996, 2001, 2005
R.S. Pressman & Associates, Inc.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with
permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 2
Analisis Kebutuhan
Analisis Kebutuhan
Menentukan karakteristik operasional PL
Menunjukkan antarmuka PL dengan elemen sistem yang lain
Membuat batasan yang harus dipenuhi PL
Analisis Kebutuhan memungkinkan Software Engineer
(disebut analis atau modeler) untuk :
Memperinci kebutuhan dasar yang dibuat kapada rekayasa
kebutuhan sebelumnya
Membangun model yang dapat menggambarkan skenario user,
aktivitas fungsional, class masalah dan relasinya, sistem dan
perilaku class, dan aliran data ketika ditransformasikan.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with
permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 3
Sebuah Jembatan
system
description
analysis
model
design
model
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with
permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 4
Aturan-Aturan
Model harus fokus pada masalah atau domain bisnis.
Tingkat abstraksinya relatif harus lebih tinggi.
Setiap elemen model analisis sebaiknya memberikan
tambahan pada pemahaman keseluruhan kebutuhan PL dan
menyediakan wawasan pada domain informasi, fungsi dan
perilaku sistem.
Tunda semua konsideran infrastruktur dan model non
fungsional hingga fase desain.
Minimalisasi rangkaian melalui sistem.
Pastikan model analisis menyediakan nilai untuk semua
stakeholder.
Jaga model sesederhana mungkin.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with
permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 5
Analisis Domain
Analisis domain PL adalah identifikasi, analisis, dan
spesifikasi kebutuhan umum dari domain aplikasi
tertentu, yang biasanya digunakan kembali pada
project lain di dalam domain aplikasi yang sama
[Analisis domain berorientasi objek adalah] identifikasi,
analisis dan spesifikasi kemampuan umum,
kemampuan digunakan kembali dalam domain
tertentu dalam istilah-istilah objek, class, subassemblies
dan framework umum
Donald Firesmith
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with
permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 6
Analisis Domain
Tentukan domain yang ingin diinvestigasi.
Kumpulkan contoh representatif aplikasi pada
domain tersebut.
Analisis setiap aplikasi pada contoh.
Kembangkan model analisis untuk objek.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with
permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 7
Pemodelan Data
Memeriksa objek data secara
independen terhadap proses
Fokus perhatikan pada domain data
Membuat sebuah model pada abstraksi
level konsumen
Mengindikasikan bagaimana objek data
berhubungan satu dengan yang lain
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with
permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 8
What is a Data Object?
Object —something that is described by a set
of attributes (data items) and that will be
manipulated within the software (system)
each instance of an object (e.g., a book)
can be identified uniquely (e.g., ISBN #)
each plays a necessary role in the system
i.e., the system could not function without
access to instances of the object
each is described by attributes that are
themselves data items
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with
permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 9
Objek-Objek Umum
Entitas eksternal (printer, user, sensor)
Sesuatu (laporan, display, sinyal)
Kejadian atau event (interupsi, alarm)
orang (manager, engineer, salesperson)
Unit organisasi (divisi, tim)
tempat (lantai pabrik)
struktur (employee record)
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with
permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 10
Objek Data dan Atribut
Sebuah objek data terdiri dari sekumpulan
atribut yang bertindak sebagai aspek,
kualitas, karakteristik, atau penjelas objek
object: automobile
attributes:
make
model
body type
price
options code
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with
permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 11
Apakah Relationship?
Relationship – menandakan kaitan, sebuah fakta
yang harus diingat oleh sistem, tidak
dikomputasi atau diturunkan secara mekanis
several instances of a relationship can exist
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with
permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 12
Notasi ERD
Satu bentuk umum:
(0, m)
object1 relationship object 2
(1, 1)
attribute
Bentuk Umum yang lain:
object1 relationship
object 2
(0, m) (1, 1)
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with
permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 13
Membangun Sebuah ERD
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with
permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 14
ERD: sebuah contoh
request
Customer places
for service
(1,1) (1,m)
(1,1)
standard generates (1,n) work
task table order
(1,1) (1,1) (1,1)
selected work (1,w) consists
from (1,w) tasks of
(1,i)
materials lists
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with
permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 15
Konsep Object-Oriented
Harus dipahami untuk menerapkan elemen
berbasis class pada model analisis
Konsep-konsep kunci:
Classes dan objects
Attributes dan operations
Encapsulation dan instantiation
Inheritance
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with
permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 16
Class
• Pemikiran object-oriented dimulai dengan
sebuah class, sering didefinisi sebagai :
– template
– deskripsi umum
– “blueprint” ... Menggambarkan sekelompok item
yang mirip
• sebuah metaclass (sering disebut
superclass)yang membangun hierarki semua
class yang ada
• Sekali sebuah class item ditentukan, instance
spesifik dari class tersebut dapat diidentifikasi
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with
permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 17
Membangun Class
class name
attributes:
operations
attributes:
operations:
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with
permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 18
Apakah Class?
occurrences roles
things organizational units
places
external entities
structures
class name
attributes:
operations:
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with
permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 19
Enkapuslasi/Penyembunyian
Objek mengenkapsulasi
Baik data dan prosedur
Logis yang dibutuhkan
Untuk manipulasi method method
#2
#1
data data
method
method #3
#6
method method
#5 #4
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with
permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 20
Hierarki Class
PieceOfFurniture (superclass)
subclasses of the
instances of Chair
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with
permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 21
Method
(Operasi, Layanan)
Prosedur yang
terenkapsulasi pada
sebuah class dan
didesain untuk
beroperasi pada satu
atau lebih atribut data
yang ditentukan sebagai
bagian dari class.
Method dipanggil
melalui pesan
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with
permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 22
Model berbasis Scenario
“[Use-cases] adalah bantuan untuk mendefinisikan apa
yang ada pada sistem (aktor) dan apa yang harus
dilakukan sistem (use-cases).” Ivar Jacobson
(1) Apa yang harus ditulis?
(2) Berapa banyak kita harus menulisnya?
(3) Sedetail apa gambaran kita ?
(4) Bagaimana kita mengatur deskripsi?
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with
permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 23
Use-Cases
Sebuah skenario yang menggambarkan
rangkaian kegunaan pada sistem
actors mewakili peran orang atau piranti yang
dimainkan ketika sistem berfungsi
users dapat berperan sebagai lebih dari satu
peran dalam sebuah skenario yang ditentukan
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with
permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 24
Mengembangkan Use-Case
Apa tugas atau fungsi utama yang harus dilakukan aktor ?
Sistem Informasi seperti apa yang diperlukan, dihasilkan
atau diubah oleh aktor ?
Apakah aktor harus menginformasikan sistem tentang
perubahan dalam lingkungan eksternal?
Informasi apa yang diharapkan aktor dari sistem?
Apakah aktor menginginkan diberitahu tentang
perubahan yang tidak tersangka?
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with
permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 25
Use-Case Diagram
Saf e Ho m e
Acce s s cam e ra
s urve illance via t h e cam e ras
Int e rne t
hom e owne r
Se t alarm
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with
permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 26
Activity Diagram
Melengkapi use-case dengan menyediakan representasi diagram
dari aliran prosedural.
e n t e r pa sswo rd
a nd u se r ID
se le c t spe c ific
se le c t c a me ra ic o n
c a me ra - t h umbna ils
v ie w c a me ra o ut pu t
in la be lle d win dow
pro mp t for
a n ot he r vie w
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with
permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 27
Swimlane Diagrams
Memungkinkan untuk menampilkan aliran aktivitas yang digambarkan oleh use-case, dan
di saat yang sama mengindikasikan aktor yang mana, atau class analisis yang mempunyai
tanggungjawab terhadap tindakan yang digambarkan oleh kotak aktivitas
home owne r c a m e ra i n t e rf a c e
e n t e r pa s s wo rd
a nd u s e r ID
valid p as s wo r d s / ID
in valid
p as s wo r d s / ID
s e le c t m a jo r fu nc t ion
o t h er f u n ct io n s p rom p t fo r re e n t ry
m ay als o b e
s elect ed
in p u t t r ies
s e le c t s urv e illa nc e r em ain
n o in p u t
t r ies r em ain
s e le c t s pe c ific
s e le c t c a m e ra ic on
c a m e ra - t h um b na ils
ge ne ra t e vide o
o ut pu t
v ie w c a m e ra ou t put p rom p t fo r
in la b e lle d wind ow a no t h e r vie w
exit t h is
f u n ct io n
s ee
an o t h er
cam er a
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with
permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 28
Pemodelan berorientasi aliran
Menampilkan bagaimana objek data ditransformasi
ketika mereka bergerak di dalam sistem
Sebuah data flow diagram (DFD) merupakan bentuk
diagram yang digunakan
Walaupun dianggap pendekatan kuno, pemodelan
berorientasi aliran menyediakan pandangan unik
terhadap suatu sistem. Dia tetap layak digunakan untuk
mendukung analisis elemen model lainnya.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with
permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 29
Model Aliran
Setiap sistem berbasis komputer
Adalah sebuah transformasi informasi
computer
input based output
system
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with
permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 30
Notasi Model Aliran
Entitas Eksternal
proses
Aliran data
Penyimpanan data
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with
permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 31
Entitas Eksternal
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with
permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 32
Proses
Sebuah transformer data
(mengubah input menjadi output)
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with
permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 33
Aliran Data
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with
permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 34
Menyimpan Data
Data disimpan untuk digunakan lagi.
sensor #
sensor #, type,
look-up location, age
sensor
report required data
type,
location, age
sensor number
sensor data
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with
permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 35
Petunjuk menggambar DFD
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with
permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 36
Aturan Dalam Pembuatan DFD
Antar entitas tidak boleh ada relasi
Tidak boleh ada aliran data antara entitas eksternal dan
data store
Satu aliran data boleh mengalirkan beberapa paket data
Aliran data selalu diawali / diakhiri oleh proses
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with
permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 37
Membangun sebuah DFD—I
Mereview model data untuk mengisolasi objek
data dan gunakan parsing gramatikal untuk
menentukan “Operasi”
Menentukan entitas eksternal (produsen dan
konsumen data)
Membuat level 0 DFD
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with
permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 38
Contoh Level 0 DFD
processing
user request requested
video
digital signal
video monitor
processor
video
source NTSC
video signal
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with
permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 39
Membangun DFD—II
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with
permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 40
Hierarki Aliran Datang
a b
x P y level 0
a c p2
p1
f
d p4 5 b
p3 e g
level 1
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with
permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 41
Catatan untuk DFD
Setiap lingkaran harus dipecah hingga
dia hanya melakukan hanya SATU hal
Rasio ekspansi menurun sesuai dengan
jumlah level yang meningkat
Kebanyakan sistem membutuhkan
antara 3 hingga level 7 untuk model
aliran yang cukup.
Sebuah item aliran data (panah) dapat
dikembangkan seiring dengan
meningkatnya level (data dictionary
menyediakan informasi ini)
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with
permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 42
Spesifikasi Proses (PSPEC)
Lingkaran
PSPEC
naratif
pseudocode (PDL)
persamaan
tabel
Diagram dan atau grafik
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with
permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 43
Setelah DFD?
analysis model
Maps into
design model
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with
permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 44
Control Flow Diagram
Menggambarkan “events” dan proses yang mengelola
event
Sebuah “event” adalah kondisi boolean yang dipastikan
dengan :
Mendaftar semua sensor yang dibaca oleh software.
Mendaftar semua kondisi interupsi.
Mendaftar semua "switches" yang dipicu oleh sebuah operator.
Mendaftar semua kondisi data.
Memanggil kembali parser kata benda/kerja yang diaplikasikan
pada narasi proses, mereview semua “item kendali” sebagai
input/output CSPEC.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with
permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 45
Model Kendali
• control flow diagram berada “di atas” DFD dan menunjukkan event yang
mengendalikan proses-proses yang terdapat pada DFD
• Aliran kendali—event dan item kendali– ditandai dengan panah putus-
putus
• Sebuah tiang vertikal menggambarkan input menuju atau output dari
sebuah control spec (CSPEC) — spesifikasi terpisah yang menggambarkan
bagaimana kendali ditangani
• Sebuah panah putus-putus memasuki tiang vertikal adalah input menuju
CSPEC
• Sebuah panah putus-putus meninggalkan proses menggambarkan kondisi
data
• Sebuah panah putus-patas memasuki sebuah proses menggambarkan
sebuah kendali input yang dibaca langsung oleh proses
• Aliran kendali tidak secara fisik mengaktifkan/menonaktifkan proses, hal
ini dilakukan melalui CSPEC
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with
permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 46
Control Flow Diagram
copies done
beeper on/off full
read
operator
input manage
problem
start copying light
empty
reload create
process user
displays
perform
problem
diagnosis
jammed
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with
permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 47
Control Specification (CSPEC)
CSPEC dapat berupa:
state diagram
(sequential spec)
activation tables
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with
permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 48
Panduan Membangun CSPEC
Lihat semua sensor yang “dibaca” oleh PL
Lihat semua kondisi interupsi
Lihat semua "switches" yang diaktifkan oleh operator
Lihat semua kondisi data
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with
permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 49
Pemodelan berbasis Class
Tentukan analisis class dengan memeriksa
pernyataan masalah(problem statement)
Gunakan parsing gramatikal untuk memilah class
potensial
Kenali atribut tiap class
Kenali operasi yang memanipulasi atribut-atribut
tersebut
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with
permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 50
Class Analisis
Entitias external (contoh : sistem lain, piranti, orang) yang menghasilkan atau
menggunakan informasi yang digunakan oleh sistem berbasis komputer.
Benda (contoh : laporan, display, surat, sinyal) yang merupakan bagian dari
domain informasi untuk masalah.
Kejadian atau event (contoh : transfer properti atau pelengkapan urutan
gerakan robot) yang terjadi di dalam konteks sistem operasi.
Peran (contoh : manajer, insinyur, sales) yang diperankan orang yang
berinteraksi dengan sistem.
Unit Organisasi (contoh : divisi, kelompok, tim) yang relevan terhadap
aplikasi.
Tempat (contoh : lantai pabrik, pelabuhan muatan) yang membangun
konteks masalah dan fungsi keseluruhan sistem.
Struktur (contoh : sensor, kendaraan 4WD, komputer) yang terdiri dari
beberapa objek class atau objek-objek class yang terkait
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with
permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 51
Kriteria memilih class
Menyimpan informasi
Layanan yang dibutuhkan
Beberapa atribut
Atribut umum
Operasi umum
Kebutuhan esensial
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with
permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 52
Class Diagram
Class name
System
systemID
verificationPhoneNumber
systemStatus attributes
delayTime
telephoneNumber
masterPassword
temporaryPassword
numberTries
program()
display()
reset()
query() operations
modify()
call()
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with
permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 53
Class Diagram
Flo o rPlan
type
name
outs ideDimens ions
determineType ( )
pos itionFloorplan
s cale( )
change color( )
is pa rt of
Ca m e ra Wa ll
t yp e t ype
ID wa llDim e ns ion s
loc a t io n
fie ld Vie w
p a nAn gle
Zoom Se t t ing
determineType ( )
computeDimens ions ( )
d e t e rm ine Typ e ()
t ra n s la t e Loc a t ion ()
d is p la yID()
d is p la yVie w()
d is p la yZo om ()
is us e d t o build is us e d t o build
is us e d t o build
t y pe t y pe t y pe
s t a rt Coo rdina t e s s t a rt Co ordina t e s s t a rt Coo rdina t e s
s t opCoord in a t e s s t op Coo rdin a t e s s t opCoord in a t e s
n e xt Wa llSe m e n t n e x t Win dow n e xt Doo r
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with
permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 55
Pemodelan CRC
Class:
Class:
Description:
Class:
Description:
Class: FloorPlan
Description:
Responsibility:
Description: Collaborator:
Responsibility: Collaborator:
Responsibility: Collaborator:
Responsibility: Collaborator:
defines floor plan name/type
manages floor plan positioning
scales floor plan for display
scales floor plan for display
incorporates walls, doors and windows Wall
shows position of video cameras Camera
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with
permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 56
Tipe-tipe Class
Class entitas, sering disebut class model atau bisnis, yang
diekstrak langsung dari statemen permasalahan (contoh :
Sensor).
Class perbatasan digunakan untuk membuat interface (contoh : layar
interaktif, atau laporan cetak) dimana user melihat dan berinteraksi
dengannya selama PL digunakan.
Class kendali mengelola “unit kerja [UML03] dari awal sampai
akhir. Class kendali dapat didesain mengelola :
Pembuatan atau update objek entitas;
Inisiasi objek perbatasan sebagaimana mereka mendapatkan
informasi dari objek entitas;
Komunikasi kompleks antara sekumpulan objek;
Validasi data yang dikomunikasikan antara user dan aplikasi.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with
permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 57
Responsibilities
System intelligence should be distributed across classes
to best address the needs of the problem
Each responsibility should be stated as generally as
possible
Information and the behavior related to it should reside
within the same class
Information about one thing should be localized with a
single class, not distributed across multiple classes.
Responsibilities should be shared among related classes,
when appropriate.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with
permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 58
Kolaborasi
Class memenuhi tanggung jawabnya dengan satu diantara dua cara
:
Sebuah class dapat menggunakan operasinya sendiri untuk
memanipulasi atributnya masing-masing atau
Sebuah class dapat berkolaborasi dengan class lainnya.
Kolaborasi membuat relasi antara class
Kolaborasi dapat diidentifikasi dengan menentukan apakah sebuah
class dapat memenuhi tanggung jawabnya masing-masing
Tiga relasi umum yang berbeda antar class [WIR90]:
is-part-of relationship
has-knowledge-of relationship
depends-upon relationship
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with
permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 59
Composite Aggregate Class
Player
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with
permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 60
Review model CRC
Semua peserta dalam review (model CRC) diberikan sebuah subset dari kartu index
model CRC.
Kartu yang berkolaborasi harus terpisah (tidak boleh ada reviewer yang memiliki dua kartu
yang berkolaborasi).
Semua skenario use-case (dan diagram use case terkait) harus diorganisasi dalam
kategori-kategori.
Pemimpin review membaca use-case secara hati-hati.
Ketika pemimpin review sampai pada objek, dia akan memberi tanda kepada person yang
memegang kartu index class yang terkait.
Ketika tanda dikirimkan, pemilik kartu class diminta untuk menggambarkan tanggung
jawab yang tertulis di kartu tersebut.
Kelompok menentukan satu (atau lebih) tanggung jawab yang memenuhi kebutuhan use-case.
Jika tanggung jawab dan kolaborasi yang tertera pada kartu index tidak dapat
mengakomodasi use-case, modifikasi dilakukan pada kartu tersebut.
Hal ini termasuk definisi class baru (dan kartu index CRC) atau spesifikasi baru atau revisi
mengenai tanggung jawab, atau kolaborasi kartu yang sudah ada.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with
permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 61
Asosiasi dan Dependensi
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with
permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 62
Multiplicity
Wa ll
1 1 1
Wa llSe g m e n t Win d o w Do o r
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with
permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 63
Dependencies
DisplayWindow Camera
<<access>>
{password}
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with
permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 64
Analisis Paket
Beberapa model analisis (use-case, class analisis) dikategorisasi
dalam sebuah pola yang mempaketkan mereka dalam kelompok
Tanda plus di dalam nama class analisis dalam setiap paket
menandakan bahwa class-class tersebut mempunyai visibilitas
publik dan karena itu dapat diakses dari paket lain.
Simbol lain dapat mendahului elemen di dalam paket. Tanda minus
menandakan bahwa elemen disembunyikan dari semua paket, dan
tanda # menandakan bahwa elemen hanya dapat diakses oleh paket
yang berada di dalam paket tersebut.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with
permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 65
Analysis Packages
p ackag e n am e
Environm e nt
+Tree
+Landscape
+Road
+Wall
+Bridge
+Building Rule s OfThe Gam e
+VisualEffect
+Scene +RulesOfMovement
+ConstraintsOnAction
Ch aract e rs
+Player
+Protagonist
+Antagonist
+SupportingRole
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with
permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 66
Pemodelan Perilaku
Model perilaku menggambarkan bagaimana PL merespon event
atau stimulan eksternal. Untuk model tersebut, analis harus
melakukan langkah-langkah berikut :
Evaluasi semua use-case untuk mendapatkan pemahaman menyeluruh
tentang urutan interaksi di dalam sistem.
Mengenali event yang mengendalikan urutan interaksi dan
memahamibagaimana event mempunyai relasi terhadap objek spesifik.
Membuat urutan untuk setiap use-case.
Membangun state diagram untuk sistem.
Review model behavioral untuk memverifikasi akurasi dan konsistensi
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with
permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 67
Representasi Keadaan
Dalam konteks pemodelan perilaku, dua karakter
keadaan harus diperhatikan :
Keadaan setiap class ketika sistem menjalankan fungsinya, dan
Keadaan sistem ketika diobservasi dari luar sebagaimana sistem
menjalankan fungsinya.
Keadaan class mengambil baik karakter aktif maupun
pasif [CHA93].
Sebuah keadaan pasif adalah status saat ini dari semua atribut
objek.
Keadaan aktif dari sebuah objek menggambarkan status saat ini
pada objek tersebut ketika menjalankan transformasi atau
proses.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with
permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 68
State Diagram for the ControlPanel Class
t im e r < lo cke d Time
p as s wo rd = in co rre ct
& n u mb e rOfTrie s < m axTrie s
s e le ct in g
act iv at io n s u cce s s fu l
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with
permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 69
Keadaan-Keadaan Sistem
state—sekumpulan keadaan terobservasi
yang menggambarkan perilaku sistem
pada satu waktu
state transition—perubahan dari satu
keadaan ke keadaan yang lain
event—sebuah kejadian yang
menyebabkan sistem melakukan
perilaku yang sudah diprediksi
sebelumnya
action—proses yang terjadi sebagai
konsekuensi membuat transisi
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with
permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 70
Pemodelan Perilaku
s ys t em read in g
A
read y
p as s w o rd en t ered
req u es t lo o ku p
co mp arin g
res u lt
pa s s wo rd = c orre c t
num be rOfTrie s > m a x Trie s req u es t act ivat io n
lo cked
s elect in g
Figure 8 .2 7 Se que nc e dia gra m (pa rt ia l) for Saf e Hom e s e c urit y func t ion
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with
permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 72
Menulis Spesifikasi PL
Setiap orang harus
tahu pasti apa yang
harus dilakukan
hingga seseorang
menuliskannya !
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with
permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 73
Tugas
Buatlah sebuah paper yang menjelaskan tentang UML
beserta contoh kasusnya, minimal 15 halaman, spasi 1.5,
kertas Quarto, sampul mika biru tua.
Kriteria penilaian :
Validitas/kebenaran
Kelengkapan
Kompleksitas kasus
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with
permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 74
Panduan Spesifikasi
use a layered format that provides increasing deta
as the "layers" deepen
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with
permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 75
Panduan Spesifikasi
Be on the lookout for persuasive connectors, ask why?
keys:certainly, therefore, clearly, obviously, it follows that ...
Watch out for vague terms
keys:some, sometimes, often, usually,ordinarily, most, mostly ...
When lists are given, but not completed, be sure all items are understoo
keys:etc., and so forth, and so on, such as
Be sure stated ranges don't contain unstated assumptions
e.g.,Valid codes range from 10 toInteger?
100. Real? Hex?
handled,
Beware of vague verbs such as rejected, processed, ...
Beware "passive voice" statements
e.g.,The parameters are initialized.
By what?
Beware "dangling" pronouns
e.g.,The I/O module communicated with the data validation module an
its contol flag is Whose
set. control flag?
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with
permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 76
Panduan Spesifikasi
When a term is explicitly defined in one place, try
substituting the definition forother occurrences of the term
Look for statements that imply certainty, then ask for proof
keys; always, every, all, none, never
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with
permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 77