You are on page 1of 74

LỖI THÔNG DỤNG CẦN TRÁNH (3/5)

• Usecase Issue information cần hoặc một actor


Assistant hoặc một Professor để thực thi.


THIẾT KẾ VÀ XÂY DỰNG PHẦN MỀM 123
LỖI THÔNG DỤNG CẦN TRÁNH (4/5)

• Nhiều use case nhỏ có cùng mục tiêu có thể gom nhóm
thành dạng một use case.


THIẾT KẾ VÀ XÂY DỰNG PHẦN MỀM 124
LỖI THÔNG DỤNG CẦN TRÁNH (5/5)

• Các bước khác nhau là một phần của use case, không
tách rời thành nhiều use case -> KHÔNG phân rã chức
năng.


THIẾT KẾ VÀ XÂY DỰNG PHẦN MỀM 125
Một số hình vẽ đúng

THIẾT KẾ VÀ XÂY DỰNG PHẦN MỀM


Một số hình vẽ đúng
Một số hình vẽ sai

THIẾT KẾ VÀ XÂY DỰNG PHẦN MỀM


CÁC THÀNH PHẦN KÝ HIỆU (1/2)

Tên Ký hiệu Mô tả

Ranh giới (Boundary) giữa hệ thống


System
và người sử dụng hệ thống

Use case Đơn vị chức năng của hệ thống

Actor Vai trò của người dùng hệ thống

129
THIẾT KẾ VÀ XÂY DỰNG PHẦN MỀM
CÁC THÀNH PHẦN KÝ HIỆU (2/2)

Tên Ký hiệu Mô tả

Association Quan hệ giữa use case và actor

Quan hệ kế thừa giữa các actor và


Generalization giữa các use case.

Extend relationship B extends A: tuỳ chọn sử dụng use


case B bởi use case A

Include A includes B: bắt buộc sử dụng use


relationship case B bởi use case A

THIẾT KẾ VÀ XÂY DỰNG PHẦN MỀM 130


THAM KHẢO

• UML @ Classroom, An Introduction to Object-


Oriented Modeling, Martina Seidl, Marion Scholz,
Christian Huemer, Gerti Kappel, Springer International
Publishing, 2015
•Slide của sách UML @ Classroom, An Introduction
to Object-Oriented Modeling, http://www.uml.ac.at/wp-
content/uploads/2012/05/01_UseCaseDiagram_slides_2015.pptx

THIẾT KẾ VÀ XÂY DỰNG PHẦN MỀM 131


VÍ DỤ: INFORMATION SYSTEM OF THE
STUDENT OFFICE OF A UNIVERSITY

• Many important administrative activities of a university are processed by the


student office. Students can register for studies (matriculation), enroll, and
withdraw from studies here. Matriculation involves enrolling, that is,
registering for studies.
• Students receive their certificates from the student office. The certificates
are printed out by an employee. Lecturers send grading information to the
student office. The notification system then informs the students
automatically that a certificate has been issued.
• There is a differentiation between two types of employees in the student
office: a) those that are exclusively occupied with the administration of
student data (service employee, or ServEmp), and b) those that fulfill the
remaining tasks (administration employee, or AdminEmp), whereas all
employees (ServEmp and AdminEmp) can issue information.
• Administration employees issue certificates when the students come to
collect them. Administration employees also create courses. When creating
courses, they can reserve lecture halls.

THIẾT KẾ VÀ XÂY DỰNG PHẦN MỀM 132


Class Diagram

THIẾT KẾ VÀ XÂY DỰNG PHẦN MỀM


Biểu đồ lớp (Class Diagram)

1. Mục đích
2. Hiểu các khái niệm trong biểu đồ lớp (Class Diagram)
3. Cách tiếp cận xác định lớp
4. Các tiếp cận xác định mối quan hệ
5. Các tiếp cận xác định thuộc tính
6. Các tiếp cận xác định thuộc phương thức
7. So sánh Class và ERD
8. Phương pháp chuyển đổi Class<->ERD

THIẾT KẾ VÀ XÂY DỰNG PHẦN MỀM 134


1. Mục đích
 Phương pháp phân tích theo hướng cấu trúc đã ra
đời và được áp dụng rất sớm.
 Kết quả của việc thiết kế là Cơ sở dữ liệu quan
