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

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

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

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


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

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) 5 มุมมองหลักของ UML 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 แบบ ได้แก่ static และ dynamic โครงสร้างของ Use Case และ Class Diagram เป็นแบบ static แสดงองค์ประกอบของระบบ คลาส แอททริบิวต์ เมทธอด และ ความสัมพันธ์ระหว่างคลาส ไม่ระบุขั้นตอนการดำเนินงาน ลำดับ การทำงานก่อนหลัง โครงสร้างของ Behavioral Diagrams เป็นแบบ dynamic

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

8

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 ทั้ง 2 diagrams สามารถใช้ในการ จำลองการปฏิสัมพันธ์ระหว่างวัตถุ กับระบบทั้งหมด หรือ อาจใช้ในการจำลองปฏิสัมพันธ์ ที่เกี่ยวข้องใน Use Case ใด Use Case หนึ่งโดยเฉพาะ

12 A Sequence Diagram : Student registration form registration 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) math 101 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, componen t 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. ConstructDescription 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. ConstructDescriptionSyntax textual A specification of an asynchronous stimulus communicated between instances. Signal «Signal» Name parameters

16 Interaction: Core Relationships LinkA connection between instances. Attribute Link A named slot in an instance, which holds the value of an attribute. ConstructDescriptionSyntax textual ReturnA 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 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 : Classobject symbol lifeline activation other stimulus [condition] name (…) return : Class create new (…) delete message

22 Example: Different Arrows callerexchangecallee Flat Flow lift receiver dial tone dial digit ringing tone ringing signal lift receiver telle r : Order : Article Nested Flow getValue price getName applerr handlalarm Asynchronous Flow unknown alarm

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

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

25 Interaction & Collaboration Diagrams xyz Sequence Diagram a b c Collaboration Diagram xy z 1.1: a 1.2: c 1.1.1: b

26 What is a collaboration? 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 Math Section 1 : CourseOffering 1 : Add professor (Professor)

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

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

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

33 InteractionModeling Tips 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 : Booking SystemTravelerAirline Reservation System change flight itinerary get customer account get itinerary present itinerary select segment present detailed info update information available flight: Client Account DBMS

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

39 Summary UML Behavioral Diagrams Interaction Diagrams Sequence Diagram Collaboration Diagram


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

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


Ads by Google