1. Trang chủ
  2. » Công Nghệ Thông Tin

Bài giảng Thiết kế hệ thống thông tin: Chương 5 - Trần Thị Kim Chi

129 14 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 129
Dung lượng 7,36 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Bài giảng Thiết kế hệ thống thông tin - Chương 5: Mô hình tương tác đối tượng cung cấp cho người học các kiến thức: Khái niệm mô hình động, activity diagram, sequence diagram, collaboration diagram. Mời các bạn cùng tham khảo nội dung chi tiết.

Trang 1

TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP TP.HCM

KHOA CÔNG NGHỆ THÔNG TIN

MÔ HÌNH TƯƠNG TÁC

ĐỐI TƯỢNG

DINAMIC MODEL Chương V

Trang 3

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

Trang 4

KHÁI NIỆM MÔ HÌNH ĐỘNG (DINAMIC MODEL)

Trang 5

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.

Trang 6

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

Trang 7

VAI TRÒ CỦA LƯỢC ĐỒ 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 lược đồ tương tác

Trang 8

CÁC LOẠI BIỂU ĐỒ ĐỘNG

Bốn loại biểu đồ động trong UML

• Lượ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)

Trang 9

– 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

• Lượ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ụ

Trang 10

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.

ACTIVITY DIAGRAM

Trang 11

MỤ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)

Trang 12

CÁC THÀNH PHẦN CỦA ACTIVITY DIAGRAM

• Cá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 actions

– diamonds mô tả điều kiện

Trang 13

CÁC THÀNH PHẦN CỦA ACTIVITY DIAGRAM

Trang 15

Nhập tối đa 3 lần

Trang 16

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

Trang 17

CÁC THÀNH PHẦN CỦA ACTIVITY DIAGRAM

Trang 20

• Biể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ố PIN

– Xác nhận số tiền yêu cầu được rút

• Chỉ 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

Trang 21

VÍ DỤ ACTIVITY DIAGRAM

• Sơ đồ hoạt động hiện thực hoá use case Quản lý nhập hàng

Trang 22

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

Trang 23

VÍ DỤ ACTIVITY DIAGRAM

Trang 24

• Example of an activity diagram

Trang 25

VÍ DỤ ACTIVITY DIAGRAM

Trang 26

• Partitions

Trang 28

VÍ DỤ ACTIVITY DIAGRAM

Trang 29

CÁC THÀNH PHẦN CỦA ACTIVITY DIAGRAM

Trang 30

BÀI TẬP ACTIVITY DIAGRAM

Trang 31

BÀI TẬP ACTIVITY DIAGRAM

Trang 32

LƯỢC ĐỒ TRÌNH TỰ - SEQUENCY DIAGRAM

• Biể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 gian

• Các mối liên kết không được thể hiện trong lược đồ

Trang 33

LƯỢC ĐỒ TRÌNH TỰ - SEQUENCY DIAGRAM

1.1: PerformAnother Responsibility

Trang 34

LƯỢC ĐỒ TRÌNH TỰ - SEQUENCY DIAGRAM

Cá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

Trang 35

VÍ DỤ LƯỢC ĐỒ TRÌNH TỰ - SEQUENCY DIAGRAM

Trang 36

LƯỢC ĐỒ TRÌNH TỰ - SEQUENCY DIAGRAM

Các bước thực hiện:

1 Identify classes

2 Add messages

3 Place lifeline and focus of control

Khi 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

Trang 37

LƯỢC ĐỒ TRÌNH TỰ - SEQUENCY DIAGRAM

• Việ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

Trang 38

LƯỢC ĐỒ 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 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à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

đã yêu cầu được rút.

Trang 39

LƯỢC ĐỒ TRÌNH TỰ - SEQUENCY DIAGRAM

Ba 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)

Trang 40

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”

Trang 41

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

Trang 42

THỂ HIỆN ĐỐI TƯỢNG

Trang 43

LƯỢC ĐỒ TRÌNH TỰ - SEQUENCY DIAGRAM

Ánh xạ đối tượng vào lớp Mapping an Object to a Class

• Tấ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

Trang 44

LƯỢC ĐỒ TRÌNH TỰ - SEQUENCY DIAGRAM

Chu kỳ sống(lifeline) của đối tượng

• Thờ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

Trang 45

LƯỢC ĐỒ 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 : parameterType) : returnType

– Parameter: là tham số của thông điệp,

– returnType: loại của giá trị trả về (tùy chọn)

Trang 46

BIỂU DIỄN THÔNG ĐIỆP

Trang 48

