Bài giảng Phân tích và thiết kế hệ thống - Chương 5: Mô hình tương tác đối tượng - Trần Thị Kim Chi

Khái niệm mô hình động Activity diagram Sequence diagram Collaboration diagram KHÁI NIỆM MÔ HÌNH ĐỘNG (DINAMIC MODEL) Mô hình động (dynamic model). để mô hình hóa sự hoạt động thật sự của một hệ thống và trình bày một hướng nhìn đối với hệ thống trong thời gian hệ thống hoạt động Hành vi của hệ thống được mô tả bằng mô hình động bao gồm: Tương tác giữa các đối tượng: cộng tác hay trình tự Trạng thái của đối tượng/lớp Quá trình hoạt động của lớp/đối tượng

pptx129 trang | Chia sẻ: candy98 | Lượt xem: 737 | Lượt tải: 0download
Bạn đang xem trước 20 trang tài liệu Bài giảng Phân tích và thiết kế hệ thống - Chương 5: Mô hình tương tác đối tượng - Trần Thị Kim Chi, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP TP.HCMKHOA CÔNG NGHỆ THÔNG TINMÔ HÌNH TƯƠNG TÁC ĐỐI TƯỢNGDINAMIC MODELChương VNỘI DUNGKhái niệm mô hình độngActivity diagramSequence diagramCollaboration diagram KHÁI NIỆM MÔ HÌNH ĐỘNG (DINAMIC MODEL)Mô hình động (dynamic model). để mô hình hóa sự hoạt động thật sự của một hệ thống và trình bày một hướng nhìn đối với hệ thống trong thời gian hệ thống hoạt độngHành vi của hệ thống được mô tả bằng mô hình động bao gồm:Tương tác giữa các đối tượng: cộng tác hay trình tựTrạng thái của đối tượng/lớpQuá trình hoạt động của lớp/đối tượngKHÁI NIỆM MÔ HÌNH ĐỘNG (DINAMIC MODEL)TƯƠNG TÁC GIỮA CÁC ĐỐI TƯỢNG(1)Đối tượng tương tác (interaction) với nhau bằng cách gởi nhận các kích hoạt(stimulus)Actor cũng có thể gởi kích hoạt đến đối tượngKích hoạt khiến một tác vụ thực thi, một đối tượng được tạo ra hay hủy đi, hoặc gây ra một tín hiệu. Thông điệp (message) là đặc tả của kích hoạt.TƯƠNG TÁC GIỮA CÁC ĐỐI TƯỢNG(1)Các loại thông điệp:Đơn giản Đồng bộBất đồng bộTrả về của gọi hàm VAI TRÒ CỦA LƯỢC ĐỒ TƯƠNG TÁCUC mô tả chức năng của hệ thống, chỉ ra các actor có thể sử dụng hệ thống để làm gì (what), nhưng không chỉ ra hệ thống sẽ làm như thế nào. Chính các lớp và hành động (action) của các lớp sẽ thực thi các use case. Các hành động được thể hiện trong lược đồ tương tác CÁC LOẠI BIỂU ĐỒ ĐỘNGBốn loại biểu đồ động trong UMLLược đồ hoạt động (Activity diagram)Lược đồ tuần tự (Sequence diagram)Lược đồ cộng tác (Collaboration diagram)Lược đồ trạng thái (Status diagram)ACTIVITY DIAGRAMBiểu dồ Activity được sử dụng để mô hình hóa luồng công việc của use case bằng các phần tử đồ họaNó chỉ ra: các buớc trong luồng công việc các điểm quyết định ai có trách nhiệm thực hiện từng buớc các đối tượng ảnh hưởng đến luồng công việcLược đồ hoạt động thường được sử dụng để biểu diễn cho hoạt động một use case Lược đồ hoạt động cũng thường được mô tả qui trình xử lý nghiệp vụ. Thí dụ: Khách hàng nhận được sản phẩm lỗi, yêu cầu trả lại hàngCustomer viết thư yêu cầu bồi thuờng. Customer service representative nghiên cứu thư. Nếu thiếu tài liệu yêu cầu thì họ viết thư từ chối bồi thuờng. Nếu đầy đủ tài liệu thì họ lưu trữ thư và đồng thời Account payable clerk viết séc. Khi xong hai việc này, Customer service representative thông báo cho khách hàng và yêu cầu của họđược chấp nhận. ACTIVITY DIAGRAMMỤC ĐÍCH SỬ DỤNG ACTIVITY DIAGRAMĐể nắm bắt công việc (hành động) sẽ phải được thực thi khi một thủ tục được thực hiện. Để chỉ ra một nhóm hành động liên quan có thể được thực thi ra sao, và chúng sẽ ảnh hưởng đến những đối tượng nằm xung quanh chúng như thế nào. Để chỉ ra một trường hợp sử dụng có thể được thực thể hóa như thế nào, theo khái niệm hành động và các sự biến đổi trạng thái của đối tượng. Để chỉ ra một doanh nghiệp hoạt động như thế nào theo các khái niệm tác nhân, qui trình nghiệp vụ (workflow), hoặc tổ chức và đối tượng (các khía cạnh vật lý cũng như tri thức được sử dụng trong doanh nghiệp). CÁC THÀNH PHẦN CỦA ACTIVITY DIAGRAMCác phần tử chính của biểu đồ hoạt động Swimlines: chỉ ra ai có trách nhiệm thực hiện các nhiệm vụ trong biểu đồrounded rectangles mô tả các công việc actionsdiamonds mô tả điều kiện quyết định decisionsa black circle mô tả bắt đầu workflow.an encircled black circle mô tả kết thúc workflow CÁC THÀNH PHẦN CỦA ACTIVITY DIAGRAMCÁC THÀNH PHẦN CỦA ACTIVITY DIAGRAMCÁC THÀNH PHẦN CỦA ACTIVITY DIAGRAMNhập tối đa 3 lầnCÁC THÀNH PHẦN CỦA ACTIVITY DIAGRAMVẽ sơ đồ activity cho đăng nhập vào 1 website với user là admin và user CÁC THÀNH PHẦN CỦA ACTIVITY DIAGRAMCÁC THÀNH PHẦN CỦA ACTIVITY DIAGRAMCÁC THÀNH PHẦN CỦA ACTIVITY DIAGRAMCÁC THÀNH PHẦN CỦA ACTIVITY DIAGRAMBiểu đồ hoạt động của máy ATM. Sau khi thẻ được đưa vào máy, ta thấy có ba hoạt động song song: Xác nhận thẻ Xác nhận mã số PINXác nhận số tiền yêu cầu được rútChỉ khi sử dụng biểu đồ hoạt động, các hoạt động song song như vậy mới có thể được miêu tả. Mỗi một hoạt động xác nhận bản thân nó cũng đã có thể là một quá trình riêng biệt.VÍ DỤ ACTIVITY DIAGRAMSơ đồ hoạt động hiện thực hoá use case Quản lý nhập hàngVÍ DỤ ACTIVITY DIAGRAMSơ đồ hoạt động hiện thực hoá use case Quản lý khách hàng thân thiếtVÍ DỤ ACTIVITY DIAGRAMVÍ DỤ ACTIVITY DIAGRAMExample of an activity diagramVÍ DỤ ACTIVITY DIAGRAMVÍ DỤ ACTIVITY DIAGRAMPartitionsVÍ DỤ ACTIVITY DIAGRAMXây dựng một số Collaboration diagram của ứng dụng quản lý TKB:SV chọn chức năng xem TKB lớpHệ thống hiển thị màn hình xem TKB lớpSV chọn lớp, niên khóa, học kỳ SV chọn chức năng xem TKBHệ thống truy cập CSDL lấy thông tin TKB tương ứng với lớp SV chọnHệ thống hiển thị thông tin TKBVÍ DỤ ACTIVITY DIAGRAMCÁC THÀNH PHẦN CỦA ACTIVITY DIAGRAMBÀI TẬP ACTIVITY DIAGRAMBÀI TẬP ACTIVITY DIAGRAMLƯỢC ĐỒ TRÌNH TỰ - SEQUENCY DIAGRAMBiểu đồ tuần tự minh họa các đối tượng tương tác với nhau ra sao theo trình tự thời gian. Chúng tập trung vào các chuỗi thông điệp, có nghĩa là các thông điệp được gửi và nhận giữa một loạt các đối tượng như thế nào. Biểu đồ tuần tự có hai trục: trục nằm dọc chỉ thời gian, trục nằm ngang chỉ ra một tập hợp các đối tượng. Một biểu đồ tuần tự cũng nêu bật sự tương tác trong một cảnh kịch (scenario) – một sự tương tác sẽ xảy ra tại một thời điểm nào đó trong quá trình thực thi của hệ thống.Các thông điệp được trao đổi với nhau theo trình tự thời gianCác mối liên kết không được thể hiện trong lược đồLƯỢC ĐỒ TRÌNH TỰ - SEQUENCY DIAGRAM1: PerformResponsibility Client ObjectSupplier ObjectMessage:Client:SupplierExecution OccurrenceReflexive MessageObject Lifeline1.1: PerformAnother Responsibility Hierarchical MessageNumberingInteraction Occurrence refEvent OccurrenceCác thuật ngữ dùng cho lược đồ tuần tự (sequence diagram)LƯỢC ĐỒ TRÌNH TỰ - SEQUENCY DIAGRAMCác thành phần của Sequence diagram:Hình chữ nhật biểu diễn đối tượng có các đường gạch rời (dashed line) thẳng đứng biểu thị đường đời (thời gian sống) của đối tượng, tức là sự tồn tại của đối tượng trong chuỗi tương tác. Trong khoảng thời gian này, đối tượng được thực thể hóa, sẵn sàng để gửi và nhận thông điệp. Quá trình giao tiếp giữa các đối tượng được thể hiện bằng các đường thẳng thông điệp nằm ngang nối các đường đời đối tượng. Mỗi mũi tên ở đầu đường thẳng sẽ chỉ ra loại thông điệp này mang tính đồng bộ, không đồng bộ hay đơn giản. Để đọc biểu đồ tuần tự, hãy bắt đầu từ phía bên trên của biểu đồ rồi chạy dọc xuống và quan sát sự trao đổi thông điệp giữa các đối tượng xảy ra dọc theo tiến trình thời gian.VÍ DỤ LƯỢC ĐỒ TRÌNH TỰ - SEQUENCY DIAGRAMLƯỢC ĐỒ TRÌNH TỰ - SEQUENCY DIAGRAMCác bước thực hiện:1. Identify classes2. Add messages3. Place lifeline and focus of controlKhi vẽ biểu đồ tuần tự, cần chú ý:   Sự kiện được biểu diễn bằng các đường thẳng nằm ngang.Đối tượng bằng các đường nằm dọc.Thời gian được thể hiện bằng đường thẳng nằm dọc bắt đầu từ trên biểu đồ. Điều đó có nghĩa là các sự kiện cần phải được thể hiện theo đúng thứ tự mà chúng xảy ra, vẽ từ trên xuống dưới.LƯỢC ĐỒ TRÌNH TỰ - SEQUENCY DIAGRAMViệc xây dựng lược đồ sequence sẽ dễ dàng hơn nếu đã xây dựng xong: Mô tả use case Mô hình domainTừ các nguồn này sẽ giúp xác định được tập hợp các tương tác và các đối tượng tham gia vaò các tương tác này. Lược đồ tuần tự đều được mô hình ở mức đối tượng hơn là ở mức lớp. Đối với mỗi scenario của UC, nhiều điển hình (instance) của cùng 1 lớp sẽ tham gia vào lược đồ và làm việc cùng nhau. LƯỢC ĐỒ TRÌNH TỰ - SEQUENCY DIAGRAMCó ba lớp tham gia cảnh kịch này: khách hàng, máy ATM và tài khoản.Khách hàng đưa yêu cầu rút tiền vào máy ATMĐối tượng máy ATM yêu cầu khách hàng cung cấp mã sốMã số được gửi cho hệ thống để kiểm tra tài khoảnĐối tượng tài khoản kiểm tra mã số và báo kết quả kiểm tra đến cho ATM   ATM gửi kết quả kiểm tra này đến khách hàngKhách hàng nhập số tiền cần rút.ATM gửi số tiền cần rút đến cho tài khoảnĐối tượng tài khoản trừ số tiền đó vào mức tiền trong tài khoản. Tại thời điểm này, chúng ta thấy có một mũi tên quay trở lại chỉ vào đối tượng tài khoản. Ý nghĩa của nó là đối tượng tài khoản xử lý yêu cầu này trong nội bộ đối tượng và không gửi sự kiện đó ra ngoài.Đối tượng tài khoản trả về mức tiền mới trong tài khoản cho máy ATM.  Đối tượng ATM trả về mức tiền mới trong tài khoản cho khách hàng và dĩ nhiên, cả lượng tiền khách hàng đã yêu cầu được rút.LƯỢC ĐỒ TRÌNH TỰ - SEQUENCY DIAGRAMBa ký hiệu cơ bản : Đối tượng (điển hình của lớp), Thông điệp hay tác nhân (message/stimuli)Chu kỳ sống của đối tượng (object lifeline). LƯỢC ĐỒ TRÌNH TỰ - SEQUENCY DIAGRAMĐối tượng(hay điển hình lớp)-Object (class instance)UML sử dụng cùng 1 ký hiệu của lớp phân tích cho điển hình lớp: một hình chữ nhật, bên trong là tên điển hình lớp được gạch dưới và được viết theo một trong 2 dạng sau: Dạng 1 là “tên điển hình : tên lớp”Dạng 2 là “: tên lớp” LƯỢC ĐỒ TRÌNH TỰ - SEQUENCY DIAGRAMĐối tượng(hay điển hình lớp)Object ( class instance)Ví dụ lớp ý niệm “Sale”, 2 điển hình của nó theo dạng 1 và 2 như hình vẽ sau. Trong lược đồ tuần tự, các đối tượng (object) đều nằm trên đỉnh lược đồ, thứ tự của các đối tượng được sắp xếp sao cho dễ nhìn. THỂ HIỆN ĐỐI TƯỢNGLƯỢC ĐỒ TRÌNH TỰ - SEQUENCY DIAGRAMÁnh xạ đối tượng vào lớp Mapping an Object to a ClassTất cả các đối tượng trong lược đồ tuần tự cần được ánh xạ (map) vào một lớp nào đó. Có thể gán cho đối tượng thuộc 1 lớp đã được định nghĩa sẵn trong mô hình domain, hay gán cho nó 1 lớp mới LƯỢC ĐỒ TRÌNH TỰ - SEQUENCY DIAGRAMChu kỳ sống(lifeline) của đối tượngThời gian được biểu diễn bằng đuờng đứt nét theo phương thẳng đứng và được gọi là lifeline. Hình chữ nhật hẹp dọc theo lifeline được gọi là thanh hoạt động (activity bar), dùng để biểu diễn thời gian thực thi của một hành động (action) tương ứng. Activity bar còn được gọi là Focus of control, ký hiệu này chỉ xuất hiện trong lược đồ tuần tự Để chỉ ra một đối tượng đã kết thúc, đặt chữ X trên lifeline của đối tượng nơi xảy ra kết thúc. Điều này có nghĩa là nếu không có dấu hiệu chữ X trên lifeline của một đối tượng nào đó khi chuỗi các sự kiện trong một lược đồ đã kết thúc thì đối tượng đó vẫn tiếp tục tồn tại. LƯỢC ĐỒ TRÌNH TỰ - SEQUENCY DIAGRAMThông điệp (Message)Mỗi thông điệp đều có cú pháp như sau:return := message(parameter : parameterType) : returnTypeParameter: là tham số của thông điệp, returnType: loại của giá trị trả về (tùy chọn)Ví dụ :spec := getProductSpect(id)spec := getProductSpect(id:ItemID)spec := getProductSpect(id:ItemID): ProductSpect BIỂU DIỄN THÔNG ĐIỆPBIỂU DIỄN THÔNG ĐIỆPLƯỢC ĐỒ TRÌNH TỰ - SEQUENCY DIAGRAMLƯỢC ĐỒ TRÌNH TỰ - SEQUENCY DIAGRAMInteraction Frame LƯỢC ĐỒ TRÌNH TỰ - SEQUENCY DIAGRAMCommon Frame Operators LƯỢC ĐỒ TRÌNH TỰ - SEQUENCY DIAGRAMMô tả ResponsibilitiesResponsibility là phát biểu liên quan đến việc đối tượng được yêu cầu phải cung ứng. Hai dạng responsibility:Action: đối tượng cần phải thực thiKnowledge: đối tượng phải duy trì và cung cấp cho các đối tượng khácResponsibility được suy diễn từ message trong lược đồ tuần tựLƯỢC ĐỒ TRÌNH TỰ - SEQUENCY DIAGRAMMô tả ResponsibilitiesLƯỢC ĐỒ TRÌNH TỰ - SEQUENCY DIAGRAMMessage và responsibilityNếu message có thể chưa được gán với operation của 1 lớp tên của message sẽ là chuỗi tạm thời mô tả ý nghĩa chung của messageLƯỢC ĐỒ TRÌNH TỰ - SEQUENCY DIAGRAMDuy trì tính thống nhất khi gán nhiệm vụKhi xem lại các lớp, cần loại trừ các trường hợp sau:Responsibility trùng nhau giữa các lớpCác responsibility khác biệt nhau trong cùng 1 lớpLớp chỉ có 1 responsibilityLớp không có responsibility nàoLớp tương tác với quá nhiều lớp khác. CHU KỲ SỐNG CỦA ĐỐI TƯỢNGĐIỀU HƯỚNG GỌI METHODSActivationNestingSELECTION AND LOOPSLINKING SEQUENCE DIAGRAMSIf one diagram is too large or refers to another, indicate with:an unfinished arrow and comment,or a "ref" frame that names the other diagramwhen would this occur in our system?VÍ DỤ LINKING SEQUENCE DIAGRAMSFORMS OF SYSTEM CONTROLWhat can you say about the control flow of each system?Is it centralized?Is it distributed?Flawed sequence diagram 1What's wrong with this sequence diagram? (Look at the UML syntax and the viability of the scenario.)Flawed sequence diagram 1What's wrong with this sequence diagram? (Look at the UML syntax and the viability of the scenario.)Flawed sequence diagram 1Ví dụ: lược đồ tuần tự dạng tổng quátFlawed sequence diagram 1VD: lược đồ tuần tự dạng tổng quátFlawed sequence diagram 1VD: lược đồ tuần tự dạng cụ thể cho use case Login của hệ thống đăng ký môn học tín chỉ qua webFlawed sequence diagram 1LƯỢC ĐỒ TRÌNH TỰ - SEQUENCY DIAGRAMSƠ ĐỒ TRÌNH TỰ - SEQUENCY DIAGRAMTypically, actors interact with boundary classes, which in turn interact with control classes, which in turn interact with entity classes.LƯỢC ĐỒ TRÌNH TỰ - SEQUENCY DIAGRAMVÍ DỤ LƯỢC ĐỒ TRÌNH TỰ - SEQUENCY DIAGRAMSƠ ĐỒ TRÌNH TỰ - SEQUENCY DIAGRAMExample: Customer Places Order ScenarioSƠ ĐỒ TRÌNH TỰ - SEQUENCY DIAGRAMExample: Customer Places Order ScenarioSƠ ĐỒ TRÌNH TỰ - SEQUENCY DIAGRAMExample: University Enrollment ModelSƠ ĐỒ TRÌNH TỰ - SEQUENCY DIAGRAMExample: University Enrollment ModelSƠ ĐỒ TRÌNH TỰ - SEQUENCY DIAGRAMExample: Car OrderingSƠ ĐỒ TRÌNH TỰ - SEQUENCY DIAGRAMExample: Car Ordering - Kịch bản lựa chọnSƠ ĐỒ TRÌNH TỰ - SEQUENCY DIAGRAMExample: Car Ordering - Hợp nhất các kịch bảnSƠ ĐỒ TRÌNH TỰ - SEQUENCY DIAGRAMExample: Car Ordering - Làm mịn biểu đồ tuần tựBÀI TẬP SƠ ĐỒ TRÌNH TỰ - SEQUENCY DIAGRAMCreate a sequence diagram for a “New conference registration” use case for the HICSS registration system. This diagram should describe how the system:Collect registrants informationValidate required informationProvide information on payment or process online Paypal paymentGenerate a registration receiptRecord registration data at the appropriate time(s)What else?BIỂU ĐỒ CỘNG TÁC (COLLABORATION DIAGRAM)Biểu đồ cộng tác: miêu tả giữa actor và các đối tượng hệ thống tương tác với nhau ra sao, vị trí của đối tượng không quan trọng nhưng trọng điểm trong một biểu đồ cộng tác là sự kiện. Tập trung vào sự kiện có nghĩa là chú ý đặc biệt đến mối quan hệ (nối kết) giữa các đối tượng, và vì thế mà phải thể hiện chúng một cách rõ ràng trong biểu đồ.Lược đồ cộng tác thường được dùng để biểu diễn một kịch bản khai thác (scenario) của một use caseCó thể tạo nhiều collaboration diagram cho một usecase.Có thể xác định được các lớp đối tượng và mối liên hệ giữa các lớp từ collaboration diagramBIỂU ĐỒ CỘNG TÁC (COLLABORATION DIAGRAM)Trong một biểu đồ cộng tác:Các đối tượng được biểu diễn bằng kí hiệu lớp. Thứ tự trong biểu đồ cộng tác được thể hiện bằng cách đánh số các thông điệp. 2.1.2 xảy ra sau 2.1.1 và được lồng trong 2.1Ưu điểm của biểu đồ cộng tác là nó có thể chỉ ra các chi tiết về các lệnh gọi hàm (thủ tục), yếu tố được né tránh trong biểu đồ tuần tự.BIỂU ĐỒ CỘNG TÁC (COLLABORATION DIAGRAM)Ví dụ: lược đồ cộng tác mức cụ thể cho use case của login của hệ thống đăng ký môn học tín chỉ qua webBIỂU ĐỒ CỘNG TÁC (COLLABORATION DIAGRAM)Đầu tiên thủ tục WithdrawalReq() được gọi từ lớp khách hàng. Đó là lệnh gọi số 1. Bước tiếp theo trong tuần tự là hàm AskForPin(), số 1.1, được gọi từ lớp ATM. Thông điệp trong biểu đồ được viết dưới dạng pin:= AskForPin(), thể hiện rằng "giá trị trả về" của hàm này chính là mã số mà lớp khách hàng sẽ cung cấp.Hình cung bên lớp tài khoản biểu thị rằng hàm ComputeNetBalance() được gọi trong nội bộ lớp tài khoản và nó xử lý cục bộ. Thường thì nó sẽ là một thủ tục riêng (private) của lớp. BIỂU ĐỒ CỘNG TÁC (COLLABORATION DIAGRAM)Ví dụ: lược đồ cộng tác tạo thẻ thành viênBIỂU ĐỒ CỘNG TÁC (COLLABORATION DIAGRAM)Các thành phần có trong lược đồ cộng tác:ActorObjectMessageInstance linkBIỂU ĐỒ CỘNG TÁC (COLLABORATION DIAGRAM)Actor: Tác nhân bên ngoài tương tác với hệ thốngObjectĐối tượng tham gia quá trình tương tác giữa người dùng và hệ thốngMessageThông điệp mô tả tương tác giữa các đối tượngThông điệp được gửi từ đối tượng này sang đối tượng khácThông điệp có thể là 1 yêu cầu thực thi hệ thống, lời gọi hàm khởi tạo đối tượng, hủy đối tượng, cập nhật đối tượng,BIỂU ĐỒ CỘNG TÁC (COLLABORATION DIAGRAM)MessageBIỂU ĐỒ CỘNG TÁC (COLLABORATION DIAGRAM)Thuộc tính của thông điệp:ActionControl FlowOperationArgumentsReturn ValuePredecessor listConditionBIỂU ĐỒ CỘNG TÁC (COLLABORATION DIAGRAM)Thuộc tính của thông điệp:ActionCreate: đối tượng gởi thông điệp gọi hàm khởi tạo đối tượng nhận thông điệpDestroy: đối tượng gửi thông điệp gọi hàm hủy đối tượng nhận thông điệpSelf Destroy: đối tượng gửi thông điệp sẽ bị hủy sau khi gởi thông điệp đến đối tượng nhận.BIỂU ĐỒ CỘNG TÁC (COLLABORATION DIAGRAM)Thuộc tính của thông điệp:Control FlowUndefined: không được định nghĩaAsynchronous: thông điệp không đồng bộ, đối tượng gởi thông điệp không cần đợi kết quả trả về từ đối tượng nhận, các thông điệp có thể thực hiện đồng thờiProcedure Call: thông điệp đồng bộ, đối tượng gởi thông điệp phải đợi kết quả trả về từ đối tượng nhậnReturn: thông điệp return thường liên kết với thông điệp loại :Procedure call”BIỂU ĐỒ CỘNG TÁC (COLLABORATION DIAGRAM)Thuộc tính của thông điệp:OperationNếu đối tượng trong lược đồ là một thể hiện của một lớp đối tượng (class), chúng ta có thể chọn operation của class để liên kết messageKhông thể liên kết return message với operationArgumentsReturn ValuePredecessor listConditionBIỂU ĐỒ CỘNG TÁC (COLLABORATION DIAGRAM)Instance linkBiểu diễn liên kết giữa 2 đối tượngBIỂU ĐỒ CỘNG TÁC (COLLABORATION DIAGRAM)Xây dựng một số Collaboration diagram của ứng dụng quản lý TKB:SV chọn chức năng xem TKB lớpHệ thống hiển thị màn hình xem TKB lớpSV chọn lớp, niên khóa, học kỳ SV chọn chức năng xem TKBHệ thống truy cập CSDL lấy thông tin TKB tương ứng với lớp SV chọnHệ thống hiển thị thông tin TKBBIỂU ĐỒ CỘNG TÁC (COLLABORATION DIAGRAM)BIỂU ĐỒ CỘNG TÁC (COLLABORATION DIAGRAM)BIỂU ĐỒ CỘNG TÁC (COLLABORATION DIAGRAM)BIỂU ĐỒ CỘNG TÁC (COLLABORATION DIAGRAM)BIỂU ĐỒ CỘNG TÁC (COLLABORATION DIAGRAM)Bài tập: Vẽ biểu đồ trình tự và cộng tác cho qui trình đặt sáchBIỂU ĐỒ CỘNG TÁC (COLLABORATION DIAGRAM)Bài tập: Vẽ biểu đồ trình tự và cộng tác cho qui trình đặt sáchVẽ biểu đồ tuần tự của kịch bản in một file ra máy inChuyển biểu đồ tuần tự trên sang biểu đồ tương tácBiểu đồ tuần tự: Đặt trước sáchThêm các phương thức vào các lớpBiểu đồ cộng tác: Đặt sáchBIỂU ĐỒ CỘNG TÁC (COLLABORATION DIAGRAM)BIỂU ĐỒ CỘNG TÁC (COLLABORATION DIAGRAM)SO SÁNH 2 LƯỢC ĐỒBiểu diễn hành vi của một phần tử bất kỳ bằng cách chỉ ra đáp ứng của nó đối với các sự kiện bên ngoàiThông thường lược đồ trạng thái áp dụng cho đối tượng/ lớp  biểu diễn hành vi của lớpTrạng thái của mỗi đối tượng ít nhiều sẽ bị thay đổi trong suốt chu kỳ sống của đối tượngTrạng thái đơn giản là một tình trạng trong đời sống đối tượng hoặc một tương tác của đối tượng mà theo đó đối tượng thỏa mãn một điều kiện, thực hiện một công việc hoặc đợi một sự kiện nào đó.Thông thường mỗi đối tượng nằm ở một trạng thái trong một khoảng thời gian nhất định nó sẽ dịch chuyển từ trạng thái này sang trạng thái khácLƯỢC ĐỒ TRẠNG THÁIMột lớp có thể có một thuộc tính đặc biệt xác định trạng thái, hoặc trạng thái cũng có thể được xác định qua giá trị của các thuộc tính “bình thường" trong đối tượng. Ví dụ về các trạng thái của đối tượng:Hóa đơn (đối tượng) đã được trả tiền (trạng thái).Chiếc xe ô tô (đối tượng) đang đứng yên (trạng thái).Động cơ (đối tượng) đang chạy (trạng thái).Jen (đối tượng) đang đóng vai trò người bán hàng (trạng thái).Kate (đối tượng) đã lấy chồng (trạng thái).LƯỢC ĐỒ TRẠNG THÁITrạng thái tổng hợp là trạng thái có thể được phân rã về các trạng thái đơn giảnKý hiệuLƯỢC ĐỒ TRẠNG THÁITênPhần mô tả các hành độngLưu ý:Tên trạng thái là duy nhất trong lược đồCác hành động bên trong: các hành động hoặc tác vụ được thực hiện khi nằm ở trạng thái đang xét , có cú pháp: action-label / action –expressionMột số action-label được quy ước trước:entry: thực hiện hành động tại thời điểm bắt đầu trạng tháiExit: thực hiện hành động tại thời điểm kết thúc trạng tháiDo: thực hiện hành động suốt trạng thái hoặc cho đến khi kết thúc nó.Include: triệu gọi một máy trạng thái con khác. LƯỢC ĐỒ TRẠNG THÁICác nhãn hành động khác chỉ ra sự kiện kích hoạt hành động tương ứng trong biểu thức hành động(action-ex