Bài giảng Lập trình hướng đối tượng: Chương 4 - TS. Trương Quốc Định
lượt xem 4
download
Bài giảng "Lập trình hướng đối tượng - Chương 4: Sơ đồ tương tác" cung cấp cho người đọc các kiến thức: Interaction Diagrams, a First Look at Sequence Diagrams, Synchronous Messages, Lost Message,... Mời các bạn cùng tham khảo nội dung chi tiết.
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Bài giảng Lập trình hướng đối tượng: Chương 4 - TS. Trương Quốc Định
- Chương 4 : Sơ đồ tương tác GV : TS. Trương Quốc Định
- Interaction Diagrams A series of diagrams describing the dynamic behavior of an objectoriented system. A set of messages exchanged among a set of objects within a context to accomplish a purpose. Often used to model the way a use case is realized through a sequence of messages between objects. 2 Sequence Diagrams
- Interaction Diagrams (Cont.) The purpose of Interaction diagrams is to: Model interactions between objects Assist in understanding how a system (a use case) actually works Verify that a use case description can be supported by the existing classes Identify responsibilities/operations and assign them to classes 3 Sequence Diagrams
- Interaction Diagrams (Cont.) UML Collaboration Diagrams Emphasizes structural relations between objects Sequence Diagram The subject of this tutorial 4 Sequence Diagrams
- A First Look at Sequence Diagrams Illustrates how objects interacts with each other. Emphasizes time ordering of messages. Can model simple sequential flow, branching, iteration, recursion and concurrency. 5 Sequence Diagrams
- Object Object naming: syntax: [instanceName][:className] myBirthday Name classes consistently with your class diagram :Date (same classes). Include instance names when objects are referred to in messages or when several objects of the same type exist in the diagram. The LifeLine represents the object’s life during the interaction Lifelines are drawn as a box with a dashed line descending from the center of the bottom edge. The lifeline's name is placed inside the box. 6 Sequence Diagrams
- Messages An interaction between two objects is performed as a message sent from one object to another (simple operation call, Signaling, …) If object obj1 sends a message to another object obj2 some link must exist between those two objects 7 Sequence Diagrams
- Messages (Cont.) A message is represented by an arrow between the life lines of two objects. Self calls are also allowed The time required by the receiver object to process the message is denoted by an activationbox. A message is labeled at minimum with the message name. Arguments and control information (conditions, iteration) may be included. 8 Sequence Diagrams
- Return Values Optionally indicated using a dashed arrow with a label indicating the return value. Don’t model a return value when it is obvious what is being returned, e.g. getTotal() Prefer modeling return values as part of a method invocation, e.g. ok = isValid() Model a return value when you need to refer to it elsewhere, e.g. as a parameter passed in another message. 9 Sequence Diagrams
- Synchronous Messages Nested flow of control, typically implemented as an operation call. The routine that handles the message is completed before the caller resumes execution. :A :B doYouUnderstand() return Caller yes (optional Blocked ) 10 Sequence Diagrams
- Asynchronous Messages If a caller sends an asynchronous message, it can continue processing and doesn’t have to wait for a response. We can see asynchronous calls in multithreaded applications and in messageoriented middleware. Asynchrony gives better responsiveness and reduces the temporal coupling but is harder to debug. 11 Sequence Diagrams
- Object Destruction An object may destroy another object via a message. An object may destroy itself. Avoid modeling object destruction unless memory management is critical. :A :B 12 Sequence Diagrams
- Found Message A found message is a message where the receiving event occurrence is known, but there is no (known) sending event occurrence. We interpret this to be because the origin of the message is outside the scope of the description. This may for example be noise or other activity that we do not want to describe in detail.
- Lost Message A lost message is a message where the sending event occurrence is known, but there is no receiving event occurrence. We interpret this to be because the message never reached its destination.
- Self Message A message defines a particular communication between Lifelines of an Interaction. Self message is a kind of message that represents the invocation of message of the same lifeline.
- Recursive Message A message defines a particular communication between Lifelines of an Interaction. Recursive message is a kind of message that represents the invocation of message of the same lifeline. It's target points to an activation on top of the activation where the message was invoked from.
- Object state and Constraint Sequence diagrams can show how an object changes state overtime. We do this by placing the object state on the lifeline at the appropriate point. This allows we to see very clearly which events give rise to state changes.
- Object state and Constraint (cont.)
- Object state and Constraint (cont.) The message acceptPayment(…) causes a state transition on the :Order object from state unpaid to paid. The message deliver( ) sent from the :DeliveryManager object to the :Order object causes a state transition in :Order from state paid to delivered. The timing constraint says that there must be 28 days or less between time A and time B. Time A marks the point at which the :Order object undergoes transition into the state paid, and time B marks the point at which the :Order object undergoes transition into the state delivered.
- Combined Fragment Combined fragment is an interaction fragment which defines a combination (expression) of interaction fragments. A combined fragment is defined by an interaction operator and corresponding interaction operands. Through the use of combined fragments the user will be able to describe a number of traces in a compact and concise manner.
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Bài giảng Lập trình hướng đối tượng - Chương 4: Lập trình giao diện
190 p | 191 | 35
-
Bài giảng Lập trình hướng đối tượng - Chương 2: Đối tượng và lớp
21 p | 171 | 15
-
Bài giảng Lập trình hướng đối tượng: Chương 2 - Nguyễn Sơn Hoàng Quốc, ThS. Nguyễn Tấn Trần Minh Khang
14 p | 177 | 12
-
Bài giảng Lập trình hướng đối tượng - Chương 1: Phương pháp lập trình hướng đối tượng
9 p | 143 | 9
-
Bài giảng Lập trình hướng đối tượng C++ - Chương 2: Lập trình hướng đối tượng
53 p | 47 | 8
-
Bài giảng Lập trình hướng đối tượng (dùng Java): Chương 1 - Trần Minh Thái (2017)
55 p | 82 | 8
-
Bài giảng Lập trình hướng đối tượng - Bài 1: Tổng quan lập trình hướng đối tượng
53 p | 120 | 8
-
Bài giảng Lập trình hướng đối tượng: Bài 1 - ThS. Trịnh Thành Trung
53 p | 94 | 7
-
Bài giảng Lập trình hướng đối tượng: Chương 1 - Trần Thị Anh Thi
7 p | 197 | 7
-
Bài giảng Lập trình hướng đối tượng 1: Chương 1 - ThS. Thái Kim Phụng
39 p | 110 | 7
-
Bài giảng Lập trình hướng đối tượng: Chương 1 - Trần Minh Thái
40 p | 118 | 6
-
Bài giảng Lập trình hướng đối tượng – Bài 01: Tổng quan về OOP
47 p | 68 | 6
-
Bài giảng Lập trình hướng đối tượng (dùng JAVA): Chương 1 - Trần Minh Thái
40 p | 100 | 5
-
Bài giảng Lập trình hướng đối tượng và C++: Chương 1
15 p | 106 | 4
-
Bài giảng Lập trình hướng đối tượng: Nhập môn - Trần Phước Tuấn
15 p | 144 | 4
-
Bài giảng Lập trình hướng đối tượng: Bài 1 - Tổng quan về lập trình hướng đối tượng
47 p | 15 | 4
-
Bài giảng Lập trình hướng đối tượng: Chương 1 - Các khái niệm cơ bản trong lập trình hướng đối tượng
36 p | 19 | 3
-
Bài giảng Lập trình hướng đối tượng (Object-Oriented Programming) - Chương 2: Phương pháp lập trình hướng đối tượng
35 p | 11 | 3
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn