Tải bản đầy đủ (.pdf) (32 trang)

LTHDT- Bài 10. Biểu đồ use case và biểu đồ hoạt động docx

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (688.72 KB, 32 trang )

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 đồ hot đng
3
1.1. Tổng quan về biểu đồ use case
• Mi h thng tương tc vi con ngưi hoc cc h
thng khc để thc hin nhim v
• Các hành vi của h thng 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 thng và
môi trưng của nó
 Biểu đồ use case
4
1.1. Tổng quan về biu đ use case (2)
• Biểu đồ mô t cc yêu cu chc năng ca h
thng dưi dng cc use case.
• Bao gồm cc chc năng mong đi ca h thng
(use case) v môi trưng (actor) ca n.
5
View Report Card
Student
Register for Courses


Login
1.2. Li ích ca biu đ use case
• Ging như một bn hp đồng giữa ngưi pht triển
phn mềm v khch hng.
• L công cụ mnh mẽ cho vic lập kế hoch  Đưc
dùng trong tất c cc giai đon trong quy trình pht triển
h thng
▫ Khch hng ca bn phi phê chuẩn biểu đồ use-case
▫ Sử dụng biểu đồ use case để tho luận vi khch hàng.
▫ Cc thnh viên tham gia vo dự n, sử dụng mô hình ny để
hiểu r hơn về h thng
6
7
1.2. Li ích ca biểu đồ use case (2)
• Giao tiếp
• Xác định
• Kiểm chứng
End User
Domain Expert
Users
Verification
Identification
Use Case
Communication
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 đồ hot đng
8

2.1. Tác nhân (actor)
9
 Tác nhân là bt k th g tương tc
vi h thng, c s trao đi d liu
vi h thng
– Là một lp/loại ngưi dng ch không
phi một ngưi c thể
– Một ngưi dng c thể c thể đng
vai tr là cc tc nhân khc nhau, c
ngha là ngưi đ c nhiu vai tr
khc nhau trong h thng
– Không phi là một phần của h thng
 Actors are EXTERNAL.
Actor
Ví dụ về tác nhân
• Tc nhân trao đổi thông tin vi h thng:
▫ Gửi thông tin ti h thng
▫ Nhận thông tin từ h thng
10
-Tc nhân KHÔNG phi l
một phn ca h thng!!!
- Gip gii hn h thng
Tc nhân c thể l:
• Ngưi dùng,
• Thiết bị phn cng
• H thng phn mềm khc
Tìm kiếm tác nhân ca h thng
• Đ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 thng làm vic giúp họ?
▫ Nhóm ngưi nào kích hot chức năng của h thng?

▫ Nhóm ngưi nào sẽ duy trì và qun trị h thng hot
đng?
▫ H thng có tương tác vi các thiết bị hay phần mềm
ngoi vi nào khác hay không?
• Thông tin về tác nhân:
▫ Tên tác nhân phi mô t vai trò của tác nhân đó mt
cách rõ ràng
▫ Tên nên là danh từ
▫ Cần mô t khái quát kh năng của tác nhân đó
11
2.2. Use case
12
Use Case
 Use case mô t chc năng ca h thng, l một
chui cc hnh động ca h thng thực hin
nhằm thu đưc một kết qu dễ thấy ti một tc
nhân no đ.
– Một use case mô hình ha một hội thoi giữa một
hoặc nhiều tc nhân vi h thng
– Một use case mô t hnh động ca h thng thực
hin nhằm mang đến một gi trị no đ cho tc nhân.
Tìm use case ca h thng
• Xem các yêu cầu chức năng để tìm ra các UC
• Đi vi mi tác nhân tìm được, đt các câu hỏi:
▫ Các tác nhân yêu cầu những gì từ h thng
▫ Các công vic chính mà tác nhân đó mun HT thc thi?
▫ Tác nhân đó có to ra hay thay đổi dữ liu gì của HT?
▫ Tác nhân đó có phi thông báo gì cho HT?
▫ Tác nhân đó có cần thông tin thông báo gì từ HT?
• Thông tin về use case:

