TRNG I HC CNG NGHIP TP HCM KHOA

  • Slides: 142
Download presentation
TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP TP. HCM KHOA CÔNG NGHỆ THÔNG TIN Chương V

TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP TP. HCM KHOA CÔNG NGHỆ THÔNG TIN Chương V MÔ HÌNH TƯƠNG TÁC ĐỐI TƯỢNG DINAMIC MODEL Trần Thị Kim Chi 1

NỘI DUNG 1. Khái niệm mô hình động 2. Activity diagram 3. Sequence diagram

NỘI DUNG 1. Khái niệm mô hình động 2. Activity diagram 3. Sequence diagram 4. Collaboration diagram Trần Thị Kim Chi 2

KHÁI NIỆM MÔ HÌNH ĐỘNG (DINAMIC MODEL) Trần Thị Kim Chi 3

KHÁI NIỆM MÔ HÌNH ĐỘNG (DINAMIC MODEL) Trần Thị Kim Chi 3

KHÁI NIỆM MÔ HÌNH ĐỘNG (DINAMIC MODEL) • Mô hình động (dynamic model). để

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 Trần Thị Kim Chi 4

TƯƠNG TÁC GIỮA CÁC ĐỐI TƯỢNG(1) • Đối tượng tương tác (interaction) với nhau

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ượng • Kí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. Trần Thị Kim Chi 5

TƯƠNG TÁC GIỮA CÁC ĐỐI TƯỢNG(1) • Các loại thông điệp: – Đơn giản

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 Trần Thị Kim Chi 6

VAI TRO CỦA SƠ ĐÔ TƯƠNG TÁC • UC mô tả chức năng của

VAI TRO CỦA SƠ ĐÔ TƯƠNG TÁC • UC 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 sơ đồ tương tác Trần Thị Kim Chi 7

CÁC LOẠI BIỂU ĐỒ ĐỘNG Bốn loại biểu đô động trong UML • •

CÁC LOẠI BIỂU ĐỒ ĐỘNG Bốn loại biểu đô động trong UML • • Sơ đồ hoạt động (activity diagram) Sơ đồ tuần tự (sequence diagram) Sơ đồ cộng tác (collaboration diagram) Sơ đồ trạng thái (status diagram) Trần Thị Kim Chi 8

ACTIVITY DIAGRAM • Một sơ hoạt động (activity) dùng để mô hình hóa một

ACTIVITY DIAGRAM • Một sơ hoạt động (activity) dùng để mô hình hóa một cách trực quan các bước thực hiện của một use case. • Các hoạt động trong mô hình có thể được thực hiện tuần tự hoặc đồng thời. • Một sơ đồ hoạt động luôn có một điểm khởi đầu và các điểm kết thúc. • Nó 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ệc Trần Thị Kim Chi 9

CÁC THÀNH PHẦN CỦA ACTIVITY DIAGRAM • Các phần tử chính của sơ đồ

CÁC THÀNH PHẦN CỦA ACTIVITY DIAGRAM • Các phần tử chính của sơ đồ hoạt động • Activity Partition (Swimlines): xác định đối tượng nào tham gia hoạt động nào trong một qui trình. • Ví dụ ở trên Customer thì Insert Card còn ATM Machine thì Show Balance. Trần Thị Kim Chi 10

CÁC THÀNH PHẦN CỦA ACTIVITY DIAGRAM b. Nút Start, End • Start thể hiện

CÁC THÀNH PHẦN CỦA ACTIVITY DIAGRAM b. Nút Start, End • Start thể hiện điểm bắt đầu qui trình, End thể hiện điểm kết thúc qui trình. Ký hiệu về nút Start Ký hiệu về nút kết thúc Trần Thị Kim Chi 11

CÁC THÀNH PHẦN CỦA ACTIVITY DIAGRAM c. Activity • Activity mô tả một hoạt

CÁC THÀNH PHẦN CỦA ACTIVITY DIAGRAM c. Activity • Activity mô tả một hoạt động trong hệ thống. Các hoạt động này do các đối tượng thực hiện. d. Branch • Branch thể hiện rẽ nhánh trong mệnh đề điều kiện. Trần Thị Kim Chi 12

CÁC THÀNH PHẦN CỦA ACTIVITY DIAGRAM e. Fork • Fork thể hiện cho trường

CÁC THÀNH PHẦN CỦA ACTIVITY DIAGRAM e. Fork • Fork thể hiện cho trường hợp thực hiện xong một hoạt động rồi sẽ rẽ nhánh tthực hiện nhiều hoạt động tiếp theo. Ký hiệu về Fork Trần Thị Kim Chi 13

CÁC THÀNH PHẦN CỦA ACTIVITY DIAGRAM f. Join • Cùng ký hiệu với Fork

CÁC THÀNH PHẦN CỦA ACTIVITY DIAGRAM f. Join • Cùng ký hiệu với Fork nhưng thể hiện trường hợp phải thực hiện hai hay nhiều hành động trước rồi mới thực hiện hành động tiếp theo. Ký hiệu về Join Trần Thị Kim Chi 14

CÁC THÀNH PHẦN CỦA ACTIVITY DIAGRAM • Luồng hoạt động – Minh họa quá

CÁC THÀNH PHẦN CỦA ACTIVITY DIAGRAM • Luồng hoạt động – Minh họa quá trình chuyển đổi từ một trạng thái hoạt động này sang trạng thái hoạt động khác. – Ký hiệu trong UML • Nút Merge – Sự kết hợp của các luồng sự kiện. Các đầu vào không đồng bộ. – Nhiều đầu vào và chỉ có một đầu ra – Ký hiệu trong UML Trần Thị Kim Chi 15

CÁC THÀNH PHẦN CỦA ACTIVITY DIAGRAM Ứng dụng của bản vẽ Activity Diagram: �

CÁC THÀNH PHẦN CỦA ACTIVITY DIAGRAM Ứng dụng của bản vẽ Activity Diagram: � Phân tích nghiệp vụ để hiểu rõ hệ thống � Phân tích Use Case � Cung cấp thông tin để thiết kế bản vẽ Sequence Diagram Trần Thị Kim Chi 16

CÁC THÀNH PHẦN CỦA ACTIVITY DIAGRAM Cách xây dựng Activity Diagram Bước 1: Xác

CÁC THÀNH PHẦN CỦA ACTIVITY DIAGRAM Cách xây dựng Activity Diagram Bước 1: Xác định các nghiệp vụ cần mô tả Xem xét bản vẽ Use Case để xác định nghiệp vụ nào bạn cần mô tả. Bước 2: Xác định trạng thái đầu tiên và trạng thái kết thúc Bước 3: Xác định các hoạt động tiếp theo Xuất phát từ điểm bắt đầu, phân tích để xác định các hoạt động tiếp theo cho đến khi gặp điểm kết thúc để hoàn tất bản vẽ này. Trần Thị Kim Chi 17

CÁC THÀNH PHẦN CỦA ACTIVITY DIAGRAM Xây dựng Activity Diagarm cho hệ thống e.

CÁC THÀNH PHẦN CỦA ACTIVITY DIAGRAM Xây dựng Activity Diagarm cho hệ thống e. Commerce Bước 1: Xác định các nghiệp vụ cần phân tích. Xem xét bản vẽ Use Case Diagram, có thể thấy các Use Case sau cần làm rõ: � Xem sản phẩm theo chủng loại � Thêm sản phẩm theo nhà cung cấp � Thêm giỏ hàng � Chat � Quản lý đơn hàng � Thanh toán � Theo dõi chuyển hàng � Đăng nhập Tiếp theo, chúng ta bắt đầu phân tích và vẽ cho chức năng xem sản phẩm theo chủng loại. Trần Thị Kim Chi 18

