Tải bản đầy đủ (.ppt) (52 trang)

PTTKHT - Chương 5

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 (10.81 MB, 52 trang )


Chương 5: Thiết kế hệ thống hướng
Chương 5: Thiết kế hệ thống hướng
đối tượng
đối tượng

Nhiệm vụ và các bước trong giai đoạn
Nhiệm vụ và các bước trong giai đoạn
thiết kế.
thiết kế.
Mục tiêu
Mục tiêu

Thiết kế hệ thống dựa trên các đối tượng đã được trích chọn
Thiết kế hệ thống dựa trên các đối tượng đã được trích chọn
trong quá trình phân tích hướng đối tượng.
trong quá trình phân tích hướng đối tượng.
Tìm sự tương ứng giữa các đối tượng trong không gian
Tìm sự tương ứng giữa các đối tượng trong không gian
bài toán với đối tượng trong không gian lời giải, xác
bài toán với đối tượng trong không gian lời giải, xác
định kiến trúc và mô hình tính toán của hệ thống.
định kiến trúc và mô hình tính toán của hệ thống.

mô tả các Real UC
mô tả các Real UC

xây dựng biểu đồ tương tác
xây dựng biểu đồ tương tác

Thiết kế biểu đồ lớp chi tiết


Thiết kế biểu đồ lớp chi tiết

Vẽ biểu đồ thành phần và biểu đồ triển khai
Vẽ biểu đồ thành phần và biểu đồ triển khai

Ví dụ: hệ thống ATM
Ví dụ: hệ thống ATM
Bước 1: Từ kịch bản UC xây dựng:
Bước 1: Từ kịch bản UC xây dựng:

Biểu đồ tuần tự
Biểu đồ tuần tự

Biểu đồ cộng tác
Biểu đồ cộng tác

- Biểu đồ tuần tự của hệ thống mô tả tương tác
- Biểu đồ tuần tự của hệ thống mô tả tương tác
giữa toàn bộ hệ thống với một Actor bên
giữa toàn bộ hệ thống với một Actor bên
ngoài. Nhìn vào biểu đồ sẽ biết hệ thống làm
ngoài. Nhìn vào biểu đồ sẽ biết hệ thống làm
cái gì? Không cần giải thích làm như thế nào.
cái gì? Không cần giải thích làm như thế nào.
Vì vây phải xác định và mô tả các hoạt động
Vì vây phải xác định và mô tả các hoạt động
của hệ thống mà một Actor yêu cầu, xác định
của hệ thống mà một Actor yêu cầu, xác định
các sự kiện vào hệ thống bằng cách xem kỹ
các sự kiện vào hệ thống bằng cách xem kỹ

các UC và kịch bản của nó.
các UC và kịch bản của nó.

Biểu đồ cộng tác và Các ký hiệu dùng trong biểu đồ
Biểu đồ cộng tác và Các ký hiệu dùng trong biểu đồ
-Thể hiện (hoặc đối tượng) sử dụng cùng ký hiệu đồ họa như
-Thể hiện (hoặc đối tượng) sử dụng cùng ký hiệu đồ họa như
kiểu (hoặc lớp) của nó, nhưng tên được gạch chân và
kiểu (hoặc lớp) của nó, nhưng tên được gạch chân và
được đặt trước bỡi một dấu hai chấm
được đặt trước bỡi một dấu hai chấm
-Liên kết: là đường nối giữa hai đối tượng đó, thể hiện chiều
-Liên kết: là đường nối giữa hai đối tượng đó, thể hiện chiều
hướng và khả năng nhìn thấy nhau giữa các đối tượng
hướng và khả năng nhìn thấy nhau giữa các đối tượng
-Thông điệp: Các thông điệp giữa các đối tượng được biểu
-Thông điệp: Các thông điệp giữa các đối tượng được biểu
diễn bằng mũi tên được gán nhãn. Bất cứ thông điệp nào
diễn bằng mũi tên được gán nhãn. Bất cứ thông điệp nào
có thể gởi dọc theo liên kết này, cùng với một con số để
có thể gởi dọc theo liên kết này, cùng với một con số để
chỉ thứ tự thông điệp được gởi. Thông điệp có thể được
chỉ thứ tự thông điệp được gởi. Thông điệp có thể được
truyền giữa 2 đối tượng của 2 lớp có quan hệ liên kết
truyền giữa 2 đối tượng của 2 lớp có quan hệ liên kết
hoặc quay vòng (đệ quy) gởi thông điệp cho chính nó
hoặc quay vòng (đệ quy) gởi thông điệp cho chính nó

Quy tắc đánh số trong biểu đồ cộng tác
Quy tắc đánh số trong biểu đồ cộng tác

