Mục đích
o Thiết kế phần mềm dưới dạng các lớp được trích rút trong suốt phân tích hướng đối tượng (OOA)
Nếu chúng ta đang sử dụng một ngôn ngữ mà không có tính kế thừa như C, Ada83… o Sử dụng thiết kế kiểu dữ liệu trừu tượng
Chương 9: Pha thiết kế
Nếu chúng ta đang sử dung ngôn ngữ không có khai báo kiểu như FOTRAN, COBAL… o Sử dụng đóng gói dữ liệu
OOD gồm 2 bước:
Bước 1. Hoàn thiện biểu đồ lớp
Xác định định dạng của các thuộc tính : Định dạng của các thuộc tính có thể được rút ra từ tài liệu phân tích .Ví dụ: Ngày theo định dạng của Mỹ (mm/mm/yyyy) và định dạnh của Châu Âu (dd/mm/yyyy). Trong cả hai trường hợp đều yêu cầu 10 ký tự.Định dạng có thể được thêm vào trong suốt quá trình phân tích. Để cực tiểu hóa việc làm lại, không bao giờ thêm một mục vào biểu đồ UML cho đến lúc cần thiết
Gán mỗi phương thức cho 1lớp hoặc một client đã gửi thông điệp tới đối tượng của lớp đó. Với 3 nguyên lý: Nguyên lý A: Ẩn giấu thông tin. Nguyên lý B: Nếu một phương thức được gọi bởi nhiều client của một đối tượng thì sẽ gán phương thức đó cho đối tượng chứ không phải các client. Nguyên lý C: thiết kế hướng trách nhiệm
Xem xét vòng lặp thứ hai của thẻ CRC của điều khiển thang máy
Hình 9.7: Xác định trách nhiệm từ thẻ CRC
o Trách nhiệm sau được gán trách nhiệm cho lớp điều khiển thang máy 8. Bắt đầu đặt thời gian
10. Kiểm tra yêu cầu 11. Cập nhật yêu cầu
o Bởi vì chúng được thực hiện bởi lớp điều khiển thang máy PTIT
Chương 9: Pha thiết kế
o Tám trách nhiệm còn lại có cùng một dạng:
“Gửi một thông điệp tới một lớp khác để yêu cầu nó làm một cái gì đó” o Những trách nhiệm này được gán cho các lớp khác
Thiết kế hướng trách nhiệm Xem xét độ an toàn
o Các phương thức mở cửa, đóng cửa được gán cho lớp Cửa thang máy
o Các phương thức mở nút, tắt nút được gán cho lớp Nút Tầng và lớp Thang Máy Biểu đồ lớp chi tiết cho bài toán thang máy:
Hình 9.8: Sơ đồ lớp chi tiết cho bài toán thang máy
Bước 2. Thực hiện thiết kế chi tiết
Thiết kế chi tiết của vòng lặp sự kiện thang máy được đưa ra từ biểu đồ trạng thái PTIT
Chương 9: Pha thiết kế