Anda di halaman 1dari 8

Diagram State

Software System IT Telkom

Diagram State : Peran di UML

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 : How to Draw

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

Respon terhadap event dapat tergantung kepada state suatu objek


5

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

Time and Change Event


Time Event - event terjadi berdasarkan periode waktu tertentu Dimodelkan dengan after (periodOfTime) Change event event terjadi karena ada kondisi yang dipenuhi. Dimodelkan dengan when (booleanExpr)
when( h ( 11:49pm 11 49 ) / selfTest() lfT t()

change event
Idle

time event

after( 2 sec ) / dropConnection()

Active
11

Penerima Sinyal
Tambahkan bagian sinyal pada kelas Didesain sebagai active class
KeypadManager Signals pushButton( b : Button ) powerUp powerDown

12

Family dari Sinyal


<<signal>> RobotSigna l

<<signal>> g C lli i Collision sensor : int

<<signal>> HardwareFault

<<signal>> BatteryFaul t

<<signal>> MovementFault <<signal>> MotorStall

<<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

composite state sequential substate Active

Idle
cancel maintain

Validating Selecting
[not continue]

[continue]

Processing Printing

Maintenance

entry / readCard exit / ejectCard

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

When to Use State Diagrams


State diagrams are good at describing the behavior of an object across several use cases. Draw state diagrams especially for classes, which are not well understood and which need detailed description. If you have to describe several objects, which are involved in a single use case, use interaction diagrams. To show the general sequence for multiple use cases and multiple objects, use activity diagrams. State diagrams are not very good at describing behavior that involves anumber of objects collaborating together.
21

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