งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

วิชาวิเคราะห์และออกแบบระบบเชิงวัตถุ Lec08 :: Behavioral Modeling with UML Behavioral Diagrams Interaction Diagrams Nattapong Songneam xnattapong@hotmail.com.

งานนำเสนอที่คล้ายกัน


งานนำเสนอเรื่อง: "วิชาวิเคราะห์และออกแบบระบบเชิงวัตถุ Lec08 :: Behavioral Modeling with UML Behavioral Diagrams Interaction Diagrams Nattapong Songneam xnattapong@hotmail.com."— ใบสำเนางานนำเสนอ:

1 วิชาวิเคราะห์และออกแบบระบบเชิงวัตถุ Lec08 :: Behavioral Modeling with UML Behavioral Diagrams Interaction Diagrams Nattapong Songneam

2 Lecture Outline UML Behavioral Diagrams Interaction Diagrams
Sequence Diagram Collaboration 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 Behavioral Diagrams

4 UML(Unified Modeling Language)
Use-case view : หน้าที่การทำงานของระบบซอฟต์แวร์ โดยพิจารณาจากมุมมองของผู้ใช้ภายนอก หรือ ระบบภายนอก use-case diagram Logical view : หน้าที่การทำงานของระบบมีโครงสร้างอย่างไร มองในรูปของ static structure และ dynamic behavior class diagram, object diagram, state, sequence, collaboration, activity diagrams

5 UML(Unified Modeling Language)
Component view : องค์ประกอบย่อยในการ implement ที่ประกอบเป็นระบบ และ dependency ระหว่างองค์ประกอบเหล่านั้น component diagram Concurrency view: การแบ่งแยก process และ processors โดยพิจารณาทั้ง communication และ synchronization dynamic diagrams (state, sequence, collaboration activity) implementation diagrams(component และ deployment) Deployment view : โครงสร้างทางกายภาพเกี่ยวกับ การติดตั้ง และใช้งานระบบ deployment diagram

6 Static & Dynamic views ระบบใดๆ มักประกอบด้วยโครงสร้าง 2 แบบ ได้แก่
โครงสร้างของ Use Case และ Class Diagram เป็นแบบ static แสดงองค์ประกอบของระบบ คลาส แอททริบิวต์ เมทธอด และ ความสัมพันธ์ระหว่างคลาส ไม่ระบุขั้นตอนการดำเนินงาน ลำดับการทำงานก่อนหลัง โครงสร้างของ Behavioral Diagrams เป็นแบบ dynamic

7 Behavioral Diagrams Behavioral Diagrams เป็นโครงสร้างแบบ dynamic
Sequence Diagram Collaboration Diagram State-transition Diagram Activity Diagram Interaction Diagrams

8 Interaction Diagrams

9 Interaction diagrams แสดงการปฏิสัมพันธ์ระหว่างกลุ่มของวัตถุ
มักใช้อธิบายสถานการณ์ของ use case 1 use case อธิบายการติดต่อสื่อสารระหว่างวัตถุ 2 รูปแบบ Time-based (Sequence Diagram) Organization-based (Collaboration Diagram)

10 Sequence & Collaboration Diagrams
ทั้ง 2 diagrams แสดง message ที่ถูกส่งผ่านระหว่างวัตถุที่ทำงานร่วมกัน เพื่อประกอบเป็นหน้าที่การทำงานของระบบ Sequence diagrams เน้น message ที่เกิดขึ้นตามลำดับของเวลา Collaboration diagrams เน้นการเชื่อมต่อทางด้านโครงสร้างระหว่างวัตถุที่ทำงานร่วมกัน

11 Sequence & Collaboration Diagrams
หรือ อาจใช้ในการจำลองปฏิสัมพันธ์ที่เกี่ยวข้องใน Use Case ใด Use Case หนึ่งโดยเฉพาะ

12 A Sequence Diagram : Student registration form manager math 101
1: fill in info 2: submit 3: add course(joe, math 01) 4: are you open? 5: are you open? 6: add (joe) 7: add (joe) section 1

