download

Matakuliah
Tahun
: Konsep object-oriented
: 2009
MEMODELKAN SISTEM Bagian 2
Pertemuan 14
Memodelkan Sistem Bagian 2
Collaboration Diagram
State Diagram
Collaboration Diagram
• Kolaborasi diagram adalah cara lain untuk
mengambarkan skenario.
• Informasi yang sama dengan apa yang ditampilkan oleh
sequence diagram.
3:Check Spaces left-yes
Car Park
2: Car Present
1: Full Sign Off
Full Sign
Sensor
4: Card number
7: Card not recognized
8: Card returned
User
5: Card Number
6: Card not recognized
Card Reader
Valid Card
Collaboration diagram for scenario entry the card park where card not recognized
•
Exercise 3
Dari scenario dibawah ini buatlah sequence dan collaboration diagramnya
untuk mengilustrasikannya.
– ATM menampikan Layar pembukaan dengan pesan untuk memasukkan
kartu.
– User memasukkan kartu
– ATM membaca kartu dan meminta nomor PIN
– User memasukan nomor PIN
– ATM memeriksa kartu dan nomor PIN ke Bank
– Bank menberikan verifikasi kartu dan nomor kartu
– ATM menampilkan jenis pelayanan yang tersedia
– User memilih pelayanan “Cek Rekening”
– ATM meminta jumlah saldo rekening user dari bank
– ATM menampilkan jumlah saldo ke user
– ATM menanyakan pelayanan lain yang ingin dilakukan oleh user
– User tidak menginginkan pelayanan lain
– ATM meminta user untuk mengambil kartunya
– User mengambil kartu
– ATM menampilkan layar pembukaan
:ATM
:BANK
User:
Pesan Pembuka
Nomor Kartu
Meminta PIN
PIN
Nomor Kartu dan PIN
Card OK
Jenis Pelayanan
Cek Rekening
Cek Rekening
Saldo
Tampilkan Saldo
Layanan lain ?
Tidak Layanan Lain
Ambil Kartu
Kartu sudah diambil
Pesan pembuka
1:pesan pembuka
2:meminta PIN
7:Jenis Layanan
11:Tampilkan saldo
12:Layanan Lain?
14:Ambil Kartu
16:Pesan Pembuka
:ATM
13:Tidak Layanan lain
15:Kartu sudah diambil
:BANK
10:Saldo
8:Cek Rekening
6: Card OK
4:PIN
9:Cek Rekening
User
5:Nomor kartu dan PIN
2:Nomor Kartu
Exercise 4
• Theater Rama-rama, dalam proses membangun sistem
pemesanan tiket melalui kiosknya. untuk anggota teather ramarama club didapati sebuah scenario sebagai berikut:
• User memasukkan kartu anggotanya kedalam mesin
kiosk(didalam kartu terdapat nomor kartu atau id anggota)
• Mesin kiosk menanyakan kepada server tanggaltanggal/data pertunjukan
• Server mengirimkan tanggal-tanggal/data pertunjukan
kepada kiosk
• Mesin Kiosk menanyakan kepada anggota tanggal
pertunjukan yang ingin ditonton
• Anggota memasukkan tanggal pertunjukanya
• Kiosk mengirimkan data tanggal pertunjukkan yang dipilh
kepada server untuk mendapatkan tempat duduk kosong
yang tersisa.
• Server mengirimkan data tempat duduk tersisa kepada kiosk
•
•
•
•
•
Kiosk menampilkannya kepada user
User memilih tempat duduknya.
Kiosk menanyakan konfirmasi pemesanan
User menjawab YA
Kiosk mengirim data pesanan tiket kepada server untuk
diproses
• Server memberi tahu kepada kiosk proses selesai
• Kiosk mencetak bukti pemesanan kepada user
– Buatlah sequence diagram dan collaboration
diagramnya.
State Diagram
• State diagram describe the behavior of single class
during lifetimes
• When you want to find out what going on inside a class,
you need a state diagram
• For example: imagine two object of the class balloon,
one red one blue. Both balloon haven been blown up,
but the blue one has had some of the air let out of its, if
some now tries to blow up the balloon, they will respond
in different way; the blue one will simply become slightly
more inflated, but the red one (which is already fully
blown up) will burst. We can illustrated these alternative
in very simple state diagram
The state diagram for the class balloon
blow up
let air out
Deflated
Initial state
Partly Inflated
let air outblow up
Fully inflated
blow up
Final state
Burst
States
• Sebuah state mengambarkan sebuah keadaan
tertentu pada suatu waktu sampai sebuah
event diberlakukan padanya.
• Sebuah state disimbolkan dengan :
State1
• Contoh: state diagram di class Barrier
lower
raise
raise
Down
The “up” attribut is false
lower
Up
The “up” attribut is true
Transitions
• Transisi(Transition) mengambarkan respon sebuah
obyek terhadap sebuah event;
• Responnya dapat berupa perpindahan keadaan dari
suatu keadaan menjadi keadaan lain. Atau dari
sebuah keadaan menuju kekeadaan yang sama(lihat
state diagram untuk Barrier class).
• Sebuah transisi tidak dapat dihentikan dan bersifat
instant
Notasi sebuah transisi
• Sebuah transition terdiri dari tiga bagian :
– Event : proses atau kejadian yang mengubah keadaan
– Guard : kondisi yang membolehkan sebuah transisi
berlangsung, sebuah transisi terjadi jika guard
kondisinya bernilai true ditulis didalam bracket [ ]
– Action : proses yang akan dilakukan jika transisi
berhasil dilaksanakan ,ditulis sesudah tanda “/”
Petrol added [amount < amount needed to fill tank]
Pertol used [amount < amount in tank]
Part Full
petrol added
Pertol used
petrol added
Pertol used
petrol added [amount = capacity]
Empty
Pertol used [amount = amount in tank] / turn on warning light
write off car
Full
State diagram untuk car park class
car sensed / check spaces
Car enter[>= spaces free] /dec.spaces
car leaves [capacity > spaces] / inc.spaces
car enter / dec.spaces
Empty
last car leaves [spaces = capacity - 1] / inc.spaces
car leaves / inc.spaces
/ dec.spaces
car park closed
Full
Spaces Free
Membuat model yang baik
• Sebuah object yang baik adalah akurat, mudah dimengerti, mudah
untuk di ubah. Sebuah model yang dapat digunakan untuk
berdiskusi dengan user.
• Avoiding clutter : menghilangkan detil yang tidak perlu.
• Mengambar lebih banyak diagram dari pada membuat sebuah
diagram yang berisi informasi yang terlalu rumit.
• Gunakan penjelasan jika sebuah nama terlalu pendek dan tidak
menjelaskan apa-apa.
•
•
•
•
•
•
Bagaimana membuat sebuah class yang
baik.
Menghilangkan sebuah ‘God’ class: sebuah class yang terlalu
banyak mengontrol sistem. Inilah alasan mengapa entrance class
dibuang. That class ini terlalu besar mengontrol sistem
Bagi dengan baik tanggung jawab yang dilakukan antara class
Sebuah class tidak hanya sebuah class yang terdiri dari sebuah
fungsi yang besar tapi harus juga mengandung beberapa data
attribut
Sebuah class sebaiknya mempunyai lebih dari sebuah fungsi dasar
saja..
Sebuah class berhubungan dengan sesuatu didunia nyata dan
muda untuk dimengerti oleh orang-orang.
Sebuah class seharusnya hanya mempunyai satu arti saja
Identifier yang unik untuk sebuah obyek
• Kadang sebuah object memerlukan sebuah attribut yang
unik sesuai dengan problem domain