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