CÁC THÀNH PHẦN CỦA ACTIVITY DIAGRAM Xây dựng Activity Diagarm cho hệ thống e.

CÁC THÀNH PHẦN CỦA ACTIVITY DIAGRAM Xây dựng Activity Diagarm cho hệ thống e. Commerce Bước 2: Xác định các bước thực hiện và đối tượng liên quan Để thực hiện chức năng xem sản phẩm theo chuẩn loại hệ thống sẽ thực hiện như sau: � Điều kiện ban đầu: ở trang chủ � Điều kiện kết thúc: Hiển thị xong trang sản phẩm Các bước như sau: � Người dùng chọn loại sản phẩm. � Hệ thống sẽ lọc lấy loại sản phẩm tương ứng, sau đó lấy giá, lấy khuyến mãi cho tất cả các sản phẩm đã được chọn và hiển thị lên màn hình. � Người dùng xem sản phẩm. Trần Thị Kim Chi 19

CÁC THÀNH PHẦN CỦA ACTIVITY DIAGRAM Xây dựng Activity Diagarm cho hệ thống e.

CÁC THÀNH PHẦN CỦA ACTIVITY DIAGRAM Xây dựng Activity Diagarm cho hệ thống e. Commerce Bước 3: Thực hiện bản vẽ � Chúng ta thấy có 2 đối tượng tham gia vào giao dịch này là Người dùng và Hệ thống. Chúng ta nên dùng Swimlance để thể hiện 2 đối tượng trên. Sử dụng Swimlance để thể hiện người dùng tham gia vào nghiệp vụ Trần Thị Kim Chi 20

CÁC THÀNH PHẦN CỦA ACTIVITY DIAGRAM Xây dựng Activity Diagarm cho hệ thống e.

CÁC THÀNH PHẦN CỦA ACTIVITY DIAGRAM Xây dựng Activity Diagarm cho hệ thống e. Commerce Bước 3: Thực hiện bản vẽ � Xác định trạng thái đầu tiên. � Hành động tiếp theo là Guest chọn loại sản phẩm Người sử dụng chọn loại sản phẩm Trần Thị Kim Chi 21

CÁC THÀNH PHẦN CỦA ACTIVITY DIAGRAM Xây dựng Activity Diagarm cho hệ thống e.

CÁC THÀNH PHẦN CỦA ACTIVITY DIAGRAM Xây dựng Activity Diagarm cho hệ thống e. Commerce Bước 3: Thực hiện bản vẽ � Hệ thống sẽ lấy danh sách sản phẩm tương ứng với loại đó, sau đó lấy giá, lấy khuyến mãi của chúng và hiển thị ra màn hình. Hành động lấy giá và khuyếnmãi của sản phẩm có thể làm song nên chúng ta dùng Fork và Join để thể hiện. Trần Thị Kim Chi 22

CÁC THÀNH PHẦN CỦA ACTIVITY DIAGRAM Hệ thống tập hợp danh sách sản phẩm

CÁC THÀNH PHẦN CỦA ACTIVITY DIAGRAM Hệ thống tập hợp danh sách sản phẩm và thông tin liên quan để hiển thị lên Browser. Người dùng xem danh sách sản phẩm và kết thúc nghiệp vụ của Use Case này. Trần Thị Kim Chi 23

ACTIVITY DIAGRAM Trần Thị Kim Chi 24

ACTIVITY DIAGRAM Trần Thị Kim Chi 24

ACTIVITY DIAGRAM Thí dụ: Khách hàng nhận được sản phẩm lỗi, yêu cầu trả

ACTIVITY DIAGRAM Thí dụ: Khách hàng nhận được sản phẩm lỗi, yêu cầu trả lại hàng • Customer 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. Trần Thị Kim Chi 25

CÁC THÀNH PHẦN CỦA ACTIVITY DIAGRAM Trần Thị Kim Chi 26

CÁC THÀNH PHẦN CỦA ACTIVITY DIAGRAM Trần Thị Kim Chi 26

CÁC THÀNH PHẦN CỦA ACTIVITY DIAGRAM Nhập tối đa 3 lần Trần Thị Kim

CÁC THÀNH PHẦN CỦA ACTIVITY DIAGRAM Nhập tối đa 3 lần Trần Thị Kim Chi 27

CÁC THÀNH PHẦN CỦA ACTIVITY DIAGRAM Vẽ sơ activity cho đăng nhập vào 1

CÁC THÀNH PHẦN CỦA ACTIVITY DIAGRAM Vẽ sơ activity cho đăng nhập vào 1 website với user là admin và user Trần Thị Kim Chi 28

CÁC THÀNH PHẦN CỦA ACTIVITY DIAGRAM Trần Thị Kim Chi 29

CÁC THÀNH PHẦN CỦA ACTIVITY DIAGRAM Trần Thị Kim Chi 29

CÁC THÀNH PHẦN CỦA ACTIVITY DIAGRAM Trần Thị Kim Chi 30

CÁC THÀNH PHẦN CỦA ACTIVITY DIAGRAM Trần Thị Kim Chi 30

VÍ DỤ ACTIVITY DIAGRAM • Sơ hoạt động hiện thực hoá use case Quản

VÍ DỤ ACTIVITY DIAGRAM • Sơ hoạt động hiện thực hoá use case Quản lý khách hàng thân thiết Trần Thị Kim Chi 31

VÍ DỤ ACTIVITY DIAGRAM • Sơ hoạt động hiện thực hoá use case Quản

VÍ DỤ ACTIVITY DIAGRAM • Sơ hoạt động hiện thực hoá use case Quản lý nhập hàng 32

VÍ DỤ ACTIVITY DIAGRAM Trần Thị Kim Chi 33

VÍ DỤ ACTIVITY DIAGRAM Trần Thị Kim Chi 33

CÁC DẠNG ACTIVITY DIAGRAM • Sub Activity Trần Thị Kim Chi 34

CÁC DẠNG ACTIVITY DIAGRAM • Sub Activity Trần Thị Kim Chi 34

KIỂM TRA ACTIVITY DIAGRAM Vẽ biểu đồ hoạt động của luồng nghiệp vụ mua

KIỂM TRA ACTIVITY DIAGRAM Vẽ biểu đồ hoạt động của luồng nghiệp vụ mua hàng trực tiếp Trần Thị Kim Chi 35

KIỂM TRA ACTIVITY DIAGRAM Vẽ biểu đồ hoạt động của luồng nghiệp vụ mua

KIỂM TRA ACTIVITY DIAGRAM Vẽ biểu đồ hoạt động của luồng nghiệp vụ mua hàng trực tiếp Trần Thị Kim Chi 36

VÍ DỤ ACTIVITY DIAGRAM Bài tập 1: bán vé vé tàu, sinh viên Bài

VÍ DỤ ACTIVITY DIAGRAM Bài tập 1: bán vé vé tàu, sinh viên Bài tập 2: Xây dựng use case diagram và activity của ứng dụng quản lý TKB với các chức năng sau: • SV chọn chức năng xem TKB lớp • Hệ thống hiển thị màn hình xem TKB lớp • SV chọn lớp, niên khóa, học kỳ • SV chọn chức năng xem TKB • Hệ thống truy cập CSDL lấy thông tin TKB tương ứng với lớp SV chọn • Hệ thống hiển thị thông tin TKB Trần Thị Kim Chi 37

VÍ DỤ ACTIVITY DIAGRAM Trần Thị Kim Chi 38

VÍ DỤ ACTIVITY DIAGRAM Trần Thị Kim Chi 38

CÁC THÀNH PHẦN CỦA ACTIVITY DIAGRAM Trần Thị Kim Chi 39

