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

Tài liệu Công nghệ phần mềm P6 ppt

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 (576.29 KB, 79 trang )

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


2
Muïc tieâu:
Muïc tieâu:
Use
Use
-
-
Case Analysis
Case Analysis
z Tìm hiểumục đích của công đoạn Use-
Case Analysis vị trí của nó trong chu kỳ
sống của QT PTPM
z Xác định các class thực hiện một use- case
flow of events
z Phân phối các hành vi (behaviour) của use-
case về các class của nó, thông qua việc
xác định nhiệm vụ của các class
z Phát triển các use-case realization mô hình
hóa collaboration giữa các thể hiện của các
class đã xác định
3
OOAD Sử dụng UML - Phân tích Use-Case
Dương Anh Đức 9/2000
3
Use
Use
-
-
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
Reviewer
4
OOAD Sử dụng UML - Phân tích Use-Case
Dương Anh Đức 9/2000

4
Toång quan veà Use
Toång quan veà Use
-
-
Case
Case
Analysis
Analysis
Supplementary
Specifications
Use-Case Realization
(identified)
Use-Case Realization
(developed)
Glossary
Use-Case Model
Use-Case
Analysis
Use-Case
Modeling Guidelines
Design Model
Analysis Classes
Analysis Model (optional)
Software Architecture
Document
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
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
7
OOAD Sử dụng UML - Phân tích Use-Case
Dương Anh Đức 9/2000
7
Boå sung Use
Boå sung Use
-
-
Case Description
Case Description
•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
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
9
OOAD Sử dụng UML - Phân tích Use-Case
Dương Anh Đức 9/2000
9
Review: Class
Review: Class
Professor
name
empID
create( )
save( )
delete( )
change( )

Class Name
Attributes
Operations
z Là một sự trừu tượng hóa
z Mô tả một nhóm các đối tượng có chung:
– Properties (attributes)
– Behavior (operations)
– Relationships
–Ngữ nghĩa (Semantics)
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
-
-
Case Behavior
Case Behavior
z Toàn bộ hành vi củamột use case phải
được phân bổ về cho các analysis class
<<boundary>>
<<boundary>><<control>>
<<entity>>
<<entity>>
12
OOAD Sử dụng UML - Phân tích Use-Case
Dương Anh Đức 9/2000
12
Theá naøo laø moät Analysis Class?
Theá naøo laø moät Analysis Class?
<<control>>
<<boundary>>
<<entity>>
System
boundary
Use-case
behavior

coordination
System
information
13
OOAD Sử dụng UML - Phân tích Use-Case
Dương Anh Đức 9/2000
13
Các Analysis
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
– Các System interface class
– Các Device interface class
z Một boundary class cho 1 cặp actor/use
case
15
OOAD S dng UML - Phõn tớch Use-Case
Dng Anh c 9/2000
15
Vai troứ cuỷa moọt Boundary Class
Vai troứ cuỷa moọt Boundary Class
Mụ hỡnh húa s tng tỏc gia system v mụi trng ca nú
Customer
<<boundary>>
<<boundary>>
<<control>>
<<boundary>>
<<entity>> <<entity>>
16
OOAD Sử dụng UML - Phân tích Use-Case
Dương Anh Đức 9/2000
16
Ví duï:
Ví duï:
Tìm kieám caùc

Tìm kieám caùc
Boundary
Boundary
Class
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?
Theá naøo laø moät Entity Class?
z Các trừu tượng hóa then chốt của system
Glossary
Business-Domain Model
<<entity>>
Analysis class
stereotype
Architectural Analysis
Abstractions
Use Case
Độc lập môi trường
19
OOAD S dng UML - Phõn tớch Use-Case
Dng Anh c 9/2000
19
Vai troứ cuỷa moọt Entity Class
Vai troứ cuỷa moọt Entity Class
Customer
<<boundary>>
<<boundary>>
<<control>>
<<boundary>>
<<entity>> <<entity>>
Lu tr v qun tr cỏc thụng tin trong system
20
OOAD Sử dụng UML - Phân tích Use-Case
Dương Anh Đức 9/2000
20

Ví duï:
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
Class
Class

z ng ký hc phn(Lp lch)
Student
CourseOffering
Schedule
22
OOAD Sử dụng UML - Phân tích Use-Case
Dương Anh Đức 9/2000
22
Review: Generalization
Review: Generalization
Account
balance
name
number
Withdraw()
CreateStatement()
Checking
Withdraw()
Savings
GetInterest()
Withdraw()
Superclass
(parent)
Subclasses
Generalization
Relationship
z 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
BankAccount
Checking Stock
Security
Bond
Tổng quát hơn
24

OOAD Sử dụng UML - Phân tích Use-Case
Dương Anh Đức 9/2000
24
Tìm
Tìm
Generalization: Specialization
Generalization: Specialization
cuûa caùc
cuûa caùc
Class
Class
Asset
Asset
RealEstate
Savings
BankAccount
Checking Stock
Security
Bond
Chuyên biệt hơn
25
OOAD Sử dụng UML - Phân tích Use-Case
Dương Anh Đức 9/2000
25
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

×