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

Use-Case Analysis past 2

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 (302.71 KB, 38 trang )

Exercise: Use-Case Analysis, Part 1
w Hãy xây dựng:

§ Use-Case Model, đặc biệt là các use-c
of events
§ Các trừu tượng hóa/class then chốt

(còn tie
PT & TK Hướng đối tượng – Thiết kế kiến trúc
Dương Anh Đức

42


Exercise: Use-Case Analysis, Part 1 (

w Hãy xác định các thông tin sau cho
case cụ thể:

§ Các analysis class, cùng vụựi chuựng laứ:
ã Brief descriptions
ã Stereotypes
ã Responsibilities
Đ Caực collaboration can thiết để cài đặt

(còn tie
PT & TK Hướng đối tượng – Thiết kế kiến trúc
Dương Anh Đức

43



Exercise: Use-Case Analysis, Part 1 (

w Với một use case cụ thể, hãy thiết la

§ Use-case realization interaction diagra
thiểu một trong các use-case flows of e

PT & TK Hướng đối tượng – Thiết kế kiến trúc
Dương Anh Đức

44


Use-Case Analysis Steps
w Bổ sung các mô tả của Use-Case
w Đ/v mỗi use-case realization

§ Tìm các Class từ Use-Case Behavior
§ Phân bổ Use-Case Behavior cho các C

w Đ/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

w Hợp nhất các Analysis Class
w Checkpoints
PT & TK Hướng đối tượng – Thiết kế kiến trúc

Dương Anh Đức

45


Describe Responsibilities

w Trách nhiệm (responsibilities) là gì?
w Làm thế nào để tìm ra chúng?
Interaction Diagram
:Client

:Supplier
// PerformResponsibility

Class Diagram
Supplier
// PerformResponsibility
PT & TK Hướng đối tượng – Thiết kế kiến trúc
Dương Anh Đức

46


Ví dụ: View of Participating Classes (VOPC)
Diagram
<<control>>
RegistrationController
<<boundary>>
RegisterForCoursesForm

// submit schedule()
// display course offerings()
// display schedule()
// create schedule()
// select 4 primary and 2 alternate offerings()
// display blank schedule()

<<entity>>
Student
// add schedule()
// has pre-requisites()

// get course offerings()
// submit schedule()
// create schedule with offerings()

// get co

<<entity>>
Schedule

Sch
statu

// create with offerings()
// submit()
// save()

// ma
// ma

// is s

<<entity>>
CourseOffering
number : String = "100"
startTime : Time
endTime : Time
days : Enum
// add student()
// still open?()
// save()

PT & TK Hướng đối tượng – Thiết kế kiến trúc
Dương Anh Đức

<<
Course

47

Primary
grade

// is enro
// mark a


Maintaining Consistency: What to Loo
w In order of criticality
§

§
§
§
§
§

Redundant responsibilities across clas
Disjoint responsibilities within classes
Class with one responsibility
Class with no responsibilities
Better distribution of behavior
Class that interacts with many other c

PT & TK Hướng đối tượng – Thiết kế kiến trúc
Dương Anh Đức

48


Use-Case Analysis Steps
w Bổ sung các mô tả của Use-Case
w Đ/v mỗi use-case realization

§ Tìm các Class từ Use-Case Behavior
§ Phân bổ Use-Case Behavior cho các C

w Đ/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

w Hợp nhất các Analysis Class
w Checkpoints
PT & TK Hướng đối tượng – Thiết kế kiến trúc
Dương Anh Đức

49


Describe Attributes and Associations

w Định nghóa các Attribute
w Thiết lập các mối quan hệ dạng Agg
và Association

PT & TK Hướng đối tượng – Thiết kế kiến trúc
Dương Anh Đức

50


Review: What is an Attribute?
<<stereotype>>

ClassName
Attribute : Type = InitValue
Attribute : Type = InitValue
Attribute : Type = InitValue


<<entity>>

CourseOffering

attribute

PT & TK Hướng đối tượng – Thiết kế kiến trúc
Dương Anh Đức

number :String=“100”
startTime : Time
endTime: Time
days: enum

51

Trong analys
tốn nhiều th
việc xác địn
signature


Finding Attributes

w Các thuộc tính/đặc điểm của các cl
w Các thông tin ddc giữ lại bởi các cla
w Các danh từ không biến thành class
§ Các thông tin mà giá trị của chúng là
§ Các thông tin ddc sở hữu bởi 1 object
§ Các thông tin không có hành vi


PT & TK Hướng đối tượng – Thiết kế kiến trúc
Dương Anh Đức

52


Review: What is an Association?

w Mô hình hóa một liên hệ ngữ nghóa
thể hiện (instances) của các class
<<entity>>
Student

<<entity>
CourseOffe
Simple
association

is a pre-req

<<entity>>
Schedule

Reflexive
association

Association là một quan hệ cấu t
PT & TK Hướng đối tượng – Thiết kế kiến trúc
Dương Anh Đức


53


Review: What are Roles?

w Nhân vật mà một class đóng vai tro
association

<<entity>>
Professor

<<entity>>
CourseOffering
Instructor

Depa

Role Name

<<entity>>
Departmen

Pre-requisites
<<entity>>
Course

PT & TK Hướng đối tượng – Thiết kế kiến trúc
Dương Anh Đức


54


Ví dụ: Multiple Associations
primaryCourses
<<entity>>
Schedule

<CourseO
alternateCourses

<<entity>>
Schedule

add student to
remove student from

<
Co

Các Multiple association phải phản ánh multi
PT & TK Hướng đối tượng – Thiết kế kiến trúc
Dương Anh Đức

55


Review: Multiplicity
w Không mô tả

w Duy nhất một
w Zero hoặc nhiều
(many, unlimited)
w
w
w
w

1
0..*
*

Một hoặc nhiều
Zero hoặc 1
Một đoạn
Nhiều đoạn rời nhau

PT & TK Hướng đối tượng – Thiết kế kiến trúc
Dương Anh Đức

1..*
0..1
2..4
2, 4..6

56


Ví dụ: Multiplicity


Bản số

<<entity>>
Student

1

0..*

<<entity>>
Schedule

0..*
0..*

primaryCourses

0..2
alternateCourses

PT & TK Hướng đối tượng – Thiết kế kiến trúc
Dương Anh Đức

57

0


Review: Navigability


w Khả năng định hướng từ associating
đến target class
Hai chiều

Một chiều

PT & TK Hướng đối tượng – Thiết kế kiến trúc
Dương Anh Đức

Class1

C

Class1

58


Ví dụ: Navigability
<<boundary>>
1
RegisterForCoursesForm

1

<
Regist

1-way navigation


<<entity>>
Schedule

0..4

0..*

primaryCourses

0..*

0..2

alternateCourses

<Course

2-way navigation
PT & TK Hướng đối tượng – Thiết kế kiến trúc
Dương Anh Đức

59


Review: What is Aggregation?

w Một dạng đặc biệt của association d
mô hình hóa một mối quan hệ toàn
phận giữa toàn thể và các phần của

Whole/aggregate

<<entity>>
Student

1

0..*

part

<<entity>>
Schedule

0..*
0..*

primaryCourses

0..2
alternateCourses

PT & TK Hướng đối tượng – Thiết kế kiến trúc
Dương Anh Đức

60

0



Association or Aggregation?
w Xem xét
§ Ngữ cảnh, các đặc trưng độc lập của
Class1

Clas
association

Class1

aggregation

Clas

Khi cảm thấy nghi ngờ hãy dùng as
PT & TK Hướng đối tượng – Thiết kế kiến trúc
Dương Anh Đức

61


Association Class

w Một class được gắn vào một associa
w Chứa các thuộc tính của relationshi
w Một thể hiện / 1 link
<<entity>>
ScheduleOfferingInfo
status
// mark as selected()

// mark as cancelled()
// is selected?()

<<entity>>
Schedule

0..*

0..*

<<entity>>
PrimaryScheduleOfferingInfob
grade

PT & TK Hướng đối tượng – Thiết kế kiến trúc
Dương Anh Đức

// is enrolled in?()
// mark as enrolled in()
62
// mark as committed()

alterna

prima


Finding Relationships

1: PerformResponsibi


Collaboration
Diagram

:Client

Link
Client

Class
Diagram

Client

0..*

0..*

Prime suppliers

Perform

Association
PT & TK Hướng đối tượng – Thiết kế kiến trúc
Dương Anh Đức

Tạo relationship cho mọi link!
63



Ví dụ: VOPC: Finding Relationships
<<boundary>>
RegisterForCoursesForm

// create schedule ()
// display course offerings ()
// display blank schedule
// select 4 primary and 2 alternate offering
1
1
<<boundary>>
CourseCatalogSystem

1

// get course offerings(forSemester)

0..*

<<control>>
RegistrationController

// get course offerings()
// create schedule with offerings
0..1
0..1

0..1
1


registrant

currentSchedu

<<entity>>
Student

<<entity>>
Schedule

// add schedule (Schedule)

// create with offerings()

PT & TK Hướng đối tượng – Thiết kế kiến trúc
Dương Anh Đức

64


Ví dụ: VOPC: Finding Relationships (c
<<entity>>
PrimaryScheduleOfferingInfob
grade
// is enrolled in?()
// mark as enrolled in()
<<entity>>
Schedule

primaryCours


// cancel(theOffering : CourseOffering)
// submit()
0..*
// any conflicts?()
0..*
// create with offerings()

0
alternateCourses

<<entity>>
ScheduleOfferingInfo
status
// mark as selected()
// mark as cancelled()
// is selected?()

PT & TK Hướng đối tượng – Thiết kế kiến trúc
Dương Anh Đức

65


Use-Case Analysis Steps
w Bổ sung các mô tả của Use-Case
w Đ/v mỗi use-case realization

§ Tìm các Class từ Use-Case Behavior
§ Phân bổ Use-Case Behavior cho các C


w Đ/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

w Hợp nhất các Analysis Class
w Checkpoints
PT & TK Hướng đối tượng – Thiết kế kiến trúc
Dương Anh Đức

66


Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×