CÁC THÀNH PHẦN CỦA ACTIVITY DIAGRAM Trần Thị Kim Chi 39

BÀI TẬP ACTIVITY DIAGRAM • Sử dụng sơ Activity mô hình hóa các hoạt

BÀI TẬP ACTIVITY DIAGRAM • Sử dụng sơ Activity mô hình hóa các hoạt động của use case rút tiền trong hệ thống ATM. • Sử dụng sơ Activity mô hình hóa hoạt động của use case xem điểm trong hệ thống Quản lý điểm của sinh viên Trần Thị Kim Chi 40

SƠ ĐỒ TRÌNH TỰ - SEQUENCY DIAGRAM • Sơ đồ tuần tự được sử

SƠ ĐỒ TRÌNH TỰ - SEQUENCY DIAGRAM • Sơ đồ tuần tự được sử dụng trong cả giai đoạn phân tích và thiết kế. • Trong giai đoạn phân tích yêu cầu của bài toán, sơ đồ tuần tự được sử dụng để mô tả luồng sự kiện theo thời gian cấu trúc các hoạt động thực hiện một use case. • Sơ đồ tuần tự biểu diễn chi tiết quan hệ giao tiếp giữa các đối tượng trong quá trình thực hiện use case • Sơ đồ 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. • Các mối liên kết không được thể hiện trong sơ đồ. • Có sự liên kết chặt chẽ với sơ đồ lớp. Trần Thị Kim Chi 41

Object Message Return Lifetime Local message

Object Message Return Lifetime Local message

SƠ ĐỒ TRÌNH TỰ - SEQUENCY DIAGRAM • Ưu điểm – Biểu diễn rõ

SƠ ĐỒ TRÌNH TỰ - SEQUENCY DIAGRAM • Ưu điểm – Biểu diễn rõ ràng trình tự các thông điệp tương tác giữa các đối tượng trong các trường hợp phức tạp • Nhược điểm – Chiếm không gian theo chiều ngang khi thêm đối tượng mới • Ứng dụng Sequence Diagram � Thiết kế các chức năng � Kiểm chứng và bổ sung method cho các Class � Sử dụng trong việc coding các chức năng Trần Thị Kim Chi 43

SƠ ĐỒ TRÌNH TỰ - SEQUENCY DIAGRAM Client Object : Client Object Lifeline Thời

SƠ ĐỒ TRÌNH TỰ - SEQUENCY DIAGRAM Client Object : Client Object Lifeline Thời gian sống Supplier Object Message 1: Perform. Responsibility Execution Occurrence Event Occurrence : Supplier Reflexive Message 1. 1: Perform. Another Responsibility Hierarchical Message Numbering ref Interaction Occurrence Các thuật ngữ dùng cho lươ c đô tuần tự (sequence diagram) 44

SƠ ĐỒ TRÌNH TỰ - SEQUENCY DIAGRAM • Đối tượng tham gia (Participant): đối

SƠ ĐỒ TRÌNH TỰ - SEQUENCY DIAGRAM • Đối tượng tham gia (Participant): đối tượng thực hiện hành động trong sơ đồ trình tự. – Ký hiệu trong UML : Class Trần Thị Kim Chi Object: Class 45

SƠ ĐỒ TRÌNH TỰ - SEQUENCY DIAGRAM • Lớp (Classes) và thể hiện (Instances)

SƠ ĐỒ TRÌNH TỰ - SEQUENCY DIAGRAM • Lớp (Classes) và thể hiện (Instances) – Trong UML, một thể hiện (instances) của một lớp (class) có ký hiệu giống như Lớp, nhưng tên của thể hiện (instances) được gạch chân. • Ví dụ: Class Instance Tên của Instance – Tên của một Instance là duy nhất trong sơ đồ, nếu không đặt tên thì đặt dấu : trước tên Lớp và gạch chân Trần Thị Kim Chi 46

SƠ ĐỒ TRÌNH TỰ - SEQUENCY DIAGRAM A nh xa đối tươ ng vào

SƠ ĐỒ TRÌNH TỰ - SEQUENCY DIAGRAM A nh xa đối tươ ng vào lớp Mapping an Object to a Class • Tất cả các đối tượng trong sơ đồ 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 đa được định nghĩa să n trong mô hình domain, hay gán cho nó 1 lớp mới 47

SƠ ĐỒ TRÌNH TỰ - SEQUENCY DIAGRAM Các thành phần của Sequence diagram: •

SƠ ĐỒ TRÌNH TỰ - SEQUENCY DIAGRAM Các thành phần của Sequence diagram: • Lifeline (thời gian sống): là một yếu tố được đặt tên đại diện cho một cá nhân tham gia trong sự tương tác. Biểu diễn thời gian sống của đối tượng trong sơ đồ tuần tự, – Kích hoạt (Activation): biểu diễn thời gian một đối tượng đang ở trạng thái hoạt động. – Kết thúc đối tượng (Destroying): đối tượng kết thúc sau khi hoàn tất hoạt động. : Class Oject: Class – Ký hiệu trong UML Activat ion Destroying 48

SƠ ĐỒ TRÌNH TỰ - SEQUENCY DIAGRAM 49

SƠ ĐỒ TRÌNH TỰ - SEQUENCY DIAGRAM 49

SƠ ĐỒ TRÌNH TỰ - SEQUENCY DIAGRAM • Thông điệp (Messages): biểu diễn giao

SƠ ĐỒ TRÌNH TỰ - SEQUENCY DIAGRAM • Thông điệp (Messages): biểu diễn giao tiếp giữa các đối tượng. – Thông điệp không đồng bộ: được gửi từ một đối tượng sẽ không chờ thông điệp trả về từ đối tượng nhận trước khi tiếp tục. – Ký hiệu trong UML: – Ví dụ: Trần Thị Kim Chi 50

SƠ ĐỒ TRÌNH TỰ - SEQUENCY DIAGRAM – Thông điệp đồng bộ: đối tượng

SƠ ĐỒ TRÌNH TỰ - SEQUENCY DIAGRAM – Thông điệp đồng bộ: đối tượng gửi thông điệp chờ đến khi thông điệp được xử lý trước khi tiếp tục. – Ký hiệu trong UML: Trần Thị Kim Chi 51

SƠ ĐỒ TRÌNH TỰ - SEQUENCY DIAGRAM • Return Message – Thông điệp trả

SƠ ĐỒ TRÌNH TỰ - SEQUENCY DIAGRAM • Return Message – Thông điệp trả về kết quả cho đối tượng gửi. – Ký hiệu trong UML Trần Thị Kim Chi 52

SƠ ĐỒ TRÌNH TỰ - SEQUENCY DIAGRAM • Self Message – Một một cuộc

SƠ ĐỒ TRÌNH TỰ - SEQUENCY DIAGRAM • Self Message – Một một cuộc gọi đệ quy của một hoạt động, hoặc một phương thức gọi một phương thức khác trên cùng một đối tượng. – Ký hiệu: Trần Thị Kim Chi 53

SƠ ĐỒ TRÌNH TỰ - SEQUENCY DIAGRAM Thông điệp (Message) • Mỗi thông điệp

SƠ ĐỒ TRÌNH TỰ - SEQUENCY DIAGRAM Thông điệp (Message) • Mỗi thông điệp đều có cú pháp như sau: – return : = message(parameter : parameter. Type) : return. Type – Parameter: là tham số của thông điệp, – return. Type: loại của giá trị trả về (tùy chọn) • Ví dụ : – spec : = get. Product. Spect(id) – spec : = get. Product. Spect(id: Item. ID): Product. Spect Trần Thị Kim Chi 54

BIỂU DIỄN THÔNG ĐIỆP Trần Thị Kim Chi 55

