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

phần biểu đồ lớp phân tích thiết kế hướng đối tượng

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 (902.6 KB, 26 trang )

Gv: Vũ Thị Dương
Email:
KHOA CÔNG NGHỆ THÔNG TIN
Trường Đại học công nghiệp Hà Nội
PHÂN TÍCH THIẾT KẾ
HƯỚNG ĐỐI TƯỢNG
Nội dung chi tiết
1. Các khái niệm hướng đối tượng
2. Tổng quan về ngôn ngữ mô hình hóa UML
3. Mô hình hóa yêu cầu (biểu đồ ca sử dụng)
4. Mô hình hóa lĩnh vực ứng dụng (biểu đồ lớp lĩnh vực)
5. Mô hình hóa hành vi( biểu đồ tương tác, trạng thái)
6. Biểu đồ lớp chi tiết
7. Biểu đồ kiến trúc vật lý và phát sinh mã trình
8. Mô hình hóa dữ liệu
2010 Phân tích thiết kế hướng đối tượng Bài 1 - 2
Biểu đồ lớp chi tiết
Bài 6
Phân tích thiết kế hướng đối tượng Bài - 4/34
Nội dung chính
 Các tiên đề trong hệ thống hướng đối tượng
 Tiên đề độc lập
 Tiên đề thông tin
 Bước đầu tinh chế các lớp trong giai đoạn phân
tích thành các lớp trong giai đoạn thiết kế
 Thiết kế thuộc tính
 Mối kết hợp
 Thiết kế phương thức
Phân tích thiết kế hướng đối tượng Bài - 5/34
Nội dung chính
 Các tiên đề trong hệ thống hướng đối tượng


 Tiên đề độc lập: Duy trì độc lập của các thành
phần
Trong quá trình thiết kế đi từ yêu cầu + usecase
đến một thành phần trong hệ thống. Vậy mỗi
thành phần phải thỏa mãn yêu cầu và không ảnh
hướng đến những thành phần khác
 Tiên đề thông tin:Giảm tối đa nội dung thông tin
thiết kế:
Nói về tính đơn giản hóa trong thiết kế. Mục đích
chính là giảm tính phức tạp (sử dụng tính kế
thừa)
Phân tích thiết kế hướng đối tượng Bài - 6/34
Đối chiếu và chỉnh sửa các mô hình cấu
trúc và tương tác
 Mục đích:
 Đối chiếu và so sánh các biểu đồ lớp lĩnh vực, biểu đồ
các lớp tham gia và 2 biều đồ tương tác để chỉnh sửa các
chỗ không phù hợp
 Thêm bớt các lớp
 Thêm và chỉnh lý các thao tác
 Thêm kiểu dữ liệu cho các thuộc tính, các tham số
 Thêm và chỉnh lý các mối liên quan giữa các lớp
 Xác định các mức khả kiến (visibility)
Phân tích thiết kế hướng đối tượng Bài - 7/34
Biểu đồ lớp
 Biểu đồ lớp có cùng quy tắc với mô hình khái niệm
 Thực ra mô hình khái niệm sử dụng các cú pháp của biểu
đồ lớp trong UML
 Tất cả các ký hiệu và quy tắc (đã trình bày) đối với mô
hình khái niệm đều được sử dụng để xây dựng biểu đồ lớp

 Biểu đồ lớp được xây dựng dựa trên mô hình khái
niệm
 Các lớp có thể chủ yếu là các khái niệm hay các
thành phần khác
 Biểu đồ lớp là nền tảng cho bước mã hóa
Phân tích thiết kế hướng đối tượng Bài - 8/34
Cách xây dựng Biểu đồ lớp
 Thêm mới các lớp
 Dựa vào biểu đồ lớp lĩnh vực bổ sung các lớp xuất hiện
trong biểu đồ tương tác
 Loại bỏ các lớp trong biểu đồ lớp lĩnh vực không hề có đối
tượng tham gia vào 1 biểu đồ tương tác nào
 Bổ sung các thuộc tính:
 Thuộc tính là các thành phần mà một đối tượng phải ghi
nhớ
 Các thuộc tình có thể ít được mô tả trong vấn đề. Do đó ta
phải sử dụng kiến thức về lĩnh vực ứng dụng để tìm
 Bổ sung các thao tác
 Tìm các phương thức qua hoạt động của usecase
 Qua các biểu đồ tương tác và trình tự
