analisis model perangkat lunak - blog.ub.ac.idminimalisasi coupling melalui sistem. ... sebuah...
TRANSCRIPT
Analisis Model
Perangkat Lunak
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 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 memberikantambahan pada pemahaman keseluruhan kebutuhan PL dan menyediakan wawasan pada domain informasi, fungsidan perilaku sistem.
Tunda semua konsideran infrastruktur dan model non fungsional hingga fase desain.
Minimalisasi coupling melalui sistem.
Pastikan model analisis menyediakan nilai untuk semuastakeholder.
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 umumDonald 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
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 ?
(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 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
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 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
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 12
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
Use-Case Diagram
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 DiagramsMemungkinkan 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 setof 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 systemi.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)
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 18
Objek Data dan Atribut
Sebuah objek data terdiri dari sekumpulan
atribut yang bertindak sebagai aspek,
kualitas, karakteristik, atau penjelas objek
object: automobile
attributes:makemodelbody typepriceoptions 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 objectrelationship1 2
Satu bentuk umum:
(0, m)
(1, 1)
object 1 object 2relationship
Bentuk Umum yang lain:
attribute
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
menyediakan informasi yang lebih mendalam
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) (1,m)placesCustomer
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
computerbasedsystem
input 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 25
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 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
Jangan menampilkan prosedur logika
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)
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 32
Contoh Level 0 DFD
userprocessing
request
videosource NTSC
video signal
digitalvideo
processor
requestedvideosignal
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
Gunakan rasio 1:5 (perkiraan)
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
Pa b
x y
p1
p2
p3
p4 5
a
b
c
de
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
Lingkaran
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
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 38
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
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
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