ดาวน์โหลดงานนำเสนอ
งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ
1
Object Oriented Technology
Behavioral Modeling with UML Behavioral Modeling State Transition Diagram Week #6 Jarungjit Parnjai
2
State-Transition Diagram
Object-Oriented Technology Lecture Outline Behavioral Diagrams State-Transition Diagram
3
UML has 9 kinds of diagrams
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
Behavioral Diagrams เป็นโครงสร้างแบบ dynamic 4 diagrams ได้แก่
Object-Oriented Technology Behavioral Diagrams Behavioral Diagrams เป็นโครงสร้างแบบ dynamic 4 diagrams ได้แก่ Sequence Diagram Collaboration Diagram State-transition Diagram Activity Diagram c Interaction Diagrams
5
A State-Transition Diagram
Object-Oriented Technology A State-Transition Diagram Initialization Open entry: Register student exit: Increment count Closed Canceled do: Initialize course do: Finalize course do: Notify registered students Add Student / Set count = 0 Add student[ count < 10 ] [ count = 10 ] Cancel
6
An Activity Diagram Show MessageBox “Printing” on Screen
Object-Oriented Technology An Activity Diagram Show MessageBox “Printing” on Screen Create postscript file Send postscript file to printer Remove displayer sampler Swimlane Example Ordinary Example
7
Object-Oriented Technology
State Diagram
8
แสดงพฤติกรรมของวัตถุใดๆ วัตถุหนึ่งที่สร้างขึ้นจากคลาส
Object-Oriented Technology State diagram แสดงพฤติกรรมของวัตถุใดๆ วัตถุหนึ่งที่สร้างขึ้นจากคลาส แสดงสถานะ (states) ทั้งหมดที่เป็นไปได้ของวัตถุ แสดงการเปลี่ยนแปลงสถานภาพของวัตถุ ตั้งแต่เริ่มต้นสถานภาพ จนสิ้นสุดสถานภาพ ชื่ออื่นๆ ของ State Diagram ได้แก่ State transition diagram Harel diagram (statecharts)
9
ตัวอย่างการเปลี่ยนแปลงสถานภาพ (State Transition)
Object-Oriented Technology State Transition ตัวอย่างการเปลี่ยนแปลงสถานภาพ (State Transition) เมื่อกดสวิทซ์ไฟ หลอดไฟฟ้าจะเปลี่ยนสถานะจาก “มืด” ไปเป็น” สว่าง” เมื่อกดปุ่มวางสายโทรศัพท์ โทรศัพท์จะเปลี่ยนสถานะจาก “กำลังโทร” ไปเป็น “วางสาย” เมื่อถอนเงินเกินยอดบัญชีคงเหลือ สถานะของบัญชี จะเปลี่ยนสถานะจาก “ปกติ” ไปเป็น “เบิกเกินบัญชี” เมื่อเวลาผ่านไประยะหนึ่ง เครื่องซักผ้า จะเปลี่ยนสถานะจาก “ซักน้ำ” ไปเป็น “ปั่นแห้ง”
10
สถานะถูกกำหนดโดยค่าของ attribute ในวัตถุ
Object-Oriented Technology Object states สถานะ (State) = ชุดของค่าที่ บ่งบอกถึง วัตถุ (รวมทั้ง condition และ situation ของวัตถุ) ที่เวลาใดเวลาหนึ่ง สถานะถูกกำหนดโดยค่าของ attribute ในวัตถุ overdrafted Account balance : Float states ok
11
State changes (1) สถานะอาจเปลี่ยนแปลง
Object-Oriented Technology State changes (1) สถานะอาจเปลี่ยนแปลง เมื่อมีเหตุการณ์ (event) เกิดขึ้นกับวัตถุ หรือ เมื่อเวลาผ่านไปชั่วระยะหนึ่ง การเปลี่ยนแปลงสถานภาพ (State Transition) ความสัมพันธ์ที่ระบุการเปลี่ยนแปลงของสถานะ overdrafted ok deposit(sum) withdraw(sum)
12
State changes (2) เหตุการณ์ (Events)
Object-Oriented Technology State changes (2) เหตุการณ์ (Events) หมายถึง Message หรือ signal ที่วัตถุได้รับ Events อาจจะทำให้สถานะของวัตถุเปลี่ยนแปลง หรือไม่ก็ได้ Self-transition overdrafted ok deposit withdraw
13
Component of State diagram
Object-Oriented Technology Component of State diagram องค์ประกอบของ State Diagram จุดเริ่มต้น /จุดสิ้นสุด สถานะต่างๆ (States) เส้นแสดงการเปลี่ยนสถานะ (Transition Line) เหตุการณ์ (Event) และ/หรือ เงื่อนไข (condition) State-A State-B Event หรือ condition
14
State diagram notation (1)
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 ตามเงื่อนไขที่กำหนด State name entry / entry-action condition /conditiont-action exit / exit-action do / activity-A event1(a:T)[exp]: action1 state variable(s) eventn(a:T)[exp]: actionn …
15
State diagram notation (2)
Object-Oriented Technology State diagram notation (2) State-A State-B Event(arguments) [condition]/action Event หมายถึง เหตุการณ์ที่เกิดขึ้นใน time และ space ก่อให้เกิด (trigger) การเปลี่ยนสถานะ (transition) อาจเป็น signals, calls, ช่วงเวลา หรือ การเปลี่ยนสถานะ Condition Transition เกิดขึ้นเมื่อ condition เป็นจริงเท่านั้น Action หมายถึง กระบวนการที่เกิดขึ้นโดยอย่างรวดเร็ว โดยไม่ถูกขัดจังหวะ
16
State diagram notation (3)
Object-Oriented Technology State diagram notation (3) Event(attribute) Initial state State-B Start State End State Start state ไม่มี event ใดที่ก่อให้เกิดการเปลี่ยนสถานะสู่ start state อาจมี branch conditions End state สิ้นสุด state machine
17
Example : State transitions for GUI
Object-Oriented Technology Example : State transitions for GUI Initializing Working Select Shut Down Turn PC on Shutting Down
18
Object-Oriented Technology
Triggering an Event การกระตุ้นให้เกิดการเปลี่ยนแปลงสถานภาพ (Triggering an Event) และ การเปลี่ยนแปลงสถานภาพ โดยไม่มีเหตุการณ์เข้าไปกระตุ้น (Triggerless Event) Initializing Working Select Shut Down Turn PC On do : startup Shutting Down
19
Object-Oriented Technology
Guard Condition การเปลี่ยนแปลงสถานภาพด้วยเงื่อนไขทางตรรกะ ทำได้โดยอาศัย Guard Condition Guard Condition หมายถึง ลักษณะการกำหนดเงื่อนไขทางตรรกะบางอย่าง เช่น อาจใช้ระยะเวลาเป็นตัวกำหนด เป็นต้น Initializing Working Select Shut Down Turn PC On do : startup Shutting Down [is time out] Keypressed or mouse movement Screen Saving
20
Example : State transitions for an order
Object-Oriented Technology Example : State transitions for an order Checking do : check item Dispatching do : initiate delivery Waiting Delivered / get first item Item received [someitems not in stock ] Item received [ all items available] [ All items checked && some items not in stock] [ All items checked && all items availables ] [ not all items checked ] / get next item
21
Example : State transitions for an order
Object-Oriented Technology Example : State transitions for an order Checking do : check item Dispatching do : initiate delivery Waiting Delivered / get first item Item received [someitems not in stock ] Item received [ all items available] [ All items checked && some items not in stock] [ All items checked && all items availables ] [ not all items checked ] / get next item
22
Transitions to “cancelled”
Object-Oriented Technology Transitions to “cancelled” Dispatching do: initiate delivery Waiting Delivered Item received [ some items not in stock ] Item received [ all items available ] Cancelled Checking do: check item [ not all items checked ] / get next item / get first item [ All items checked && some items not in stock ] [ All items checked && all cancelled
23
สถานะการทำงานย่อย (SubState) แบ่งเป็น 2 ประเภท คือ
Object-Oriented Technology SubState สถานะการทำงานย่อย (SubState) แบ่งเป็น 2 ประเภท คือ Sequential เป็นการเปลี่ยนสถานะการทำงานอย่างเป็นลำดับ จากสถานะหนึ่ง ไปสู่อีกสถานะหนึ่ง Concurrent มีหลาย ๆ สถานะที่มีการเปลี่ยนแปลงพร้อมๆ กัน
24
Sequential SubState Sequential SubState
Object-Oriented Technology Sequential SubState Sequential SubState เป็นการเปลี่ยนสถานะการทำงานอย่างเป็นลำดับ จากสถานะหนึ่ง ไปสู่อีกสถานะหนึ่ง Awaiting User Input Registering Input Visualizing Working
25
Concurrent SubState Concurrent SubState
Object-Oriented Technology Concurrent SubState Concurrent SubState มีหลาย ๆ สถานะที่มีการเปลี่ยนแปลงพร้อมๆ กัน Awaiting User Input Registering Input Visualizing Working Watch System Clock Update display [is interval out]
26
State diagram notation (4)
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
Superstate / Substates
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 ] There are also concurrent substates Item received [ all items available] Delivered Dispatching Delivered do : initiate delivery
28
Example: Payment authorization in class Order
Object-Oriented Technology Example: Payment authorization in class Order 2 parallel processes: - authorization - order handling Authorizing [ payment not ok ] do: check payment [ payment ok ] Authorized Rejected Delivered
29
Concurrent state diagram for the class Order
Object-Oriented Technology Concurrent state diagram for the class Order Checking Waiting Dispatching Authorizing Authorized Cancelled Delivered Rejected
30
State diagram notation (5)
Object-Oriented Technology State diagram notation (5) Superstate State-A State-B Event A Event B Event C H History state เป็นตัวบอกว่าเมื่อมีการเปลี่ยนกลับมาสถานะเดิม จะให้กลับมาที่จุดใด เริ่มต้นด้วย substate หลังสุดที่ทำงานก่อนที่จะออกจาก composite state
31
Awaiting User Input Registering Input Visualizing Working Initializing
Object-Oriented Technology Awaiting User Input Registering Input Visualizing Working Initializing Turn PC On Shutting Down [is time out] Keypressed or mouse movement Screen Saving H Select Shut Down
32
ให้สร้าง State diagram สำหรับ
Object-Oriented Technology Exercises ให้สร้าง State diagram สำหรับ an elevator a soccer game an ATM a mobile phone …
33
State-Transition Diagram
Object-Oriented Technology Summary Behavioral Diagrams State-Transition Diagram
งานนำเสนอที่คล้ายกัน
© 2024 SlidePlayer.in.th Inc.
All rights reserved.