Phân tích thiết kế hướng đối tượng Bài - 9/34
Bổ sung các thuộc tính
 Phân tích các usecase, yêu cầu, mô tả, các sơ đồ để
ta có thể hiểu trách nhiệm của lớp và cách thức lớp
tương tác để thi hành công việc
 Thuộc tính thường tương ứng với các danh từ đi theo bởi
các cụn phó từ: chi phí của….
 Chỉ dùng đủ cac thuộc tính để diễn đạt trạng thái của đối
tượng
 Các thuộc tính ít khi được mô tả đầy đủ trong mô tả vấn

đề. Do vậy phải sử dụng tri thức về lĩnh vực ứng dụng để
tìm
 Không nên quá quan tâm về phải khám xét hết các thuộc
tính, ta sẽ bổ sung sau
10
Bổ sung các thuộc tính
 Trong UML việc trình bày các thuộc tính được đề nghị:
 <Phạm vi><tên>:<kiểu thuộc tính>=<giá trị khởi tạo>
 Trong đó: <phạm vi>: public, protect,private
 <Kiểu thuộc tính> là một đặc tả cài đặt thuộc tính độc lập ngôn
ngữ
 <giá trị khởi tạo>: biểu thức độc lập ngôn ngữ xác định giá trị khởi
tạo
 Ví dụ Lớp KháchHangf
 #tenKhach:string
 #hokhach:string
 #maPin:string
 #soThe:string
 #taiKhoan:TaiKhoan (thuộc tính tham chiếu)
11
Xác định các thao tác
 Câu hỏi:
 Các đối tượng chịu trách nhiệm xử lý gì về thông tin của nó để
cung cấp dịch vụ cho hệ thống?
 Nguyên tắc:
 Tên: động từ + bổ ngữ
 Chỉ quan tâm đến các method có phạm vi toàn cục (public), các
method có phạm vi cục bộ sẽ được phát hiện trong giai đoạn
thiết kế cài đặt (vd: constructor, ….)
 Các method chịu trách nhiệm về các thao tác lên các thuộc tính

của đối tượng: truy vấn, cập nhật, đọc và ghi
12
Xác định các thao tác
 Xác định method qua phân tích hoạt động use case:
 Phân tích các dòng message trong sơ đồ tuần tự để xem có thể
chuyển một hoạt động thành một method không?
 Nếu có, đặt tên cho method ứng với hoạt động đó
13
Xác định các thao tác
 Xác định method qua
phân tích hoạt động use
case:
 Ví dụ: lớp TàiKhoản
 Rút Tiền
 Gửi Tiền
 Xem thông Tin Tài Khoản
: KháchHàng : MáyATM : TàiKhoản
Yêu cầu số tiền
Nhập số tiền
Xử lý giao tác rút
Giao tác thành công
Phân phối tiền mặt
Yêu cầu lấy thẻ
Lấy thẻ
Yêu cầu tiếp tục
Kết thúc
In hoá đơn
TàiKhoản
sốTàiKhoản
loạiTàiKhoản

sốDư
rútTiền()
Use case Rút Tiền
14
Xác định các thao tác
 Xác định method qua
phân tích hoạt động use
case:
 Ví dụ: lớp TàiKhoản
 Rút Tiền
 Gửi Tiền
 Xem thông Tin Tài Khoản
: KháchHàng : MáyATM : TàiKhoản
Yêu cầu nhập số tiền
Nhập số tiền
Xử lý giao tác gửi
Giao tác thành công
Yêu cầu lấy thẻ
Lấy thẻ
Yêu cầu tiếp tục
Kết thúc
In hoá đơn
TàiKhoản
sốTàiKhoản
loạiTàiKhoản
sốDư
rútTiền()
Use case Rút Tiền
gửiTiền()
xemTàiKhoản()

Yc chọn giao dịch
15
Xác định các thao tác
 Ví dụ:
hệ
thống
ATM
GiaoDịchRút GiaoDịchGởi
KháchHàng
tênKháchHàng
họKháchHàng
mãPIN
sốThẻ
kiểmTraMậtKhẩu()
GiaoDịch
giaoDịchID
ngàyGiaoDịch
thờiGianGiaoDịch
loạiGiaoDịch
sốTiền
sốDư
TàiKhoản
sốTàiKhoản
loạiTàiKhoản
sốDư
rútTiền()
gởiTiền()
11
của
0 n

1