hệ mà các quan hệ đã đạt được các chuẩn đặt ra
và đã được cài đặt bởi các công cụ hữu hiệu là
các hệ quản trị CSDL quan hệ như:
Foxpro, Access, My SQL, SQL Server, Oracle

THIẾT KẾ VÀ XÂY DỰNG PHẦN MỀM 135


1. Mục đích
 Phân tích thiết kế theo hướng đối tượng với
Ngôn ngữ mô hình hoá thống nhất UML ra đời
sau với kết quả của việc thiết kế là các lớp đối
tượng. Ưu điểm là ta được các lớp tốt có khả
năng mở rộng và sử dụng lại mà không ảnh
hưởng lớn đến hệ thống đang hoạt động hiện tại.
 Tuy nhiên việc lưu trữ các lớp là rất khó
khăn bởi chưa có các Hệ QTCSDL chuẩn như
trong CSDL quan hệ.

THIẾT KẾ VÀ XÂY DỰNG PHẦN MỀM 136


Đối tượng
 Mỗi đối tượng trong một hệ thống đều có ba
đặc tính: trạng thái, ứng xử và sự nhận diện.
* Trạng thái (state): trạng thái của một đối
tượng thường sẽ thay đổi theo thời gian, và nó
được định nghĩa qua một tổ hợp các thuộc
tính, với giá trị của các thuộc tính này cũng
như mối quan hệ mà đối tượng có thể có với
các đối tượng khác.
VD: Trạng thái mở hay đóng của một khóa học

THIẾT KẾ VÀ XÂY DỰNG PHẦN MỀM 137


Đối tượng(tt)
Ứng xử (Behavior): xác định một đối tượng sẽ
phản ứng như thế nào trước những yêu cầu từ các
đối tượng khác. Ứng xử được thực thi qua loạt các
Phương thức (operation) của đối tượng.
VD: trường đại học, một đối tượng bảng ghi danh
lớp học có thể có ứng xử là bổ sung thêm một sinh
viên hay xóa đi tên của một sinh viên khi sinh
viên đăng ký học hay bãi bỏ đăng ký.

THIẾT KẾ VÀ XÂY DỰNG PHẦN MỀM 138


Đối tượng (tt)
Sự nhận diện (Identity): đảm bảo rằng mỗi đối
tượng là duy nhất – dù trạng thái của nó có thể giống
với trạng thái của các đối tượng khác.
VD: 2 khóa học Anh Văn 1 và Anh Văn 2 là hai đối
tượng trong hệ thống ghi danh của trường học. Mặc
dù cả hai đều thuộc loại bảng ghi danh, nhưng mỗi
khóa học vẫn có sự nhận dạng duy nhất của mình.

THIẾT KẾ VÀ XÂY DỰNG PHẦN MỀM 139


Lớp
Một lớp là một lời miêu tả của một nhóm các đối

tượng có chung thuộc tính, chung phương thức (ứng


xử), chung các mối quan hệ với các đối tượng khác và
chung ngữ nghĩa (semantic).
Nghĩa là: lớp là một khuôn mẫu để tạo ra đối tượng.

Mỗi đối tượng là một thực thể của một lớp nào đó và
một đối tượng không thể là kết quả thực thể hóa của
nhiều hơn một lớp.
VD : lớp Sinh_Viên, lớp Nhân_Viên

THIẾT KẾ VÀ XÂY DỰNG PHẦN MỀM 140


2. Hiểu các khái niệm trong biểu đồ lớp (Class
Diagram)

 Các thành phần trong biểu đồ lớp


 Lớp (Class): Là một tập hợp các đối tượng chia sẻ

chung một cấu trúc và hành vi (cùng thuộc tính, hoạt


động, mối quan hệ)
 Ký hiệu:

THIẾT KẾ VÀ XÂY DỰNG PHẦN MỀM 141


2. Hiểu các khái niệm trong biểu đồ lớp
(Class Diagram)
 Các thành phần trong biểu đồ lớp
 Ký hiệu:

THIẾT KẾ VÀ XÂY DỰNG PHẦN MỀM 142


2. Hiểu các khái niệm trong biểu đồ lớp (Class
Diagram)

- Lớp đối tượng NHAN VIEN


- Các thuộc tính { Manv, Ten, Ngay
sinh, Gioi tinh, Dia chi, Luong}
- Các phương thức {Tao moi(), Nhap(),
Sua(), Xoa(), Xem()}.

