Bài giảng Phân tích thiết kế hướng đối tượng - Vũ Thị Dương - Bài 7: Biểu đồ lớp
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 với nhau để
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ố
và các trả lời
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)
27/09/2010 1 Gv: 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 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 Bài 7 27/09/2010 2 Phân tích thiết kế hướng đối tượng Bài - 4/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 với nhau để 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ố và các trả lời 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 - 5/34 Biểu đồ lớp Biểu đồ lớp định nghĩa: Các lớp (class) Các thuộc tính (attribute): Các biến và kiểu dữ liệu của chúng Các thuộc tính (operation): các phương thức (method), các đối và có thể có giá trị trả về Các quan hệ giữa các lớp Phân tích thiết kế hướng đối tượng Bài - 6/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 27/09/2010 3 Phân tích thiết kế hướng đối tượng Bài - 7/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 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ự 8 Xác định method 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 9 Xác định method 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 đó 27/09/2010 4 10 Xác định method 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 11 Xác định method 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 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() 12 Xác định method 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() 1 của 0..n1 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 27/09/2010 5 Phân tích thiết kế hướng đối tượng Bài - 13/34 Cách xây dựng Biểu đồ lớp 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 - 14/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àn 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 - 15/34 Đối chiếu và chỉnh sửa các mô hình cấu trúc và tương tác 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à 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 27/09/2010 6 Phân tích thiết kế hướng đối tượng Bài - 16/34 Đối chiếu và chỉnh sửa các mô hình cấu trúc và tương tác 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 - 17/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 - 18/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 27/09/2010 7 Phân tích thiết kế hướng đối tượng Bài - 19/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 - 20/34 Tóm tắt Bài này đã xem xét các vấn đề sau Biểu đồ lớp Đối chiếu và chỉnh sửa biểu đồ lớp dựa vào biểu đồ tương tác và trình tự Bài tập áp dụng
File đính kèm:
- Bài giảng Phân tích thiết kế hướng đối tượng - Vũ Thị Dương - Bài 7 Biểu đồ lớp.pdf