-Message đầu tiên không đánh số
-Message đầu tiên không đánh số
-Các đó message gửi tới cho các đối tượng tiếp theo được
-Các đó message gửi tới cho các đối tượng tiếp theo được
đánh số tăng dần 1:-, 2:-, …
đánh số tăng dần 1:-, 2:-, …
-Các đó message gửi tới cho các đối tượng tiếp theo nữa
-Các đó message gửi tới cho các đối tượng tiếp theo nữa
được đánh số theo quy tắc dấu chấm 1.1:-, 2.1:-, 2.2:- ,
được đánh số theo quy tắc dấu chấm 1.1:-, 2.1:-, 2.2:- ,


-Biểu diễn các điều kiện trên đường truyền message 2a:-,
-Biểu diễn các điều kiện trên đường truyền message 2a:-,
2b:-, 2a.1:-, 2a.2:-,…
2b:-, 2a.1:-, 2a.2:-,…

Tham số: Tham số có thể được chỉ ra trong dấu ngoặc
Tham số: Tham số có thể được chỉ ra trong dấu ngoặc
đơn sau tên thông điệp, kiểu của tham số có thể chỉ ra
đơn sau tên thông điệp, kiểu của tham số có thể chỉ ra
một cách tùy ý.
một cách tùy ý.
Các ký hiệu khác
Các ký hiệu khác
+ Thông điệp đã gởi sang đối tượng yêu cầu thì một giá trị
+ Thông điệp đã gởi sang đối tượng yêu cầu thì một giá trị
có thể được trả về cho đối tượng gởi. Biến chứa giá trị
có thể được trả về cho đối tượng gởi. Biến chứa giá trị
trả về được đặt trước thông điệp bằng phép gán, kiểu

trả về được đặt trước thông điệp bằng phép gán, kiểu
của giá trị trả về có thể chỉ ra tùy ý. Biến nhận kết quả
của giá trị trả về có thể chỉ ra tùy ý. Biến nhận kết quả
trả lại có cú pháp:
trả lại có cú pháp:
Return:=message(parameter: parameter kiểu): returnKiểu
Return:=message(parameter: parameter kiểu): returnKiểu
Ví dụ: nd:=layThongtin(): String
Ví dụ: nd:=layThongtin(): String

+Thông điệp lặp: đối tượng có thể gởi lặp đi lặp lại một
+Thông điệp lặp: đối tượng có thể gởi lặp đi lặp lại một
thông điệp cho đối tượng khác, điều này được biểu diễn
thông điệp cho đối tượng khác, điều này được biểu diễn
bằng dấu hoa thị “*” đằng trước thông điệp và mệnh đề
bằng dấu hoa thị “*” đằng trước thông điệp và mệnh đề
lặp được đặt trong dấu ngoặc vuông
lặp được đặt trong dấu ngoặc vuông
*[x<5]: thông điệp sẽ được gởi lặp đi lặp lại cho đến khi
*[x<5]: thông điệp sẽ được gởi lặp đi lặp lại cho đến khi
x>=5
x>=5
*[i:=1..5]msg3()
*[i:=1..5]msg3()
+ Thông điệp tạo create() gởi tới đối tượng được tạo lập
+ Thông điệp tạo create() gởi tới đối tượng được tạo lập
+ Thông điệp điều kiện: thông điệp được gởi từ đối tượng
+ Thông điệp điều kiện: thông điệp được gởi từ đối tượng
này sang đối tượng khác khi điều kiện được thoả mãn,
này sang đối tượng khác khi điều kiện được thoả mãn,

các điều kiện được đặt trong cặp dấu [], trong điều kiện
các điều kiện được đặt trong cặp dấu [], trong điều kiện
có thể sử dụng or, and, not, đôi khi có cả cấu trúc for,
có thể sử dụng or, and, not, đôi khi có cả cấu trúc for,
while
while

Kịch bản UC Rút tiền:
Kịch bản UC Rút tiền:
9
Tên UC:
Tên UC:
Rút tiền
Rút tiền
Các tác nhân liên quan:
Các tác nhân liên quan:
Luồng sự kiện chính:
Luồng sự kiện chính:
Khách hàng
Khách hàng
Hành động tác nhân
Hành động tác nhân
Phản ứng hệ thống
Phản ứng hệ thống
1.Đưa thẻ vào hệ thống
1.Đưa thẻ vào hệ thống
2. Đọc thẻ
2. Đọc thẻ
3.Hiện cửa sổ yêu cầu nhập PIN
3.Hiện cửa sổ yêu cầu nhập PIN