▫ Tên của UC nên chỉ rõ kết qu của quá trình tương tác vi
tác nhân
▫ Tên nên là đng từ
▫ Mô t ngắn gọn về mc đích của UC
13
Những điều nên tránh khi to UC
• To ra các UC quá nhỏ
▫ Hành đng quá đơn gin mà chỉ cần mô t bởi vài dòng
• To ra quá nhiều Use case (hàng chc)
▫ Nhóm các Use case liên quan thành mt Use case tổng quát
(mức 1)
▫ Mô t các Use Case tổng quát ở mt sơ đồ khác (mức 2)
 Ví d: “Qun lý sách” bao gồm “Nhập sách”, “Xuất sách”, “…”
• Sử dng các Use-case quá c thể, hoc làm vic vi dữ liu
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à “Qun lý sách” bao gồm “Thêm sách”)
14
2.3. Mi liên h (relationship)
• Mi liên h giữa các actor vi nhau
▫ Khái quát hóa (Generalization)
▫ Giao tiếp
• Mi liên h giữa actor và use case
▫ Giao tiếp
• Mi liên h giữa các use case vi nhau
▫ Generalization: Khái quát hóa
▫ Include: Bao hàm
▫ Extend: Mở rng
15

2.3.1. Mi liên h giữa các actor vi nhau
• Khái quát hóa (Generalization)
▫ Tác nhân con kế thừa tính chất và
hành vi của tác nhân cha
• Giao tiếp
▫ Xét s khác nhau giữa hai biểu đồ sau
16
2.3.2. Mi liên h giữa actor vi use case
• Thiết lập quan h giữa Tác nhân và Use Case
▫ Chúng tương tác bằng cách gửi các tín hiu cho nhau
• Mt use case mô hình hóa mt hi thoi giữa các tác
nhân và h thng
• Mt use case được bắt đầu bởi mt tác nhân để gọi mt
chức năng nào đó trong h thng.
Actor
Association
Use Case
17
2.3.2. Mi liên h giữa actor vi use case (2)
Chiều của quan h chính là chiều của tín hiu gửi đi
• Từ tác nhân ti Use Case
▫ Kích hot Use case
▫ Hỏi thông tin nào đó trong h thng
▫ Thay đổi thông tin nào đó trong h thng
▫ Thông báo cho UC về mt s kin đt bit nào đó xy ra vi h thng
• Từ Use Case ti tác nhân:
▫ Nếu như có mt điều gì đó xy ra vi HT và tác nhân đó cần được biết
s kin đó
▫ UC đôi khi cần hỏi thông tin nào đó từ mt tác nhân trưc khi UC đó
đưa ra mt quyết định

18
2.2.3. Mi liên h giữa các use case
• Generalization
• <<include>>
▫ always use
• <<extend>>
▫ sometime use
19
a. Quan h generalization
• Được sử dng để chỉ ra mt vài
tính chất chung của mt nhóm
tác nhân hoc UC
• Sử dng khái nim 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 mt UC sử dng 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ử dng stereotype là <<include>>
21
c. Quan h <<extend>>
• Cho phép mở rng chức năng của mt UC
• Chèn hành vi của UC Extension vào UC Base
• Chỉ chèn khi điều kin extend đúng (mở rng, phát sinh)
• Chèn vào lp cơ sở ti điểm phát sinh (extension point)
• Sử dng stereotype là <<extend>>

22
Đc biu đ use case
23
View Report Card
Student
Register for Courses
Login
Select Courses to
Teach
Submit Grades
Professor
Registrar
Billing System
Maintain Professor
Information
Maintain Student
Information
Close Registration
Course Catalog
Đọc biểu đồ use case
• Tr li các câu hỏi sau:
▫ Mô t các chức năng của h thng
▫ Sinh viên có thể tác đng lên những use-case nào?
▫ Giáo viên có thể tác đng lên những use-case nào?
▫ Nếu A vừa là sinh viên vừa là giáo viên, anh ta có
thể thc hin được những use-case nào?
▫ Sơ đồ này không nói lên được những gì?
▫ Những use-case nào cần thiết thc hin đầu tiên?
• Biểu đồ use case c thể mô t hết được không?
24

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 đồ hot đng
25
3. Biểu đồ hot động
• Biểu đồ hot động (Activity Diagram – AD) đưc sử
dụng để mô t cc hot động v cc hnh động đưc
thực hin trong một use case
▫ Biểu đồ luồng (flow chart): Chỉ ra luồng điều khiển từ hot
động/hnh động ny đến hot/hnh động khc.
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

×