BIỂU DIỄN THÔNG ĐIỆP Trần Thị Kim Chi 55

SƠ ĐỒ TRÌNH TỰ - SEQUENCY DIAGRAM Trần Thị Kim Chi 56

SƠ ĐỒ TRÌNH TỰ - SEQUENCY DIAGRAM Trần Thị Kim Chi 56

BIỂU DIỄN THÔNG ĐIỆP Trần Thị Kim Chi 57

BIỂU DIỄN THÔNG ĐIỆP Trần Thị Kim Chi 57

ĐIỀU HƯỚNG GỌI METHODS • Frame: một hộp biểu diễn một phần của sơ

ĐIỀU HƯỚNG GỌI METHODS • Frame: một hộp biểu diễn một phần của sơ đồ tuần tự để thể hiện sự lựa chọn hoặc lặp • hộp xung quanh một phần của biểu đồ trình tự để biết sự lựa chọn hoặc loop – if -> (opt) [condition] – if/else -> (alt) [condition], separated by horizon. Dashed line – loop -> (loop) [condition or items to loop over] Trần Thị Kim Chi 58

ĐIỀU HƯỚNG GỌI METHODS • Alt – Biểu diễn cho một sự lựa chọn

ĐIỀU HƯỚNG GỌI METHODS • Alt – Biểu diễn cho một sự lựa chọn hoặc thay thế của hành vi. – Ví dụ: Trần Thị Kim Chi 59

ĐIỀU HƯỚNG GỌI METHODS • Option – Đại diện cho một sự lựa chọn

ĐIỀU HƯỚNG GỌI METHODS • Option – Đại diện cho một sự lựa chọn của hành vi mà một trong hai (duy nhất) toán hạng sẽ xảy ra hoặc không có gì xảy ra. – Ví dụ: Trần Thị Kim Chi 60

ĐIỀU HƯỚNG GỌI METHODS • Loop – Vòng lặp sẽ được thực hiện chính

ĐIỀU HƯỚNG GỌI METHODS • Loop – Vòng lặp sẽ được thực hiện chính xác số lần quy định. Trần Thị Kim Chi 61

SƠ ĐỒ TRÌNH TỰ - SEQUENCY DIAGRAM Interaction Frame Trần Thị Kim Chi 62

SƠ ĐỒ TRÌNH TỰ - SEQUENCY DIAGRAM Interaction Frame Trần Thị Kim Chi 62

SELECTION AND LOOPS 63

SELECTION AND LOOPS 63

LINKING SEQUENCE DIAGRAMS • If one diagram is too large or refers to another,

LINKING SEQUENCE DIAGRAMS • If one diagram is too large or refers to another, indicate with: – an unfinished arrow and comment, – or a "ref" frame that names the other diagram • when would this occur in our system? Trần Thị Kim Chi 64

VÍ DỤ LINKING SEQUENCE DIAGRAMS Trần Thị Kim Chi 65

VÍ DỤ LINKING SEQUENCE DIAGRAMS Trần Thị Kim Chi 65

SƠ ĐỒ TRÌNH TỰ - SEQUENCY DIAGRAM Xây dựng Sequence Diagram • Bước 1:

SƠ ĐỒ TRÌNH TỰ - SEQUENCY DIAGRAM Xây dựng Sequence Diagram • Bước 1: Xác định chức năng cần thiết kế. Bạn dựa vào Use Case Diagram để xác định xem chức năng nào cần thiết kế. • Bước 2: Dựa vào Activity Diagram để xác định các bước thực hiện theo nghiệp vụ. • Bước 3: Đối chiếu với Class Diagram để xác định lớp trong hệ thống tham gia vào nghiệp vụ. • Bước 4: Vẽ Sequence Diagarm • Bước 5: Cập nhật lại bản vẽ Class Diagram Trần Thị Kim Chi 66

SƠ ĐỒ TRÌNH TỰ - SEQUENCY DIAGRAM Khi vẽ sơ đồ tuần tự, cần

SƠ ĐỒ TRÌNH TỰ - SEQUENCY DIAGRAM Khi vẽ sơ đồ 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 sơ đồ. Đ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. Trần Thị Kim Chi 67

VÍ DỤ SƠ ĐỒ TRÌNH TỰ - SEQUENCY DIAGRAM Xây dựng Sequence Diagarm cho

VÍ DỤ SƠ ĐỒ TRÌNH TỰ - SEQUENCY DIAGRAM Xây dựng Sequence Diagarm cho hệ thống e. Commerce Bước 1: Xác định các Use Case cần thiết kế • Các Use Case sau cần thiết kế: � Xem sản phẩm theo chủng loại � Thêm sản phẩm theo nhà cung cấp � Thêm giỏ hàng � Chat � Quản lý đơn hàng � Thanh toán � Theo dõi chuyển hàng � Đăng nhập • Tiếp theo, chúng ta sẽ thiết kế cho chức năng “Xem sản phẩm theo chủng loại”. Trần Thị Kim Chi 68

VÍ DỤ SƠ ĐỒ TRÌNH TỰ - SEQUENCY DIAGRAM Xây dựng Sequence Diagarm cho

VÍ DỤ SƠ ĐỒ TRÌNH TỰ - SEQUENCY DIAGRAM Xây dựng Sequence Diagarm cho hệ thống e. Commerce Bước 2: Xem Activity Diagram cho Use Case này chúng ta xác định các bước sau: � Người dùng chọn loại sản phẩm � Hệ thống sẽ lọc lấy loại sản phẩm tương ứng, sau đó lấy giá, lấy khuyến mãi và hiển thị lên màn hình. � Người dùng xem sản phẩm Trần Thị Kim Chi 69

VÍ DỤ SƠ ĐỒ TRÌNH TỰ - SEQUENCY DIAGRAM Xây dựng Sequence Diagarm cho

VÍ DỤ SƠ ĐỒ TRÌNH TỰ - SEQUENCY DIAGRAM Xây dựng Sequence Diagarm cho hệ thống e. Commerce Bước 3: Đối chiếu với Class Diagram ta xác định các đối tượng thực hiện như sau: • Người dùng: chọn loại sản phẩm qua giao diện • Giao diện: sẽ lấy danh sách sản phẩm tương ứng từ Products • Giao diện: lấy giá của từng sản phẩm từ Class Prices và Promotion Amount từ lớp Promotions • Giao diện: tổng hợp danh sách và hiển thị • Người dùng: Xem sản phẩm Trần Thị Kim Chi 70

VÍ DỤ SƠ ĐỒ TRÌNH TỰ - SEQUENCY DIAGRAM Bước 4: Vẽ sequence Diagram

VÍ DỤ SƠ ĐỒ TRÌNH TỰ - SEQUENCY DIAGRAM Bước 4: Vẽ sequence Diagram • Xác định các lớp tham gia vào hệ thống gồm: người dùng (Guest), Giao diện (GUI System), Sản phẩm (Products), Giá (Prices), Khuyến mãi (Promotions). • Trong đó GUI System để sử dụng chung cho giao diện, bạn có thể sử dụng cụ thể trang Web nào nếu bạn đã có Mockup (thiết kế chi tiết của giao diện). Trần Thị Kim Chi 71

VÍ DỤ SƠ ĐỒ TRÌNH TỰ - SEQUENCY DIAGRAM Các bước thực hiện của