4. Mở tài khoản
4. Mở tài khoản
5. Nhập PIN
5. Nhập PIN
6. Yêu cầu chọn chức năng giao dịch
6. Yêu cầu chọn chức năng giao dịch
7. Chọn chức năng rút tiền
7. Chọn chức năng rút tiền
8. Hiện cửa sổ yêu cầu nhập số tiền
8. Hiện cửa sổ yêu cầu nhập số tiền
9.Nhập số tiền cần rút
9.Nhập số tiền cần rút
10.Trả số tiền cho khách hàng
10.Trả số tiền cho khách hàng
11. Trả biên nhận
11. Trả biên nhận
12. Trả thẻ và đóng hệ thống
12. Trả thẻ và đóng hệ thống
Ngoại lệ:

Nếu ở bước 5 nhập số PIN sai, yêu cầu nhập lại PIN(được phép nhập 3 lần)

Nếu ở bước 9 nhập số tiền rút lớn hơn số dư tài khoản thì yêu cầu nhập lại

10
đọc số thẻVăn: Khách hàng Màn hình
ATM
Máy trả
tiền
Tài khoản

ông Văn
1: Chấp nhận thẻ
2: đọc số thẻ
3: khởi động màn hình
4: Mở tài khoản
5: Yêu cầu nhập pin
6: Nhập PIN(1234)
7: Kiểm tra PIN
8: Yêu cầu giao dịch
9: Chọn giao dịch(Rút tiền)
10: Yêu cầu nhập số tiền
11: Nhập số tiền(100000đ)
12: Rút tiền(100000đ)
13: Kiểm tra tài khoản(>=100000đ)
14: Giảm tài khoản(100000đ)
15: trả tiền(100000đ)
16: Trả biên nhận
17: đẩy thẻ ra

Biu trỡnh t rỳt tin ca h thng ATM

11
Biểu đồ cộng tác khách hàng rút 100000đ
Biểu đồ cộng tác khách hàng rút 100000đ
: Khach
hang
Màn hình
ATM
Tài khoan
Máy doc

the
Máy tra tien
1: Nhap the
2: Doc the
3: Khoi dong
4: Ycnhap pin
5: Nhap pin
6: KT pin
7: Mo TK
8: YC chon GD
9: Chon Rut tien
10: Nhap so tien
11: Nhap 100000
12: Rut 100000
13: KT TK
14: Tru 100000
15: Tra tien
16: Tra bien nhan
17: Tra the

Ví dụ: hệ thống thang máy …
Ví dụ: hệ thống thang máy …
Biểu đồ tuần tự

Ví dụ: hệ thống thang máy …
Ví dụ: hệ thống thang máy …
Biểu đồ cộng tác

Bước 2: Xây dựng biểu đồ lớp chi tiết
Bước 2: Xây dựng biểu đồ lớp chi tiết

Biểu đồ lớp chỉ ra sự tồn tại của các lớp và
Biểu đồ lớp chỉ ra sự tồn tại của các lớp và
quan hệ của chúng dưới khung nhìn logic của
quan hệ của chúng dưới khung nhìn logic của
hệ thống
hệ thống
Một lớp là một tập hợp các đối tượng có cấu
Một lớp là một tập hợp các đối tượng có cấu
trúc chung, ứng xử chúng, quan hệ chung và
trúc chung, ứng xử chúng, quan hệ chung và
ngữ nghĩa chung
ngữ nghĩa chung
Phát hiện lớp dựa trên việc kiểm tra các đối
Phát hiện lớp dựa trên việc kiểm tra các đối
tượng trong biểu đồ tuần tự và biểu đồ cộng
tượng trong biểu đồ tuần tự và biểu đồ cộng
tác
tác

Lớp
Lớp
RegistrationForm
RegistrationManager
Course
Student
CourseOffering
Professor
ScheduleAlgorithm

Phương thức

Phương thức
Ứng xử của một lớp được thể hiện bới phương
Ứng xử của một lớp được thể hiện bới phương
thức của lớp đó
thức của lớp đó
Phát hiện phương thức dựa trên việc kiểm tra
Phát hiện phương thức dựa trên việc kiểm tra
các biểu đồ tương tác
các biểu đồ tương tác
registration
form
registration
manager
3: add course(joe, math 01)
RegistrationManager
addCourse(Student,Course)

Thuộc tính
Thuộc tính
Cấu trúc của một lớp được thê hiện thông qua
Cấu trúc của một lớp được thê hiện thông qua
thuộc tính của nó
thuộc tính của nó
Phát hiện thuộc tính dựa trên định nghĩa của
Phát hiện thuộc tính dựa trên định nghĩa của
lớp, các yêu cầu và miền ứng dụng.
lớp, các yêu cầu và miền ứng dụng.
Each course offering
has a number, location
and time

CourseOffering
number
location
time

