Statechart menggambarkan behavior dari class yang telah ditentukan, dengan statechart diagram kita dapat memahami ‘apa’ yang dapat diperbuat oleh sebuah class. Sebelum mengenal lebih jauh tentang statechart diagram ini, ada baiknya kita mempelajari tentang event trace dan behavior pattern.
Event Trace dan Behavior Pattern
Event Trace
Adalah urutan event dari suatu objek yang terlibat dalam satu periode/ interval waktu.
Contoh: Customer memiliki event trace sebagai berikut pada masa/daur hidupnya :
Behavioral Pattern
Adalah deskripsi dari semua event traces yang mungkin untuk semua objek dalam satu class
Notasi pada behavioral pattern adalah sebagai berikut :
Sequence : Event yang terjadi berurutan antara satu dengan yang lain.
Selection : Salah satu event yang dipilih untuk satu event yang terjadi.
Iteration : Sebuah event yang terjadi 0 kali sampai dengan jumlah kali tertentu.
Behavioral Pattern sequence, selection dan iteration bisa digambarkan dengan ekspresi sebagai berikut :
“+” untuk sequence
“|” untuk selection
“*” untuk iteration
Jadi seperti contoh di atas menjadi :
account opened + (amount deposited | amount withdrawn)* + account closed
Event “Account opened” diikuti event nya secara sequence , yakni bisa “amount deposited” atau “amount withdrawn” (berarti selection).
Karena “amount deposited” dan “amount withdrawn” merupakan event iteration maka digunakan tanda “*”.
Statechart diagram menggambarkan transisi dan perubahan keadaan (dari satu state ke state lainnya) suatu objek pada sistem sebagai akibat dari stimuli yang diterima.
Pada umumnya Statechart diagram menggambarkan class tertentu (satu class dapat memiliki lebih dari satu statechart diagram).
Dalam UML, state digambarkan berbentuk segiempat dengan sudut membulat dan memiliki nama sesuai kondisinya saat itu.
Transisi antar state umumnya memiliki kondisi guard yang merupakan syarat terjadinya transisi yang bersangkutan, dituliskan dalam kurung siku.
Action yang dilakukan sebagai akibat dari event tertentu dituliskan dengan diawali garis miring.
Titik awal dan akhir digambarkan berbentuk lingkaran berwarna penuh dan berwarna setengah.