VÍ DỤ SƠ ĐỒ TRÌNH TỰ - SEQUENCY DIAGRAM Các bước thực hiện của Use Case này như sau: • Guest gửi yêu cầu xem sản phẩm lên giao diện kèm theo chủng loại • GUI system: gửi yêu cầu lấy danh sách các sản phẩm tương ứng với chủng loại cho lớp sản phẩm và nhận lại danh sách. • GUI system: gửi yêu cầu lấy Giá cho từng sản phẩm từ Prices • GUI system: gửi yêu cầu lấy khuyến mãi cho từng sản phẩm từ Promotions và nhận lại kết quả • GUI system: ghép lại danh sách và hiển thị lên browser và trả về cho Guest Trần Thị Kim Chi 72

VÍ DỤ SƠ ĐỒ TRÌNH TỰ - SEQUENCY DIAGRAM Trần Thị Kim Chi 73

VÍ DỤ SƠ ĐỒ TRÌNH TỰ - SEQUENCY DIAGRAM Trần Thị Kim Chi 73

VÍ DỤ SƠ ĐỒ TRÌNH TỰ - SEQUENCY DIAGRAM Bước 5: Kiểm tra và

VÍ DỤ SƠ ĐỒ TRÌNH TỰ - SEQUENCY DIAGRAM Bước 5: Kiểm tra và cập nhật bản vẽ Class Diagram • Chúng ta nhận thấy để thực hiện được bản vẽ trên chúng ta cần bổ sung các phương thức cho các lớp như sau: • Products class: bổ sung phương thức Get. Product. Info(Product Type): trả về thông tin sản phẩm có loại được truyền vào. Việc này các đối tượng của lớp Products hoàn toàn làm được vì họ đã có thuộc tính Product. Type nên họ có thể trả về được thông tin này. • Prices: bổ sung phương thức Get. Price(Product. ID): Unit. Price. Sau khi lấy được Product. ID từ Products, GUI gọi phương thức này để lấy giá của sản phẩm từ lớp giá. Các đối tượng từ lớp Prices hoàn toàn đáp ứng điều này. Trần Thị Kim Chi 74

VÍ DỤ SƠ ĐỒ TRÌNH TỰ - SEQUENCY DIAGRAM Bước 5: Kiểm tra và

VÍ DỤ SƠ ĐỒ TRÌNH TỰ - SEQUENCY DIAGRAM Bước 5: Kiểm tra và cập nhật bản vẽ Class Diagram • Promotions: tương tự bổ sung phương thức Get. Promotion(Product. ID). • GUI System(View Product Page): bổ sung phương thức • Display. Product. List(List of product) để hiển thị danh sách lên sản phẩm. Ngoài ra, bạn cần có thêm một phương thức View. Productby. Type(Product. Type) để mô tả chính hoạt động này khi người dùng kích chọn. Trần Thị Kim Chi 75

CÁC VÍ DỤ SƠ ĐỒ TRÌNH TỰ - SEQUENCY DIAGRAM • Có ba lớp

CÁC VÍ DỤ SƠ ĐỒ TRÌNH TỰ - SEQUENCY DIAGRAM • Có 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 thẻ 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 gửi kết quả kiểm tra này đến khách hàng • Khá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 đã Trần Thị Kim Chi 76 yêu cầu được rút.

CÁC VÍ DỤ SƠ ĐỒ TRÌNH TỰ - SEQUENCY DIAGRAM Trần Thị Kim Chi

CÁC VÍ DỤ SƠ ĐỒ TRÌNH TỰ - SEQUENCY DIAGRAM Trần Thị Kim Chi 77

VÍ DỤ SƠ ĐỒ TRÌNH TỰ - SEQUENCY DIAGRAM 78

VÍ DỤ SƠ ĐỒ TRÌNH TỰ - SEQUENCY DIAGRAM 78

VÍ DỤ SƠ ĐỒ TRÌNH TỰ - SEQUENCY DIAGRAM Trần Thị Kim Chi 79

VÍ DỤ SƠ ĐỒ TRÌNH TỰ - SEQUENCY DIAGRAM Trần Thị Kim Chi 79

SƠ ĐỒ TRÌNH TỰ - SEQUENCY DIAGRAM

SƠ ĐỒ TRÌNH TỰ - SEQUENCY DIAGRAM

Ví dụ: Use case rút tiền của hệ thống ATM Use case: Withdraw Identify

Ví dụ: Use case rút tiền của hệ thống ATM Use case: Withdraw Identify Nouns Actor: Client Purpose: To allow the client to withdraw money Pre-conditions: User already logged-in Post-conditions: Amount is deducted from user’s account Main flow: Client User Account Amount Money Card Cash 1) Client initiates this usecase by selecting 'withdraw' 2) System displays all the accounts related to the Card and prompts to select any one. 3) Client selects one account. 4) System prompts for the amount (fast cash or …) 5) Client enter amount … Alternative flows: Trần Thị Kim Chi 2) & 3) System selects the only one available account 81

sơ tuần tự – Use case rút tiền (tt) : Client : Withdraw. UI

sơ tuần tự – Use case rút tiền (tt) : Client : Withdraw. UI : Withdraw. Control : Card : Account 1: // select withdraw( ) 2: // get list accounts( ) 3: // get accounts( ) 4: // get info( ) 5: // display account( ) 6: // select account( ) 7: // enter money( ) 8: // withdraw( ) 9: [enough money] // withdraw( ) Trần Thị Kim Chi 82

VÍ DỤ ACTIVITY DIAGRAM • sơ hoạt động hiện thực hoá use case Quản

VÍ DỤ ACTIVITY DIAGRAM • sơ hoạt động hiện thực hoá use case Quản lý khách hàng thân thiết Trần Thị Kim Chi 83

SƠ ĐỒ TRÌNH TỰ - SEQUENCY DIAGRAM Vẽ sơ trình tự cho hoạt động

SƠ ĐỒ TRÌNH TỰ - SEQUENCY DIAGRAM Vẽ sơ trình tự cho hoạt động cấp thẻ khách hàng thành viên Trần Thị Kim Chi 84

SƠ ĐỒ CỘNG TÁC (COLLABORATION DIAGRAM) Sơ đồ cộng tác: miêu tả giữa actor

SƠ ĐỒ CỘNG TÁC (COLLABORATION DIAGRAM) Sơ đồ 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 đồ. • sơ đồ 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 case • Có 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 diagram Trần Thị Kim Chi 85

SƠ ĐỒ CỘNG TÁC (COLLABORATION DIAGRAM) • Các thành phần trong sơ đồ cộng

SƠ ĐỒ CỘNG TÁC (COLLABORATION DIAGRAM) • Các thành phần trong sơ đồ cộng tác: Client Object Link Supplier Object : Client 1: Perform. Responsibility : Supplier Message Trần Thị Kim Chi 86

SƠ ĐỒ CỘNG TÁC (COLLABORATION DIAGRAM) • Ví dụ: sơ đồ cộng tác mức

SƠ ĐỒ CỘNG TÁC (COLLABORATION DIAGRAM) • Ví dụ: sơ đồ 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 web Trần Thị Kim Chi 87

SƠ ĐỒ CỘNG TÁC (COLLABORATION DIAGRAM) • Đầu tiên thủ tục Withdrawal. Req() được

SƠ ĐỒ CỘNG TÁC (COLLABORATION DIAGRAM) • Đầu tiên thủ tục Withdrawal. Req() đượ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 Ask. For. Pin(), 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: = Ask. For. Pin(), 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 Compute. Net. Balance() đượ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. Trần Thị Kim Chi 88

SƠ ĐỒ CỘNG TÁC (COLLABORATION DIAGRAM) Các thành phần có trong sơ đồ cộng

SƠ ĐỒ CỘNG TÁC (COLLABORATION DIAGRAM) Các thành phần có trong sơ đồ cộng tác: • Actor • Object • Message • Instance link Trần Thị Kim Chi 89

SƠ ĐỒ CỘNG TÁC (COLLABORATION DIAGRAM) • Actor: – Tác nhân bên ngoài tương

