1 / 33

Object Oriented Technology

Behavioral Modeling with UML Behavioral Modeling State Transition Diagram Week #6 Jarungjit Parnjai. Object Oriented Technology. Lecture Outline. Behavioral Diagrams State-Transition Diagram. UML has 9 kinds of diagrams. Class Diagram Object Diagram Component Diagram Deployment Diagram

natala
Download Presentation

Object Oriented Technology

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. Object-Oriented Technology Behavioral Modeling with UMLBehavioral ModelingState Transition DiagramWeek #6Jarungjit Parnjai Object Oriented Technology

  2. Object-Oriented Technology Lecture Outline • Behavioral Diagrams • State-Transition Diagram

  3. Object-Oriented Technology 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 Behavioral Diagrams

  4. Object-Oriented Technology Behavioral Diagrams • Behavioral Diagrams เป็นโครงสร้างแบบ dynamic • 4 diagrams ได้แก่ • Sequence Diagram • Collaboration Diagram • State-transition Diagram • Activity Diagram c 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 Object-Oriented Technology A State-Transition Diagram

  6. Ordinary Example Show MessageBox “Printing” on Screen Create postscript file Send postscript file to printer Remove MessageBox sampler Swimlane Example displayer Object-Oriented Technology An Activity Diagram

  7. Object-Oriented Technology State Diagram

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

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

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

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

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

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

  14. 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 Object-Oriented Technology 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 ตามเงื่อนไขที่กำหนด

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

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

  17. Turn PC on Initializing Select Shut Down Shutting Down Working Object-Oriented Technology Example : State transitions for GUI

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

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

  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 Object-Oriented Technology Example : State transitions for an order

  21. 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 Object-Oriented Technology Example : State transitions for an order

  22. [ 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 Object-Oriented Technology Transitions to “cancelled”

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

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

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

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

  27. Object-Oriented Technology 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

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

  29. Cancelled Waiting Checking Dispatching Delivered Authorizing Authorized Rejected Object-Oriented Technology Concurrent state diagram for the class Order

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

  31. 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 Object-Oriented Technology

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

  33. Object-Oriented Technology Summary • Behavioral Diagrams • State-Transition Diagram

More Related