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 chitiết Các khái niệm hướng đối tượng Tổng quan ngôn ngữ mô hình hóa UML Mô hình hóa yêu cầu (biểu đồ ca sử dụng) Mô hình hóa lĩnh vực ứng dụng (biểu đồlớp lĩnh vực) Mô hình hóa hành vi( biểuđồ tương tác, trạng thái) Biểu đồlớpchitiếtBiểuđồ kiến trúc vật lý phát sinh mã trình Mô hình hóa liệu 2010 Phân tích thiết kế hướng đối tượng Bài - Bài Biểuđồlớp 27/09/2010 Đối chiếu chỉnh sửa mô hình cấu trúc tương tác Mục đích: Đối chiếu so sánh biểuđồlớp lĩnh vực, biểuđồlớp tham gia biềuđồ tương tác với để chỉnh sửa chỗ không phù hợp Thêm bớt lớp Thêm chỉnh lý thao tác Thêm kiểu liệu cho thuộc tính, tham số trả lời Thêm chỉnh lý mối liên quan lớp Xác định 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 kiểu liệu chúng Các thuộc tính (operation): phương thức (method), đối có giá trị trả Các quan hệ 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ó quy tắc với mô hình khái niệm Thực mô hình khái niệm sử dụng cú pháp biểu đồlớp UML Tất ký hiệu quy tắc (đã trình bày) mô hình khái niệm sử dụng để xây dựng biểuđồlớpBiểuđồlớp xây dựng dựa mô hình khái niệm Các lớp chủ yếu khái niệm hay thành phần khác Biểuđồlớp tảng cho bước mã hóa Phân tích thiết kế hướng đối tượng Bài - 6/34 27/09/2010 Cách xây dựng Biểuđồlớp Thêm lớp Dựa vào biểuđồlớp lĩnh vực bổ sung lớp xuất biểuđồ tương tác Loại bỏ lớpbiểuđồlớp lĩnh vực đối tượng tham gia vào biểuđồ tương tác Bổ sung thao tác Tìm phương thức qua hoạt động usecase Qua biểuđồ tương tác 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ý thông tin để 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 method có phạm vi toàn cục (public), method có phạm vi cục phát giai đoạn thiết kế cài đặt (vd: constructor, ….) Các method chịu trách nhiệm thao tác lên thuộc tính đối tượng: truy vấn, cập nhật, đọc ghi Xác định method Xác định method qua phân tích hoạt động use case: Phân tích dòng message sơ đồ để xem chuyển hoạt động thành method không? Nếu có, đặt tên cho method ứng với hoạt động 27/09/2010 Xác định method : KháchHàng Xác định method qua phân tích hoạt động use case: Ví dụ: lớp TàiKhoản : MáyATM : TàiKhoản Yêu cầu số tiền Nhập số tiền Xử lý giao tác rút Rút Tiền Gửi Tiền Xem thông Tin Tài Khoản Phân phối tiền mặt 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 10 Xác định method : KháchHàng Xác định method qua phân tích hoạt động use case: Ví dụ: lớp TàiKhoản : 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 Rút Tiền Gửi Tiền Xem thông Tin Tài Khoản 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() gửiTiền() xemTàiKhoản() Use case Rút Tiền 11 Xác định method Ví dụ: hệ thống ATM NgânHàng KháchHàng tênKháchHàng họKháchHàng mãPIN sốThẻ có MáyATM địaChỉ trạngThái sốTiềnHiệnTại khởiĐộngMáy() đóngMáy() kiểmTraMậtKhẩu() TàiKhoản sốTàiKhoản loạiTàiKhoản sốDư rútTiền() gởiTiền() xemTàiKhoản() Ghi chú: method phát giai đoạn thường đại diện 12 xử lý cho use case GiaoDịch giaoDịchID ngàyGiaoDịch thờiGianGiaoDịch loạiGiaoDịch n sốTiền sốDư GiaoDịchRút GiaoDịchGởi 27/09/2010 Cách xây dựng Biểuđồlớp Thêm chỉnh lý thao tác Khi có thông điệp gửi từ đối tượng lớp A sang đối tượng lớp B Trong lớp B (Bên nhận) phải có thao tác công cộng tương ứng với thông điệp Tên thông điệp thao tác phải phù hợp mặt ngữ nghĩa Danh sách tham số thao tác phải phù hợp yêu cầu thông điệp Trong lớp A (bên gửi) phải có thao tác có trách nhiệm gửi thông điệp :B :A thaotacb1() Phân tích thiết kế hướng đối tượng Bài - 13/34 Đối chiếu chỉnh sửa Lưu ý Thêm chỉnh lý thao tác Thông điệp đến đối tác Thông điệp đến lớp giao diện GUI Nếu đối tác người, thông điệp yêu cầu người việc thao tác (chương trình máy tính) Nếu đối tác thiết bị thông điệp kích hoạt cảm biến hay động thiết bị Nếu đối tác hệ thống phải đại diện lớp chứa giao thức thức thích hợp Bấy thông điệp kích hoạt thao tác lớp Yêu cầu thông điệp cài đặt thành yếu tố đồ họa trường hay nút-> ko thao tác Các thao tác riêng tư Chỉ dùng nội bộ, tương ứng với thông điệp đệ quy 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 chỉnh sửa mô hình cấu trúc tương tác Thêm kiểu cho thuộc tính, tham số trả lời Kiểu kiểu nguyên thủy hay kiểu người dùng đưa vào, lớpChỉ nên đưa vào kiểu chung không nên đưa kiểu ngôn ngữ lập trình cụ thể Thêm chỉnh lý quan hệ lớp Nếu thông điệp giửu từ a sang B bền vững, liên kết Nếu thông điệp cung cấp biểu phụ thuộc Phân tích thiết kế hướng đối tượng Bài - 15/34 27/09/2010 Đối chiếu chỉnh sửa mô hình cấu trúc tương tác Xác định mức khả kiến (visibility) “- “ Mức riêng (private): thuộc tính hay phương thức nhìn thấy đối tượng lớp “#” mức bảo vệ (protected) thuộc tính hay phương thức nhìn thấy đối tượng lớp vf đối tượng lớp kế thừa “+” Mức chung (public) thuộc tính hay phương thức nhìn thấy đối tượng tất 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 Chitiết 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 Chitiết phương thức Xác định mức khả kiến Phân tích thiết kế hướng đối tượng Bài - 18/16 27/09/2010 Bài tập Bổ sung 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 xem xét vấn đề sau Biểuđồlớp Đối chiếu chỉnh sửa biểuđồlớp dựa vào biểuđồ tương tác 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 ...27/09/2010 Đối chi u chỉnh sửa mô hình cấu trúc tương tác Mục đích: Đối chi u so sánh biểu đồ lớp lĩnh vực, biểu đồ lớp tham gia biều... tượng tất 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 thuộc tính Phân tích thiết kế hướng đối tượng... dụ: chuyển đồi mô hình khái niệm thành biểu đồ lớp Chi tiết phương thức Xác định mức khả kiến Phân tích thiết kế hướng đối tượng Bài - 18/ 16 27/09/2010 Bài tập Bổ sung liên kết, thuộc tính,