SƠ ĐỒ CỘNG TÁC (COLLABORATION DIAGRAM) • Actor: – Tác nhân bên ngoài tương tác với hệ thống • Object – Đối tượng tham gia quá trình tương tác giữa người dùng và hệ thống • Message – Thông điệp mô tả tương tác giữa các đối tượng – Thông điệp được gửi từ đối tượng này sang đối tượng khác – Thô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, … Trần Thị Kim Chi 90

SƠ ĐỒ CỘNG TÁC (COLLABORATION DIAGRAM) • Message Trần Thị Kim Chi 91

SƠ ĐỒ CỘNG TÁC (COLLABORATION DIAGRAM) • Message Trần Thị Kim Chi 91

SƠ ĐỒ CỘNG TÁC (COLLABORATION DIAGRAM) Thuộc tính của thông điệp: • Action •

SƠ ĐỒ CỘNG TÁC (COLLABORATION DIAGRAM) Thuộc tính của thông điệp: • Action • Control Flow • Operation • Arguments • Return Value • Predecessor list • Condition Trần Thị Kim Chi 92

SƠ ĐỒ CỘNG TÁC (COLLABORATION DIAGRAM) Thuộc tính của thông điệp: • Action –

SƠ ĐỒ CỘNG TÁC (COLLABORATION DIAGRAM) Thuộc tính của thông điệp: • Action – Create: đố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ệp – Destroy: đối tượng gửi thông điệp gọi hàm hủy đối tượng nhận thông điệp – Self 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. Trần Thị Kim Chi 93

SƠ ĐỒ CỘNG TÁC (COLLABORATION DIAGRAM) Thuộc tính của thông điệp: • Control Flow

SƠ ĐỒ CỘNG TÁC (COLLABORATION DIAGRAM) Thuộc tính của thông điệp: • Control Flow – Undefined: không được định nghĩa – Asynchronous: 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ời – Procedure 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ận – Return: thông điệp return thường liên kết với thông điệp loại : Procedure call” Trần Thị Kim Chi 94

SƠ ĐỒ CỘNG TÁC (COLLABORATION DIAGRAM) Thuộc tính của thông điệp: • Operation –

SƠ ĐỒ CỘNG TÁC (COLLABORATION DIAGRAM) Thuộc tính của thông điệp: • Operation – Nếu đối tượng trong sơ đồ 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 message – Không thể liên kết return message với operation • • Arguments Return Value Predecessor list Condition Trần Thị Kim Chi 95

VÍ DỤ ACTIVITY DIAGRAM • sơ hoạt động hiện thực hoá use case Quản

VÍ DỤ ACTIVITY DIAGRAM • sơ hoạt động hiện thực hoá use case Quản lý khách hàng thân thiết Trần Thị Kim Chi 96

SƠ ĐỒ TRÌNH TỰ - SEQUENCY DIAGRAM Vẽ sơ trình tự cho hoạt động

SƠ ĐỒ TRÌNH TỰ - SEQUENCY DIAGRAM Vẽ sơ trình tự cho hoạt động cấp thẻ khách hàng thành viên Trần Thị Kim Chi 97

SƠ ĐỒ CỘNG TÁC (COLLABORATION DIAGRAM) • Ví dụ: sơ đồ cộng tác tạo

SƠ ĐỒ CỘNG TÁC (COLLABORATION DIAGRAM) • Ví dụ: sơ đồ cộng tác tạo thẻ thành viên Trần Thị Kim Chi 98

Ví dụ: sơ cộng tác Đăng ký học phần 1. 2. // display course

Ví dụ: sơ cộng tác Đăng ký học phần 1. 2. // display course offerings( ) 1. 3. // display blank schedule( ) 1. // create schedule( ) 2. // select 4 primary and 2 alternate offerings( ) : Register. For. Courses. Form : Course Catalog : Student 1. 1. // get course offerings( ) 2. 1. // create schedule with offerings( ) 1. 1. // get course offerings( ) 1. 1. 1. // get course offerings(for. Semester) : Course. Catalog. System : Registration. Controller 2. 1. 1. // create with offerings( ) 2. 1. 2. // add schedule(Schedule) : Student : Schedule Trần Thị Kim Chi 99

Ví dụ: sơ cộng tác đăng ký học phần(tt) 1. // submit schedule( )

Ví dụ: sơ cộng tác đăng ký học phần(tt) 1. // submit schedule( ) : Register. For. Courses. Form 1. 1. 2. 4. // any conflicts? ( ) : Student 1. 1. // submit schedule( ) 1. 1. 1. // save( ) 1. 1. 2. // submit( ) : Registration. Controller 1. 1. 2. 3. // still open? ( ) 1. 1. 2. 5. // add student(Schedule) : Schedule 1. 1. 2. 1. // is selected? ( ) 1. 1. 2. 6. // mark as enrolled in( ) : Course. Offering 1. 1. 2. 2. // has pre-requisites(Course. Offering) : Primary. Schedule. Offering. Infob : Student Trần Thị Kim Chi 100

SO SÁNH 2 LƯƠ C ĐÔ Trần Thị Kim Chi 101

SO SÁNH 2 LƯƠ C ĐÔ Trần Thị Kim Chi 101

Bài tập: BIỂU ĐỒ CỘNG TÁC (COLLABORATION DIAGRAM) 1. Xây dựng sơ cộng tác

Bài tập: BIỂU ĐỒ CỘNG TÁC (COLLABORATION DIAGRAM) 1. Xây dựng sơ cộng tác cho Đặt vé tàu, sinh viên 2. Xây dựng sơ activity, sequence và Collaboration diagram của ứng dụng quản lý TKB: • SV chọn chức năng xem TKB lớp • Hệ thống hiển thị màn hình xem TKB lớp • SV chọn lớp, niên khóa, học kỳ • SV chọn chức năng xem TKB • Hệ thống truy cập CSDL lấy thông tin TKB tương ứng với lớp SV chọn • Hệ thống hiển thị thông tin TKB Trần Thị Kim Chi 102

VÍ DỤ ACTIVITY DIAGRAM Trần Thị Kim Chi 103

VÍ DỤ ACTIVITY DIAGRAM Trần Thị Kim Chi 103

CÁC THÀNH PHẦN CỦA ACTIVITY DIAGRAM Trần Thị Kim Chi 104

CÁC THÀNH PHẦN CỦA ACTIVITY DIAGRAM Trần Thị Kim Chi 104

BIỂU ĐỒ CỘNG TÁC (COLLABORATION DIAGRAM) Trần Thị Kim Chi 105

BIỂU ĐỒ CỘNG TÁC (COLLABORATION DIAGRAM) Trần Thị Kim Chi 105

BIỂU ĐỒ CỘNG TÁC (COLLABORATION DIAGRAM) Trần Thị Kim Chi 106

BIỂU ĐỒ CỘNG TÁC (COLLABORATION DIAGRAM) Trần Thị Kim Chi 106

BIỂU ĐỒ CỘNG TÁC (COLLABORATION DIAGRAM) Trần Thị Kim Chi 107

BIỂU ĐỒ CỘNG TÁC (COLLABORATION DIAGRAM) Trần Thị Kim Chi 107

BIỂU ĐỒ CỘNG TÁC (COLLABORATION DIAGRAM) Trần Thị Kim Chi 108

BIỂU ĐỒ CỘNG TÁC (COLLABORATION DIAGRAM) Trần Thị Kim Chi 108

BIỂU ĐỒ CỘNG TÁC (COLLABORATION DIAGRAM) Bài tập: Vẽ biểu đồ trình tự và

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ách Trần Thị Kim Chi 109

Biểu đồ tuần tự: Đặt trước sách Trần Thị Kim Chi 110