THIẾT KẾ VÀ XÂY DỰNG PHẦN MỀM 143


2. Hiểu các khái niệm trong biểu đồ lớp
(Class Diagram)
 Mối kết hợp (Association): Là quan hệ ngữ nghĩa được

thiết lập giữa hai hay nhiều lớp, được biểu diễn bởi
những thành phần sau:

144
2. Hiểu các khái niệm trong biểu đồ lớp (Class
Diagram)

 Lớp kết hợp (Association Classes): Khi một mối kết


hợp có đặc trưng(thuộc tính, hoạt động, và các mối kết
hợp), chúng tạo ra một lớp để chứa các thuộc tính đó và
kết nối với mối kết hợp, lớp này được gọi là lớp kết hợp.

THIẾT KẾ VÀ XÂY DỰNG PHẦN MỀM 145


2. Hiểu các khái niệm trong biểu đồ lớp
(Class Diagram)
 Quan hệ thu nạp (Aggregation): Mô tả mối quan hệ
giữa một đối tượng lớn hơn được tạo ra từ những đối
tượng nhỏ hơn. Một loại quan hệ đặc biệt này là quan hệ
“có”, nó có nghĩa là một đối tượng tổng thể có những
đối tượng thành phần.

Lưu ý:
- Khi xóa Phòng ban sẽ không ảnh hưởng
đến Nhân viên.
- Khi xóa Phòng học sẽ không ảnh
hưởng đến Bàn, Ghế.

146
2. Hiểu các khái niệm trong biểu đồ lớp (Class
Diagram)

 Quan hệ thu nạp (Aggregation)

Quan hệ Cha-Con:
Lớp là Cha, SV là Con. Sửa MALOP trong LOP thì
MALOP trong SV sửa theo. Xóa 1 lớp trong LOP thì SV
không bị xóa theo (set NULL).
THIẾT KẾ VÀ XÂY DỰNG PHẦN MỀM 147
2. Hiểu các khái niệm trong biểu đồ lớp (Class
Diagram)

 Quan hệ thành phần (Compossition): Là


một loại quan hệ đặc biệt của quan hệ thu nạp, nó
có một sự liên hệ mạnh mẽ hơn để trình bày thành
phần của một đối tượng phức hợp. Quan hệ thành
phần cũng được xem như là quan hệ thành phần –
tổng thể, và đối tượng tổng thể sẽ quản lý việc tạo
lập và hủy bỏ của những đối tượng thành phần
của nó.

THIẾT KẾ VÀ XÂY DỰNG PHẦN MỀM 148


2. Hiểu các khái niệm trong biểu đồ lớp (Class
Diagram)

 Quan hệ thành phần (Compossition)

Quan hệ Cha-Con
Hóa đơn là Cha, CTHD là Con. Sửa/Xóa MAHD trong
HOADON thì MAHD trong CTHD sửa/xóa theo.
THIẾT KẾ VÀ XÂY DỰNG PHẦN MỀM 149
2. Hiểu các khái niệm trong biểu đồ lớp
(Class Diagram)
 Quan hệ thành phần (Compossition)

150
2. Hiểu các khái niệm trong biểu đồ lớp
(Class Diagram)
 Quan hệ tổng quát hóa (Generalizations): Là quan
hệ được thiết lập giữa một lớp tổng quát hơn đến
một lớp chuyên biệt. Quan hệ này được dùng để
phân loại một tập đối tượng thành những loại xác
định mà hệ thống cần làm rõ ngữ nghĩa.

THIẾT KẾ VÀ XÂY DỰNG PHẦN MỀM 151


2. Hiểu các khái niệm trong biểu đồ lớp (Class
Diagram)

 Phụ thuộc (Dependency):

THIẾT KẾ VÀ XÂY DỰNG PHẦN MỀM 152


2. Hiểu các khái niệm trong biểu đồ lớp (Class
Diagram)

 Quan hệ hoặc (OR): Thuộc 1 trong 2 quan hệ

THIẾT KẾ VÀ XÂY DỰNG PHẦN MỀM 153


2. Hiểu các khái niệm trong biểu đồ lớp (Class
Diagram)

 Làm rõ nghĩa cho biểu đồ lớp

THIẾT KẾ VÀ XÂY DỰNG PHẦN MỀM 154


3. Cách tiếp cận xác định lớp

 Tiếp cận theo thực thể nghiệp vụ


 Tiếp cận theo cụm danh từ
 Tiếp cận theo phân loại
 Tiếp cận theo phân tích hoạt động use case

THIẾT KẾ VÀ XÂY DỰNG PHẦN MỀM 155


3. Cách tiếp cận xác định lớp
 Tiếp cận theo phân loại: Phương pháp này gọi là
phương pháp sử dụng mẫu lớp chung, phương pháp này
dựa trên một cơ sở tri thức về việc phân loại lớp theo
những mẫu chung. Các mẫu chung đó là:
 Lớp khái niệm (concept): Một khái niệm là một

quan niệm hoặc sự hiểu biết riêng biệt về thế giới.


Lớp khái niệm bao gồm các nguyên lý được dùng
để tổ chức hoặc để lưu trữ các hoạt động và các trao
đổi về mặt quản lý. Thông thường các khái niệm là
các ý tưởng, sự hiểu biết được chia sẽ trong cộng
đồng và dùng để trao đổi.

THIẾT KẾ VÀ XÂY DỰNG PHẦN MỀM 23


3. Cách tiếp cận xác định lớp
 Tiếp cận theo phân loại
Ví dụ: Tài khoản,phương pháp, phương
pháp luận, mô hình,… là ví dụ của đối tượng lớp
khái niệm.

THIẾT KẾ VÀ XÂY DỰNG PHẦN MỀM 157


3. Cách tiếp cận xác định lớp

Tiếp cận theo phân loại

 Lớp sự kiện (event): Lớp sự kiện là các điểm thời


gian cần được lưu trữ. Các sự việc xảy ra tại một thời
điểm, hoặc một bước trong một dãy tuần tự các bước.
Liên quan tới các sự việc được lưu trữ là các thuộc
tính (và các đối tượng chứa thuộc tính) như là: ai, cái
gì, khi nào, ở đâu, như thế nào, hoặc tại sao.
 Ví dụ: Giao dịch, đăng ký, kết quả, hoá đơn, đơn

hàng…

THIẾT KẾ VÀ XÂY DỰNG PHẦN MỀM 158


3. Cách tiếp cận xác định lớp

• Tiếp cận theo phân loại

Lớp tổ chức (organization): Một lớp tổ


chức là một tập hợp con người, tài
nguyên, phương tiện, hoặc những nhóm
xác định chức năng người dùng,….
 Ví dụ: Ngân hàng, đơn vị, bộ phận,
phòng ban, chức danh,…

THIẾT KẾ VÀ XÂY DỰNG PHẦN MỀM 159


3. Cách tiếp cận xác định lớp
• Tiếp cận theo phân loại

Lớp con người (people): Lớp con người thể hiện các
vai trò khác nhau của người dùng trong việc tương
tác với ứng dụng. Những đối tượng này thường là
người dùng hệ thống hoặc những người không sử
dụng hệ thống nhưng thông tin về họ được lưu trữ
bởi hệ thống (đa số là những đối tượng mà hệ
thống có trao đổi thông tin nhưng không sử dụng hệ
thống)
 Ví dụ: sinh viên, khách hàng, giáo viên,
nhân viên,…

THIẾT KẾ VÀ XÂY DỰNG PHẦN MỀM 160


3. Cách tiếp cận xác định lớp

Tiếp cận theo phân loại

Lớp vị trí (place): Các vị trí vật lý mà hệ thống cần


mô tả thông tin về nó.
 Ví dụ: toà nhà, kho, văn phòng, chi nhánh, đại lý,

THIẾT KẾ VÀ XÂY DỰNG PHẦN MỀM 161


3. Cách tiếp cận xác định lớp

• Tiếp cận theo phân loại

Sự vật hữu hình và lớp thiết bị: Các đối tượng vật lý
hoặc các nhóm của đối tượng hữu hình mà có thể cảm
nhận trực quan và các thiết bị mà hệ thống tương tác.
 Ví dụ: Máy ATM, xe hơi, máy bay, … là các sự vật
hữu hình; thiết bị cảm ứng nhiệt là một lớp thiết bị.

THIẾT KẾ VÀ XÂY DỰNG PHẦN MỀM 162


3. Cách tiếp cận xác định lớp

Tiếp cận theo phân loại

Ví dụ: Chúng ta xác định lại các lớp trong hệ


thống ATM dùng phương pháp tiếp cận phân loại:
 Lớp khái niệm:

 Lớp sự kiện:

 Các lớp tổ chức:


 Lớp con người:
 Lớp sự vật hữu hình và thiết bị:

THIẾT KẾ VÀ XÂY DỰNG PHẦN MỀM 163


4. Các tiếp cận xác định mối quan hệ

 Biểu đồ lớp

THIẾT KẾ VÀ XÂY DỰNG PHẦN MỀM 164


5. Các tiếp cận xác định thuộc tính

THIẾT KẾ VÀ XÂY DỰNG PHẦN MỀM 165


5. Các tiếp cận xác định thuộc tính

THIẾT KẾ VÀ XÂY DỰNG PHẦN MỀM 166


5. Các tiếp cận xác định thuộc tính

THIẾT KẾ VÀ XÂY DỰNG PHẦN MỀM 167


6. Các tiếp cận xác định thuộc phương thức

THIẾT KẾ VÀ XÂY DỰNG PHẦN MỀM 168


6. Các tiếp cận xác định thuộc phương thức

THIẾT KẾ VÀ XÂY DỰNG PHẦN MỀM 169


6. Các tiếp cận xác định thuộc phương thức

THIẾT KẾ VÀ XÂY DỰNG PHẦN MỀM 170


6. Các tiếp cận xác định thuộc phương thức
 Sơ đồ lớp

THIẾT KẾ VÀ XÂY DỰNG PHẦN MỀM 171


7. So sánh ERD và UML

UML ERD (entity relationship diagram)

Các thành phần


-Biểu đồ lớp thiết kế -Mô hình ER
-Lớp -Kiểu thực thể
-Đối tượng -Thực thể
-Thuộc tính -Thuộc tính
-Miền giá trị của thuộc tính -Miền giá trị của thuộc tính
-Mối quan hệ giữa các lớp -Kiểu liên kết giữa các thực thể
-Bản số tham gia vào quan hệ -Tỷ số lực lượng tham gia vào liên
kết

THIẾT KẾ VÀ XÂY DỰNG PHẦN MỀM 172


7. So sánh ERD và UML

UML ERD (entity relationship diagram)

Các kí hiệu
-UML hiển thị lớp bằng hình -Kiểu thực thể hiển thị bởi hình
chữ nhật có 3 phần: chữ nhật
-Phần trên cùng: Tên lớp -Tên kiểu thực thể
-Phần giữa: Thuộc tính -Thuộc tính đuợc hiển thị bởi
-Phần dưới cùng: Thao tác hình elip hoặc trong thực thể
-Các thao tác không được hỗ trợ
trong mô hình ER

THIẾT KẾ VÀ XÂY DỰNG PHẦN MỀM 173


7. So sánh ERD và UML

UML ERD (entity relationship diagram)

Các mối quan hệ


-Trong UML gọi là các mối - Trong ERD gọi là các mối quan
quan hệ giữa các lớp. hệ giữa các thực thể.
-Lực lượng tham gia vào liên -Tỷ số lực lượng cực đại, cực tiểu
hệ gọi là bản số. tham gia vào liên kết.
-Bản số được ghi ở phía đầu 0:N; 1:1 ; 0:1; 1:N
đường thẳng thể hiện liên hệ,
sát vào lớp là miền áp dụng
của nó. Phạm vi số lượng
phẩn tử có thể có trong liên
hệ. : 1..* , 1 hoặc 1..1
THIẾT KẾ VÀ XÂY DỰNG PHẦN MỀM 174
8. Phương pháp chuyển đổi Class<->ERD

Ví dụ: chuyển đổi ERD -> Class

THIẾT KẾ VÀ XÂY DỰNG PHẦN MỀM 175


Liên kết (cont.)

 Multiplicity

Chỉ có 1 đối tượng 1

0 hoặc nhiều (unlimited) * (0..*)

1 hoặc nhiều 1..*

0 hoặc 1 (optional association) 0..1

Khoảng xác định 2..4

Nhiều khoảng 2, 4..6, 8

THIẾT KẾ VÀ XÂY DỰNG PHẦN MỀM


Phân tích và kiểm định quan hệ
 Tránh sử dụng quan hệ 1-1 không cần thiết
trong biểu đồ lớp

THIẾT KẾ VÀ XÂY DỰNG PHẦN MỀM


Kết tập (aggregation)
 Một kiểu đặc biệt của liên kết, dùng để mô
hình hóa quan hệ toàn thể - bộ phận giữa
một kết tập và bộ phận của nó

2..* 1..*
Car Door House

Whole Part

THIẾT KẾ VÀ XÂY DỰNG PHẦN MỀM


Kết tập (cont.)
 Kiểm tra kết tập:
 Cụm từ “bộ phận của” (part of) được sử dụng để
mô tả quan hệ?
 Cánh cửa là một bộ phận của xe hơi
 Có phải một số hành vi của toàn thể đuợc áp dụng
tự động cho bộ phận của nó?
 Xe hơi di chuyển, cửa di chuyển.
 Có phải một vài giá trị thuộc tính của toàn thể kéo
theo một số thuộc tính của bộ phận?
 Xe hơi màu xanh nên cửa màu xanh.
 Có tồn tại sự không đảo chiều giữa các lớp cho
quan hệ kết tập?
 Cửa là bộ phận của xe hơi. Xe hơi không là bộ phận của
cửa.

15

THIẾT KẾ VÀ XÂY DỰNG PHẦN MỀM


Hợp thành (Composition)
 Một dạng đặc trưng của kết tập
 Toàn thể là sở hữu duy nhất của bộ phận
 Số cá thể ở phía lớp toàn thể phải là 0
hoặc 1.
 Thời gian sống của (lớp) bộ phận phụ
thuộc vào (lớp) toàn thể.
 Toàn thể phải quản lý việc tạo và hủy các
bộ phận của nó.

* Circle
Circle Point

3..* Point
Polygon

THIẾT KẾ VÀ XÂY DỰNG PHẦN MỀM


Tổng quát hóa
 Đối tượng của lớp chuyên biệt (lớp con)
có thể thay thế bởi các đối tượng của
lớp tổng quát (lớp cha).
 Quan hệ “is a …”.

Person Super
Class

Generalization
relationship
Sub
Student Class

THIẾT KẾ VÀ XÂY DỰNG PHẦN MỀM


Tổng quát hóa
 Lớp con thừa kế lớp cha:
 Thuộc tính
 Phương thức
 Quan hệ

 Lớp con có thể


 Thêm thuộc tính và phương thức
 Thêm quan hệ
 Ghi đè các phương thức thừa kế

18

THIẾT KẾ VÀ XÂY DỰNG PHẦN MỀM


Phụ thuộc
 Sự phụ thuộc chỉ ra một quan hệ ngữ
nghĩa giữa hai hoặc nhiều lớp trong đó sự
thay đổi của lớp này bắt buộc sự thay đổi
của lớp khác mặc dù giữa chúng không có
một sự liên kết rõ ràng

<<friend>>
Iterator Vector

19

THIẾT KẾ VÀ XÂY DỰNG PHẦN MỀM

CuuDuongThanCong.com https://fb.com/tailieudientucntt
Thực hiện (Realization)
 Một quan hệ thực hiện chỉ ra một lớp thực
thi hành vi đặc tả bởi một lớp khác
(thường là một giao diện)
 Một giao diện có thể được thực thi bởi
nhiều lớp
 Một lớp có thể thực thi nhiều giao diện

<<interface>>
LinkedList List LinkedList List

THIẾT KẾ VÀ XÂY DỰNG PHẦN MỀM


Các ràng buộc và ghi chú
 Ràng buộc và chú thích các liên kết,
thuộc tính, phương thức và các lớp
 Các ràng buộc là các hạn chế ngữ
nghĩa được viết dưới dạng biểu thức
Boolean

Customer
1 * may be
Order
{ total < $50 } canceled
id: long { value > 0 }

Constraint Note

THIẾT KẾ VÀ XÂY DỰNG PHẦN MỀM


Activity Diagram

THIẾT KẾ VÀ XÂY DỰNG PHẦN MỀM


Biểu đồ hoạt động (Activity Diagram)
 Mô hình hóa các tương tác động của hệ thống
 Miêu tả các tiến trình song song của hệ thống
 Được hình hành bởi sự kết hợp các ý tưởng và
khái niệm của nhiều nguồn:
• BPR của Rummler-Brache
• Event diagram của J Odell
• SDL state
 Dùng để mô tả workflow

THIẾT KẾ VÀ XÂY DỰNG PHẦN MỀM


Biểu đồ hoạt động (Activity Diagram)
 Chỉ ra trình tự của các hoạt động (activity)
 Miêu tả các hoạt động được thực hiện trong một thủ
tục
 Ngoài ra, dùng để miêu tả các dòng chảy hoạt động
khác, ví dụ: luồng sự kiện trong một Use case hay
trong một trình tự tương tác.
 Biểu đồ hoạt động bao gồm các trạng thái hành động,
chứa đặc tả của một hoạt động (một hành động -
action).
 Một trạng thái hành động sẽ qua đi khi hành động
được thực hiện xong (khác với biểu đồ trạng thái: một
trạng thái chỉ chuyển sang trạng thái khác sau khi đã
xảy ra một sự kiện rõ ràng !)

THIẾT KẾ VÀ XÂY DỰNG PHẦN MỀM


Biểu đồ hoạt động là gì?
 Biểu đồ hoạt động là phương tiện để mô tả
 luồng nghiệp vụ (business processes),
 luồng công việc trong ca sử dụng và
 luồng công việc cho các phương thức phức tạp
 Biểu đồ hoạt động bao gồm activities, states và
transitions
 Một hoạt động là đặc tả của hành vi được biểu diễn bởi
một luồng các hành động
 Một trạng thái là điểm mà các sự kiện cần đạt tới
trước khi hoạt động tiếp tục
 Một chuyển tiếp là việc chuyển đổi giữa các hoạt
động hoặc trạng thái

THIẾT KẾ VÀ XÂY DỰNG PHẦN MỀM


Biểu đồ hoạt động
 Điểm quyết định là điểm trong một luồng công việc
mà ở đó việc chuyển tiếp từ một trạng thái hoặc
một hoạt động phân theo các nhánh khác nhau tùy
theo điều kiện
 Một chuyển tiếp xuất hiện khi tất cả các hành động
của một hoạt động hoàn thành hoặc khi một sự
kiện kích hoạt việc thoát khỏi nó từ một trạng thái
hoặc sự kiện khác
 Làn bơi là một biểu diễn để chỉ ra một hoạt động
diễn ra ở đâu trong một hệ thống phức tạp

THIẾT KẾ VÀ XÂY DỰNG PHẦN MỀM


Điểm quyết định (phân nhánh)

Release work
order

branch
[materials not ready]
Reschedule

[materials ready]
guard expression
Assign tasks

THIẾT KẾ VÀ XÂY DỰNG PHẦN MỀM


Phân nhánh và kết nối

start state

Decompress

fork

Stream video Stream audio

join

stop state
THIẾT KẾ VÀ XÂY DỰNG PHẦN MỀM
Làn bơi (Swimlanes)
 Sử dụng để mô hình hóa luồng công việc trong tiến trình
nghiệp vụ
 Chỉ ra ai có trách nhiệm thực hiện từng hoạt động
 Để phân hoạch các trạng thái hoạt động vào nhóm
 Mỗi hoạt động thuộc về một làn bơi
 Chuyển tiếp có thể được vẽ từ làn bơi này đến làn bơi
khác
 Mỗi làn bơi có thể được cài đặt bởi một hay nhiều lớp

THIẾT KẾ VÀ XÂY DỰNG PHẦN MỀM


Activity Diagram: Car Sale Process

Initial
Initial
State
State Control
Control
Flow
Flow
Decision
Decision

Fork
ForkTransition
Transition

Note
Not
e
Action
ActionState
State
(Activity)
(Activity)

Join
JoinTransition
Transition

Final
Final
State
State

THIẾT KẾ VÀ XÂY DỰNG PHẦN MỀM


Swimlanes: Packages of Responsibilities

Actions
Actionsmay
maybe beorganized
organizedinto
into
swimlanes.
swimlanes. Swimlanes areaakind
Swimlanes are kindof
of
package for organizing responsibility
package for organizing responsibility
for
foractivities
activitiesprovided
providedby
byworkers.
workers.

THIẾT KẾ VÀ XÂY DỰNG PHẦN MỀM


Bài tập
 Vẽ biểu đồ hoạt động của luồng nghiệp vụ
mua hàng
 Vẽ biểu đồ hoạt động của luồng nghiệp vụ
mua sách trên mạng

THIẾT KẾ VÀ XÂY DỰNG PHẦN MỀM

You might also like