Analisis Model
Perangkat Lunak
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 kapda 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 coupling melalui sistem.
Pastikan model analisis menyediakan nilai untuk semua
stakeholder.
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
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.
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
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by
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
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 ?
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
Use-Cases
Sebuah skenario yang menggambarkan rangkaian
kegunaan pada sistem
actors
mewakili peran orang atau piranti yang dimaikan
ketika sistem berfungsi
users
dapat berperan sebagai lebih dari satu peran dalam
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
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
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by
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
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
Activity Diagram
Melengkapi use-case dengan menyediakan representasi diagram
dari aliran prosedural.
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
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
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
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
17
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)
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
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
19
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
objects can be related in many different ways
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
Notasi ERD
(0, m)
(1, 1)
object
relationship
object
1
2
Satu bentuk umum:
(0, m)
(1, 1)
object
1
relationship
object
2
Bentuk Umum 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
21
Membangun Sebuah ERD
Level 1—modelkan semua objek data (entitas) dan
koneksinya dengan yang lain
Level 2—modelkan semua entitas dan relasi
Level 3—modelkan semua entitas, relasi, dan atribut yang
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
ERD: sebuah contoh
(1,1)
places
(1,m)
Customer
request
for service
generates
(1,n)
(1,1)
work
order
work
tasks
materials
consists
of
lists
(1,1)
(1,w)
(1,1)
(1,i)
selected
from
standard
task table
(1,w)
(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
23
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
24
Model Aliran
Setiap sistem berbasis komputer
Adalah sebuah transformasi informasi
computer
based
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
25
Notasi Model Aliran
Entitas Eksternal
proses
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
26
Entitas Eksternal
Produsen atau konsumen sebuah data
Contoh : seseorang, piranti, sensor
Contoh lain : sistem berbasis komputer
Data harus selalu berawal dari suatu tempat dan
Harus selalu dikirim pada sesuatu
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
Proses
Sebuah transformer data
(mengubah input menjadi output)
Contoh: menghitung pajak, menentukan luas,
Memformat laporan, menampilkan grafik
Data harus selalu diproses dalam bentuk tertentu
Untuk menerima fungsi sistem
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
Aliran Data
Data mengalir melalui sebuah sistem dimulai
Sebagai input dan ditransformasi menjadi
output
compute
triangle
area
base
height
area
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
Menyimpan Data
Data disimpan untuk digunakan lagi.
look-up
sensor
data
sensor #
report required
sensor #, type,
location, age
sensor data
sensor number
type,
location, age
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
Petunjuk menggambar DFD
Semua icon harus diberi nama yang bermakna
jelas
DFD berkembang dalam beberapa tingkatan
Selalu dimulai dengan sebuah context level
diagram (level 0)
Selalu menunjukkan entitas eksternal pada level 0
Selalu berinama panah 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
31
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)
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
Contoh Level 0 DFD
user
processing
request
video
source
video signal
NTSC
digital
video
processor
requested
video
signal
monitor
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
Membangun DFD—II
Tulis sebuah narasi yang menggambarkan
transformasi
Parsing untuk menentukan transformasi tingkat
berikutnya
“seimbangkan” aliran untuk menjaga aliran data
Bangun level 1 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
34
Hierarki Aliran Datang
P
a
b
x
y
p1
p2
p3
p4
5
a
b
c
d
e
f
g
level 0
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
35
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
36
Spesifikasi Proses (PSPEC)
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
37
Maps into
Setelah DFD?
analysis 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
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by