Diagram State
Diagram State adalah diagram untuk menggambarkan behavior, yaitu perubahan state di suatu class berdasarkan event dan message yang dikirimkan dan diterima oleh class tersebut Setiap diagram state hanya boleh memiliki satu start state (initial state) dan boleh memiliki satu atau lebih dari satu stop states (final state)
Diagram State
State
Abstraksi dari nilai-nilai atribut dan asosiasi dari sebuah objek Representasi kondisi/state dari sebuah objek pada periode waktu tertentu Berhubungan dengan suatu interval waktu antara dua event
Event
Event spesifikasi dari sebuah kejadian tertentu Segala sesuatu yang terjadi dapat dimodelkan sebagai event Sebuah state menunjukkan transuisi antar status (state) yang dipicu oleh stimulus tertentu (event)
event Idle event declaration OffHook / dropConnection() <<signal>> OffHook Active
6
Event
Event dapat dikategorikan ke dalam internal atau external event Internal event berasal dari dan menuju ke objek pada sistem aplikasi External event adalah event yang berasal dari aktor ke sistem atau ata sebalikn sebaliknya a
System
7
4 Jenis Event
1. 2. 3. 4. Sinyal (Signals) Calls Passing of Time (Time event) Change in State (change event)
Sinyal
Sinyal event yang merepresentasikan spesifikasi dari stimulus asinkron yang dikomunikasikan antar objek Dimodelkan sebagai sebuah kelas Dikirimkan secara asinkron oleh sebuah objek, dan ditangkap oleh objek lain Dikirimkan sebagai : Aksi dari trasisi state Message pada interaksi objek Pemodelan UML : Dependesi menunjukkan sinyal yang dikirim dari sebuah kelas Ditandai dengan stereotype
signal
<<signal>> Collision force : float <<send>> MovementAgent position velocity moveTo
Signal parameters
send dependency
9
Call Events
Merepresentasikan pemanggilan operasi Synchronous
event
startAutopilot( normal )
Manual
Automatic
parameter
10
change event
Idle
time event
Active
11
Penerima Sinyal
Tambahkan bagian sinyal pada kelas Didesain sebagai active class
KeypadManager Signals pushButton( b : Button ) powerUp powerDown
12
<<signal>> HardwareFault
<<signal>> BatteryFaul t
<<signal>> VisionFault
<<signal>> RangingFault
13
Eksepsi
Merepresentasikan kondisi eksepsional dari setiap kelas Gambarkan eksepsi yang mungkin dari sebuah operasi Gunakan dependesi <<exception>> Exception Gambarkan dalam spesifikasi operasi
setHandler() firstHandler() l tH dl () lastHandler()
<<exception>> Duplicate <<exception>> Overflow Set add() remove() item <<send>> <<send>> <<exception>> Underflow <<send>> 14
State Machine
State machine behavior yang menggambarkan urutan state dari objek sepanjang waktu hidup-nya; event dan transisi antara state dan respon terhadap event tersebut. tersebut (David Harel) Terdiri dari : States Transitions Activities
15
State Machine
state Initial state keyPress Final state
shutdown
H
Idle
Running
finished name
16
State Transitions
Transisi Hubungan antara dua state yang mengindikasikan bahwa suatu objek telah selesai melakukan suatu aksi dan akan berpindah pada aksi berikutnya
17
Advanced States
name
Tracking entry action exit action internal transition activity deferred event
entry t / setMode( tM d ( onTrack T k) exit / setMode( offTrack ) newTarget / tracker.Acquire() do / followTarget selfTest / defer
18
Substates
ATM Sequential Substate
cardInserted
Idle
cancel maintain
Validating Selecting
[not continue]
[continue]
Processing Printing
Maintenance
19
Concurrent Substate
Idle fork composite state concurrent substate Maintenance Testing Testing devices Commanding Waiting
keyPress [continue] maintain
join
Self diagnosis
Command
[not continue] 20
Tugas Besar
Gunakan UML untuk menganalisis dan mendesain Tugas Besar II selesaikan sampai tanggal 3 Juni 2009 jam 23.59 Tugas besar I dikirimkan paling lambat tgl 27 Mei 2009 jam 23.59 Kirim ke milis rpld3 di yahoo groups
22