Biểu đồ tuần tự: Đặt trước sách Trần Thị Kim Chi 110

Biểu đồ cộng tác: Đặt sách Trần Thị Kim Chi 111

Biểu đồ cộng tác: Đặt sách Trần Thị Kim Chi 111

Thêm các phương thức vào các lớp Trần Thị Kim Chi 112

Thêm các phương thức vào các lớp Trần Thị Kim Chi 112

BIỂU ĐỒ CỘNG TÁC (COLLABORATION DIAGRAM) Bài tập: 1. Vẽ biểu đồ trình tự

BIỂU ĐỒ CỘNG TÁC (COLLABORATION DIAGRAM) Bài tập: 1. Vẽ biểu đồ trình tự và cộng tác cho qui trình đặt sách 2. Vẽ biểu đồ tuần tự của kịch bản in một file ra máy in 3. Chuyển biểu đồ tuần tự trên sang biểu đồ tương tác Trần Thị Kim Chi 113

SƠ ĐỒ TRẠNG THÁI • sơ trạng thái (State Diagram) biểu diễn mối liên

SƠ ĐỒ TRẠNG THÁI • sơ trạng thái (State Diagram) biểu diễn mối liên hệ giữa các trạng thái của đối tượng • Thông thường sơ đồ trạng thái áp dụng cho đối tượng/ lớp biểu diễn hành vi của lớp • 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ác Trần Thị Kim Chi 114

SƠ ĐỒ TRẠNG THÁI • Một lớp có thể có một thuộc tính đặc

SƠ ĐỒ TRẠNG THÁI • Mộ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). Trần Thị Kim Chi 115

SƠ ĐỒ TRẠNG THÁI • Trạng thái tổng hợp là trạng thái có thể

SƠ ĐỒ TRẠNG THÁI • Trạ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ản • Ký hiệu Tên Phần mô tả các hành động Trần Thị Kim Chi 116

CÁC THÀNH PHẦN CỦA SƠ ĐỒ TRẠNG THÁI • • Trạng thái - State

CÁC THÀNH PHẦN CỦA SƠ ĐỒ TRẠNG THÁI • • Trạng thái - State Sự kiện – Event Hành động – Action Mối liên hệ giữa các trạng thái Trần Thị Kim Chi 117

SƠ ĐỒ TRẠNG THÁI • Trạng thái – State • Trạng thái bắt đầu:

SƠ ĐỒ TRẠNG THÁI • Trạng thái – State • Trạng thái bắt đầu: khi đối tượng được tạo ra hoặc trạng thái tổng hợp được xác định. Ký hiệu: • Trạng thái kết thúc: khi đối tượng bị hủy bỏ hoặc trạng thái tổng hợp trở nên không xác định. • Trạng thái trung gian Trần Thị Kim Chi 118

SƠ ĐỒ TRẠNG THÁI • Sự kiện – Event • Entry: sự kiện phát

SƠ ĐỒ TRẠNG THÁI • Sự kiện – Event • Entry: sự kiện phát sinh khi đối tượng bắt đầu nhận trạng thái • Exit: sự kiện phát sinh khi đối tượng kết thúc trạng thái • Do: sự kiện phát sinh khi user thực hiện một hành động thông qua bàn phím/chuột. Trần Thị Kim Chi 119

SƠ ĐỒ TRẠNG THÁI • Trạng thái - State Action • Entry: hành động

SƠ ĐỒ TRẠNG THÁI • Trạng thái - State Action • Entry: hành động được thực hiện khi đối tượng bắt đầu trạng thái • Do: tập các hành động có thể thực hiện với trạng thái • Exit: hành động được thực hiện khi đối tượng kết thúc trạng thái Trần Thị Kim Chi 120

SƠ ĐỒ TRẠNG THÁI • Mối liên hệ giữa các trạng thái -Transition –

SƠ ĐỒ TRẠNG THÁI • Mối liên hệ giữa các trạng thái -Transition – Event – Action – Condition: điều kiện cho phép chuyển từ trạng thái này sang trạng thái khác Trần Thị Kim Chi 121

SƠ ĐỒ TRẠNG THÁI • State – Event – Action - Transition Trần Thị

SƠ ĐỒ TRẠNG THÁI • State – Event – Action - Transition Trần Thị Kim Chi 122

SƠ ĐỒ TRẠNG THÁI Trần Thị Kim Chi 123

SƠ ĐỒ TRẠNG THÁI Trần Thị Kim Chi 123

SƠ ĐỒ TRẠNG THÁI • State diagram mô trạng của màn hình quản lý

SƠ ĐỒ TRẠNG THÁI • State diagram mô trạng của màn hình quản lý danh mục giáo viên Trần Thị Kim Chi 124

SƠ ĐỒ TRẠNG THÁI Trần Thị Kim Chi 125

SƠ ĐỒ TRẠNG THÁI Trần Thị Kim Chi 125

SƠ ĐỒ TRẠNG THÁI • Lưu ý: – Tên trạng thái là duy nhất

SƠ ĐỒ TRẠNG THÁI • Lưu ý: – Tên trạng thái là duy nhất trong sơ đồ – 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 –expression • Cá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-expression) • Cú pháp của biểu thức hành động: Trần Thị Kim Chi 126

SƠ ĐỒ TRẠNG THÁI • Cú pháp nhãn: even t-signature[guard-condition] /action-expression VD: sơ đồ

SƠ ĐỒ TRẠNG THÁI • Cú pháp nhãn: even t-signature[guard-condition] /action-expression VD: sơ đồ trạng thái của lớp Message Trần Thị Kim Chi 127

SƠ ĐỒ TRẠNG THÁI Biến đổi trạng thái không có sự kiện từ ngoài.

SƠ ĐỒ TRẠNG THÁI Biến đổi trạng thái không có sự kiện từ ngoài. Sự thay đổi trạng thái xảy ra khi các hoạt động trong mỗi trạng thái được thực hiện xong. Trần Thị Kim Chi 128

NHẬN BIẾT TRẠNG THÁI VÀ SỰ KIỆN • Quá trình phát hiện sự kiện

NHẬN BIẾT TRẠNG THÁI VÀ SỰ KIỆN • Quá trình phát hiện sự kiện và trạng thái về mặt bản chất bao gồm việc hỏi một số các câu hỏi thích hợp: • • • Một đối tượng có thể có những trạng thái nào? : Hãy liệt kê ra tất cả những trạng thái mà một đối tượng có thể có trong vòng đời của nó. Những sự kiện nào có thể xảy ra? : Bởi sự kiện gây ra việc thay đổi trạng thái nên nhận ra các sự kiện là một bước quan trọng để nhận diện trạng thái. Trạng thái mới sẽ là gì? : Sau khi nhận diện sự kiện, hãy xác định trạng thái khi sự kiện này xảy ra và trạng thái sau khi sự kiện này xảy ra. Có những thủ tục nào sẽ được thực thi? : Hãy để ý đến các thủ tục ảnh hưởng đến trạng thái của một đối tượng. Chuỗi tương tác giữa các đối tượng là gì? : Tương tác giữa các đối tượng cũng có thể ảnh hưởng đến trạng thái của đối tượng. Qui định nào sẽ được áp dụng cho các phản ứng của các đối tượng với nhau? : Các qui định kiềm tỏa phản ứng đối với một sự kiện sẽ xác định rõ hơn các trạng thái. Trần Thị Kim Chi 129

NHẬN BIẾT TRẠNG THÁI VÀ SỰ KIỆN • Những sự kiện và sự chuyển

