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

Bài giảng Phân tích thiết kế hệ điều hành: Chủ đề 6 - ThS. Lương Trần Hy Hiến

91 79 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 91
Dung lượng 1,74 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 Phân tích thiết kế hệ điều hành - Chủ đề 6: Mô hình hóa hành vi cung cấp cho người học các kiến thức: Sequence diagram, các thành phần trong Sequence diagram, xây dựng một số Sequence diagram của ứng dụng quản lý thời khóa biểu,... Mời các bạn cùng tham khảo.

Trang 1

OOAD – FIT of HUTECH CH5 - 1 HIENLTH

Chủ đề 6: Mô hình hóa hành vi

Trang 2

OOAD – FIT of HUTECH CH5 - 2 HIENLTH

Trang 3

OOAD – FIT of HUTECH CH5 - 3 HIENLTH

Trang 4

OOAD – FIT of HUTECH CH5 - 4 HIENLTH

Giới thiệu

• Mục đích chính của mô hình hóa hành vi :

• Cho thấy các đối tượng trong một phạm vi nghiệp vụ cộng tác với nhau như thế nào thông qua việc đặc tả cho mỗi Use-Case

• Cho thấy khung nhìn bên trong của mỗi quy trình nghiệp vụ (được thể hiện thông qua mỗi Use-Case)

Trang 5

OOAD – FIT of HUTECH CH5 - 5 HIENLTH

SEQUENCE DIAGRAM

Trang 6

OOAD – FIT of HUTECH CH5 - 6 HIENLTH

MỤC TIÊU

• Biết được cách thiết kế Sequence diagram

• Biết được các thành phần trong Sequence

Trang 7

OOAD – FIT of HUTECH CH5 - 7 HIENLTH

NỘI DUNG TRÌNH BÀY

• Sequence Diagram?

• Các thành phần trong Sequence diagram

• Xây dựng một số Sequence diagram của ứng dụng quản lý thời khóa biểu

• Tạo Sequence diagram trong Power Designer

• Tạo report

Trang 8

OOAD – FIT of HUTECH CH5 - 8 HIENLTH

Sequence Diagrams

• Lược đồ tuần tự (Sequence Diagram):

• Mô tả tương tác giữa actor và các đối tượng hệ thống

• Mô tả sự tương tác giữa các đối tượng theo trình tựthời gian

• Thường được dùng để biểu diễn các bước thực hiện trong một kịch bản khai thác (Scenario) của một use-case

Emphasis on time ordering!

Trang 9

OOAD – FIT of HUTECH CH5 - 9 HIENLTH

• Thông thường thời gian trôi theo chiều từ trên xuống dưới

• Ít khi quan tâm đến khoảng thời gian, thường chỉ quan tâmđến trình tự mà thôi

• Thanh hình chữ nhật mô tả sự thực thi của một tác vụ để đápứng lại thông điệp gửi đến Độ dài của thanh chữ nhật phản

Trang 10

OOAD – FIT of HUTECH CH5 - 10 HIENLTH

Sequence Diagram (make a phone call)

Picks up Dial tone

Ring Dial

Ring notification

Picks up

Trang 11

OOAD – FIT of HUTECH CH5 - 11 HIENLTH

• Hệ thống cho phép giảng viên tra cứu thời

khóa biểu giảng dạy trong học kỳ

Trang 12

OOAD – FIT of HUTECH CH5 - 12 HIENLTH

Ví dụ minh họa

• Use case diagram mô tả hệ thống quản lý thời khóa biểu

Trang 13

OOAD – FIT of HUTECH CH5 - 13 HIENLTH

Ví dụ minh họa: ứng dụng TKB

• Use case

• Action Steps

• Chọn chức năng xem thời khóa biểu

• Hiển thị màn hình cho phép người dùng chọn thông tin cần xem

• Chọn niên khóa từ danh sách hiện có trong hệ thống

• Chọn học kỳ từ danh sách hiện có trong hệ thống