LƯỢC ĐỒ TRÌNH TỰ - SEQUENCY DIAGRAM

Trang 49

Interaction Frame

Trang 50

LƯỢC ĐỒ TRÌNH TỰ - SEQUENCY DIAGRAM

Common Frame Operators

Trang 51

LƯỢC ĐỒ TRÌNH TỰ - SEQUENCY DIAGRAM

Mô tả Responsibilities

• Responsibility 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 thi

– Knowledge: đối tượng phải duy trì và cung cấp cho các đối tượng

khác

• Responsibility được suy diễn từ message trong lược đồ tuần tự

Trang 52

LƯỢC ĐỒ TRÌNH TỰ - SEQUENCY DIAGRAM

Mô tả Responsibilities

Trang 53

LƯỢC ĐỒ TRÌNH TỰ - SEQUENCY DIAGRAM

Message và responsibility

• Nế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 message

Trang 54

LƯỢC ĐỒ TRÌNH TỰ - SEQUENCY DIAGRAM

Duy 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ớp

• Các responsibility khác biệt nhau trong cùng 1 lớp

• Lớp chỉ có 1 responsibility

• Lớp không có responsibility nào

• Lớp tương tác với quá nhiều lớp khác

Trang 55

CHU KỲ SỐNG CỦA ĐỐI TƯỢNG

Trang 56

ĐIỀU HƯỚNG GỌI METHODS

Activation

Nesting

Trang 57

SELECTION AND LOOPS

Trang 58

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?

Trang 59

VÍ DỤ LINKING SEQUENCE DIAGRAMS

Trang 60

FORMS OF SYSTEM CONTROL

• What can you say about the control flow of each system?

– Is it centralized?

– Is it distributed?

Trang 61

Flawed sequence diagram 1

• What's wrong with this sequence diagram?

(Look at the UML syntax and the viability of the scenario.)

Trang 62

Flawed sequence diagram 1

• What's wrong with this sequence diagram?

(Look at the UML syntax and the viability of the scenario.)

Trang 63

Flawed sequence diagram 1

• Ví dụ: lược đồ tuần tự dạng tổng quát

Trang 64

Flawed sequence diagram 1

• VD: lược đồ tuần tự dạng tổng quát

Trang 65

Flawed sequence diagram 1

• VD: 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 web

Trang 66

Flawed sequence diagram 1

Trang 67

LƯỢC ĐỒ TRÌNH TỰ - SEQUENCY DIAGRAM

Trang 68

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

Typically, actors interact with

boundary classes, which in turn

interact with control classes, which in

turn interact with entity classes.

Trang 69

LƯỢC ĐỒ TRÌNH TỰ - SEQUENCY DIAGRAM

Trang 70

VÍ DỤ LƯỢC ĐỒ TRÌNH TỰ - SEQUENCY DIAGRAM

Trang 71

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

Example: Customer Places Order Scenario

Trang 72

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

Example: Customer Places Order Scenario

Trang 73

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

Example: University Enrollment Model

AcademicRecord course_code : String year : Date

semester : Integer grade : String

Course

<<PK>> course_code : String

<<CK>> course_name : String credit_points : Integer

semester : Integer enrolment_quota : Integer

Trang 74

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

Example: University Enrollment Model

Trang 75

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

Example: Car Ordering

Trang 76

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

Example: Car Ordering - Kịch bản lựa chọn

Trang 77

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

Example: Car Ordering - Hợp nhất các kịch bản

Trang 78

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

• Example: Car Ordering - Làm mịn biểu đồ tuần tự

Trang 79

BÀI TẬP SƠ ĐỒ TRÌNH TỰ -

SEQUENCY DIAGRAM

• Create a sequence diagram for a “New

conference registration” use case for the HICSS registration system

– This diagram should describe how the system:

• Collect registrants information

• Validate required information

• Provide information on payment or process online Paypal payment

• Generate a registration receipt

• Record registration data at the appropriate time(s)

• What else?

Trang 80

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 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

Trang 81

BIỂ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ự

Trang 82

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 web

Trang 83

BIỂ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

Trang 84

BIỂU ĐỒ CỘNG TÁC (COLLABORATION DIAGRAM)

• Ví dụ: lược đồ cộng tác tạo thẻ thành viên

Trang 85

BIỂU ĐỒ CỘNG TÁC (COLLABORATION DIAGRAM)

Trang 86

BIỂU ĐỒ CỘNG TÁC (COLLABORATION DIAGRAM)

– 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,…

Ngày đăng: 08/05/2021, 12:11

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm