LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG
BỘ MÔN CÔNG NGHỆ PHẦN MỀM
ViỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
Bài 10. Biểu đồ use case và
Biểu đồ hoạt động
Nội dung
1. Tổng quan về biểu đồ use case
2. Các thành phần chính trong biểu đồ
use case
3. Biểu đồ hot đng
3
1.1. Tổng quan về biểu đồ use case
• Mi h thng tương tc vi con ngưi hoc cc h
thng khc để thc hin nhim v
• Các hành vi của h thng có thể được mô t trong
các use case.
▫ What, not How
▫ Các use case mô t các tương tác giữa h thng và
môi trưng của nó
Biểu đồ use case
4
1.1. Tổng quan về biu đ use case (2)
• Biểu đồ mô t cc yêu cu chc năng ca h
thng dưi dng cc use case.
• Bao gồm cc chc năng mong đi ca h thng
(use case) v môi trưng (actor) ca n.
5
View Report Card
Student
Register for Courses
2.1. Tác nhân (actor)
9
Tác nhân là bt k th g tương tc
vi h thng, c s trao đi d liu
vi h thng
– Là một lp/loại ngưi dng ch không
phi một ngưi c thể
– Một ngưi dng c thể c thể đng
vai tr là cc tc nhân khc nhau, c
ngha là ngưi đ c nhiu vai tr
khc nhau trong h thng
– Không phi là một phần của h thng
Actors are EXTERNAL.
Actor
Ví dụ về tác nhân
• Tc nhân trao đổi thông tin vi h thng:
▫ Gửi thông tin ti h thng
▫ Nhận thông tin từ h thng
10
-Tc nhân KHÔNG phi l
một phn ca h thng!!!
- Gip gii hn h thng
Tc nhân c thể l:
• Ngưi dùng,
• Thiết bị phn cng
• H thng phn mềm khc
Tìm kiếm tác nhân ca h thng
• Đt các câu hỏi sau để tìm ra tác nhân:
▫ Nhóm ngưi nào yêu cầu h thng làm vic giúp họ?
▫ Nhóm ngưi nào kích hot chức năng của h thng?
▫ Tên của UC nên chỉ rõ kết qu của quá trình tương tác vi
tác nhân
▫ Tên nên là đng từ
▫ Mô t ngắn gọn về mc đích của UC
13
Những điều nên tránh khi to UC
• To ra các UC quá nhỏ
▫ Hành đng quá đơn gin mà chỉ cần mô t bởi vài dòng
• To ra quá nhiều Use case (hàng chc)
▫ Nhóm các Use case liên quan thành mt Use case tổng quát
(mức 1)
▫ Mô t các Use Case tổng quát ở mt sơ đồ khác (mức 2)
Ví d: “Qun lý sách” bao gồm “Nhập sách”, “Xuất sách”, “…”
• Sử dng các Use-case quá c thể, hoc làm vic vi dữ liu
quá c thể. Ví d:
▫ “Tìm sách theo tên” (nên là “Tìm sách”)
▫ “Nhập Pin vào máy ATM” (nên là “Nhập PIN”)
▫ “Thêm sách” (nên là “Qun lý sách” bao gồm “Thêm sách”)
14
2.3. Mi liên h (relationship)
• Mi liên h giữa các actor vi nhau
▫ Khái quát hóa (Generalization)
▫ Giao tiếp
• Mi liên h giữa actor và use case
▫ Giao tiếp
• Mi liên h giữa các use case vi nhau
▫ Generalization: Khái quát hóa
▫ Include: Bao hàm
▫ Extend: Mở rng
15
18
2.2.3. Mi liên h giữa các use case
• Generalization
• <<include>>
▫ always use
• <<extend>>
▫ sometime use
19
a. Quan h generalization
• Được sử dng để chỉ ra mt vài
tính chất chung của mt nhóm
tác nhân hoc UC
• Sử dng khái nim kế thừa
▫ Mô t hành vi chung (chia sẻ)
trong UC cha
▫ Mô t hành vi riêng trong (các)
UC con
20
b. Quan h <<include>>
• Cho phép mt UC sử dng chức năng của UC khác
• Chức năng của UC Inclusion sẽ được gọi trong
UC Base
• Sử dng stereotype là <<include>>
21
c. Quan h <<extend>>
• Cho phép mở rng chức năng của mt UC
• Chèn hành vi của UC Extension vào UC Base
• Chỉ chèn khi điều kin extend đúng (mở rng, phát sinh)
• Chèn vào lp cơ sở ti điểm phát sinh (extension point)
• Sử dng stereotype là <<extend>>
Nội dung
1. Tổng quan về biểu đồ use case
2. Các thành phần chính trong biểu đồ
use case
3. Biểu đồ hot đng
25
3. Biểu đồ hot động
• Biểu đồ hot động (Activity Diagram – AD) đưc sử
dụng để mô t cc hot động v cc hnh động đưc
thực hin trong một use case
▫ Biểu đồ luồng (flow chart): Chỉ ra luồng điều khiển từ hot
động/hnh động ny đến hot/hnh động khc.
26
Flow of Events
This use case starts when the Registrar requests that the
system close registration.
1. The system checks to see if registration is in progress. If
it is, then a message is displayed to the Registrar and the
use case terminates. The Close Registration processing
cannot be performed if registration is in progress.
2. For each course offering, the system checks if a professor
has signed up to teach the course offering and at least three
students have registered. If so, the system commits the
course offering for each schedule that contains it.
Activity 1
Activity 3
Activity 2