• Chọn lớp hoặc tên giảng viên cần xem trong danh sách lớp và giảng viên hiện có trong hệ thống

• Hiển thị thông tin chi tiết thời khóa biểu lớp hoặc thời khóa biểu của giảng viên

Trang 14

OOAD – FIT of HUTECH CH5 - 14 HIENLTH

Ví dụ minh họa

• Sequence diagram mô

tả use-case xem TKB hệ thống quản

lý thời khóa biểu.

Trang 15

OOAD – FIT of HUTECH CH5 - 15 HIENLTH

Trang 16

OOAD – FIT of HUTECH CH5 - 16 HIENLTH

Các thành phần trong Sequence Diagram

• Actor

• Object

• Message

Trang 17

OOAD – FIT of HUTECH CH5 - 17 HIENLTH

• Actor

• Tác nhân bên ngoài tương tác với hệ thống

Các thành phần trong Sequence Diagram

Trang 18

OOAD – FIT of HUTECH CH5 - 18 HIENLTH

Trang 19

OOAD – FIT of HUTECH CH5 - 19 HIENLTH

Representing Objects

Trang 20

OOAD – FIT of HUTECH CH5 - 20 HIENLTH

• Message

Các thành phần trong Sequence Diagram

Trang 21

OOAD – FIT of HUTECH CH5 - 21 HIENLTH

• Message – Thông điệp

nhận giữa các đối tượng

Các thành phần trong Sequence Diagram

Trang 22

OOAD – FIT of HUTECH CH5 - 22 HIENLTH

• Phân loại thông điệp

• Self Return Message

Các thành phần trong Sequence Diagram

Trang 23

OOAD – FIT of HUTECH CH5 - 23 HIENLTH

• Sinh viên chọn chức năng xem thời khóa biểu từ màn hình chính

• Sinh viên chọn lớp từ màn hình xem TKB

• …

Các thành phần trong Sequence Diagram

Trang 24

OOAD – FIT of HUTECH CH5 - 24 HIENLTH

• Message

• Message được biểu diễn như sau

Các thành phần trong Sequence Diagram

Trang 25

OOAD – FIT of HUTECH CH5 - 25 HIENLTH

messages (method calls) indicated by arrow

to other object

• write message name and arguments above arrow

Các thành phần trong Sequence Diagram

Trang 26

OOAD – FIT of HUTECH CH5 - 26 HIENLTH

• Sinh viên nhập thông tin đăng nhập hệ thống

• Hệ thống kiểm tra thông tin đăng nhập

• …

Các thành phần trong Sequence Diagram

Trang 27

OOAD – FIT of HUTECH CH5 - 27 HIENLTH

• Message

• Self Message được biểu diễn như sau

Các thành phần trong Sequence Diagram

Trang 28

OOAD – FIT of HUTECH CH5 - 28 HIENLTH

• Message

• Call Message biểu diễn đối tượng A gọi thủ tục của đối tượng B

• Ví dụ:

• Màn hình chính gọi thủ tục Show (hiển thị) màn hình xem TKB

• Màn hình xem TKB gọi thủ tục lấy danh sách lớp của đối tượng lớp

• Giáo vụ gọi hàm kiểm tra thông tin đăng nhập hệ thống

Các thành phần trong Sequence Diagram

Trang 29

OOAD – FIT of HUTECH CH5 - 29 HIENLTH

• Message

• Call Message được biểu diễn như sau

Các thành phần trong Sequence Diagram

Trang 30

OOAD – FIT of HUTECH CH5 - 30 HIENLTH

• Message

• Self Call Message là thông điệp mà đối tượng gọi thủ tục/hàm của chính nó

• Ví dụ:

• Kiểm tra thông tin username/password

• Thêm mới TKB của một lớp ⇔ thêm một đối tượng TKB lớp

• Hiển thị thông tin TKB lớp lên màn hình

• Xem TKB lớp

