Developing Software Woth UML State Diagram Pokok bahasan: • State Diagram • State • Substate • Events dan transition Addison-Wesley Booch Jacobson Rumbaugh SYSTEMS ANALYSYS AND DESIGN METHODS 5TH Edition Whitten Bentley Dittman Membuat model behavior dari objek-objek • Setiap objek dapat dikatakan memiliki state --nilai dari attributnya pada suatu saat tertentu. • State diagram memodelkan daur hidup sebuah objek tunggal. Ia menggambarkan macammacam state yang dimiliki sebuah objek, event yang mengakibatkan perubahan state selama waktu tertentu dan aturan-aturan yang mengatur transisi objek antara satu state dengan state lainnya. • Perubahan terhadap state objek terjadi ketika ada suatu kejadian atau ketika nilai dari salah satu atributnya berubah. Perubahan state ini dipicu oleh adanya suatu event. Irwin/McGraw-Hill Copyrighth@2000 The Mcgraw-Hill Companies All Right reserved Developing Software Woth UML Booch Jacobson Rumbaugh • Sebuah state diagram menunjukkan urut-urutan state dari sebuah objek selama masa hidupnya / lifetimenya, sekaligus dengan event-event yang menyebabkan perubahan dari state tersebut. • Sebuah state diagram menjelaskan sebuah hypothetical machine (finite automaton) yang pada setiap waktu berada pada satu set finite state, yang terdiri dari: • a finite, non-empty set of states; • a finite, non-empty set of events; • functions, yg menjelaskan transisi dari satu state ke state berikutnya; • sebuah initial state; • satu set final state. Addison-Wesley Developing Software Woth UML Booch Jacobson Rumbaugh Soal: • On opening the flight, the initial state leads to the NoReservation state. When the state is entered, the Reset operation is executed. If a reservation is made for this flight, the object changes to the state PartiallyReserved. • The Reserve event is associated to the homonymous Reserve action (implemented as an operation). • In this operation, the actual reservation takes place, and the internal reservation counter is updated. After termination of this action, we will find the object in the PartiallyReserved state. • Each additional reservation leads to the same action. As long as a free seats are available, the object remains in the PartiallyReserved state. If only one seat left, it changes into FullyBooked state. Cancellation of reserved seats is carried out in a similar way. Thus, the state diagram describes which actions are triggered by which events and under which conditions these (and together with the call of the corresponding operations) are permitted. Addison-Wesley Developing Software Woth UML Booch Jacobson Rumbaugh cancel() [reservedSeats>1] reserve() [freeSeats>1] reserve() NoReservation PartiallyReserved entry/reset() reserve() [freeSeats=1] cancel() [ReservedSeats=1] cancel() cancelFlight() openFlight() close() FullyBooked close() Closed Addison-Wesley Developing Software Woth UML Booch Jacobson Rumbaugh State • Sebuah state dimiliki oleh satu buah Class dan merepresentasikan abstraksi atau kombinasi dari satu set nilai atribut yang mungkin terjadi pada objek tersebut dari class ini. • Tidak setiap perubahan nilai atribut akan dianggap sebagai perubahan state. Hanya event tertentu yang sangat signifikan mengakibatkan perubahan behavior dari objek. • Sebuah state oleh karena itu dapat dilihat juga sebagai rentang waktu (time span) antara dua event. • Dua type khusus state yang ada adalah initial state dan final state. Addison-Wesley Developing Software Woth UML Booch Jacobson Rumbaugh • Tidak ada transisi yang menuju initial state dan tidak ada event yang diperbolehkan meninggalkan final state. • Transisi dari satu state ke state berikutnya di trigger / dipicu oleh event. Sebuah event terdiri dari nama event dan sejumlah argument. • Event dapat memicu aksi didalam state yang dilakukan melalui operasi tertentu. Ada tiga trigger yang sudah predefine: • entry, fires automatically when entering a state • exit, fires automatically when leaving a state • do, fires repeatedly as long as the state is active, that is, not left. Addison-Wesley Developing Software Woth UML Booch Jacobson Rumbaugh Substate • Sebuah state dapat diuraikan lebih lanjut, baik sekuensial ataupun paralel substate. • Gambar dibawah ini menunjukkan sebuah sequential nesting. Ketika kontrak asuransi ditetapkan, sebuah produk dipilih (sebagai contoh, content-nya), yang terdiri dari beberapa produk element (Pel), seperti furniture, gelas, dsb. Untuk setiap produk elemen, sebuah cover (istilah asuransi) harus dibuat. Ilustrasi dibawah ini menunjukkan Create covers state dari context ini. Create Covers covers:set=Empty set PElQuantity Reset addPEl Def ine cover addPEl Addison-Wesley [isComplete] Developing Software Woth UML Booch Jacobson Rumbaugh Gambar dibawah ini menunjukkan notasi dari paralel substates. substates S3 event1 S4 S1 S2 event2 event4 Addison-Wesley event3 S5 Developing Software Woth UML Booch Jacobson Rumbaugh Event dan transition • Sebuah event adalah sebuah kejadian yang memiliki pengaruh khusus dalam suatu context yang dibicarakan, karena ia men-trigger / memicu perubahan state. • Kebalikan dari state, event bukan milik satu kelas tertentu. • State transition (perubahan state) biasanya dipicu oleh adanya event yang digambarkan dengan anak panah yang menghubungkan state satu dengan state lainnya. Addison-Wesley
© Copyright 2024 Paperzz