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

Định nghĩa các method

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 (178.94 KB, 17 trang )

Các bước thiết kế Class
w
w
w
w
w
w
w
w
w
w
w
w
w

Tạo các Design Class ban đầu
Xác định các Persistent Class
Định nghóa các Operation
Định nghóa Class Visibility
Định nghóa các Method
Định nghóa các trạng thái
Định nghóa các thuộc tính
Định nghóa các phụ thuộc
Định nghóa các mỗi kết hợp
Định nghóa các quan hệ tổng quát hóa
Giải quyết đụng độ giữa các Use-Case
Xử lý các yêu cầu phi chức năng nói chung
Checkpoints

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



34


Định nghóa các Method

w Method là gì ?
§ Mô tả cài đặt của operation
w Mục đích
§ Định nghóa các khía cạnh đặc biệt của o
implementation
w Những gì cần xem xét:
§ Các thuật toán đặc biệt
§ Các object và các operation khác cần sư
§ Cách cài đặt và sử dụng các attribute va
số
§ Cách cài đặt và sử dụng các mối quan h
PT & TK Hướng đối tượng – Thiết kế kiến trúc
Dương Anh Đức

35


Các bước thiết kế Class
w
w
w
w
w
w

w
w
w
w
w
w
w

Tạo các Design Class ban đầu
Xác định các Persistent Class
Định nghóa các Operation
Định nghóa Class Visibility
Định nghóa các Method
Định nghóa các trạng thái
Định nghóa các thuộc tính
Định nghóa các phụ thuộc
Định nghóa các mỗi kết hợp
Định nghóa các quan hệ tổng quát hóa
Giải quyết đụng độ giữa các Use-Case
Xử lý các yêu cầu phi chức năng nói chung
Checkpoints

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

36


Định nghóa các trạng thái
w Mục đích


§ Thiết kế ảnh hưổng của trạng thái đối t
hành vi của nó
§ Phát triển statecharts để mô hình các ha

w Những gì cần xem xét:

§ Những object nào có trạng thái đáng ke
§ Cách xác định các trạng thái của một o
§ Cách ánh xạ statechart với phần còn lại
hình?

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

37


Statechart là gì?
w Là 1 đồ thị có hướng với các node là
thái nối với nhau bới các transition
w Mô tả lịch sử đời sống của đối tượng
State

Event
State Name

event(args)
[guard condition]
/ operation(args)

^target.sendEven

stateVar : type = value
entry/ entry action
do/ activity
exit/ exit action

Action

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

Trans
38


Các trạng thái đặc biệt
w Trang thái bắt đầu (Initial state)

§ Là trạng thái khi mới được khởi tạo của
§ Mang tính bắt buộc
§ Chỉ có thể có 1 initial state
Initial state

w Trang thái kết thúc (Final state)
§ Chỉ vị trí kết thúc đời sống của object
§ Optional
§ Có thể có nhiều
PT & TK Hướng đối tượng – Thiết kế kiến trúc

Dương Anh Đức

39


Qui trình suy dẫn ra Statecharts

w Xác định và định nghóa các trạng thái
w Xác định các event
w Xác định các transition (hồi đáp lại ca
w Thêm các activity và các action

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

40


Xác định và định nghóa các trạng tha
w Significant, dynamic attributes
Số sinh viên tối đa trong 1 lớp là 100
numStudents < 100

numStudents > = 100

Open

Closed

w Sự tồn tại và không tồn tại của các lin

Professor
0..1
0..*

Link to Professor
Exists
Assigned

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

41

Link
Does

Unass


Xác định các Event

w Xem xét các class interface operation
<<entity>>
CourseOffering
+ addProfessor()
+ removeProfessor()

0..*


0..1 <<entity>>
Professor
+instructor

Events: addProfessor, removeProfessor

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

42


Xác định các Transition

w Với mỗi trạng thái, xác định events nào gây ra
đến trạng thái nào, bao gồm các điều kiện kie
cần
w Transitions mô tả điều gì xảy ra khi đối tượng
một event nhân được
<<entity>>
CourseOffering
+ addProfessor()
+ removeProfessor()

0..*

0..1 <<entity>>
Professor
+instructor


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

Assigned
43


Thêm Activities và Actions
w Activities
§
§
§
§

State A

Kết hợp với một trạng thái
Bắt dầu khi trạng thái bắt đầu
event[ condition ]
Cần thời gian để hoàn tất
Có thể ngắt

w Actions

activity

State B

do: activity

§ Kết hợp với 1 transition
§ Cần thời gian không đáng kể để hoàn ta
§ Không thể ngắt ngang
PT & TK Hướng đối tượng – Thiết kế kiến trúc
Dương Anh Đức

44


Gửi Events

w Một event có thể gây ra việc gửi một
khác
w Một activity cùng có thể gửi event đe
khác
State A

event ^TargetObject.event
State B

do: ^TargetObject.eve

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

45



Ví dụ: Statechart
add student / numStudents = numStudents + 1
/ numStudents = 0

remove student / numStudents = numStudents - 1
Unassigned
closeRegistration

addProfessor

cancel

Cancelled
do: Send cancellation not

close
removeProfessor

[ numStudents = 10 ]

cancel

close[ numStudents < 3 ]
add student /
numStudents = numStudents + 1

[ numStudents = 10 ]
Assigned

closeRegistration [ ha


closeRegistration[ numStudents >= 3 ]

do: G

remove student / numStudents = numStudents - 1
PT & TK Hướng đối tượng – Thiết kế kiến trúc
Dương Anh Đức

close[ numStudents >= 3 ]
46


Ví dụ: Statechart với các trạng thái lo
superstate
/ numStudents = 0

Open

Unassigned

Clo

closeRegistration

C
do: Send ca

close


cancel

substate

close[ numStudents < 3 ]
remove a professor
add a professor

[ numStudents = 10 ]

closeRegistration [ has

Assigned
add student /
numStudents = numStudents + 1
H

closeRegistration[ numStudents >= 3 ]

close[ numStudents >= 3 ]

remove student / numStudents = numStudents - 1
PT & TK Hướng đối tượng – Thiết kế kiến trúc
Dương Anh Đức

47

Com
do: Generat



Những Object có Significant State?

w Các Object có vai trò thể hiện rõ bởi
transitions
w Các use case phức tạp là state-contro
w Không cần mô hình hóa tất cả các ob

§ Các Object dễ dàng cài đặt
§ Các Object không thuộc loại state-contr
§ Các Object chỉ với một trạng thái

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

48


Cách Statecharts gắn với phần còn la

w Các Event biến thành các operation
w Các Method phải được cập nhật với c
tin đặc thù cho các trạng thái
w Các trạng thái được biểu diễn bởi attr

§ Chúng là input cho bước định nghóa Att

Open

[numStudents = 10]


Full

Co
add student /
numStudents = numStudents + 1

/- nu

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

(Stay tuned for derived attributes)
49


Bài tập: Định nghóa States (optional)
w Hãy cho biết:
§ Tất cả các design classe

w Hãy xác định:

§ Các Class vứi significant state-controlle
§ Các trạng thái và transitions quan trong

w Hãy xây dựng lược đồ:
§ Statechart của một class

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

Dương Anh Đức

50



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

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