Bài giảng Phân tích thiết kế hướng đối tượng - Bài 7: Biểu đồ lớp - Vũ Thị Dương

pdf 7 trang phuongnguyen 5450
Bạn đang xem tài liệu "Bài giảng Phân tích thiết kế hướng đối tượng - Bài 7: Biểu đồ lớp - Vũ Thị Dương", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pdfbai_giang_phan_tich_thiet_ke_huong_doi_tuong_bai_7_bieu_do_l.pdf

Nội dung text: Bài giảng Phân tích thiết kế hướng đối tượng - Bài 7: Biểu đồ lớp - Vũ Thị Dương

  1. 27/09/2010 Trường Đại học công nghiệp Hà Nội KHOA CÔNG NGHỆ THÔNG TIN PHÂN TÍCH THIẾT KẾ HƯỚNG ĐỐI TƯỢNG Gv: Vũ Thị Dương Email: duongvt01@gmail.com 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 Bài 7 Biểu đồ lớp 1
  2. 27/09/2010 Đố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 - 4/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 - 5/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 - 6/34 2
  3. 27/09/2010 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ự Phân tích thiết kế hướng đối tượng Bài - 7/34 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 8 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 đó 9 3
  4. 27/09/2010 Xác định method : KháchHàng : MáyATM : TàiKhoản  Xác định method qua phân tích hoạt động use Yêu cầu số tiền case: Nhập số tiền Xử lý giao tác rút  Ví dụ: lớp TàiKhoản Giao tác thành công  Rút Tiền Phân phối tiền mặt  Gửi Tiền Yêu cầu lấy thẻ Lấy thẻ  Xem thông Tin Tài Khoản 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 10 Xác định method : KháchHàng : MáyATM : TàiKhoản  Xác định method qua phân tích hoạt động use Yêu cầu số tiền case: Nhập số tiền Xử lý giao tác gửi  Ví dụ: lớp TàiKhoản Giao tác thành công  Rút Tiền  Gửi Tiền Yêu cầu lấy thẻ Lấy thẻ  Xem thông Tin Tài Khoản 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() gửiTiền() xemTàiKhoản() Use case Rút Tiền 11 Xác định method NgânHàng  Ví dụ: hệ KháchHàng MáyATM tênKháchHàng có địaChỉ thống họKháchHàng trạngThái mãPIN sốTiềnHiệnTại sốThẻ ATM khởiĐộngMáy() kiểmTraMậtKhẩu() đóngMáy() 1 của 1 GiaoDịch TàiKhoản giaoDịchID sốTàiKhoản ngàyGiaoDịch loạiTàiKhoản thờiGianGiaoDịch sốDư loạiGiaoDịch 1 0 n sốTiền rútTiền() sốDư gởiTiền() xemTàiKhoản() Ghi chú: các method được phát hiện trong giai đoạn này thường đại diện GiaoDịchRút GiaoDịchGởi xử lý cho một use case 12 4
  5. 27/09/2010 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 :A :B thaotacb1() Phân tích thiết kế hướng đối tượng Bài - 13/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 - 14/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 Phân tích thiết kế hướng đối tượng Bài - 15/34 5
  6. 27/09/2010 Đố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 - 16/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 - 17/34 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 - 18/16 6
  7. 27/09/2010 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 - 19/16 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 Phân tích thiết kế hướng đối tượng Bài - 20/34 7