Phân tích thiết kế hướng đối tượng Bài - 4/34Nộ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
Trang 1Gv: Vũ Thị Dương Email: duongvt01@gmail.com
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
Trang 2Nộ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
Trang 3Biểu đồ lớp chi tiết
Bài 6
Trang 4Phâ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
Trang 5Phâ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)
Trang 6Phâ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)
Trang 7Phâ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
Trang 8Phâ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
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ự
Trang 9Phâ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
Trang 10Bổ 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
Trang 11 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
Trang 12Xá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 đó
Trang 13Yêu cầu lấy thẻ Lấy thẻ Yêu cầu tiếp tục Kết thúc
Trang 14Lấy thẻ Yêu cầu tiếp tục Kết thúc
Trang 15kiể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()
1
của
0 n 1
có
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
Trang 16Phâ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()
Trang 17Phâ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
Trang 18Phâ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
Trang 19Đố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
Trang 20Đố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
Trang 21Phân tích thiết kế hướng đối tượng Bài - 21/34
Đối chiếu và chỉnh sửa
Trang 22Phâ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
Trang 23Phâ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
Trang 24Phâ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
Trang 25Phân tích thiết kế hướng đối tượng Bài - 25/34
Ví dụ hệ thống ATM
Trang 26Phân tích thiết kế hướng đối tượng Bài - 26/34