13 A Collaboration Diagram
: Registrar course form : CourseForm theManager : CurriculumManager aCourse : Course 1: set course info 2: process 3: add course 4: new course

14 Interactions : Core Elements
name attr values Instance (object, data value, component instance etc.) An entity with a unique identity and to which a set of operations can be applied (signals be sent) and which has a state that stores the effects of the operations (the signals). Action A specification of an executable statement. A few different kinds of actions are predefined, e.g. CreateAction, CallAction, DestroyAction, and UninterpretedAction. Construct Description Syntax textual

15 Interaction : Core Elements (cont’d)
Stimulus A communication between two instances. Operation A declaration of a service that can be requested from an instance to effect behavior. Construct Description Syntax textual A specification of an asynchronous stimulus communicated between instances. Signal «Signal» Name parameters

16 Interaction: Core Relationships
Link A connection between instances. Attribute Link A named slot in an instance, which holds the value of an attribute. Construct Description Syntax textual Return A return from method call

17 Sequence diagrams แสดงการปฏิสัมพันธ์ระหว่างวัตถุตามลำดับเวลา (time sequence) ประกอบด้วย actor หรือ object ที่มีปฏิสัมพันธ์กับวัตถุอื่นๆ เส้นชีวิต (lifeline) Message ที่ส่งผ่านระหว่าง Object หรือ actor

18 Content of sequence diagrams
Actor หรือ วัตถุ (Objects) แลกเปลี่ยน messages ให้แก่กันและกัน เส้นชีวิต (Lifeline) แสดงว่าวัตถุถูกสร้างขึ้น และยังไม่ถูกทำลาย Messages message ที่ส่งผ่านระหว่าง objects สนับสนุนการปฏิสัมพันธ์ระหว่างวัตถุ เป็นวิธีการที่ object ใช้ในการขอรับบริการจากวัตถุอื่นๆ object ใดๆ ติดต่อสื่อสารกับ object อื่นๆ ผ่านทาง operation ของวัตถุนั้นๆ

19 Message Types Simple Synchronous Asynchronous Sender / Receiver
ไม่ระบุรายละเอียดของวิธีการติดต่อสื่อสารระหว่างวัตถุ Synchronous เรียกใช้ Operation ของวัตถุ โดย Sender/Caller รอจน สิ้นสุดOperation Receiver จัดเป็น passive object Asynchronous ไม่มีการ return กลับไปยัง Sender/Caller Sender ทำงานต่อทันที่ที่ส่ง message Receiver จัดเป็น active object

20 Message Notation Simple Synchronous Asynchronous (Message return)

21 Notation : Sequence Diagram
name : Class object symbol lifeline activation other stimulus [condition] name (…) return : Class create new (…) delete message

22 Example: Different Arrows
teller : Order : Article Nested Flow getValue price getName caller exchange callee Flat Flow lift receiver dial tone dial digit ringing tone ringing signal lift receiver appl err handl alarm Asynchronous Flow unknown

23 Example: Sequence diagram
Object creation course form : CourseForm theManager : CurriculumManager aCourse : Course : Registrar Set Course Info process Add Course <<create>>

24 Example: Sequence diagram
Actor : Computer : Printer Server : Customer Print(file) : Printer : Queue [Printer free] [Printer busy] Message Lifeline

25 Interaction & Collaboration Diagrams
x y z Sequence Diagram a b c Collaboration Diagram x y z 1.1: a 1.2: c 1.1.1: b

26 What is a collaboration?
กำหนดบทบาท (role) ของกลุ่มของวัตถุที่กระทำต่องานใดงานหนึ่ง เช่นเดียวกับ operation หรือ use case Interaction ปฏิสัมพันธ์ที่ระบุรูปแบบการสื่อสาร (communication pattern) ที่กระทำโดยวัตถุที่ กำลังแสดงบทบาทของ collaboration

27 Content of Collabaration diagrams
วัตถุ (Objects) แลกเปลี่ยน messages ให้แก่กันและกัน Messages Synchronous : “call events,” แทนด้วย full arrow Asynchronous: “signals,” แทนด้วย half arrow «create» และ «destroy» messages มีการระบุหมายเลข Message ตามลำดับที่เกิดก่อน-หลัง และการอาจมี Loop ของ Message

