1 / 32

Behavioral Modeling with UML Behavioral Modeling State Diagrams Seree Chinodom

Behavioral Modeling with UML Behavioral Modeling State Diagrams Seree Chinodom. Object Oriented Analysis and Design. Lecture Outline. Behavioral Diagrams State-Transition Diagram. UML has 9 kinds of diagrams. Class Diagram Object Diagram Component Diagram Deployment Diagram

Download Presentation

Behavioral Modeling with UML Behavioral Modeling State Diagrams Seree Chinodom

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Behavioral Modeling with UMLBehavioral ModelingState DiagramsSeree Chinodom Object Oriented Analysis and Design

  2. Lecture Outline • Behavioral Diagrams • State-Transition Diagram

  3. UML has 9 kinds of diagrams • Class Diagram • Object Diagram • Component Diagram • Deployment Diagram • Use Case Diagram • Sequence Diagram • Collaboration Diagram • StateTransition Diagram • Activity Diagram Structural Diagrams Functional Diagrams Behavioral Diagrams

  4. Behavioral Diagrams • Behavioral Diagrams เป็นโครงสร้างแบบ dynamic • 4 diagrams ได้แก่ • Sequence Diagram • Collaboration Diagram • State-transition Diagram • Activity Diagram Interaction Diagrams

  5. Add student[ count < 10 ] Add Student / Set count = 0 Initialization Open do: Initialize course entry: Register student exit: Increment count Cancel Cancel [ count = 10 ] Canceled do: Notify registered students Closed Cancel do: Finalize course A State-Transition Diagram

  6. State Diagram

  7. State diagram • แสดงพฤติกรรมของวัตถุใดๆ วัตถุหนึ่งที่สร้างขึ้นจากคลาส • แสดงสถานะ (states) ทั้งหมดที่เป็นไปได้ของวัตถุ • แสดงการเปลี่ยนแปลงสถานภาพของวัตถุ ตั้งแต่เริ่มต้นสถานภาพ จนสิ้นสุดสถานภาพ • ชื่ออื่นๆ ของ State Diagram ได้แก่ • State transition diagram • Harel diagram (statecharts)

  8. State Transition • ตัวอย่างการเปลี่ยนแปลงสถานภาพ (State Transition) • เมื่อกดสวิทซ์ไฟ หลอดไฟฟ้าจะเปลี่ยนสถานะจาก “มืด” ไปเป็น” สว่าง” • เมื่อกดปุ่มวางสายโทรศัพท์ โทรศัพท์จะเปลี่ยนสถานะจาก “กำลังโทร” ไปเป็น “วางสาย” • เมื่อถอนเงินเกินยอดบัญชีคงเหลือ สถานะของบัญชี จะเปลี่ยนสถานะจาก “ปกติ” ไปเป็น “เบิกเกินบัญชี” • เมื่อเวลาผ่านไประยะหนึ่ง เครื่องซักผ้า จะเปลี่ยนสถานะจาก “ซักน้ำ” ไปเป็น “ปั่นแห้ง”

  9. Account balance : Float Object states • สถานะ (State) = ชุดของค่าที่ บ่งบอกถึง วัตถุ (รวมทั้ง condition และ situation ของวัตถุ) ที่เวลาใดเวลาหนึ่ง • สถานะถูกกำหนดโดยค่าของ attribute ในวัตถุ overdrafted states ok

  10. overdrafted withdraw(sum) deposit(sum) ok State changes (1) • สถานะอาจเปลี่ยนแปลง • เมื่อมีเหตุการณ์ (event) เกิดขึ้นกับวัตถุ หรือ เมื่อเวลาผ่านไปชั่วระยะหนึ่ง • การเปลี่ยนแปลงสถานภาพ (State Transition) • ความสัมพันธ์ที่ระบุการเปลี่ยนแปลงของสถานะ

  11. deposit overdrafted withdraw deposit withdraw ok State changes (2) • เหตุการณ์ (Events) • หมายถึง Message หรือ signal ที่วัตถุได้รับ • Events อาจจะทำให้สถานะของวัตถุเปลี่ยนแปลง หรือไม่ก็ได้ • Self-transition

  12. Event หรือ condition State-B State-A Component of State diagram • องค์ประกอบของ State Diagram • จุดเริ่มต้น /จุดสิ้นสุด • สถานะต่างๆ (States) • เส้นแสดงการเปลี่ยนสถานะ (Transition Line) • เหตุการณ์ (Event) และ/หรือ เงื่อนไข (condition)

  13. State name state variable(s) entry / entry-action do/ activity-A event1(a:T)[exp]: action1 … eventn(a:T)[exp]: actionn condition /conditiont-action exit / exit-action State diagram notation (1) • entry / entry-action • เมื่อเข้ามายัง State นี้ให้ทำ entry-action • do / activity-action • หลังจากเข้ามายัง State นี้แล้ว หากไม่มีเงื่อนไขอื่นใดให้ทำ activity-action • exit / exit-action • ขณะที่จะออกจาก State นี้ ให้ทำ activity-action • conditon / condition-action • ขณะที่อยู่ภายใน State นี้ ให้ทำ condition-action ตามเงื่อนไขที่กำหนด

  14. Event(arguments)[condition]/action State-A State-B State diagram notation (2) • Event • หมายถึง เหตุการณ์ที่เกิดขึ้นใน time และ space • ก่อให้เกิด (trigger) การเปลี่ยนสถานะ (transition) • อาจเป็น signals, calls, ช่วงเวลา หรือ การเปลี่ยนสถานะ • Condition • Transition เกิดขึ้นเมื่อ condition เป็นจริงเท่านั้น • Action • หมายถึง กระบวนการที่เกิดขึ้นโดยอย่างรวดเร็ว โดยไม่ถูกขัดจังหวะ

  15. State diagram notation (3) Event(attribute) Initial state State-B • Start state • ไม่มี event ใดที่ก่อให้เกิดการเปลี่ยนสถานะสู่ start state • อาจมี branch conditions • End state • สิ้นสุด state machine StartState End State

  16. Turn PC on Initializing Select Shut Down Shutting Down Working Example : State transitions for GUI

  17. Turn PC On Initializing Working do : startup Select Shut Down ShuttingDown Triggering an Event • การกระตุ้นให้เกิดการเปลี่ยนแปลงสถานภาพ (Triggering an Event) และ การเปลี่ยนแปลงสถานภาพ โดยไม่มีเหตุการณ์เข้าไปกระตุ้น (Triggerless Event)

  18. [is time out] Turn PC On Initializing Working Screen Saving do : startup Keypressed or mouse movement Select Shut Down ShuttingDown Guard Condition • การเปลี่ยนแปลงสถานภาพด้วยเงื่อนไขทางตรรกะ ทำได้โดยอาศัย Guard Condition • Guard Condition หมายถึง ลักษณะการกำหนดเงื่อนไขทางตรรกะบางอย่าง เช่น อาจใช้ระยะเวลาเป็นตัวกำหนด เป็นต้น

  19. Item received[someitems not in stock ] [ not all items checked ] / get next item [ All items checked && some items not in stock] / get first item Checking Waiting do : check item [ All items checked && all items availables ] Item received[ all items available] Dispatching Delivered Delivered do : initiate delivery Example : State transitions for an order

  20. Item received[someitems not in stock ] [ not all items checked ] / get next item [ All items checked && some items not in stock] / get first item Checking Waiting do : check item [ All items checked && all items availables ] Item received[ all items available] Dispatching Delivered Delivered do : initiate delivery Example : State transitions for an order

  21. [ not all items checked ]/ get next item Item received[ some items not in stock ] [ All items checked && some items not in stock ] / get first item Checking Waiting do: checkitem Item received [ all items available ] cancelled [ All items checked && all items available ] cancelled Dispatching cancelled do: initiate delivery Cancelled Delivered Delivered Transitions to “cancelled”

  22. SubState • สถานะการทำงานย่อย (SubState) แบ่งเป็น 2 ประเภท คือ • Sequential เป็นการเปลี่ยนสถานะการทำงานอย่างเป็นลำดับ จากสถานะหนึ่ง ไปสู่อีกสถานะหนึ่ง • Concurrent มีหลาย ๆ สถานะที่มีการเปลี่ยนแปลงพร้อมๆ กัน

  23. Working Input Awaiting User Input Registering User Input Visualizing User Input Sequential SubState • Sequential SubState • เป็นการเปลี่ยนสถานะการทำงานอย่างเป็นลำดับ จากสถานะหนึ่ง ไปสู่อีกสถานะหนึ่ง

  24. Working Input Awaiting User Input Registering User Input Visualizing User Input [is interval out] Watch System Clock Update display Concurrent SubState • Concurrent SubState • มีหลาย ๆ สถานะที่มีการเปลี่ยนแปลงพร้อมๆ กัน

  25. State diagram notation (4) Superstate Event A State-A State-B State-B Event C Event B • Composite state: • ประกอบด้วย Sequential substates

  26. Superstate / Substates Active [ not all items checked ] / get next item Item received[someitems not in stock ] [ All items checked && some items not in stock] cancelled Cancelled / get first item Checking Waiting do : check item [ All items checked && all items availables ] Item received[ all items available] Delivered Dispatching Delivered do : initiate delivery

  27. Example: Payment authorization in class Order 2 parallel processes: - authorization - order handling Authorizing [ payment not ok ] do: check payment [ payment ok ] Rejected Authorized Delivered

  28. Cancelled Waiting Checking Dispatching Delivered Authorizing Authorized Rejected Concurrent state diagram for the class Order

  29. Superstate Event A State-A State-A State-B State-B H Event C Event B State diagram notation (5) • History state • เป็นตัวบอกว่าเมื่อมีการเปลี่ยนกลับมาสถานะเดิม จะให้กลับมาที่จุดใด • เริ่มต้นด้วย substate หลังสุดที่ทำงานก่อนที่จะออกจากcomposite state

  30. Turn PC On Initializing Shutting Down Select Shut Down Working Input Awaiting User Input Registering User Input Visualizing User Input H Keypressed or mouse movement [is time out] Screen Saving

  31. Exercises • ให้สร้าง State diagram สำหรับ • an elevator • a soccer game • an ATM • a mobile phone • …

  32. Summary • Behavioral Diagrams • State-Transition Diagram

More Related