NgânHàng
MáyATM
địaChỉ
trạngThái
sốTiềnHiệnTại
khởiĐộngMáy()
đóngMáy()
xemTàiKhoản()
1
Ghi chú: các method được phát hiện
trong giai đoạn này thường đại diện
xử lý cho một use case
Phân tích thiết kế hướng đối tượng Bài - 16/34
Xác định các thao tác
 Thêm và chỉnh lý các thao tác
 Khi có 1 thông điệp được gửi từ một đối tượng của lớp A
sang 1 đối tượng của lớp B thì
 Trong lớp B (Bên nhận) phải có 1 thao tác công cộng tương
ứng với thông điệp đó
 Tên thông điệp và thao tác phải phù hợp về mặt ngữ nghĩa
 Danh sách tham số của thao tác phải phù hợp các yêu cầu của
thông điệp
 Trong lớp A (bên gửi) phải có 1 thao tác có trách nhiệm gửi
thông điệp trên
:B
:A
thaotacb1()
Phân tích thiết kế hướng đối tượng Bài - 17/34

Đối chiếu và chỉnh sửa
 Lưu ý khi Thêm và chỉnh lý các thao tác
 Thông điệp đến 1 đối tác
 Nếu đối tác là người, thông điệp chỉ yêu cầu người làm một việc
gì chứ không phải là 1 thao tác (chương trình máy tính)
 Nếu đối tác là 1 thiết bị thì thông điệp chỉ kích hoạt 1 cảm biến
hay động cơ ở thiết bị đó
 Nếu đối tác là một hệ thống ngoài thì nó phải được đại diện bởi
1 lớp chứa các giao thức thức thích hợp. Bấy giờ thông điệp sẽ
kích hoạt một thao tác trong lớp này
 Thông điệp đến 1 lớp giao diện GUI
 Yêu cầu thông điệp được cài đặt thành các yếu tố đồ họa như là
trường hay nút-> nó ko là thao tác
 Các thao tác riêng tư
 Chỉ dùng trong nội bộ, chỉ tương ứng với thông điệp đệ quy chứ
không tương ứng với thông điệp từ đối tượng khác gửi
Phân tích thiết kế hướng đối tượng Bài - 18/34
Đối chiếu và chỉnh sửa
 Thêm các kiểu cho các thuộc tính, các tham số và các
trả lời
 Kiểu có thể là kiểu nguyên thủy hay kiểu do người dùng đưa
vào, cũng có thể là các lớp.
 Chỉ nên đưa vào kiểu chung chứ không nên đưa vào kiểu của
1 ngôn ngữ lập trình cụ thể
 Thêm và chỉnh lý các quan hệ giữa các lớp
 Nếu thông điệp được giửu từ A sang B là bền vững, đó là 1
liên kết
 Nếu thông điệp mới được cung cấp thì đấy là biểu hiện của 1
sự phụ thuộc
Đối chiếu và chỉnh sửa

Phân tích thiết kế hướng đối tượng Bài 5- 19/34
Đối chiếu và chỉnh sửa
Phân tích thiết kế hướng đối tượng Bài 5- 20/34
Lớp chuyến hàng trong bài Vận chuyển hàng hóa
Phân tích thiết kế hướng đối tượng Bài - 21/34
Đối chiếu và chỉnh sửa
 Xác định các mức khả kiến (visibility)
 “- “ Mức riêng (private): thuộc tính hay phương thức đó chỉ
được nhìn thấy bởi đối tượng của lớp đó
 “#” mức bảo vệ (protected) thuộc tính hay phương thức chỉ
được nhìn thấy bởi đối tượng của lớp đó vf đối tượng của lớp
kế thừa nó
 “+” Mức chung (public) thuộc tính hay phương thức chỉ được
nhìn thấy bởi đối tượng của tất cả các lớp
Phân tích thiết kế hướng đối tượng Bài - 22/34
Ví dụ: chuyển đồi mô hình khái niên
thành biểu đồ lớp
 Giả sử mô hình khái niệm
 Chi tiết các thuộc tính
Phân tích thiết kế hướng đối tượng Bài - 23/16
Ví dụ: chuyển đồi mô hình khái niệm
thành biểu đồ lớp
 Chi tiết các phương thức
 Xác định các mức khả kiến
Phân tích thiết kế hướng đối tượng Bài - 24/16
Bài tập
Bổ sung các liên kết, thuộc tính, lớp cho hệ đăng ký
môn học cho biểu đồ sau
Phân tích thiết kế hướng đối tượng Bài - 25/34
Ví dụ hệ thống ATM

×