Các thành phần trong Sequence Diagram

Trang 31

OOAD – FIT of HUTECH CH5 - 31 HIENLTH

• Message

• Self Call Message được biểu diễn như sau

Các thành phần trong Sequence Diagram

Trang 32

OOAD – FIT of HUTECH CH5 - 32 HIENLTH

• Message

• Return Message thông điệp gởi về từ đối tượng nhận (kết quả ứng thông điệp đối tượng A yêu cầu đối tượng B thực hiện)

• Ví dụ:

• Danh sách lớp được gởi về từ đối tượng lớp cho đối tượng màn hình xem TKB (ứng với thông điệp yêu cầu lấy danh sách lớp từ màn hình xem TKB gởi cho đối tượng lớp)

• Thông điệp trả về kết quả kiểm tra đăng nhập hệ thống (thành công/thất bại)

Các thành phần trong Sequence Diagram

Trang 33

OOAD – FIT of HUTECH CH5 - 33 HIENLTH

• Message

• Return Message được biểu diễn như sau

Các thành phần trong Sequence Diagram

Trang 34

OOAD – FIT of HUTECH CH5 - 34 HIENLTH

Messages, continued

messages (method calls) indicated by arrow to other

– dashed arrow back indicates return– different arrowheads for normal / concurrent(asynchronous) calls

object

Trang 35

OOAD – FIT of HUTECH CH5 - 35 HIENLTH

• Message

• Self Return Message thông điệp trả kết quả từ thông điệp yêu cầu của chính đối tượng

• Ví dụ:

• Đối tượng người dùng kiểm tra thông tin đăng nhập hệ thống

Các thành phần trong Sequence Diagram

Trang 36

OOAD – FIT of HUTECH CH5 - 36 HIENLTH

• Message

• Self Return Message được biểu diễn như sau

Các thành phần trong Sequence Diagram

Trang 37

OOAD – FIT of HUTECH CH5 - 37 HIENLTH

Trang 38

OOAD – FIT of HUTECH CH5 - 38 HIENLTH

• Activation

• Activation được biểu diễn như sau

Các thành phần trong Sequence Diagram

Trang 39

OOAD – FIT of HUTECH CH5 - 39 HIENLTH

Selection and loops

frame: box around part of diagram

Trang 40

OOAD – FIT of HUTECH CH5 - 40 HIENLTH

Ví dụ

Trang 41

OOAD – FIT of HUTECH CH5 - 41 HIENLTH

Lifetime

Message

Return

Local message

Object

Trang 42

OOAD – FIT of HUTECH CH5 - 42 HIENLTH

HD tạo Sequence Diagram trong PD

Trang 43

OOAD – FIT of HUTECH CH5 - 43 HIENLTH

Ánh xạ biểu đồ tuần tự sang Code

