Pemodelan Rekayasa Kebutuhan - huxleyi.files.wordpress.com fileREKAYASA PERANGKAT LUNAK Semester...
Transcript of Pemodelan Rekayasa Kebutuhan - huxleyi.files.wordpress.com fileREKAYASA PERANGKAT LUNAK Semester...
![Page 1: Pemodelan Rekayasa Kebutuhan - huxleyi.files.wordpress.com fileREKAYASA PERANGKAT LUNAK Semester Ganjil 2015/2016 ADAM HENDRA BRATA. Tujuan & Agenda Perkuliahan Tujuan Memahami konsep](https://reader030.fdocuments.net/reader030/viewer/2022020109/5d520f0288c993a1398b6721/html5/thumbnails/1.jpg)
PemodelanRekayasa Kebutuhan
REKAYASA PERANGKAT LUNAK
Semester Ganjil 2015/2016
ADAM HENDRA BRATA
![Page 2: Pemodelan Rekayasa Kebutuhan - huxleyi.files.wordpress.com fileREKAYASA PERANGKAT LUNAK Semester Ganjil 2015/2016 ADAM HENDRA BRATA. Tujuan & Agenda Perkuliahan Tujuan Memahami konsep](https://reader030.fdocuments.net/reader030/viewer/2022020109/5d520f0288c993a1398b6721/html5/thumbnails/2.jpg)
Tujuan & Agenda Perkuliahan
Tujuan Memahami konsep pemodelan dalam rekayasa
kebutuhan
Memahami konsep pendekatan terstruktur dan
berorientasi objek dalam pemodelan kebutuhan
Agenda Konsep pemodelan kebutuhan
Pemodelan terstruktur
Pemodelan berorientasi objek
Pe
mo
de
lan
Re
ka
ya
sa
Ke
bu
tuh
an
![Page 3: Pemodelan Rekayasa Kebutuhan - huxleyi.files.wordpress.com fileREKAYASA PERANGKAT LUNAK Semester Ganjil 2015/2016 ADAM HENDRA BRATA. Tujuan & Agenda Perkuliahan Tujuan Memahami konsep](https://reader030.fdocuments.net/reader030/viewer/2022020109/5d520f0288c993a1398b6721/html5/thumbnails/3.jpg)
Konsep Pemodelan Kebutuhan
Model kebutuhan menjembatani antara deskripsi
sistem secara umum dengan model
perancangan
Tujuan utama model kebutuhan: Menjelaskan apa yang dibutuhkan oleh customer
Menjadi dasar bagi perancangan PL
Menjadi referensi dalam melakukan validasi
kebutuhan
Metode Terstruktur (structured analysis – SA) &
berorientasi objek (object oriented analysis –
OOA)
Pe
mo
de
lan
Re
ka
ya
sa
Ke
bu
tuh
an
![Page 4: Pemodelan Rekayasa Kebutuhan - huxleyi.files.wordpress.com fileREKAYASA PERANGKAT LUNAK Semester Ganjil 2015/2016 ADAM HENDRA BRATA. Tujuan & Agenda Perkuliahan Tujuan Memahami konsep](https://reader030.fdocuments.net/reader030/viewer/2022020109/5d520f0288c993a1398b6721/html5/thumbnails/4.jpg)
Prinsip Pemodelan Kebutuhan
Model yang dibuat harus fokus pada kebutuhan
yang relevan dengan domain permasalahan
(WHAT)
Setiap model kebutuhan harus bisa dilacak ke
model perancangan (traceability)
Setiap elemen dalam model kebutuhan harus
mampu memperjelas pemahaman secara utuh
terhadap kebutuhan PL Domain masalah, fungsionalitas dan perilaku
sistem
Minimalisasi kopling antar klas
Memastikan bahwa model kebutuhan memiliki
nilai manfaat untuk seluruh stakeholders
Model dibuat sesederhana mungkin Notasi yang sederhana, non duplikasi informasi
Pe
mo
de
lan
Re
ka
ya
sa
Ke
bu
tuh
an
![Page 5: Pemodelan Rekayasa Kebutuhan - huxleyi.files.wordpress.com fileREKAYASA PERANGKAT LUNAK Semester Ganjil 2015/2016 ADAM HENDRA BRATA. Tujuan & Agenda Perkuliahan Tujuan Memahami konsep](https://reader030.fdocuments.net/reader030/viewer/2022020109/5d520f0288c993a1398b6721/html5/thumbnails/5.jpg)
Tipe – Tipe Model Kebutuhan
Scenario-based models Berdasarkan sudut pandang aktor
Data models Menjelaskan domain informasi dari masalah
Class-oriented models Merepresentasikan klas-klas yang relevan dengan
kebutuhan PL
Flow-oriented models Merepresentasikan proses dan data dari sistem
Behavioral models Merepresentasikan perilaku sistem berdasar
event
Pe
mo
de
lan
Re
ka
ya
sa
Ke
bu
tuh
an
![Page 6: Pemodelan Rekayasa Kebutuhan - huxleyi.files.wordpress.com fileREKAYASA PERANGKAT LUNAK Semester Ganjil 2015/2016 ADAM HENDRA BRATA. Tujuan & Agenda Perkuliahan Tujuan Memahami konsep](https://reader030.fdocuments.net/reader030/viewer/2022020109/5d520f0288c993a1398b6721/html5/thumbnails/6.jpg)
Pe
mo
de
lan
Re
ka
ya
sa
Ke
bu
tuh
an
Pemodelan Terstruktur
![Page 7: Pemodelan Rekayasa Kebutuhan - huxleyi.files.wordpress.com fileREKAYASA PERANGKAT LUNAK Semester Ganjil 2015/2016 ADAM HENDRA BRATA. Tujuan & Agenda Perkuliahan Tujuan Memahami konsep](https://reader030.fdocuments.net/reader030/viewer/2022020109/5d520f0288c993a1398b6721/html5/thumbnails/7.jpg)
Konsep
Pertama kali dipopulerkan oleh T. DeMarco
(1979) Structured Analysis and System Specification
Perluasan notasi untuk kebutuhan real-time
systems oleh Hatley dan Pirbhai (1987) – SA/RT Strategies for Real-Time System Specification
Pe
mo
de
lan
Re
ka
ya
sa
Ke
bu
tuh
an
Processes
Data Behavior
![Page 8: Pemodelan Rekayasa Kebutuhan - huxleyi.files.wordpress.com fileREKAYASA PERANGKAT LUNAK Semester Ganjil 2015/2016 ADAM HENDRA BRATA. Tujuan & Agenda Perkuliahan Tujuan Memahami konsep](https://reader030.fdocuments.net/reader030/viewer/2022020109/5d520f0288c993a1398b6721/html5/thumbnails/8.jpg)
Elemen – Elemen PemodelanP
em
od
ela
n
Re
ka
ya
sa
Ke
bu
tuh
an
Data Dictionary
Data Flow Diagram
(DFD)
ER Diagram
State Transition Diagram
(STD)
Process Specification
(PSPEC)
Data Object Description
Control Specification
(CSPEC)
![Page 9: Pemodelan Rekayasa Kebutuhan - huxleyi.files.wordpress.com fileREKAYASA PERANGKAT LUNAK Semester Ganjil 2015/2016 ADAM HENDRA BRATA. Tujuan & Agenda Perkuliahan Tujuan Memahami konsep](https://reader030.fdocuments.net/reader030/viewer/2022020109/5d520f0288c993a1398b6721/html5/thumbnails/9.jpg)
Data DictionaryP
em
od
ela
n
Re
ka
ya
sa
Ke
bu
tuh
an
Representasi Simbol :
= : composed of + : and
{ } : iterations of [….|…] : selection / or
( ) : optional “ “ : literal
* * : comment/description
Vend product (partly) :
Name Element Type
object [coin | slug](product) data
product [ice cream | coffee | candy] data
coins 0{[quarter | nickel | dime]}8 data
product available [TRUE | FALSE] control
[“YES” | “NO”]
quarter *25 cents US currency*
coin return request [TRUE | FALSE] control
![Page 10: Pemodelan Rekayasa Kebutuhan - huxleyi.files.wordpress.com fileREKAYASA PERANGKAT LUNAK Semester Ganjil 2015/2016 ADAM HENDRA BRATA. Tujuan & Agenda Perkuliahan Tujuan Memahami konsep](https://reader030.fdocuments.net/reader030/viewer/2022020109/5d520f0288c993a1398b6721/html5/thumbnails/10.jpg)
Data Model : ER Diagram
Entitas (atribut dan nilai atribut)
Modalitas : tingkat mandatory (minimal)
Kardinalitas : tingkat relasi (maksimal)
Bentuk relasi
Pe
mo
de
lan
Re
ka
ya
sa
Ke
bu
tuh
an
Manufacturer CarBuilds
![Page 11: Pemodelan Rekayasa Kebutuhan - huxleyi.files.wordpress.com fileREKAYASA PERANGKAT LUNAK Semester Ganjil 2015/2016 ADAM HENDRA BRATA. Tujuan & Agenda Perkuliahan Tujuan Memahami konsep](https://reader030.fdocuments.net/reader030/viewer/2022020109/5d520f0288c993a1398b6721/html5/thumbnails/11.jpg)
Data Model : ER Diagram
Data object Represents a composite information
Consists of a number of different attributes or
properties
Encapsulates data only : no operation applied to
its data
Can be external entity, thing, occurrence/event,
role, organizational unit, structure, etc.
e.g. dimensions (height, weight, depth), cars
(make, model, ID, body type, color, owner)
Can be represented in a tabular representation
Pe
mo
de
lan
Re
ka
ya
sa
Ke
bu
tuh
an
![Page 12: Pemodelan Rekayasa Kebutuhan - huxleyi.files.wordpress.com fileREKAYASA PERANGKAT LUNAK Semester Ganjil 2015/2016 ADAM HENDRA BRATA. Tujuan & Agenda Perkuliahan Tujuan Memahami konsep](https://reader030.fdocuments.net/reader030/viewer/2022020109/5d520f0288c993a1398b6721/html5/thumbnails/12.jpg)
Process Model : DFD
Useful for analyzing existing as well as proposed
systems Process decomposition
Focus on the movement of data between external
entities and processes, and between processes
and data stores
A relatively simple technique to learn and use
Model elements: terminator, process, data flow,
control flow, storage, control bar
The highest level (0) : Context diagram Single process
Terminators
Data flows, control flows
Pe
mo
de
lan
Re
ka
ya
sa
Ke
bu
tuh
an
![Page 13: Pemodelan Rekayasa Kebutuhan - huxleyi.files.wordpress.com fileREKAYASA PERANGKAT LUNAK Semester Ganjil 2015/2016 ADAM HENDRA BRATA. Tujuan & Agenda Perkuliahan Tujuan Memahami konsep](https://reader030.fdocuments.net/reader030/viewer/2022020109/5d520f0288c993a1398b6721/html5/thumbnails/13.jpg)
Process Model : Elemen – Elemen
DFD Terminator
Representasi entitas eksternal
Notasi: persegi panjang
Tidak memproses data
Data flow Representasi aliran data
Notasi: anak panah penuh
Umumnya satu arah
Hubungkan terminator, process dan storage
Control flow Representasi aliran kontrol proses
Notasi: anak panah putus2
Hubungkan terminator, process dan control bar
Pe
mo
de
lan
Re
ka
ya
sa
Ke
bu
tuh
an
Customer
data
control
![Page 14: Pemodelan Rekayasa Kebutuhan - huxleyi.files.wordpress.com fileREKAYASA PERANGKAT LUNAK Semester Ganjil 2015/2016 ADAM HENDRA BRATA. Tujuan & Agenda Perkuliahan Tujuan Memahami konsep](https://reader030.fdocuments.net/reader030/viewer/2022020109/5d520f0288c993a1398b6721/html5/thumbnails/14.jpg)
Process Model : Elemen – Elemen
DFD Process
Representasi aktifitas sistem
Notasi: lingkaran
Memproses data
Storage Representasi tempat penyimpanan data
Notasi: dua garis paralel
Data flow in = diubah, data flow out = dibaca
Control bar Representasi spesifikasi kontrol
Notasi: garis tegak
Pe
mo
de
lan
Re
ka
ya
sa
Ke
bu
tuh
an
1
Proses A
data X
![Page 15: Pemodelan Rekayasa Kebutuhan - huxleyi.files.wordpress.com fileREKAYASA PERANGKAT LUNAK Semester Ganjil 2015/2016 ADAM HENDRA BRATA. Tujuan & Agenda Perkuliahan Tujuan Memahami konsep](https://reader030.fdocuments.net/reader030/viewer/2022020109/5d520f0288c993a1398b6721/html5/thumbnails/15.jpg)
Jumlah proses dalam satu diagram DFD : 4 ± 2
Maks. 4 level dekomposisi (DFD/CFD)
Dekomposisi fungsional (DFD) : fungsi-fungsi yang saling berhubungan
dikelompokkan
fungsi-fungsi yang tidak berhubungan dipisahkan
setiap fungsi dispesifikasi hanya sekali
Data flow membawa informasi yg diperlukan
oleh sebuah proses untuk transformasi, control
flow membawa informasi yang harus
diinterpretasikan untuk merubah perilaku sistem
dan/ aktifasi proses
Proses pemodelan DFD/CFD adalah proses
iterasi, tidak sekali jadi
Penjenjangan CFD harus sesuai dengan DFD
Pe
mo
de
lan
Re
ka
ya
sa
Ke
bu
tuh
an
Process Model : Panduan DFD
![Page 16: Pemodelan Rekayasa Kebutuhan - huxleyi.files.wordpress.com fileREKAYASA PERANGKAT LUNAK Semester Ganjil 2015/2016 ADAM HENDRA BRATA. Tujuan & Agenda Perkuliahan Tujuan Memahami konsep](https://reader030.fdocuments.net/reader030/viewer/2022020109/5d520f0288c993a1398b6721/html5/thumbnails/16.jpg)
Identify data first rather than control To know what you are controlling first
Continuous signals, and processes that act on
them, are always categorized as data
Discrete signals, and processes that act on them,
are usually categorized as control
Terms like activate, turn on, engage and execute
are usually associated with control requirements
Pe
mo
de
lan
Re
ka
ya
sa
Ke
bu
tuh
an
Data – Control Identification
![Page 17: Pemodelan Rekayasa Kebutuhan - huxleyi.files.wordpress.com fileREKAYASA PERANGKAT LUNAK Semester Ganjil 2015/2016 ADAM HENDRA BRATA. Tujuan & Agenda Perkuliahan Tujuan Memahami konsep](https://reader030.fdocuments.net/reader030/viewer/2022020109/5d520f0288c993a1398b6721/html5/thumbnails/17.jpg)
Must be consistent
Pe
mo
de
lan
Re
ka
ya
sa
Ke
bu
tuh
an
Process Model : DFD/CFD Leveling
![Page 18: Pemodelan Rekayasa Kebutuhan - huxleyi.files.wordpress.com fileREKAYASA PERANGKAT LUNAK Semester Ganjil 2015/2016 ADAM HENDRA BRATA. Tujuan & Agenda Perkuliahan Tujuan Memahami konsep](https://reader030.fdocuments.net/reader030/viewer/2022020109/5d520f0288c993a1398b6721/html5/thumbnails/18.jpg)
Pe
mo
de
lan
Re
ka
ya
sa
Ke
bu
tuh
an
Data / Control Context Diagram
(DCD/CCD)
Vendproduct
Customer
returned
coins0*
Customer
product
object
customer
selection
slug
coin return
request product
available
![Page 19: Pemodelan Rekayasa Kebutuhan - huxleyi.files.wordpress.com fileREKAYASA PERANGKAT LUNAK Semester Ganjil 2015/2016 ADAM HENDRA BRATA. Tujuan & Agenda Perkuliahan Tujuan Memahami konsep](https://reader030.fdocuments.net/reader030/viewer/2022020109/5d520f0288c993a1398b6721/html5/thumbnails/19.jpg)
Pe
mo
de
lan
Re
ka
ya
sa
Ke
bu
tuh
an
Data / Control Flow Diagram
(DCD/CCD Level 1)
1*
Get
customer
payment
2p
Get
product
price
3p
Validate
payment
4p
Get valid
selection
5*
Dispense
change
6p
Dispense
product
price table
coins
products
returned
coins
product
object
customer
selection
slug
coin return
request
payment
price
valid
selection
change due
valid
selection
coin
detected
sufficient
payment
product
dispensed
product
available
product
available
![Page 20: Pemodelan Rekayasa Kebutuhan - huxleyi.files.wordpress.com fileREKAYASA PERANGKAT LUNAK Semester Ganjil 2015/2016 ADAM HENDRA BRATA. Tujuan & Agenda Perkuliahan Tujuan Memahami konsep](https://reader030.fdocuments.net/reader030/viewer/2022020109/5d520f0288c993a1398b6721/html5/thumbnails/20.jpg)
Pe
mo
de
lan
Re
ka
ya
sa
Ke
bu
tuh
an
Data / Control Flow Diagram
(DCD/CCD Level 2)
5.1p
Get
change
coin
coin return
request
5.2p
Get
payment
coin
product
availablechange due
coins
payment
payment
coins
change coinsreturned
coins
DFD/CFD level 2 : Dispense change
![Page 21: Pemodelan Rekayasa Kebutuhan - huxleyi.files.wordpress.com fileREKAYASA PERANGKAT LUNAK Semester Ganjil 2015/2016 ADAM HENDRA BRATA. Tujuan & Agenda Perkuliahan Tujuan Memahami konsep](https://reader030.fdocuments.net/reader030/viewer/2022020109/5d520f0288c993a1398b6721/html5/thumbnails/21.jpg)
Pe
mo
de
lan
Re
ka
ya
sa
Ke
bu
tuh
an
Process Model : Process
Specification PSPEC – Validate payment (Process 3)
Inputs : payment (data in)
price (data in)
Outputs : change due (data out)
sufficient payment (control out)
Body :
IF payment >= price THEN
change due = payment – price
sufficient payment = TRUE
ELSE
change due = 0
sufficient payment = FALSE
END IF
![Page 22: Pemodelan Rekayasa Kebutuhan - huxleyi.files.wordpress.com fileREKAYASA PERANGKAT LUNAK Semester Ganjil 2015/2016 ADAM HENDRA BRATA. Tujuan & Agenda Perkuliahan Tujuan Memahami konsep](https://reader030.fdocuments.net/reader030/viewer/2022020109/5d520f0288c993a1398b6721/html5/thumbnails/22.jpg)
Pe
mo
de
lan
Re
ka
ya
sa
Ke
bu
tuh
an
State Transition Diagram (STD)
Behavior Model
Waiting for a coin
Waiting for selection
Dispensing product
Returning payment
initial
accept new coin
payment
returned
accept new coincoin detectedaccept
customer
requestproduct
dispensed
accept new coin
sufficient
payment
dispense
product
product
available=FALSE
return payment
coin return
request
return payment
![Page 23: Pemodelan Rekayasa Kebutuhan - huxleyi.files.wordpress.com fileREKAYASA PERANGKAT LUNAK Semester Ganjil 2015/2016 ADAM HENDRA BRATA. Tujuan & Agenda Perkuliahan Tujuan Memahami konsep](https://reader030.fdocuments.net/reader030/viewer/2022020109/5d520f0288c993a1398b6721/html5/thumbnails/23.jpg)
Pe
mo
de
lan
Re
ka
ya
sa
Ke
bu
tuh
an
CSPEC – Dispense change : Process Activation
Table
Behavior Model
coin return
request
product
available
get change
coin
get
payment
coin
TRUE TRUE 1 0
D/C FALSE 0 1
![Page 24: Pemodelan Rekayasa Kebutuhan - huxleyi.files.wordpress.com fileREKAYASA PERANGKAT LUNAK Semester Ganjil 2015/2016 ADAM HENDRA BRATA. Tujuan & Agenda Perkuliahan Tujuan Memahami konsep](https://reader030.fdocuments.net/reader030/viewer/2022020109/5d520f0288c993a1398b6721/html5/thumbnails/24.jpg)
Pe
mo
de
lan
Re
ka
ya
sa
Ke
bu
tuh
an
Pemodelan BerorientasiObjek
![Page 25: Pemodelan Rekayasa Kebutuhan - huxleyi.files.wordpress.com fileREKAYASA PERANGKAT LUNAK Semester Ganjil 2015/2016 ADAM HENDRA BRATA. Tujuan & Agenda Perkuliahan Tujuan Memahami konsep](https://reader030.fdocuments.net/reader030/viewer/2022020109/5d520f0288c993a1398b6721/html5/thumbnails/25.jpg)
Object Oriented Approach
Mulai populer akhir ’80an – ’90an (Booch,
Rumbaugh-OMT, Jacobson-OOSE,
Coad+Yourdon, Wirfs-Brock) : Elisitasi kebutuhan customer
Identifikasi skenario / use-case (use-case
diagram)
Identifikasi klas berdasarkan kebutuhan customer
Identifikasi atribut dan operasi setiap klas
Definisi struktur klas (class diagram)
Definisi model relasi antar klas
(collaboration/sequence diagram)
Definisi perpindahan status sistem (statechart
diagram)
1996 : UML (Unified Modeling Language) –
Grady Booch+James Rumbaugh+Ivar Jacobson
Pe
mo
de
lan
Re
ka
ya
sa
Ke
bu
tuh
an
![Page 26: Pemodelan Rekayasa Kebutuhan - huxleyi.files.wordpress.com fileREKAYASA PERANGKAT LUNAK Semester Ganjil 2015/2016 ADAM HENDRA BRATA. Tujuan & Agenda Perkuliahan Tujuan Memahami konsep](https://reader030.fdocuments.net/reader030/viewer/2022020109/5d520f0288c993a1398b6721/html5/thumbnails/26.jpg)
Diagram UML
Use-case diagram (statis) scenario-based models
Class diagram (statis) class models
Collaboration/sequence diagram (dinamis) behavioral models
Statechart diagram (dinamis) behavioral models
Pe
mo
de
lan
Re
ka
ya
sa
Ke
bu
tuh
an
![Page 27: Pemodelan Rekayasa Kebutuhan - huxleyi.files.wordpress.com fileREKAYASA PERANGKAT LUNAK Semester Ganjil 2015/2016 ADAM HENDRA BRATA. Tujuan & Agenda Perkuliahan Tujuan Memahami konsep](https://reader030.fdocuments.net/reader030/viewer/2022020109/5d520f0288c993a1398b6721/html5/thumbnails/27.jpg)
Keuntungan UML
Sangat natural, sesuai dengan cara berpikir
manusia improve analyst and problem domain expert
interaction
Meningkatkan konsistensi hasil analisis abstraksi atribut-operasi dalam sebuah objek
Konsep penurunan klas memberikan kemudahan
dalam generalisasi objek
Kemudahan dalam perubahan
Terjaganya konsistensi model antara analisis dan
perancangan
Konsep reusability
Pe
mo
de
lan
Re
ka
ya
sa
Ke
bu
tuh
an
![Page 28: Pemodelan Rekayasa Kebutuhan - huxleyi.files.wordpress.com fileREKAYASA PERANGKAT LUNAK Semester Ganjil 2015/2016 ADAM HENDRA BRATA. Tujuan & Agenda Perkuliahan Tujuan Memahami konsep](https://reader030.fdocuments.net/reader030/viewer/2022020109/5d520f0288c993a1398b6721/html5/thumbnails/28.jpg)
Object & Class
Objek (Object) : A concept, abstraction, or thing with crisp
boundaries and meaning for the problem at hand
[Rumbaugh]
Benda (tangible & intangible thing)
Contoh : Andi, Eko, Susi (sistem akademik)
Sebuah objek memiliki karakteristik : identity
(identitas-pembeda), state (sekumpulan atribut) &
behavior (sekumpulan operasi, aksi, servis)
Pe
mo
de
lan
Re
ka
ya
sa
Ke
bu
tuh
an
Nama Objek
Atribut2
Operasi2
![Page 29: Pemodelan Rekayasa Kebutuhan - huxleyi.files.wordpress.com fileREKAYASA PERANGKAT LUNAK Semester Ganjil 2015/2016 ADAM HENDRA BRATA. Tujuan & Agenda Perkuliahan Tujuan Memahami konsep](https://reader030.fdocuments.net/reader030/viewer/2022020109/5d520f0288c993a1398b6721/html5/thumbnails/29.jpg)
Object & Class
Klas (Class) : A description of one or more objects with a
uniform set of attributes and services, including a
description of how to create new objects in the
class [Yourdon]
Gambaran umum (template, blue-print) yang
menjelaskan sekumpulan objek yang memiliki
kesamaan karakteristik (atribut dan operasi)
Merupakan cetakan dari objek
Digunakan untuk menginstansiasi objek yang
memiliki identitas yang berbeda
Contoh : Klas Mahasiswa objek Andi, Eko, Susi
Abstract & concrete class
Pe
mo
de
lan
Re
ka
ya
sa
Ke
bu
tuh
an
![Page 30: Pemodelan Rekayasa Kebutuhan - huxleyi.files.wordpress.com fileREKAYASA PERANGKAT LUNAK Semester Ganjil 2015/2016 ADAM HENDRA BRATA. Tujuan & Agenda Perkuliahan Tujuan Memahami konsep](https://reader030.fdocuments.net/reader030/viewer/2022020109/5d520f0288c993a1398b6721/html5/thumbnails/30.jpg)
Object & ClassP
em
od
ela
n
Re
ka
ya
sa
Ke
bu
tuh
an
Mahasiswa
- NIM
- Nama
- Buat skripsi
- Ujian
Mahasiswa
- NIM : 001
- Nama : Andi
- Buat skripsi
- Ujian
Mahasiswa : Andi
Mahasiswa
- NIM : 002
- Nama : Eko
- Buat skripsi
- Ujian
Mahasiswa : Eko
Mahasiswa
- NIM : 003
- Nama : Susi
- Buat skripsi
- Ujian
Mahasiswa : Susi
Instansiasi :
penciptaan objek
![Page 31: Pemodelan Rekayasa Kebutuhan - huxleyi.files.wordpress.com fileREKAYASA PERANGKAT LUNAK Semester Ganjil 2015/2016 ADAM HENDRA BRATA. Tujuan & Agenda Perkuliahan Tujuan Memahami konsep](https://reader030.fdocuments.net/reader030/viewer/2022020109/5d520f0288c993a1398b6721/html5/thumbnails/31.jpg)
Where to look ?
Investigasi domain masalah
Langkah-langkah: Observe first-hand observasi langsung ke lap.
Actively listen to problem domain experts what,
who, why, when and how
Check previous OOA results
Check other systems comparison
Read, read, read getting some more
information
Pe
mo
de
lan
Re
ka
ya
sa
Ke
bu
tuh
an
![Page 32: Pemodelan Rekayasa Kebutuhan - huxleyi.files.wordpress.com fileREKAYASA PERANGKAT LUNAK Semester Ganjil 2015/2016 ADAM HENDRA BRATA. Tujuan & Agenda Perkuliahan Tujuan Memahami konsep](https://reader030.fdocuments.net/reader030/viewer/2022020109/5d520f0288c993a1398b6721/html5/thumbnails/32.jpg)
What to look for ? Nouns
Structures Relasi antar objek generalisasi, agregasi
Other systems Sistem lain yang berinteraksi dg proposed system
Things or events remembered Data, status, kejadian yang harus disimpan
Roles played Identifikasi peran manusia dalam sistem
berinteraksi langsung, tidak berinteraksi tetapi
informasinya disimpan sistem
Sites Informasi lokasi/posisi yang harus diingat oleh
sistem
Pe
mo
de
lan
Re
ka
ya
sa
Ke
bu
tuh
an
![Page 33: Pemodelan Rekayasa Kebutuhan - huxleyi.files.wordpress.com fileREKAYASA PERANGKAT LUNAK Semester Ganjil 2015/2016 ADAM HENDRA BRATA. Tujuan & Agenda Perkuliahan Tujuan Memahami konsep](https://reader030.fdocuments.net/reader030/viewer/2022020109/5d520f0288c993a1398b6721/html5/thumbnails/33.jpg)
Identifikasi Atribut
Some data (state information) for which each
object in a class has its own value [Yourdon]
Langkah-langkah Identifikasi atribut umum (adjectives, possessives)
Identifikasi atribut yang relevan dg domain
masalah
Identifikasi atribut yang relevan dg peran atau
tanggung jawab dalam sistem
Restrukturisasi atribut sehingga atomic
kemudahan
Reposisi atribut yang sesuai dengan hirarki klas
nya pewarisan klas
Spesifikasi atribut presisi, nilai default, batasan,
dll.
Pe
mo
de
lan
Re
ka
ya
sa
Ke
bu
tuh
an
![Page 34: Pemodelan Rekayasa Kebutuhan - huxleyi.files.wordpress.com fileREKAYASA PERANGKAT LUNAK Semester Ganjil 2015/2016 ADAM HENDRA BRATA. Tujuan & Agenda Perkuliahan Tujuan Memahami konsep](https://reader030.fdocuments.net/reader030/viewer/2022020109/5d520f0288c993a1398b6721/html5/thumbnails/34.jpg)
Identifikasi Operasi / Servis
A specific behavior that an object is responsible
for exhibiting [Yourdon]
Langkah-langkahIdentifikasi tanggung jawab umum
sebuah klas (verbs)
Identifikasi operasi yang spesifik untuk domain
masalah
Identifikasi operasi yang relevan dg peran atau
tanggung jawab dalam sistem
Spesifikasi operasi argumen, batasan/aturan,
logika/algoritma
Pe
mo
de
lan
Re
ka
ya
sa
Ke
bu
tuh
an
![Page 35: Pemodelan Rekayasa Kebutuhan - huxleyi.files.wordpress.com fileREKAYASA PERANGKAT LUNAK Semester Ganjil 2015/2016 ADAM HENDRA BRATA. Tujuan & Agenda Perkuliahan Tujuan Memahami konsep](https://reader030.fdocuments.net/reader030/viewer/2022020109/5d520f0288c993a1398b6721/html5/thumbnails/35.jpg)
Use Case Diagram
Menjelaskan perilaku sistem dari tampak luar
Menyediakan fungsi-fungsi yg harus dipenuhi
sistem sesuai dengan aktornya
Elemen: actor (orang, sistem lain) dan use-case
Setiap use-case dilengkapi dengan skenario
(deskripsi)
Langkah-langkah Identifikasi aktor
Identifikasi use-case per aktor
Pe
mo
de
lan
Re
ka
ya
sa
Ke
bu
tuh
an
![Page 36: Pemodelan Rekayasa Kebutuhan - huxleyi.files.wordpress.com fileREKAYASA PERANGKAT LUNAK Semester Ganjil 2015/2016 ADAM HENDRA BRATA. Tujuan & Agenda Perkuliahan Tujuan Memahami konsep](https://reader030.fdocuments.net/reader030/viewer/2022020109/5d520f0288c993a1398b6721/html5/thumbnails/36.jpg)
Use Case DiagramP
em
od
ela
n
Re
ka
ya
sa
Ke
bu
tuh
an Select product
Get return coins
Customer
Enter object
![Page 37: Pemodelan Rekayasa Kebutuhan - huxleyi.files.wordpress.com fileREKAYASA PERANGKAT LUNAK Semester Ganjil 2015/2016 ADAM HENDRA BRATA. Tujuan & Agenda Perkuliahan Tujuan Memahami konsep](https://reader030.fdocuments.net/reader030/viewer/2022020109/5d520f0288c993a1398b6721/html5/thumbnails/37.jpg)
Use Case ScenarioP
em
od
ela
n
Re
ka
ya
sa
Ke
bu
tuh
an
Flow of events for the Select product use-case
Objective Allow customer to select a certain product to dispense
Actors Customer
Pre-condition Coin detected and valid
Main flow 1. The customer selects a button product.
2. The system displays an entry prompt of number of product to
order.
Alternative flows 1. If the selected product is not available, the system will
display a message “Your selected product is not available”.
2. If the selected product is available but there isn’t enough
number to order, the system will display a message “The
number isn’t enough, max. x”. X is the existing number of the
product.
Post-condition The selected product dispensed as the number needed
![Page 38: Pemodelan Rekayasa Kebutuhan - huxleyi.files.wordpress.com fileREKAYASA PERANGKAT LUNAK Semester Ganjil 2015/2016 ADAM HENDRA BRATA. Tujuan & Agenda Perkuliahan Tujuan Memahami konsep](https://reader030.fdocuments.net/reader030/viewer/2022020109/5d520f0288c993a1398b6721/html5/thumbnails/38.jpg)
Use Case Association
Include A use case uses another use case (functional
decomposition) reuse
A function in the original problem statement is too
complex to be solvable immediately describe
the function as the aggregation of a set of simpler
functions (mandatory)
Extend A use case extends another use case
The functionality in the original problem statement
needs to be extended
The extended use-case plays an optional use-
case
Pe
mo
de
lan
Re
ka
ya
sa
Ke
bu
tuh
an
![Page 39: Pemodelan Rekayasa Kebutuhan - huxleyi.files.wordpress.com fileREKAYASA PERANGKAT LUNAK Semester Ganjil 2015/2016 ADAM HENDRA BRATA. Tujuan & Agenda Perkuliahan Tujuan Memahami konsep](https://reader030.fdocuments.net/reader030/viewer/2022020109/5d520f0288c993a1398b6721/html5/thumbnails/39.jpg)
Use Case AssociationP
em
od
ela
n
Re
ka
ya
sa
Ke
bu
tuh
an
![Page 40: Pemodelan Rekayasa Kebutuhan - huxleyi.files.wordpress.com fileREKAYASA PERANGKAT LUNAK Semester Ganjil 2015/2016 ADAM HENDRA BRATA. Tujuan & Agenda Perkuliahan Tujuan Memahami konsep](https://reader030.fdocuments.net/reader030/viewer/2022020109/5d520f0288c993a1398b6721/html5/thumbnails/40.jpg)
Actor Generalization
Two/more sub-actors generalized into a super-
actor
Have both behavior and attributes in common –
described under the super-actor
Super-actor should interact with use cases when
ALL of its sub-actors interact in the same way
Sub-actors should interact with use cases when
their individual interactions differ from that of the
super-actor
Pe
mo
de
lan
Re
ka
ya
sa
Ke
bu
tuh
an
![Page 41: Pemodelan Rekayasa Kebutuhan - huxleyi.files.wordpress.com fileREKAYASA PERANGKAT LUNAK Semester Ganjil 2015/2016 ADAM HENDRA BRATA. Tujuan & Agenda Perkuliahan Tujuan Memahami konsep](https://reader030.fdocuments.net/reader030/viewer/2022020109/5d520f0288c993a1398b6721/html5/thumbnails/41.jpg)
Actor GeneralizationP
em
od
ela
n
Re
ka
ya
sa
Ke
bu
tuh
an
![Page 42: Pemodelan Rekayasa Kebutuhan - huxleyi.files.wordpress.com fileREKAYASA PERANGKAT LUNAK Semester Ganjil 2015/2016 ADAM HENDRA BRATA. Tujuan & Agenda Perkuliahan Tujuan Memahami konsep](https://reader030.fdocuments.net/reader030/viewer/2022020109/5d520f0288c993a1398b6721/html5/thumbnails/42.jpg)
Class Diagram
Menggambarkan struktur statis dari sistem
Terdiri dari node (klas) dan relasi
Jenis relasi Generalization (‘is a’ – inheritance)
Association
Aggregation (‘part-of’)
Composition
Pe
mo
de
lan
Re
ka
ya
sa
Ke
bu
tuh
an
![Page 43: Pemodelan Rekayasa Kebutuhan - huxleyi.files.wordpress.com fileREKAYASA PERANGKAT LUNAK Semester Ganjil 2015/2016 ADAM HENDRA BRATA. Tujuan & Agenda Perkuliahan Tujuan Memahami konsep](https://reader030.fdocuments.net/reader030/viewer/2022020109/5d520f0288c993a1398b6721/html5/thumbnails/43.jpg)
Association
For “real-world objects” is there an association
between classes?
Classes A and B are associated if: An object of class A sends a message to an object
of B
An object of class A creates an instance of class B
An object of class A has an attribute of type B or
collections of objects of type B
An object of class A receives a message with an
argument that is an instance of B (maybe…)
will it “use” that argument?
Does an object of class A need to know about
some object of class B?
Pe
mo
de
lan
Re
ka
ya
sa
Ke
bu
tuh
an
![Page 44: Pemodelan Rekayasa Kebutuhan - huxleyi.files.wordpress.com fileREKAYASA PERANGKAT LUNAK Semester Ganjil 2015/2016 ADAM HENDRA BRATA. Tujuan & Agenda Perkuliahan Tujuan Memahami konsep](https://reader030.fdocuments.net/reader030/viewer/2022020109/5d520f0288c993a1398b6721/html5/thumbnails/44.jpg)
Aggregation - Composition
Aggregation represents a part-whole or part-of
relationship
Aggregation can occur when a class is a
collection or container of other classes, but
where the contained classes do not have a
strong life cycle dependency on the container –
essentially, if the container is destroyed, its
contents are not
Composition is more specific than aggregation
Composition usually has a strong life cycle
dependency between instances of the container
class and instances of the contained class(es)
if the container is destroyed, normally every
instance that it contains is destroyed as well
Pe
mo
de
lan
Re
ka
ya
sa
Ke
bu
tuh
an
![Page 45: Pemodelan Rekayasa Kebutuhan - huxleyi.files.wordpress.com fileREKAYASA PERANGKAT LUNAK Semester Ganjil 2015/2016 ADAM HENDRA BRATA. Tujuan & Agenda Perkuliahan Tujuan Memahami konsep](https://reader030.fdocuments.net/reader030/viewer/2022020109/5d520f0288c993a1398b6721/html5/thumbnails/45.jpg)
Class RelationshipsP
em
od
ela
n
Re
ka
ya
sa
Ke
bu
tuh
an
![Page 46: Pemodelan Rekayasa Kebutuhan - huxleyi.files.wordpress.com fileREKAYASA PERANGKAT LUNAK Semester Ganjil 2015/2016 ADAM HENDRA BRATA. Tujuan & Agenda Perkuliahan Tujuan Memahami konsep](https://reader030.fdocuments.net/reader030/viewer/2022020109/5d520f0288c993a1398b6721/html5/thumbnails/46.jpg)
Class Stereotypes
Boundary classes model the interaction and manage communication
between the computer system and its actors, but
don’t directly represent the specific interface
object in the implementation
used to identify the main logical interfaces with
users and other systems (including e.g. other
software packages, printers)
main task is to translate information across
system boundaries
partition the system so that interface is kept
separate from business logic
Pe
mo
de
lan
Re
ka
ya
sa
Ke
bu
tuh
an
![Page 47: Pemodelan Rekayasa Kebutuhan - huxleyi.files.wordpress.com fileREKAYASA PERANGKAT LUNAK Semester Ganjil 2015/2016 ADAM HENDRA BRATA. Tujuan & Agenda Perkuliahan Tujuan Memahami konsep](https://reader030.fdocuments.net/reader030/viewer/2022020109/5d520f0288c993a1398b6721/html5/thumbnails/47.jpg)
Class Stereotypes
Entity classes used to model data and behavior of some real life
system concept or entity e.g. member, bank
account, order, employee
these will sometimes require more persistent
storage of information e.g. a student’s details are
ultimately stored as a student record
Control classes represent coordination, sequencing, transactions
and control of other objects
glue between boundary elements and entity
elements, describing the logic required to manage
the various elements and their interactions
roughly one per use case
Pe
mo
de
lan
Re
ka
ya
sa
Ke
bu
tuh
an
![Page 48: Pemodelan Rekayasa Kebutuhan - huxleyi.files.wordpress.com fileREKAYASA PERANGKAT LUNAK Semester Ganjil 2015/2016 ADAM HENDRA BRATA. Tujuan & Agenda Perkuliahan Tujuan Memahami konsep](https://reader030.fdocuments.net/reader030/viewer/2022020109/5d520f0288c993a1398b6721/html5/thumbnails/48.jpg)
Class StereotypesP
em
od
ela
n
Re
ka
ya
sa
Ke
bu
tuh
an
Model interaction between the system and its environment
Actor 1<<boundary>>
<<control>>
<<boundary>>
<<entity>> <<entity>>
Actor 2
boundary entity control
![Page 49: Pemodelan Rekayasa Kebutuhan - huxleyi.files.wordpress.com fileREKAYASA PERANGKAT LUNAK Semester Ganjil 2015/2016 ADAM HENDRA BRATA. Tujuan & Agenda Perkuliahan Tujuan Memahami konsep](https://reader030.fdocuments.net/reader030/viewer/2022020109/5d520f0288c993a1398b6721/html5/thumbnails/49.jpg)
Sequence Diagram
An interaction diagram that emphasizes the time
ordering of messages
Shows a set of objects and the messages sent
and received by those objects
Elements Object represented in a box
Dashed line called the object lifeline, and it
represents the existence of an object over a
period of time
Message rendered as horizontal arrows being
passed from object to object as time advances
down the object lifelines
Pe
mo
de
lan
Re
ka
ya
sa
Ke
bu
tuh
an
![Page 50: Pemodelan Rekayasa Kebutuhan - huxleyi.files.wordpress.com fileREKAYASA PERANGKAT LUNAK Semester Ganjil 2015/2016 ADAM HENDRA BRATA. Tujuan & Agenda Perkuliahan Tujuan Memahami konsep](https://reader030.fdocuments.net/reader030/viewer/2022020109/5d520f0288c993a1398b6721/html5/thumbnails/50.jpg)
Sequence Diagram
![Page 51: Pemodelan Rekayasa Kebutuhan - huxleyi.files.wordpress.com fileREKAYASA PERANGKAT LUNAK Semester Ganjil 2015/2016 ADAM HENDRA BRATA. Tujuan & Agenda Perkuliahan Tujuan Memahami konsep](https://reader030.fdocuments.net/reader030/viewer/2022020109/5d520f0288c993a1398b6721/html5/thumbnails/51.jpg)
Statechart Diagram
A statechart diagram shows the behavior of
classes in response to external stimuli
This diagram models the dynamic flow of control
from state to state within a system
Pe
mo
de
lan
Re
ka
ya
sa
Ke
bu
tuh
an
![Page 52: Pemodelan Rekayasa Kebutuhan - huxleyi.files.wordpress.com fileREKAYASA PERANGKAT LUNAK Semester Ganjil 2015/2016 ADAM HENDRA BRATA. Tujuan & Agenda Perkuliahan Tujuan Memahami konsep](https://reader030.fdocuments.net/reader030/viewer/2022020109/5d520f0288c993a1398b6721/html5/thumbnails/52.jpg)
Statechart DiagramP
em
od
ela
n
Re
ka
ya
sa
Ke
bu
tuh
an
Waiting for a coin
Waiting for selection
Dispensing product
Returning payment
initial
accept new coin
payment
returned
accept new coincoin detectedaccept
customer
requestproduct
dispensed
accept new coin
sufficient
payment
dispense
product
product
available=FALSE
return payment
coin return
request
return payment
![Page 53: Pemodelan Rekayasa Kebutuhan - huxleyi.files.wordpress.com fileREKAYASA PERANGKAT LUNAK Semester Ganjil 2015/2016 ADAM HENDRA BRATA. Tujuan & Agenda Perkuliahan Tujuan Memahami konsep](https://reader030.fdocuments.net/reader030/viewer/2022020109/5d520f0288c993a1398b6721/html5/thumbnails/53.jpg)
Penutup
Pemodelan kebutuhan diperlukan untuk
meningkatkan pemahaman terhadap kebutuhan
yang sedang dianalisis
Pemodelan terstruktur meliputi pemodelan data
models, process models dan behavioral models
dari sistem yang sedang dikembangkan
Pemodelan berorientasi objek mencakup
scenario-based models, class models dan
behavioral models dari sistem yang sedang
dikembangkan
Alat bantu yang digunakan dalam pemodelan
terstruktur dan berorientasi objek terdapat
perbedaan
Pe
mo
de
lan
Re
ka
ya
sa
Ke
bu
tuh
an
![Page 54: Pemodelan Rekayasa Kebutuhan - huxleyi.files.wordpress.com fileREKAYASA PERANGKAT LUNAK Semester Ganjil 2015/2016 ADAM HENDRA BRATA. Tujuan & Agenda Perkuliahan Tujuan Memahami konsep](https://reader030.fdocuments.net/reader030/viewer/2022020109/5d520f0288c993a1398b6721/html5/thumbnails/54.jpg)
Pe
mo
de
lan
Re
ka
ya
sa
Ke
bu
tuh
an
Terimakasih v^^