TRƯỜNG ĐẠI HỌC CẦN THƠ
KHOA CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
Giáo trình PHÂN TÍCH HỆ THỐNG HƯỚNG
ĐỐI TƯỢNG
Phân
Phân
t
t
í
í
ch
ch
h
h
ệ
ệ
th
th
ố
ố
ng
ng
hư
hư
ớ
ớ
ng
ng
đ
đ
ố
c
Tài liệu tham khảo
Stt Tựa Thông tin chi tiết
1UML 2 của Benoit Charoux, Aomar Osmani, Yann
Thiery-Mieg, NXB Pearson Education France,
2005.
2 UML par la pratique- Etude
de cas et exercices corrigés
của Pascal Roques, XB lần 2, NXB Eyrolles, 2001
3 UML pour l’analyse d’un
systeme d’information
của Chantal Morley, Jean Hugues, Bernard
Leblanc, XB lần 2, NXB Dunod, 2002
4 Phân tích thiếtkế hướng đối
tựơng bằng UML
của Đặng Văn Đức, NXB Giáo dục, 2002
5 Modélisation objet avec UML của Pierre-Alian Muller, Nathalie Gaertner, XB
lần 2, NXB Eyrolles, 2004
6 Object-oriented analysis David William Brown, NXB John Wileys & Sons,
2002
7 Trang web củaOMG
8 Các trang web liên quan
UML
9 The object-oriented development
process
của Tom Rowlett, NXB Prentice Hall PTR,
2001
10 A introducton to object-oriented
analysis- Objects in plain English
của David Willia Brown, NXB John Wileys
•Cáchtiếpcậnhướng đốitượng là tấtyếu, để
phát triểncáchệ thống phầnmềm:
–phứctạp,
–theokịp đà phát triển không ngừng củacông
nghệ và các nhu cầu ứng dụng trong thựctế.
I.1 Phân tích hệ thống
hướng đối tượng (2)
• Tuy nhiên, lậptrìnhhướng đối
tượng lạiíttrựcquan, íttự nhiên
hơnlập trình theo chứcnăng.
⇒ Đòi hỏiphảimôhìnhhóahướng
đốitượng trướcthậttốt.
I.1 Phân tích hệ thống
hướng đối tượng (3)
Giúp hiểu tốt hơn thực tế và so
sánh tốt hơn các giải pháp thiết kế
trước khi lập trình.
Dựa trên các ngôn ngữ mô hình
hóa.
I.2 UML
• UML (Unified Modeling Language) là một
ngôn ngữđểmô hình hóa với các ký hiệu sinh
động,
• Cho phép:
– Đặctả
– Xây dựng
– Hiểnthị
– Lậpsưuliệu
các hệ thống thông tin sử dụng khái niệm đối
tượng.
Class diagram
Sơ đồ
đối tượng
Object diagram
Sơ đồ
cấutrúcphức
Composite
structure
diagram
Sơ đồ
đóng gói
Package diagram
Sơ đồ
triển khai
Deployment diagram
Sơ đồ
thành tố
Component diagram
Sơ đồ về
Hành xử
Behavior diagrams
Sơ đồ
hoạtvụ
Use case diagram
Sơ đồ
hoạt động
Activity diagram
Sơ đồ
trạng thái
State diagram
II.3.2 Quan hệ giữa các trường hợp sử dụng trong một sơ đồ hoạt vụ: 3
II.4 QUAN HỆ GIỮA CÁC TÁC NHÂN: 5
II.5 MỘT VÀI NGUYÊN TẮC MÔ TẢ SƠ ĐỒ HOẠT VỤ: 6
II.5.1 Xác định các tác nhân: 6
II.5.2 Gom lại các trường hợp sử dụng: 6
II.6 MÔ TẢ BẰNG VĂN BẢN CÁC TRƯỜNG HỢP SỬ DỤNG: 7
II.6.1 Đinh danh: 7
II.6.2 Chuỗi hành vi: 7
II.6.3 Các mục bổ sung tùy ý : 7
II.7 ĐÓNG GÓI CÁC TRƯỜNG HỢP SỬ DỤNG: 9
II.7.1 Ngữ cảnh: 9
II.7.2 Đinh nghĩa: 10 II.1. MỤC ĐÍCH CỦA TRƯỜNG HỢP SỬ DỤNG:
Trường hợp sử dụng là một kỹ thuật mô tả hệ thống dựa trên quan điểm người sử dụng.
Mỗi trường hợp sử dụng là một cách thức riêng biệt để sử dụng hệ thống.
Trường hợp sử dụng là một tập hợp bao gồm các thao tác được kích họat bởi một tác
nhân bên ngoài và tạo ra một kết quả xác định được (identifiable), quan sát được (observable).
Việc nhóm lại các thao tác này không tương ứng với các cấu trúc đã cài đặt sẵn hoặc để
cài đặt trực tiếp, ngắn hạ
n trước mắt. Nó tương ứng sát hơn với một chuỗi thao tác như một logic
cảm nhận được từ người sử dụng.
II.2 ĐỊNH NGHĨA VÀ KÝ HIỆU:
II.2.1 Định nghĩa:
Các trường hợp sử dụng được gom lại trong các sơ đồ họat vụ, nhằm chỉ ra mối liên hệ
giữa các trường hợp sử dụng và các tác nhân. Những sơ đồ này cũng cho phép biểu diễn sự phụ
thuộc:
- giữa các trường hợp sử dụng lẫn nhau
Quan hệ giữa các trường hợp sử dụng
Đường biên hệ thống
(tùy ý)
II.3 MÔ TẢ SƠ ĐỒ HOẠT VỤ:
II.3.1 Các quan điểm mô tả sơ đồ hoạt vụ:
Mỗi trường hợp sử dụng được mô tả bằng một định nghĩa tổng quát và bằng một kịch bản
(script) với các định nghĩa được minh họa cụ thể. Một trường hợp sử dụng có thể có mặt trong
nhiều sơ đồ hoạt vụ.
Có 2 quan điểm biểu diễn mô tả sơ đồ họat vụ:
a. Thực hiện một s
ơ đồ họat vụ cho một tác nhân
b. Thực hiện một sơ đồ họat vụ cho nhiều tác nhân, trong đó có một tác nhân chính kích
hoạt sơ đồ hoạt vụ và các tác nhân phụ có tham gia vào các trường hợp sử dụng trong
sơ đồ hoạt vụ.
II.3.2 Quan hệ giữa các trường hợp sử dụng trong một sơ đồ hoạt vụ:
II.3.2.1 Quan hệ “bao hàm” (inclusion):
Trường hợp sử dụng B được coi là “bao hàm” trường hợp sử dụng A nếu hành vi mô tả B
bao hàm hành vi mô tả A.
Ta nói B phụ thuôc vào A.
Ký hiệu :
A
B
có thể được mở rộng bởi hành vi của trường hợp
sử dụng A, ta nói
A mở rộng B.
Một sự mở rộng thường phải chịu một điều kiện, điều kiện này được biểu diễn dưới dạng
một ghi chú (note) . Phải cho biết chính xác ở điểm nào của trường hợp đang xét thì mở rộng nó.
Ký hiệu :
mở rộng
B
A
Ho
ặc
extends
B
A
Ví dụ :
mở rộng
Nhận giấy
b
II.4 QUAN HỆ GIỮA CÁC TÁC NHÂN:
Mối quan hệ duy nhất có thể có giữa các tác nhân là sự tổng quát hóa.
Một tác nhân A là một sự tổng quát hóa của B nếu A có thể được thay thế bởi B trong
mọi trường hợp sử dụng (chiều ngược lại không đúng).
Ký hiệu:
A
B Ví dụ :
Nhan vien
Lanh dao
linh luong
ky quyet dinh
SV
nap tien cho the
mua the
chon thuc an
<< include >>
- Cần đứng trên quan điểm người sử dụng và xác định:
+ tác nhân đó được HT phục vụ thế nào
+ trong trường hợp nào tác nhân đó sử dụng HT
+ chức năng nào của HT mà tác nhân đó truy cập đến
- Cần tránh sự dư thừa, và cần có trừu tượng hóa hợp lý để giam bớt số trường hợp, ví
dụ không nên cho 1 trường hợp sử dụng ch
ỉ có 1 thao tác.
II.6 MÔ TẢ BẰNG VĂN BẢN CÁC TRƯỜNG HỢP SỬ DỤNG:
Gồm có 3 phần: định danh, mô tả chuỗi hành vi và các mục bổ sung tùy ý:
II.6.1 Đinh danh:
- tên
- mục tiêu (tóm tắt)
- các tác nhân (chính + phụ)
- ngày tạo và ngày cập nhật mới nhất
- người tạo
- phiên bản (version)
II.6.2 Chuỗi hành vi:
- mô tả tổng quát chuỗi
- điều kiện đầu (pre-cond)
- chuỗi liên kết các thông báo (messages)
- điều kiện cuối (post-cond)
- xử lý các ngoại lệ
II.6.3 Các mục bổ sung tùy ý :
II.6.3.1 Ràng buộc phi chức năng :
- tính tin cậy (confidentiality)
- tính bảo mật (security)
- tính sẵn sàng (disponiblity)
- tính cạnh tranh (concurrence)
- thời gian đáp ứng
+ Password : sẽ hiển thị thông báo yêu cầu nhập đúng mật khẩu.
Ví dụ 2: use case « Quản lý s
ố lượng hàng tồn kho 1 ngành hàng”:
a.
Định danh:
- Tên: Quản lý số lượng hàng tồn kho 1 ngành hàng.
- Mục tiêu (tóm tắt): Tránh thất thoát, giải phóng hàng tồn.
- Các tác nhân (chính + phụ): Nhân viên quản lý kho (phụ), Nhân viên quản lý ngành
hàng (chính).
- Ngày tạo và ngày cập nhật mới nhất: 21/11/2008
- Người tạo: Nhóm 5: Hồ Bửu Thiện, Nguyễn Phương Bình, Trần Duy Phương, lớp
Tin học Cần thơ 2004
- Phiên bản (version): 1.0
b.
Chuỗi hành vi:
- Mô tả tổng quát chuỗi: kiểm tra số lượng xuất hàng, nhập hàng.
- Điều kiện đầu (pre-cond) : có bảng thống kê hàng tồn của định kỳ trước, phiếu nhập,
phiếu xuất, danh sách hàng thất thoát do hư hao (tất cả lưu trên cơ sở dữ liệu), danh
mục ngành hàng.
- Chuỗi liên kết các thông báo (messages) :
+ Hệ thống hiển thị danh mục ngành hàng
+ Nhân viên quản lý kho chọn ngành hàng (mã)
+ Nhân viên quả
n lý kho ghi ngày, giờ kiểm tra hàng tồn theo định kỳ.
+ Nhân viên quản lý kho truy xuất mã ngành hàng, mặt hàng để kiểm tra theo
từng mặt hàng.