28 Collaboration diagrams
หมายเลขกำกับ แสดงลำดับของ messages ระบุโดย 1, 2, 3, 4, ….. 1, 1.1, 1.2, 1.3, 2, 2.1, 2.1.1, 2.2, 3 (แสดง operation calls ที่เป็นส่วนย่อยของ operation อื่นๆ)

29 Collaboration diagram basics
: ProfessorCourseManager 1 : Add professor (Professor) Math Section 1 : CourseOffering

30 Example : Collaboration diagram
1 : set course info 2 : process course form : CourseForm : Registrar 3 : add course aCourse : Course theManager : CurriculumManager 4 : <<create>>

31 Example : Collaboration diagram
1 : Print(ps-file) myComputer/PrintClient : Computer : Customer 2 : Print(ps-file) [printer free] 2.1 : Print(ps-file) aPrinter : Printer ThePrintServer : Print Server aQueue : Queue [printer busy] 2.1 : Print(ps-file)

32 Comparing sequence & collaboration diagrams
collaboration diagrams อาจแสดง static connections ของวัตถุ เหมาะสำหรับการแสดงการไหลของการควบคุมการทำงาน Sequence diagrams เหมาะสำหรับการแสดง กระแสการไหลของเหตุการณ์ที่เกิดขึ้นตามลำดับเวลา อาจเข้าใจได้ยากกว่าใน collaboration diagrams ปฏิสัมพันธ์ที่ซับซ้อน ยากแก่การทำความเข้าใจ ไม่ว่าจะใช้ diagram แบบใด

33 Interaction Modeling Tips
ใช้เฉพาะส่วนของวัตถุ Include only those features of the instances that are relevant. แสดง flow จากซ้ายไปขวา และจากบนลงล่าง ใช้ sequence diagrams เพื่อแสดงลำดับระหว่างสิ่งที่มากระตุ้นให้เกิดปฏิสัมพันธ์ ระหว่างวัตถุ มักใช้ใน real-time modeling ใช้ collaboration diagrams เมื่อโครงสร้างของระบบ มีความสำคัญ

34 Example: A Booking System

35 Use Case Description: Change Flt Itinerary
Actors traveler, client account db, airline reservation system Basic course: Traveler เลือก ‘change flight itinerary’ option System ดึงค่า account และ flight itinerary ของ traveler จาก client account database System ถาม traveler ให้ traveler เลือกส่วนของ itinerary segment ที่ต้องการเปลี่ยนแปลง ...

36 Use Case Description: Change Flt Itinerary
... System ถาม traveler ข้อมูลเกี่ยวกับเวลา departure และ destination; traveler เป็นคนให้ข้อมูล ถ้า flights ที่ traveler ต้องการเปลี่ยน ยังมีที่ว่าง ให้… System แสดงสรุปรายการ transaction Alternative course: ถ้า flights ที่ traveler ต้องการเปลี่ยน ไม่มีที่ว่าง ให้ …

37 Sequence Diagram: Change Flight Itinerary
Traveler : Booking System Client Account DBMS Airline Reservation System change flight itinerary get customer account get itinerary present itinerary select segment present detailed info update information available flight : :

38 Collaboration Diagram: Change Flt Itinerary
1: change flight itinerary 2: get customer account 3: get itinerary 5: select segment Traveler Client Account DBMS 7: update information : Booking System 4: present itinerary 6: present detailed info 8: available flight Airline Reservation System

39 Summary UML Behavioral Diagrams Interaction Diagrams Sequence Diagram
Collaboration Diagram


ดาวน์โหลด ppt วิชาวิเคราะห์และออกแบบระบบเชิงวัตถุ Lec08 :: Behavioral Modeling with UML Behavioral Diagrams Interaction Diagrams Nattapong Songneam xnattapong@hotmail.com.

งานนำเสนอที่คล้ายกัน


Ads by Google