วิชาวิเคราะห์และออกแบบระบบเชิงวัตถุ Lec10 :: Behavioral Modeling with UML Behavioral Diagrams Interaction Diagrams State Diagrams Activity Diagram Last Updated :: 17/04/2551 Mr. Nattapong Songneam xnattapong@hotmail.com http://www.siam2dev.com
Lecture Outline Behavioral Diagrams State-Transition Diagram Activity Diagram
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
Behavioral Diagrams Behavioral Diagrams เป็นโครงสร้างแบบ dynamic Sequence Diagram Collaboration Diagram State-transition Diagram Activity Diagram c Interaction Diagrams
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
An Activity Diagram Show MessageBox “Printing” on Screen Create postscript file Send postscript file to printer Remove displayer sampler Swimlane Example Ordinary Example
Activity Diagram
Activity diagram ใช้สำหรับ อธิบาย กระแสการไหลของการทำงาน (workflow) แสดงขั้นตอนการทำงานของระบบ แต่ละขั้นตอนการทำงาน เรียกว่า Activity ตัวอย่าง ได้แก่ การคำนวณผลลัพธ์บางอย่าง การเปลี่ยนแปลงสถานะ (State) ของระบบ การส่งค่ากลับคืน การส่งสัญญาณ การเรียกให้โอเปอร์เรชันอื่นๆ ทำงาน การสร้าง หรือ ทำลายวัตถุ
Activity diagram(1) Activity 1 Activity 2 Start End Activity
Activity diagram(2) Activity 1 Activity 2 Activity 3 [Condition 2]
Activity diagram(3) Activity 2 Activity 1 Activity 3 Activity 4 [synchronization condition] Concurrent fork Concurrent join Synchronization Bar
Example of activity diagrams The Coffee Pot
Activity diagram Find coffee Put coffee Add water in filter to reservoir Put filter in machine Turn on machine
Conditions in activity diagrams Find coffee Sequential branch unguarded transition Put coffee Check water in filter in reservoir [not enough water] Put water in the reservoir Put filter in machine [else] [filter with coffee in machine and reservoir contains water] Turn on machine
Conditions in activity diagrams [synchronization condition] Activity
Swimlanes ระบุ responsibilities ของ Activity Customer Sales Warehouse Request product ระบุ responsibilities ของ Activity Process order Pull material Ship order
Customer Sales Warehouse Request product Process Order Pull Material Continue Work Ship Order Recieve Order Bill Customer Pay Bill Close Order
o:Order [in progress] o:Order [filled] b:Bill [unpaid] b:Bill [paid] Warehouse Customer Sales Request product Process Order Pull Material Continue Work o:Order [in progress] Ship Order o:Order [filled] Recieve Order Bill Customer b:Bill [unpaid] Pay Bill b:Bill [paid] Close Order
When to use Activity diagram? ต้องการเน้นกิจกรรม (Activity) หรือ หน้าที่การทำงาน (Functionaliy) ไม่ใช่วัตถุ (Object) ที่ทำให้เกิดกิจกรรม มีขั้นตอนการทำงานเป็นลำดับ (step) จนกระทั่งสิ้นสุดการทำงาน โดยไม่ถูก interrupt จากเหตุการณ์ภายนอก ต้องการแสดงการไหล (Flow) ของข้อมูล หรือ วัตถุ ระหว่างแต่ละขั้นตอน
Summary Software Modeling Require and Domain Analysis Model Design Model Brief Overview of Unified Modeling Language (UML) Use Case Model