OOAD Sử dụng UML - Phân tích Use-Case
Dương Anh Đức 9/2000
1
Phân Tích và Thiết Kế Hướng Đối Tượng
Phân Tích và Thiết Kế Hướng Đối Tượng
Sử dụng UML
Sử dụng UML
Use-Case Analysis
Duon
g Anh
Duc
Digitally
signed by
Duong
Anh Duc
DN:
cn=Duong
Anh Duc,
o=HCMUN
S, ou=SE
Departmen
t, c=VN
Date:
2001.09.18
07:12:05 Z
Signatu
re Not
Verified
2
OOAD Sử dụng UML - Phân tích Use-Case
Dương Anh Đức 9/2000
-
-
Case Analysis
Case Analysis
trong ngöõ caûnh
trong ngöõ caûnh
Architect
Designer
Architectural
Analysis
Architecture
Reviewer
Review the
Design
Review the
Architecture
Use-Case
Analysis
Architectural
Design
Describe
Concurrency
Describe
Distribution
Class
Design
Subsystem Design
Use-Case
Design
Design
5
OOAD S dng UML - Phõn tớch Use-Case
Dng Anh c 9/2000
5
Caực bửụực thửùc hieọn phaõn tớch Use
Caực bửụực thửùc hieọn phaõn tớch Use
-
-
Case
Case
z
B sung Use-Case Description
z
Vi mi use-case realization
Tỡm cỏc Class t Use-Case Behavior
Phõn b Use-Case Behavior v cỏc Class
z
Vi mi analysis class ó tỡm thy
Mụ t nhim v ca chỳng
Mụ t cỏc Attribute v cỏc Association
Lng giỏ (qualify) cỏc Analysis Mechanism
z
Hp nht cỏc Analysis Class
z
Checkpoints
6
OOAD S dng UML - Phõn tớch Use-Case
Dng Anh c 9/2000
6
Caực bửụực thửùc hieọn phaõn tớch Use
•Hệ thống truy vấn
và hiển thị một danh
sách các lớp học
đang mở từ CSDL
course catalog kế
thừa từ HT cũ.
•Hệ thống hiển
thị một danh
sách các lớp
học (course
offerings).
8
OOAD S dng UML - Phõn tớch Use-Case
Dng Anh c 9/2000
8
Caực bửụực thửùc hieọn phaõn tớch Use
Caực bửụực thửùc hieọn phaõn tớch Use
-
-
Case
Case
z
B sung Use-Case Description
z
Vi mi use-case realization
Tỡm cỏc Class t Use-Case Behavior
Phõn b Use-Case Behavior v cỏc Class
z
Vi mi analysis class ó tỡm thy
Mụ t nhim v ca chỳng
10
OOAD Sử dụng UML - Phân tích Use-Case
Dương Anh Đức 9/2000
10
Review: Use
Review: Use
-
-
Case Realization
Case Realization
Use-Case Model Design Model
Use Case Use-Case Realization
Sequence Diagrams
Collaboration Diagrams
Class Diagrams
Use Case
11
OOAD Sử dụng UML - Phân tích Use-Case
Dương Anh Đức 9/2000
11
Tìm kieám caùc
Tìm kieám caùc
Class
Class
töø
töø
Use
Use
-
-
Các Analysis
Class:
Class:
Bước đầu
Bước đầu
tiến đến cài đặt
tiến đến cài đặt
Use Cases Analysis
Classes
Source
Code
ExecDesign
Elements
Use-Case Analysis
14
OOAD Sử dụng UML - Phân tích Use-Case
Dương Anh Đức 9/2000
14
Theá naøo laø Boundary Class?
Theá naøo laø Boundary Class?
Phụ thuộc môi trường
<<boundary>>
Analysis class
stereotype
z
Làm trung gian giao tiếp với những gì nằm
ngoài hệ thống
z
Một số kiểu
– Các User interface class
Course Catalog SystemRegister for CoursesStudent
<<boundary>>
RegisterForCoursesForm
<<boundary>>
CourseCatalogSystem
z
Một boundary class cho 1 cặp actor/use
case
17
OOAD Sử dụng UML - Phân tích Use-Case
Dương Anh Đức 9/2000
17
Guidelines: Boundary Class
Guidelines: Boundary Class
z
Các User Interface Class
–Tập trung vào những thông tin gì được thể hiện
cho người dùng
– KHÔNG tập trung vào các chi tiếtUI
z
Các System và Device Interface Class
–Tập trung vào những protocols nào phải đ/n
– KHÔNG tập trung vào cách mà các protocol sẽ
được cài đặt
Tập trung vào các nhiệm vụ,chứ không phải chi tiết!
18
OOAD Sử dụng UML - Phân tích Use-Case
Dương Anh Đức 9/2000
18
Theá naøo laø moät Entity Class?
Ví duï:
Tìm kieám caùc
Tìm kieám caùc
Entity
Entity
Class
Class
z
Dùng use-case flow of events như input
z
Các trừu tượng hóa then chốt của use case
z
Hướng tiếp cận truyền thống (nouns filtering)
–Gạch dướicác cụm danh từ trong flow of events
–Loại bỏ các ứng viên dư thừa
–Loại bỏ các ứng viên mơ hồ, không rõ ràng
–Loại bỏ các actor (ngoài phạm vi)
–Loại bỏ các kiến trúc cài đặt
–Loại bỏ các attribute (để lại dùng sau)
–Loại bỏ các operation
21
OOAD S dng UML - Phõn tớch Use-Case
Dng Anh c 9/2000
21
Vớ duù:
Vớ duù:
Choùn ửựng vieõn
Choùn ửựng vieõn
cho caực Entity
cho caực Entity
Một class chia sẻ cấu
trúc và/hoặc hành vi
của một hay nhiều
class
z
Mối quan hệ “Là một
dạng của”
z
Trong phân tích, sử
dụng ở mức độ đơn
giản, sơ sài
23
OOAD Sử dụng UML - Phân tích Use-Case
Dương Anh Đức 9/2000
23
Tìm
Tìm
Generalization: Generalization
Generalization: Generalization
cuûa
cuûa
caùc Class
caùc Class
Savings Checking
Stock
Bond
RealEstate
Asset
RealEstate
Savings
Ví duï:
Ví duï:
Generalization (
Generalization (
Chia seû ngöõ nghóa)
Chia seû ngöõ nghóa)
Student
name
address
FulltimeStudent
studentID
gradDate
ParttimeStudent
maxNumCourses
Part-timeStudent
name
address
numberCourses
Full-timeStudent
name
address
studentID
gradDate
Không có sự
tổng quát hóa
Có sự tổng
quát hóa
studentID