Burapha University, 2003 Object-Oriented Analysis and Design Behavioral Modeling with UML Behavioral Diagrams Interaction Diagrams Seree Chinodom
Burapha University, 2003 Object-Oriented Analysis and Design Lecture Outline UML Behavioral Diagrams Interaction Diagrams Sequence Diagram Collaboration Diagram
Burapha University, 2003 Object-Oriented Analysis and Design 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 Functional Diagrams
Burapha University, 2003 Object-Oriented Analysis and Design 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
Burapha University, 2003 Object-Oriented Analysis and Design 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
Burapha University, 2003 Object-Oriented Analysis and Design Static & Dynamic views ระบบใดๆ มักประกอบด้วยโครงสร้าง 2 แบบ ได้แก่ static และ dynamic โครงสร้างของ Use Case และ Class Diagram เป็นแบบ static แสดงองค์ประกอบของระบบ คลาส แอททริบิวต์ เมทธอด และ ความสัมพันธ์ระหว่างคลาส ไม่ระบุขั้นตอนการดำเนินงาน ลำดับ การทำงานก่อนหลัง โครงสร้างของ Behavioral Diagrams เป็นแบบ dynamic
Burapha University, 2003 Object-Oriented Analysis and Design Behavioral Diagrams Behavioral Diagrams เป็นโครงสร้าง แบบ dynamic 4 diagrams ได้แก่ Sequence Diagram Collaboration Diagram State-transition Diagram Activity Diagram Interaction Diagrams
Burapha University, 2003 Object-Oriented Analysis and Design Interaction Diagrams
Burapha University, 2003 Object-Oriented Analysis and Design Interaction diagrams แสดงการปฏิสัมพันธ์ระหว่าง กลุ่มของวัตถุ มักใช้อธิบายสถานการณ์ของ use case 1 use case อธิบายการติดต่อสื่อสารระหว่าง วัตถุ 2 รูปแบบ Time-based (Sequence Diagram) Organization-based (Collaboration Diagram)
Burapha University, 2003 Object-Oriented Analysis and Design Sequence & Collaboration Diagrams ทั้ง 2 diagrams แสดง message ที่ ถูกส่งผ่านระหว่างวัตถุที่ทำงาน ร่วมกัน เพื่อประกอบเป็นหน้าที่การ ทำงานของระบบ Sequence diagrams เน้น message ที่เกิดขึ้นตามลำดับของ เวลา Collaboration diagrams เน้นการ เชื่อมต่อทางด้านโครงสร้างระหว่าง วัตถุที่ทำงานร่วมกัน
Burapha University, 2003 Object-Oriented Analysis and Design Sequence & Collaboration Diagrams ทั้ง 2 diagrams สามารถใช้ในการ จำลองการปฏิสัมพันธ์ระหว่างวัตถุ กับระบบทั้งหมด หรือ อาจใช้ในการจำลองปฏิสัมพันธ์ ที่เกี่ยวข้องใน Use Case ใด Use Case หนึ่งโดยเฉพาะ
Burapha University, 2003 Object-Oriented Analysis and Design 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
Burapha University, 2003 Object-Oriented Analysis and Design A Collaboration Diagram : Registrar course form : CourseForm theManager : CurriculumManager aCourse : Course 1: set course info 2: process 3: add course 4: new course
Burapha University, 2003 Object-Oriented Analysis and Design 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
Burapha University, 2003 Object-Oriented Analysis and Design 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
Burapha University, 2003 Object-Oriented Analysis and Design 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
Burapha University, 2003 Object-Oriented Analysis and Design Sequence diagrams แสดงการปฏิสัมพันธ์ระหว่างวัตถุ ตามลำดับเวลา (time sequence) ประกอบด้วย actor หรือ object ที่มีปฏิสัมพันธ์ กับวัตถุอื่นๆ เส้นชีวิต (lifeline) Message ที่ส่งผ่านระหว่าง Object หรือ actor
Burapha University, 2003 Object-Oriented Analysis and Design Content of sequence diagrams Actor หรือ วัตถุ (Objects) แลกเปลี่ยน messages ให้แก่กัน และกัน เส้นชีวิต (Lifeline) แสดงว่าวัตถุถูกสร้างขึ้น และยังไม่ ถูกทำลาย Messages Synchronous : “ call events, ” แทนด้วย full arrow Asynchronous: “ signals, ” แทน ด้วย half arrow « create » และ « destroy » messages
Burapha University, 2003 Object-Oriented Analysis and Design Messages message ที่ส่งผ่านระหว่าง objects สนับสนุนการปฏิสัมพันธ์ระหว่างวัตถุ เป็นวิธีการที่ object ใช้ในการ ขอรับบริการจากวัตถุอื่นๆ object ใดๆ ติดต่อสื่อสารกับ object อื่นๆ ผ่านทาง operation ของวัตถุนั้นๆ
Burapha University, 2003 Object-Oriented Analysis and Design Message Types Simple Sender / Receiver ไม่ระบุรายละเอียดของวิธีการ ติดต่อสื่อสารระหว่างวัตถุ Synchronous เรียกใช้ Operation ของวัตถุ โดย Sender/Caller รอจน สิ้นสุด Operation Receiver จัดเป็น passive object Asynchronous ไม่มีการ return กลับไปยัง Sender/Caller Sender ทำงานต่อทันที่ที่ส่ง message Receiver จัดเป็น active object
Burapha University, 2003 Object-Oriented Analysis and Design Message Notation Simple Synchronous Asynchronous (Message return)
Burapha University, 2003 Object-Oriented Analysis and Design Notation : Sequence Diagram name : Classobject symbol lifeline activation other stimulus name ( … ) return : Class create new ( … ) delete message
Burapha University, 2003 Object-Oriented Analysis and Design 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
Burapha University, 2003 Object-Oriented Analysis and Design Example: Sequence diagram Object creation course form : CourseForm theManager : CurriculumManager aCourse : Course : Registrar SetCourseInfo process AddCourse(aCourse) >
Burapha University, 2003 Object-Oriented Analysis and Design Example: Sequence diagram : Computer : Printer Server : Customer Print(file) : Printer: Queue Print (file) [Printer free] Print (file) [Printer busy] Print (file) Lifeline Message Actor
Burapha University, 2003 Object-Oriented Analysis and Design VPGallery/diagrams/Sequence.html
Burapha University, 2003 Object-Oriented Analysis and Design Interaction & Collaboration Diagrams xyz Sequence Diagram a b c Collaboration Diagram xy z 1.1: a 1.2: c 1.1.1: b
Burapha University, 2003 Object-Oriented Analysis and Design What is a collaboration? Collaboration กำหนดบทบาท (role) ของกลุ่ม ของวัตถุที่กระทำต่องานใดงาน หนึ่ง เช่นเดียวกับ operation หรือ use case Interaction ปฏิสัมพันธ์ที่ระบุรูปแบบการ สื่อสาร (communication pattern) ที่กระทำโดยวัตถุที่ กำลังแสดง บทบาทของ collaboration
Burapha University, 2003 Object-Oriented Analysis and Design Content of Collabaration diagrams วัตถุ (Objects) แลกเปลี่ยน messages ให้แก่กัน และกัน Messages Synchronous : “ call events, ” แทนด้วย full arrow Asynchronous: “ signals, ” แทน ด้วย half arrow « create » และ « destroy » messages มีการระบุหมายเลข Message ตามลำดับที่เกิดก่อน - หลัง และการ อาจมี Loop ของ Message
Burapha University, 2003 Object-Oriented Analysis and Design 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 อื่นๆ )
Burapha University, 2003 Object-Oriented Analysis and Design Collaboration diagram basics : ProfessorCourseManager Math Section 1 : CourseOffering 1 : Add professor (Professor)
Burapha University, 2003 Object-Oriented Analysis and Design Example : Collaboration diagram : Registrar course form : CourseForm theManager : CurriculumManager aCourse : Course 4 : > 3 : add course 1 : set course info 2 : process
Burapha University, 2003 Object-Oriented Analysis and Design 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)
Burapha University, 2003 Object-Oriented Analysis and Design Comparing sequence & collaboration diagrams collaboration diagrams อาจแสดง static connections ของวัตถุ เหมาะ สำหรับการแสดงการไหลของการควบคุม การทำงาน Sequence diagrams เหมาะสำหรับการ แสดง กระแสการไหลของเหตุการณ์ที่ เกิดขึ้นตามลำดับเวลา อาจเข้าใจได้ยากกว่าใน collaboration diagrams ปฏิสัมพันธ์ที่ซับซ้อน ยากแก่การทำ ความเข้าใจ ไม่ว่าจะใช้ diagram แบบใด
Burapha University, 2003 Object-Oriented Analysis and Design When to Model Interactions To specify how the instances are to interact with each other. To identify the interfaces of the classifiers. To distribute the requirements.
Burapha University, 2003 Object-Oriented Analysis and Design InteractionModeling Tips Interaction Modeling Tips ใช้เฉพาะส่วนของวัตถุ Include only those features of the instances that are relevant. แสดง flow จากซ้ายไปขวา และจากบน ลงล่าง ใช้ sequence diagrams เพื่อแสดงลำดับระหว่างสิ่งที่มา กระตุ้นให้เกิดปฏิสัมพันธ์ ระหว่างวัตถุ มักใช้ใน real-time modeling ใช้ collaboration diagrams เมื่อโครงสร้างของระบบ มี ความสำคัญ
Burapha University, 2003 Object-Oriented Analysis and Design Summary UML Behavioral Diagrams Interaction Diagrams Sequence Diagram Collaboration Diagram