Bài giảng Phân tích và thiết kế hướng đối tượng sử dụng UML - Use-Case Analysis

Bổsung Use-Case Description

zVới mỗi use-case realization

–Tìm các Class từUse-Case Behavior

–Phân bổUse-Case Behavior vềcác Class

zVới mỗi analysis class đã tìm thấy

–Mô tảnhiệm vụcủa chúng

–Mô tảcác Attribute và các Association

–Lượng giá (qualify) các Analysis Mechanism

zHợp nhất các Analysis Class

zCheckpoints

pdf79 trang | Chuyên mục: Thiết Kế Hướng Đối Tượng Với UML | Chia sẻ: dkS00TYs | Lượt xem: 3106 | Lượt tải: 1download
Tóm tắt nội dung Bài giảng Phân tích và thiết kế hướng đối tượng sử dụng UML - Use-Case Analysis, để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
te : Type = InitValue
Attribute : Type = InitValue
Trong analysis, không nên 
tốn nhiều thời gian cho
việc xác định các attribute
signatureCourseOffering
>
number :String=“100”
startTime : Time
endTime: Time
days: enumattribute
52
OOAD Sử dụng UML - Phân tích Use-Case
Dương Anh Đức 9/2000
Finding Attributes
z Các thuộc tính/đặc điểm của các class
z Các thông tin ddc giữ lại bởi các class
z Các “danh từ” không biến thành class
– Các thông tin mà giá trị của chúng là quan 
trọng
– Các thông tin ddc sở hữu bởi 1 object duy nhất
– Các thông tin không có hành vi
53
OOAD Sử dụng UML - Phân tích Use-Case
Dương Anh Đức 9/2000
Review: What is an Association?
z Mô hình hóa một liên hệ ngữ nghĩa giữa 
các thể hiện (instances) của các class
Simple 
association
>
Student
>
Schedule
>
CourseOffering
Reflexive 
association
is a pre-requisite of
>
Course
Association là một quan hệ cấu trúc
54
OOAD Sử dụng UML - Phân tích Use-Case
Dương Anh Đức 9/2000
Review: What are Roles?
z “Nhân vật” mà một class “đóng vai” trong 
association
Department head
>
Professor
>
Department
>
CourseOffering
Instructor
Role Name
Pre-requisites
>
Course
55
OOAD Sử dụng UML - Phân tích Use-Case
Dương Anh Đức 9/2000
Ví duï:ï Multiple Associations
CourseOffering
>
Schedule
>
primaryCourses
alternateCourses
CourseOffering
>
Schedule
> add student to
remove student from
Các Multiple association phải phản ánh multiple roles
56
OOAD Sử dụng UML - Phân tích Use-Case
Dương Anh Đức 9/2000
Review: Multiplicity
z Không mô tả
z Duy nhất một
z Zero hoặc nhiều
(many, unlimited)
z Một hoặc nhiều
z Zero hoặc 1
z Một đoạn
z Nhiều đoạn rời nhau
*
1
0..*
1..*
0..1
2..4
2, 4..6
57
OOAD Sử dụng UML - Phân tích Use-Case
Dương Anh Đức 9/2000
Ví duï:ï Multiplicity
Bản số
0..4
0..2
primaryCourses
alternateCourses
0..*
0..*
0..*1
>
Student
>
Schedule >
CourseOffering
58
OOAD Sử dụng UML - Phân tích Use-Case
Dương Anh Đức 9/2000
Review: Navigability
z Khả năng định hướng từ associating class 
đến target class
Class1 Class2
Hai chiều
Một chiều Class1 Class2
59
OOAD Sử dụng UML - Phân tích Use-Case
Dương Anh Đức 9/2000
Ví duï:ï Navigability
1-way navigation
1 1
>
RegisterForCoursesForm
>
RegistrationController
2-way navigation
0..4
0..2
primaryCourses
alternateCourses
0..*
0..*
>
Schedule
>
CourseOffering
60
OOAD Sử dụng UML - Phân tích Use-Case
Dương Anh Đức 9/2000
Review: What is Aggregation?
z Một dạng đặc biệt của association dùng để 
mô hình hóa một mối quan hệ toàn thể-bộ 
phận giữa toàn thể và các phần của nó
Whole/aggregate part
0..4
0..2
primaryCourses
alternateCourses
0..*
0..*
>
Schedule >
CourseOffering
1>
Student 0..*
61
OOAD Sử dụng UML - Phân tích Use-Case
Dương Anh Đức 9/2000
Association or Aggregation?
z Xem xét
– Ngữ cảnh, các đặc trưng độc lập của Class2
Class1 Class2
association
Khi cảm thấy nghi ngờ hãy dùng association
Class1 Class2aggregation
62
OOAD Sử dụng UML - Phân tích Use-Case
Dương Anh Đức 9/2000
Association Class
z Một class “được gắn” vào một association
z Chứa các thuộc tính của relationship
z Một thể hiện / 1 link ScheduleOfferingInfo
status
// mark as selected()
// mark as cancelled()
// is selected?()
>
CourseOffering
>
Schedule
>
0..*
0..4
primaryCourses
alternateCourses
0..* 0..2
PrimaryScheduleOfferingInfob
grade
// is enrolled in?()
// mark as enrolled in()
// mark as committed()
>
63
OOAD Sử dụng UML - Phân tích Use-Case
Dương Anh Đức 9/2000
Finding Relationships
1: PerformResponsibility
:ClientCollaboration
Diagram
:Supplier
Link
Client Supplier
Association
Class
Diagram 0..*
Prime suppliers
0..* Supplier
PerformResponsibility()
Client
Tạo relationship cho mọi link!
64
OOAD Sử dụng UML - Phân tích Use-Case
Dương Anh Đức 9/2000
Ví duï:ï VOPC: Finding Relationships
RegisterForCoursesForm
// create schedule ()
// display course offerings ()
// display blank schedule
// select 4 primary and 2 alternate offerings()
>
1
1
1 0..*
Schedule
// create with offerings()
>
RegistrationController
// get course offerings()
// create schedule with offerings
>
// get course offerings(forSemester)
CourseCatalogSystem
>
Student
// add schedule (Schedule)
>
registrant
0..1
0..1
0..1
1 currentSchedule
65
OOAD Sử dụng UML - Phân tích Use-Case
Dương Anh Đức 9/2000
Ví duï:ï VOPC: Finding Relationships (contd)
ScheduleOfferingInfo
status
// mark as selected()
// mark as cancelled()
// is selected?()
>
PrimaryScheduleOfferingInfob
grade
// is enrolled in?()
// mark as enrolled in()
>
CourseOffering
number : String = "100"
startTime : Time
endTime : Time
days : Enum
// add student()
// cancel()
// still open?()
// save()
>
Schedule
// cancel(theOffering : CourseOffering)
// submit()
// any conflicts?()
// create with offerings()
>
0..* 0..4
alternateCourses0..* 0..2
primaryCourses
66
OOAD Sử dụng UML - Phân tích Use-Case
Dương Anh Đức 9/2000
Use-Case Analysis Steps
z Bổ sung các mô tả của Use-Case
z Đ/v mỗi use-case realization 
– Tìm các Class từ Use-Case Behavior 
– Phân bổ Use-Case Behavior cho các Class
z Đ/v mỗi analysis class tìm được
– Mô tả các nhiệm vụ của chúng 
– Mô tả các Attribute và Association 
– Lượng giá các Analysis Mechanism
z Hợp nhất các Analysis Class
z Checkpoints
67
OOAD Sử dụng UML - Phân tích Use-Case
Dương Anh Đức 9/2000
Describing Analysis Mechanisms
z Tập hợp tất cả analysis mechanisms trong 
1 danh sách
z Vẽ một ánh xạ các client classes đến các
analysis mechanism
z Xác định các đặc trưng của Analysis 
Mechanisms
Analysis Class Analysis Mechanism(s)
68
OOAD Sử dụng UML - Phân tích Use-Case
Dương Anh Đức 9/2000
Ví duï:ï Describing Analysis Mechanisms
z Ánh xạ giữa Analysis class và analysis 
mechanism
Analysis Class Analysis Mechanism(s)
Student
Schedule
CourseOffering
Course
RegistrationController
Persistency, Security
Persistency, Legacy Interface
Persistency, Legacy Interface
Distribution
Persistency, Security
69
OOAD Sử dụng UML - Phân tích Use-Case
Dương Anh Đức 9/2000
Ví duï:ï Describing Analysis Mechanisms (cont.)
z Các đặc trưng của Analysis mechanism
z Persistency của Schedule class:
– Granularity: 1 đến 10 Kbytes / sản phẩm
– Volume: tối đa 2,000 schedule
– Access frequency
z Create: 500 lần / ngày
z Read: 2,000 lần / giờ
z Update: 1,000 lần / ngày
z Delete: 50 lần / ngày
– Etc.
70
OOAD Sử dụng UML - Phân tích Use-Case
Dương Anh Đức 9/2000
Use-Case Analysis Steps
z Bổ sung các mô tả của Use-Case
z Đ/v mỗi use-case realization 
– Tìm các Class từ Use-Case Behavior 
– Phân bổ Use-Case Behavior cho các Class
z Đ/v mỗi analysis class tìm được
– Mô tả các nhiệm vụ của chúng 
– Mô tả các Attribute và Association 
–Lượng giá các Analysis Mechanism
z Hợp nhất các Analysis Class
z Checkpoints
71
OOAD Sử dụng UML - Phân tích Use-Case
Dương Anh Đức 9/2000
Unify Analysis Classes
>
>
>>
72
OOAD Sử dụng UML - Phân tích Use-Case
Dương Anh Đức 9/2000
Evaluate Your Results
Supplementary
Specification
Glossary
Design Model
Analysis Classes
Use-Case Model
73
OOAD Sử dụng UML - Phân tích Use-Case
Dương Anh Đức 9/2000
Use-Case Analysis Steps
z Bổ sung các mô tả của Use-Case
z Đ/v mỗi use-case realization 
– Tìm các Class từ Use-Case Behavior 
– Phân bổ Use-Case Behavior cho các Class
z Đ/v mỗi analysis class tìm được
– Mô tả các nhiệm vụ của chúng 
– Mô tả các Attribute và Association 
–Lượng giá các Analysis Mechanism
z Hợp nhất các Analysis Class
z Checkpoints
74
OOAD Sử dụng UML - Phân tích Use-Case
Dương Anh Đức 9/2000
Checkpoints: Analysis Classes
z Các class có hợp lý không?
z Tên của các class có phản ánh đúng vai trò 
của chúng?
z Class có biểu diễn 1 single well-defined 
abstraction? 
z Tất cả các attribute và responsibility có gắn 
kết với nhau về mặt chức năng không?
z Class có cung cấp các hành vi được y/c?
z Tất cả các y/c cụ thể đã được thể hiện trên 
class chưa?
(continued)
75
OOAD Sử dụng UML - Phân tích Use-Case
Dương Anh Đức 9/2000
Checkpoints: Use-Case Realizations
z Tất cả các luồng chính và luồng con đã 
được điều khiển chưa, bao gồm cả các t/h 
ngoài lệ?
z Đã tìm thấy tất cả các đối tượng cần thiết?
z Đã phân phối một cách rõ ràng tất cả các 
hành vi về các đối tượng chưa?
z Các hành vi có được phân phối về đúng đối 
tượng không?
z Các interaction diagrams nằm ở đâu, mối 
quan hê gwiax chúng có rõ ràng và phù hợp 
không?
76
OOAD Sử dụng UML - Phân tích Use-Case
Dương Anh Đức 9/2000
Review: Use-Case Analysis
z Mục tiêu của Use-Case Analysis là gì?
z Một analysis class là gì? Cho biết tên và 
mô tả về 3 analysis stereotype.
z Use-case realization là gì?
z Mô tả một vài hoạt động khảo sát when đặt 
các trách nhiệm cho các analysis class.
z Bao nhiêu interaction diagram phải được 
xây dựng trong giai đoạn Use-Case 
Analysis? 
77
OOAD Sử dụng UML - Phân tích Use-Case
Dương Anh Đức 9/2000
Exercise: Use-Case Analysis, Part 2
z Hãy cho biết các khái niệm sau:
– Các Requirements artifact, đặc biệt là đặc tả bổ 
sung
– Các cơ chế phân tích có thể
– Các flow of events interaction diagram cho một 
use case cụ thể
(continued)
78
OOAD Sử dụng UML - Phân tích Use-Case
Dương Anh Đức 9/2000
Exercise: Use-Case Analysis, Part 2 (cont.)
z Với mỗi use case hãy xác định các dữ kiện 
sau:
– Các thuộc tính và các mối quan hệ của 
Analysis class 
– Các cơ chế phân tích Analysis class
(continued)
79
OOAD Sử dụng UML - Phân tích Use-Case
Dương Anh Đức 9/2000
Exercise: Use-Case Analysis, Part 2 (cont.)
z Xây dựng các lược đồ sau:
– VOPC class diagram, chứa các analysis class,
stereotype của chúng, nhiệm vụ, các attribute,
và relationship.
– Ánh xạ Analysis class với các cơ chế phân tích

File đính kèm:

  • pdfBài giảng Phân tích và thiết kế hướng đối tượng sử dụng UML - Use-Case Analysis.pdf
Tài liệu liên quan