Lớp
Lớp
RegistrationForm
RegistrationManager
addStudent(Course, StudentInfo)
Course
name
numberCredits
open()
addStudent(StudentInfo)
Student
name
major
CourseOffering
location
open()
addStudent(StudentInfo)
Professor
name
tenureStatus
ScheduleAlgorithm

Quan hệ
Quan hệ
Quan hệ cung cấp phương pháp giao tiếp giữa

Quan hệ cung cấp phương pháp giao tiếp giữa
các đối tượng
các đối tượng
Biểu đồ cộng tác và tuần tự được kiểm tra để
Biểu đồ cộng tác và tuần tự được kiểm tra để
xác định liên kết giữa các đối tượng.
xác định liên kết giữa các đối tượng.

Nếu 2 đối tượng cần giao tiếp với nhau thì sẽ tồn tại
Nếu 2 đối tượng cần giao tiếp với nhau thì sẽ tồn tại
quan hệ giữa chúng.
quan hệ giữa chúng.
Registration
Manager
Math 101:
Course
3: add student(joe)
RegistrationManager
Course

Ví dụ: hệ thống thang máy …
Ví dụ: hệ thống thang máy …
Biểu đồ lớp chi tiết

Biểu đồ dịch chuyển trạng thái
Biểu đồ dịch chuyển trạng thái
Biểu đồ dịch chuyển trạng thái biểu diễn
Biểu đồ dịch chuyển trạng thái biểu diễn

Chu kỳ của một lớp

Chu kỳ của một lớp

Các sự kiện gây ra sự dịch chuyển từ trạng thái nàu
Các sự kiện gây ra sự dịch chuyển từ trạng thái nàu
sang trạng thái khác
sang trạng thái khác

Các hành động là kết quả của sự thay đổi trạng thái
Các hành động là kết quả của sự thay đổi trạng thái

Biểu đồ trạng thái trong UML mô tả các sự
Biểu đồ trạng thái trong UML mô tả các sự
kiện quan trọng, trạng thái và hành vi của đối
kiện quan trọng, trạng thái và hành vi của đối
tượng trong việc phản ứng với sự kiện. Sự
tượng trong việc phản ứng với sự kiện. Sự
chuyển trạng thái được chỉ ra bằng các mũi tên,
chuyển trạng thái được chỉ ra bằng các mũi tên,
có nhãn và tên sự kiện gây ra nó. Có 2 trạng
có nhãn và tên sự kiện gây ra nó. Có 2 trạng
thái đặc biệt là trạng thái bắt đầu và trạng thái
thái đặc biệt là trạng thái bắt đầu và trạng thái
kết thúc. Mỗi biểu đồ có duy nhất một trạng
kết thúc. Mỗi biểu đồ có duy nhất một trạng
thái bắt đầu và có thể có nhiều trạng thái kết
thái bắt đầu và có thể có nhiều trạng thái kết
thúc – mô tả trạng thái khi một đối tượng bị
thúc – mô tả trạng thái khi một đối tượng bị
loại bỏ hay ngừng việc phản ứng tới sự kiện.
loại bỏ hay ngừng việc phản ứng tới sự kiện.


Ví dụ về các trạng thái của đối tượng:
Ví dụ về các trạng thái của đối tượng:
- Hóa đơn (đối tượng) đã được trả tiền (trạng
- Hóa đơn (đối tượng) đã được trả tiền (trạng
thái).
thái).
- Chiếc xe ô tô (đối tượng) đang đứng yên (trạng
- Chiếc xe ô tô (đối tượng) đang đứng yên (trạng
thái).
thái).
- Động cơ (đối tượng) đang chạy (trạng thái).
- Động cơ (đối tượng) đang chạy (trạng thái).
- Jen (đối tượng) đang đóng vai trò người bán
- Jen (đối tượng) đang đóng vai trò người bán
hàng (trạng thái).
hàng (trạng thái).
- Kate (đối tượng) đã lấy chồng (trạng thái).
- Kate (đối tượng) đã lấy chồng (trạng thái).

Một số lời mách bảo cho việc tạo dựng biểu
đồ trạng thái
-
Chuyển biểu đồ tuần tự thành biểu đồ trạng thá
i.
- Xác định các vòng lặp (loop)
-
Bổ sung thêm các điều kiện biên và các điều ki
ện đặc biệt
-

Trộn lẫn các cảnh kịch khác vào trong biểu đồ t
rạng thái.

Biểu đồ dịch chuyển trạng thái
Biểu đồ dịch chuyển trạng thái
Initialization
Open
entry: Register student
exit: Increment count
Closed
Canceled
do: Initialize course
do: Finalize course
do: Notify registered students
Add Student /
Set count = 0
Add student[ count < 10 ]
[ count = 10 ]
Cancel
Cancel
Cancel

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

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