Bài giảng Lập trình hướng đối tượng: Chương 9 Tổng quan về UML và phân tích thiết kế hướng đối tượng cung cấp cho người học những kiến thức như: Mô hình hóa; Tổng quan về UML; Phân tích thiết kế hướng đối tượng; Công cụ phát triển OOAD. Mời các bạn cùng tham khảo!
bao gồm deployment diagram hiển thị ánh xạ tiến tr ình xử lý tới thiết bị phần cứng 32 12/27/17 2.5 Quy trình UML n 2.5 Quy trình UML (2) UML ký pháp phương pháp n n n UML áp dụng cho tất pha quy trình phát triển phần mềm "Rational Unified Process" - quy trình phát triển cho UML n n n RUP quy trình cơng nghệ phần mềm phát triển hãng Rational Là quy trình lặp tăng trưởng bước Sử dụng ký hiệu trực quan UML Phát triển song song với UML 2.6 Ứng dụng UML phân tích thiết kế hệ thống n Nội dung UML sử dụng để phân tích nhiều loại hệ thống n n n n n n Hệ thống thống tin (Information System) Hệ thống kỹ thuật (Technical System) Hệ thống nhúng (Embeded System) Hệ thống phân tán ( Distributed System) Hệ thống nghiệp vụ (Business System) Phần mềm hệ thống (System Software) 35 Mơ hình hóa Tổng quan UML Phân tích thiết kế hướng đối tượng Công cụ phát triển OOAD 36 12/27/17 3.1 Tầm quan trọng OOAD n Nhiều người phát triển dự án n n n Cho phần mềm chủ yếu xây dựng cách gõ “code” từ bàn phím Khơng dành đủ thời gian cho q trình phân tích thiết kế phần mềm n n Họ phải “cày bừa” để hoàn thành chương trình n n n n 3.1 Tầm quan trọng OOAD (2) Không hiểu hiểu sai yêu cầu Giao tiếp với thành viên khơng tốt Khơng tích hợp với module đồng nghiệp… n Họ nhận “Phân tích” “Thiết kế” cần coi trọng hơn, muộn Cần thiết lập chế hiệu để nắm bắt yêu cầu, phân tích thiết kế Cơ chế phải “ngơn ngữ thống nhất” giúp cho q trình hợp tác hiệu thành viên nhóm phát triển phần mềm OOAD 37 38 3.2 Mục đích OOAD n n n n 3.3 Phương pháp OOAD Chuyển yêu cầu toán thành thiết kế hệ thống xây dựng Tập trung vào q trình phân tích U CẦU hệ thống thiết kế MƠ HÌNH cho hệ thống trước giai đoạn lập trình Được thực nhằm đảm bảo mục đích yêu cầu hệ thống ghi lại cách hợp lý trước hệ thống xây dựng Cung cấp cho người dùng, khách hàng, kỹ sư phân tích, thiết kế nhiều nhìn khác hệ thống 39 n OOAD chia thành giai đoạn n n n n Phân tích hướng đối tượng (OOA) Thiết kế hướng đối tượng (OOD) OOA giai đoạn nhằm tạo mơ hình (mơ hình khái niệm) hệ thống dựa theo khách hàng yêu cầu hệ thống họ OOD bổ sung thêm thông tin thiết kế chi tiết cho mô hình nói 40 10 12/27/17 3.3 Phương pháp OOAD (2) 3.3.1 OOA Use case modeling to define requirements External Specification Design n Object extraction and message sequence design between objects Normalization of the data structure using E-R diagram n Class design E-R modeling for persistent data Tạo mơ hình có thành phần đối tượng khái niệm đời thực, dễ hiểu với người dùng Mơ hình hóa thực thể, giữ nguyên cấu trúc, quan hệ, hành vi chúng 41 42 3.3.1 OOA (2) n 3.3.2 OOD Ví dụ với phịng bán tơ: n n n n n n n n Các thực thể: Khách hàng Người bán hàng Phiếu đặt hàng Phiếu (hoá đơn) toán Xe tơ Tổ chức chương trình thành tập hợp đối tượng cộng tác n n n n Tương tác quan hệ thực thể : n n n n n Mỗi đối tượng thực thể lớp Thiết kế kết OOA Cải thiện, tối ưu hóa thêm Thiết kế n Người bán hàng dẫn khách hàng tham quan phòng trưng bày xe Khách hàng chọn xe Khách hàng viết phiếu đặt xe Khách hàng trả tiền xe Xe ô tô giao đến cho khách hàng 43 n n n Phương thức (operations) Thuộc tính (attributes) Mối quan hệ lớp (classes) Đưa biểu đồ tĩnh động n n Tĩnh: biểu thị lớp đối tượng Động: biểu thị tương tác lớp & phương thức hoạt động 44 11 12/27/17 Thiết kế biểu đồ lớp n n n Thiết kế đối tượng (1/2) Mục tiêu: cần xác định thành viên lớp quan hệ lớp Một kỹ thuật ứng dụng nhiều Thẻ Class-Responsibility-Collaboration (CRC) card Mỗi thẻ thể lớp, thẻ lưu lại thông tin sau lớp: n n n n Trong PT&TK hướng đối tượng người ta tổng kết bước để thiết kế đối tượng: n Tên lớp Thông thường người ta đặt tên lớp liên quan đến vai trò lớp, sử dụng lớp để làm Trách nhiệm lớp: lớp làm Thơng thường thơng tin bao gồm tên hàm thành phần Tương tác lớp: lớp tương tác với lớp khác n Bước Phát đối tượng (Object discovery) Bước thực giai đoạn phân tích chương trình Bước Lắp ráp đối tượng (Object assembly) Bước tìm kiếm đặc điểm đối tượng để thêm vào thuộc tính, hàm thành phần cho đối tượng 45 46 Thiết kế đối tượng (2/2) n Lưu ý (1/2) Trong PT&TK hướng đối tượng người ta tổng kết bước để thiết kế đối tượng: n n n n Bước Xây dựng hệ thống (System construction) Trong giai đoạn phát triển đối tượng, xem xét tương tác đối tượng để hình thành hệ thống hoạt động Bước Mở rộng hệ thống (System extension) Khi thêm vào tính hệ thống, cần thêm lớp mới, đối tượng tương tác đối tượng với đối tượng có hệ thống Bước Tái sử dụng đối tượng (Object reuse) Đây thử nghiệm quan trọng đối tượng lớp thiết kế phần mềm Chúng ta cần phải sử dụng lại lớp đối tượng phần mềm (thơng qua tính kế thừa tương tác đối tượng) 47 Một số điểm lưu ý phát triển lớp n n n Cần tạo lớp trước, sau nghĩ tới việc phát triển hoàn thiện lớp trình giải tốn Khi phân tích hay phát triển lớp không nên tập trung xác định tất thành viên lớp, biết rõ phát triển hệ thống (learns as you go) Việc phát lớp cần thiết cho chương trình nhiệm vụ thiết kế hệ thống, có lớp (trong thư viện lớp chẳng hạn) cơng việc dễ dàng 48 12 12/27/17 Lưu ý (2/2) n Nội dung Một số điểm lưu ý phát triển lớp n n Khi lập trình cần tuân thủ theo thiết kế làm Không nên băn khoăn không sử dụng phương pháp lập trình truyền thống thấy chống ngợp trước số lượng lớn đối tượng Luôn giữ nguyên tắc: vấn đề cần giải theo phương án đơn giản nhất, khơng phức tạp hóa Sử dụng nguyên lý Occam Razor: Lớp đơn giản lớp tốt nhất, bắt đầu đơn giản kết thúc hệ thống phức tạp 49 Mơ hình hóa Tổng quan UML Phân tích thiết kế hướng đối tượng Cơng cụ phát triển OOAD 50 Công cụ UML – OOAD n Công cụ mã nguồn mở: n n n n EclipseUML UmlDesigner ArgoUML Công cụ thương mại: n n n n n Enterprise Architect IBM Rational Software Architect Microsoft Visio Visual Paradigm for UML SmartDraw 51 13 ... đặc điểm đối tượng để thêm vào thuộc tính, hàm thành phần cho đối tượng 45 46 Thiết kế đối tượng (2/2) n Lưu ý (1/2) Trong PT&TK hướng đối tượng người ta tổng kết bước để thiết kế đối tượng: n... thực thể: Khách hàng Người bán hàng Phiếu đặt hàng Phiếu (hố đơn) tốn Xe tơ Tổ chức chương trình thành tập hợp đối tượng cộng tác n n n n Tương tác quan hệ thực thể : n n n n n Mỗi đối tượng thực... cấp cho người dùng, khách hàng, kỹ sư phân tích, thiết kế nhiều nhìn khác hệ thống 39 n OOAD chia thành giai đoạn n n n n Phân tích hướng đối tượng (OOA) Thiết kế hướng đối tượng (OOD) OOA giai