NHẬN BIẾT TRẠNG THÁI VÀ SỰ KIỆN • Những sự kiện và sự chuyển tải nào là không thể xảy ra? : Nhiều khi có một số sự kiện hoặc sự thay đổi trạng thái không thể xảy ra. Ví dụ như bán một chiếc ô tô đã được bán rồi. • Cái gì khiến cho một đối tượng được tạo ra? : Đối tượng được tạo ra để trả lời cho một sự kiện. Ví dụ như một sinh viên ghi danh cho một khóa học. • Cái gì khiến cho một đối tượng bị hủy? : Đối tượng sẽ bị hủy đi khi chúng không được cần tới nữa. Ví dụ khi một sinh viên kết thúc một khóa học. • Cái gì khiến cho đối tượng cần phải được tái phân loại (reclassfied)? : Những loại sự kiện như một nhân viên được tăng chức thành nhà quản trị sẽ khiến cho động tác tái phân loại của nhân viên đó được thực hiện. • • Trần Thị Kim Chi 130

NHẬN BIẾT TRẠNG THÁI VÀ SỰ KIỆN • Một số lời mách bảo cho

NHẬN BIẾT TRẠNG THÁI VÀ SỰ KIỆN • Một số lời mách bảo cho việc tạo dựng biểu đồ trạng thái • • Chuyển biểu đồ trình tự thành biểu đồ trạng thái Xác định các vòng lặp (loop) Bổ sung thêm các điều kiện biên và các điều kiện đặc biệt Trộn lẫn các kịch bản khác vào trong biểu đồ trạng thái • Một khi mô hình đã được tạo nên, hãy nêu ra các câu hỏi và kiểm tra xem mô hình có khả năng cung cấp tất cả các câu trả lời. Qui trình sau đây cần phải được nhắc lại cho mỗi đối tượng. Trần Thị Kim Chi 131

Chuyển biểu đồ tuần tự thành biểu đồ trạng thái • Sắp xếp các

Chuyển biểu đồ tuần tự thành biểu đồ trạng thái • Sắp xếp các sự kiện thành một đường dẫn, dán nhãn input (hoặc entry) và output (exit) cho các sự kiện. Khoảng cách giữa hai sự kiện này sẽ là một trạng thái. • Nếu cảnh kịch có thể được nhắc đi nhắc lại rất nhiều lần (vô giới hạn), hãy nối đường dẫn từ trạng thái cuối cùng đến trạng thái đầu tiên Trần Thị Kim Chi 132

Nhận ra các vòng lặp (loop) • Một chuỗi sự kiện có thể được

Nhận ra các vòng lặp (loop) • Một chuỗi sự kiện có thể được nhắc đi nhắc lại vô số lần được gọi là vòng lặp (loop). • Chú ý: • Trong một vòng lặp, chuỗi các sự kiện được nhắc đi nhắc lại cần phải đồng nhất với nhau. Nếu có một chuỗi các sự kiện khác chuỗi khác thì trường hợp đó không có vòng lặp. • Lý tưởng nhất là một trạng thái trong vòng lặp sẽ có sự kiện kết thúc. Đây là yếu tố quan trọng, nếu không thì vòng lặp sẽ không bao giờ kết thúc. Trần Thị Kim Chi 133

Bổ sung thêm các điều kiện biên và các điều kiện đặc biệt •

Bổ sung thêm các điều kiện biên và các điều kiện đặc biệt • Kiểm tra, đối chứng chúng với điều kiện biên và các điều kiện đặc biệt khác, những điều kiện rất có thể đã chưa được quan tâm đủ độ trong thời gian tạo dựng biểu đồ trạng thái. • Điều kiện biên là những điều kiện thao tác trên giá trị, đây là những giá trị nằm bên ranh giới của một điều kiện để quyết định về trạng thái của đối tượng. • Ví dụ như quy định về kỳ hạn của một tài khoản là 30 ngày thì ngày thứ 31 đối với tài khoản này sẽ là một điều kiện biên. • Các điều kiện đặc biệt là những điều kiện ngoại lệ • Ví dụ ngày thứ 30 của tháng 2 năm 2000 (nếu có một điều kiện thật sự như vậy tồn tại ngoài đời thực). Trần Thị Kim Chi 134

Trộn lẫn các cảnh kịch khác vào trong biểu đồ trạng thái • Ấn

Trộn lẫn các cảnh kịch khác vào trong biểu đồ trạng thái • Ấn định một điểm bắt đầu chung cho tất cả các chuỗi sự kiện bổ sung. • Xác định điểm nơi các ứng xử bắt đầu khác biệt với những ứng xử đã được mô hình hóa trong biểu đồ trạng thái. Chú ý: • Biểu đồ trạng thái chỉ cần được tạo dựng nên cho các lớp đối tượng có ứng xử động quan trọng. • Hãy thẩm tra biểu đồ trạng thái theo khía cạnh tính nhất quán đối với những sự kiện dùng chung để cho toàn bộ mô hình động được đúng đắn. • Dùng các trường hợp sử dụng để hỗ trợ cho quá trình tạo dựng biểu đồ trạng thái. • Khi định nghĩa một trạng thái, hãy chỉ để ý đến những thuộc tính liên quan. Trần Thị Kim Chi 135

C U HỎI VÀ BÀI TẬP 1. Hỏi: Thế nào là một vòng lặp?

C U HỎI VÀ BÀI TẬP 1. Hỏi: Thế nào là một vòng lặp? Đáp: Một chuổi sự kiện có thể được nhắc đi, nhắc lại vô số lần được gọi là vòng lặp (loop). 2. Hỏi: Mô hình động chính là mô hình đối tượng cộng thêm phần ứng xử động của hệ thống Đáp: Đúng 3. Hỏi: Các sự kiện độc lập cũng có thể là các sự kiện song Đáp: Đúng 4. Hỏi: Một đối tượng không nhất thiết phải có trạng thái. Đáp: Sai, mọi đối tượng đều có trạng thái Trần Thị Kim Chi 136

C U HỎI VÀ BÀI TẬP 1. Một lớp có thể có trạng thái

C U HỎI VÀ BÀI TẬP 1. Một lớp có thể có trạng thái ban đầu và trạng thái kết thúc. Đáp: Sai, một đối tượng có thể có trạng thái ban đầu và trạng thái kết thúc. 2. Hỏi: Một vòng đời (chu trình) vòng lặp của đối tượng không có trạng thái khởi tạo cũng không có trạng thái kết thúc Đáp: Đúng, đối tượng được coi là đã luôn tồn tại ở đây và sẽ còn mãi tiếp tục tồn tại. Trần Thị Kim Chi 137

C U HỎI VÀ BÀI TẬP • Bài tập: trong hệ thống ATM chúng

C U HỎI VÀ BÀI TẬP • Bài tập: trong hệ thống ATM chúng ta xem hoạt động của use case “Rút tiền”. Các hoạt động tuần tự mà khách hàng thực hiện: – Đưa vào thẻ ATM – Nhập mã PIN – Rút t ATM Vẽ các sơ trình tự, cộng tác và hoạt động để hiện thực hóa use case trên Trần Thị Kim Chi 138

C U HỎI VÀ BÀI TẬP Trần Thị Kim Chi 139

C U HỎI VÀ BÀI TẬP Trần Thị Kim Chi 139

C U HỎI VÀ BÀI TẬP Trần Thị Kim Chi 140

C U HỎI VÀ BÀI TẬP Trần Thị Kim Chi 140

C U HỎI VÀ BÀI TẬP • Đặc tả Use case cho các bài

C U HỎI VÀ BÀI TẬP • Đặc tả Use case cho các bài toán nghiệp vụ trên Trần Thị Kim Chi 141

THANKS YOU 142 Trần Thị Kim Chi

THANKS YOU 142 Trần Thị Kim Chi