Object oriented analyst and design Defri Kurniawan defri.kurniawan@dsn.dinus.ac.id
STATE MACHINE DIAGRAM
State Machine Diagram State Machine Diagram merupakan teknik yang umum digunakan untuk menggambarkan behavior sebuah sistem Dalam pendekatan berorientasi objek, State Machine Diagram digambarkan untuk suatu Kelas tunggal yang menunjukkan behavior sebuah objek tersebut
Notasi State Machine Diagram
Case Dalam suatu kastil yang gelap tersimpanlah barang-barang berharga dalam suatu lemari besi. Untuk menunjukkan lubang kunci pada lemari besi tersebut, harus menggunakan obor sebagai media penerangan. Hal ini berlaku bila pintu dalam keadaan tertutup. Jika lubang kunci sudah terlihat, kunci dapat dimasukkan untuk membuka lemari besi. Sebagai prosedur keamanan, lemari tersebut dapat terbuka jika obor terpasang. Namun jika obor tsb tidak terpasang, maka akan kastil akan mengeluarkan monster.
Example State Machine Diagram Lemari besi tertutup Buka Note: State Kunci diputar[Obor terpasang] / Membuka lemari besi Tunggu Obor diambil [Pintu tertutup] / Menunjukkan lubang kunci Terkunci Kunci diputar[Obor tidak terpasang] / Mengeluarkan monster Note: Titik Awal (Start) Note: Point / Transisi Note: Event [Guard] / Activity Note: Titik akhir (end)
Penjelasan Diagram di atas menunjukkan adanya 3 (tiga) State: Tunggu, Terkunci, dan Buka. Diagram di atas juga menjelaskan mengenai aturan-aturan untuk berpindah dari satu State ke State lain (Aturan tertulis dalam Transisi) Transisi menunjukkan pergerakan dari suatu State ke State lain. Transisi memiliki label yang terdiri dari 3 (tiga) bagian: event [guard] / activity Event berupa trigger/pemicu terjadinya peralihan pada state Guard menunjukkan adanya kondisi (jika mensyaratkan adanya kondisi) dalam bentuk boolean Activity merupakan behavior yang dieksekusi selama transisi
Penjelasan [lanj] Dalam state Tunggu jika obor diambil dengan pintu tertutup, maka akan melakukan aktivitas menunjukkan lubang kunci dan pindah ke state terKunci Pada state Terkunci jika kunci diputar dengan kondisi obor terpasang maka akan melakukan aktivitas membuka lemari besi, namun jika kunci diputar dengan kondisi obor tidak terpasang maka akan mengeluarkan monster dan selesai
UML PROCESS
UML Problems UML is modeling notation, it is not a development process or a methodology UML driven development process? UML is too complex, difficult to understand quickly Should we use all UML diagrams?
romi@romisatriawahono.net Object-Oriented Programming UML Process (EA Sparx) Menampilkan batas sistem dan fungsi utama menggunakan use cases dan actors Memodelkan proses bisnis organisasi dengan activity diagram Menggambarkan realisasi use case menggunakan sequence diagrams Merepresentasikan struktur statis dari suatu sistem dengan menggunakan class diagram Mengungkapkan pelaksanaan arsitektur fisik dengan deployment diagram http://romisatriawahono.net
UML Process (EA Sparx) Use Cases Diagram Activity Diagram romi@romisatriawahono.net Object-Oriented Programming UML Process (EA Sparx) Use Cases Diagram Activity Diagram Sequence Diagram Class Diagram Deployment Diagrams http://romisatriawahono.net
UML Process (Kendal, 2011) Sebuah use case diagram, menggambarkan bagaimana sistem yang digunakan. Analis memulai dengan use case diagram Sebuah activity diagram, menggambarkan aliran keseluruhan kegiatan. Setiap use case dapat membuat satu diagram aktivitas Sequence diagram, menunjukkan urutan kegiatan dan hubungan kelas. Setiap use case dapat membuat satu atau lebih sequence diagram Class diagrams, menunjukkan kelas dan hubungan. Sequence diagram digunakan untuk menentukan kelas Statechart diagram, menunjukkan keadaan transisi. Setiap kelas dapat membuat statechart diagram, yang berguna untuk menentukan class method
(Kendall and Kendall, 2011)
System Analysis and Design with UML Business Process Identification Use Case Diagram Business Process Modeling Activity Diagram Business Process Realization Sequence Diagram System Design Program Design Class Diagram Package Diagram (Gabungan class yang sesuai) Deployment Diagram (arsitektur software dari sistem yang dibangun) User Interface Design (Buat UI design) Entity-Relationship Model (Buat ER diagram)
TERIMA KASIH