Class B { public int Login(string UID, Pass)

{ .

} MainApp { Nhập User name, password

B objB = new B ();

bool Result = objB.Login(UID, Password)

if (Result == true)

}

Trang 44

OOAD – FIT of HUTECH CH5 - 44 HIENLTH

Communication Diagram

Trang 45

OOAD – FIT of HUTECH CH5 - 45 HIENLTH

Trang 46

OOAD – FIT of HUTECH CH5 - 46 HIENLTH

NỘI DUNG TRÌNH BÀY

• Communication Diagram ?

• Các thành phần trong Communication diagram

• Xây dựng một số Communication diagram của ứng dụng quản lý thời khóa biểu

• Tạo Communication diagram trong Power

Designer

• Tạo report

Trang 47

OOAD – FIT of HUTECH CH5 - 47 HIENLTH

Communication Diagrams

• Lược đồ cộng tác (Communication Diagram)

mô tả tương tác giữa actor và các đối tượng hệ thống.

• 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 use case

• 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ừ Communication diagram

Trang 48

OOAD – FIT of HUTECH CH5 - 48 HIENLTH

• Hệ thống cho phép giảng viên tra cứu thời

khóa biểu giảng dạy trong học kỳ

Trang 49

OOAD – FIT of HUTECH CH5 - 49 HIENLTH

Ví dụ minh họa

• Use case diagram mô tả hệ thống quản lý thời khóa biểu

Trang 50

OOAD – FIT of HUTECH CH5 - 50 HIENLTH

Ví dụ minh họa: ứng dụng TKB

• Use case

• Action Steps

• Chọn chức năng xem thời khóa biểu

• Hiển thị màn hình cho phép người dùng chọn thông tin cần xem

• Chọn niên khóa từ danh sách hiện có trong hệ thống

• Chọn học kỳ từ danh sách hiện có trong hệ thống

• Chọn lớp hoặc tên giảng viên cần xem trong danh sách lớp và giảng viên hiện có trong hệ thống

• Hiển thị thông tin chi tiết thời khóa biểu lớp hoặc thời khóa biểu của giảng viên

Trang 51

OOAD – FIT of HUTECH CH5 - 51 HIENLTH

Trang 52

OOAD – FIT of HUTECH CH5 - 52 HIENLTH

Ví dụ minh họa

• Communication diagram mô tả use-case xem TKB lớp hệ thống quản lý thời khóa biểu

Trang 53

OOAD – FIT of HUTECH CH5 - 53 HIENLTH

Các thành phần trong Communication Diagram

Trang 54

OOAD – FIT of HUTECH CH5 - 54 HIENLTH

Các thành phần trong Communication Diagram

Trang 55

OOAD – FIT of HUTECH CH5 - 55 HIENLTH

Các thành phần trong Communication Diagram

• Instance link

• Liên kết giữa actor và object

• Liên kết giữa 2 object

Trang 56

OOAD – FIT of HUTECH CH5 - 56 HIENLTH

Các thành phần trong Communication Diagram

• Message

• Thông điệp được gởi từ đối tượng này sang đối tượng khác

gọi hàm khởi tạo đối tượng, hủy đối tượng, cập nhật đối tượng,

Trang 57

OOAD – FIT of HUTECH CH5 - 57 HIENLTH

Các thành phần trong Communication Diagram

• Message

• Thông điệp được biểu diễn trong Communication như sau:

Trang 58

OOAD – FIT of HUTECH CH5 - 58 HIENLTH

Các thành phần trong Communication Diagram

• Thuộc tính của thông điệp

Trang 59

OOAD – FIT of HUTECH CH5 - 59 HIENLTH

Các thành phần trong Communication Diagram

• Thuộc tính của thông điệp

Trang 60

OOAD – FIT of HUTECH CH5 - 60 HIENLTH

Các thành phần trong Communication Diagram

• Thuộc tính của thông điệp

• Action

đối tượng nhận thông điệp

tượng nhận thông điệp

sau khi gởi thông điệp đến đối tượng nhận

Trang 61

OOAD – FIT of HUTECH CH5 - 61 HIENLTH

Các thành phần trong Communication Diagram

• Thuộc tính của thông điệp

• Control Flow

tượng nhận, các thông điệp có thể thực hiện đồng thời

điệp loại “Procedure Call”

Trang 62

OOAD – FIT of HUTECH CH5 - 62 HIENLTH

Các thành phần trong Communication Diagram

• Thuộc tính của thông điệp

• Operation

một lớp đối tượng (class), chúng ta có thể chọn

• Không thể liên kết Return message với operation

Trang 63

OOAD – FIT of HUTECH CH5 - 63 HIENLTH

Tạo lược đồ Communication Digram

Trang 64

OOAD – FIT of HUTECH CH5 - 64 HIENLTH

Sơ đồ trạng thái

STATECHART DIAGRAM

Trang 65

OOAD – FIT of HUTECH CH5 - 65 HIENLTH

Statechart Diagram

• Ghi nhận các hành vi động (even – oriented)

• Mục tiêu:

• Mô hình hóa chu kỳ sống của đối tượng

• Mô hình hóa các đối tượng phản hồi (user interfaces, devices, …)

Trang 66

OOAD – FIT of HUTECH CH5 - 66 HIENLTH

• Trạng thái & biến cố

• Trạng thái của đối tượng diễn đạt tình trạng hiện có của đối tượng (có ý nghĩa trong một đoạn thời gian)

chuyển trạng thái

Trang 67

OOAD – FIT of HUTECH CH5 - 67 HIENLTH

State Diagram Bàn cờ

Khởi tạo bàn cờ

Quân trắng đi

Quân đen đi

Quân trắng thắng Hòa Quân đen thắng

Trang 68

OOAD – FIT of HUTECH CH5 - 68 HIENLTH

• Hệ thống cho phép giảng viên tra cứu thời

khóa biểu giảng dạy trong học kỳ

Trang 69

OOAD – FIT of HUTECH CH5 - 69 HIENLTH

[Một số lớp chưa được phân phòng]

Có lớp mới được phân [Còn lớp chưa được phân phòng]

do / Ket thuc hoc ky

Trang 70

OOAD – FIT of HUTECH CH5 - 70 HIENLTH

do / Action_2 exit / Action_3

Event_1 [Condition]/ Action 11 State1

entry / Action_1

do / Action_2 exit / Action_3

State2

Trang 71

OOAD – FIT of HUTECH CH5 - 71 HIENLTH

Một số ký hiệu

Tên trạng thái

Tên trạng thái

stateVar : type = value

entry/ entry action do/ activity

exit/ exit action

Tên biến cố (tham số) Tên hành động (tham số)

[ Điều kiện ]

Trạng thái

Chuyển đổi trạng thái

Trang 72

OOAD – FIT of HUTECH CH5 - 72 HIENLTH

• Trang thái bắt đầu

• Là trạng thái khi mới được khởi tạo của object

• Bắt buộc phải có

• Chỉ có thể có 1 trạng thái bắt đầu

• Trang thái kết thúc

• Chỉ vị trí kết thúc đời sống của object

• Không nhất thiết phải thể hiện

• Có thể có nhiều

Tr/thái bắt đầu

Tr/thái kết thúc

Các trạng thái đặc biệt

Trang 73

OOAD – FIT of HUTECH CH5 - 73 HIENLTH

Tên trạng thái

stateVar : type = value

entry/ entry action do/ activity

exit/ exit action

Biến cố(tham số) [Biểu thức điều kiện]

• Là đồ thị có hướng với các node là các trạng thái nối

với nhau bới các cung mô tả việc chuyển đổi trạng thái

Trang 74

OOAD – FIT of HUTECH CH5 - 74 HIENLTH

Các thành phần trong State diagram

động thông qua bàn phím/chuột

State1 entry / Action_1

do / Action_2 exit / Action_3

Trang 75

OOAD – FIT of HUTECH CH5 - 75 HIENLTH

Các thành phần trong State diagram

do / Action_2 exit / Action_3

Trang 76

OOAD – FIT of HUTECH CH5 - 76 HIENLTH

Các thành phần trong State diagram

• Mối liên hệ giữa các trạng thái –Transition

• Event

• Action

này sang trạng thái khác

Event_1 [Condition]/ Action 11 State1

entry / Action_1

do / Action_2 exit / Action_3

State2

Trang 77

OOAD – FIT of HUTECH CH5 - 77 HIENLTH

Các thành phần trong State diagram

• State – Event – Action – Transition

Huy

/ SoLuong = 10 Them Sinh Vien/ SoLuong = 0

Them Sinh Vien [SoLuong <10]

KH Khởi tạo

do / KhoiTao

Đang mở entry / Sinh vien dang ky exit / Tang SoLuong 1 DV

Trang 78

OOAD – FIT of HUTECH CH5 - 78 HIENLTH

[Một số lớp chưa được phân phòng]

Có lớp mới được phân [Còn lớp chưa được phân phòng]

do / Ket thuc hoc ky

Trang 79

OOAD – FIT of HUTECH CH5 - 79 HIENLTH

Ví dụ minh họa

•State Diagram mô tả trạng thái màn hình

quản lý danh mục người dùng

Trang 80

OOAD – FIT of HUTECH CH5 - 80 HIENLTH

Ví dụ minh họa

• State Diagram mô tả trạng thái màn hình quản

lý danh mục người dùng

Thoat Thêm ND Sửa ND [Đã chọn ND]

Kết thúc sửa ND Kết thúc Thêm ND

Khởi tạo màn hình entry / Load entry / Show

Kết thúc MH Người dùng entry / Unload

Đang sửa Người dùng entry / Sửa ND

do / Lưu

do / Không lưu exit / Xác lập trạng thái

Trang 81

OOAD – FIT of HUTECH CH5 - 81 HIENLTH

Trang 82

OOAD – FIT of HUTECH CH5 - 82 HIENLTH

Sơ đồ trạng thái

• Mỗi sơ đồ trạng thái sẽ ánh xạ thành một thuộc tính

của đối tượng

• Các trạng thái của đối tượng trong 1 sơ đồ trạng thái

không giao nhau và giá trị của thuộc tính tương ứng chỉ mang 1 trong các giá trị tương ứng

• Sơ đồ trạng thái càng chi tiết sẽ phục vụ:

• Có những xử lý thích hợp trong kiểm tra ràng buộc

• Có những xử lý thích hợp trong xử lý biến cố

• Phục vụ tra cứu, tìm kiếm

• Khi đã quan tâm đến sơ đồ trạng thái của 1 đối tượng

• Thường trong ứng dụng không còn chức năng xóa (thật sự) đối tượng này

• Các đối tượng sẽ tồn tại ở trạng thái mất thay vì bị xóa thật sự

Trang 83

OOAD – FIT of HUTECH CH5 - 83 HIENLTH

• Thông thường, sơ đồ trạng thái của 1 đối

Trang 84

OOAD – FIT of HUTECH CH5 - 84 HIENLTH

Cách xây dựng sơ đồ trạng thái

Trang 85

OOAD – FIT of HUTECH CH5 - 85 HIENLTH

Kết quả: Sơ đồ trạng thái

B3

B4

B5

B6 B7

Trang 86

OOAD – FIT of HUTECH CH5 - 86 HIENLTH

Tạo State Diagram trong PD

• Tạo mới State Diagram

Trang 87

OOAD – FIT of HUTECH CH5 - 87 HIENLTH

Bài tập

• Vẽ sơ đồ trạng thái của thang máy

• Vẽ sơ đồ trạng thái của 1 đèn giao thông

• Vẽ sơ đồ trạng thái của 1 cặp đèn giao thông tại ngã tư

• Vẽ sơ đồ trạng thái của 1 độc giả

• Vẽ sơ đồ trạng thái của 1 cuốn sách

• Vẽ sơ đồ trạng thái của 1 phòng trong khách sạn

• Vẽ sơ đồ trạng thái của 1 quân cờ

Trang 88

OOAD – FIT of HUTECH CH5 - 88 HIENLTH

Bài tập

Vẽ sơ đồ trạng thái:

• Quản lý giải bóng đá vô địch quốc gia

• Quản lý bình chọn bài hát hay Làn sóng xanh

• Quản lý giáo vụ trường đại học

• Quản lý giáo vụ trường phổ thông

• Quản lý bán hàng

• Quản lý nhân sự - Tiền lương

Trang 89

OOAD – FIT of HUTECH CH5 - 89 HIENLTH

Ôn tập

• State diagram là gì ?

• Event là gì ?

• Transition ?

• Action là gì ? Các loại Action ?

• Xây dựng State diagram cho một số ứng dụng trong phần bài tập

Ngày đăng: 30/01/2020, 03:29

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

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