ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ Trương Ninh Thuận – Đặng Đức Hạnh GIÁO TRÌNH PHÂN TÍCH VÀ THIẾT KẾ HƯỚNG ĐỐI TƯỢNG NXB ĐẠI HỌC QUỐC GIA HÀ NỘI MỤC LỤC CHƯƠNG 1. MÔ HÌNH HÓA ĐỐI TƯỢNG . Các nguyên tắc cơ bản của hướng đối tượng . Sự trừu tượng hóa . Tính mô-đun hóa . Sự phân cấp. Khái niệm cơ bản về mô hình hướng đối tượng . Lớp đối tượng . Tổng quát hóa - Kế thừa . NGÔN NGỮ MÔ HÌNH HÓA UML . Lịch sử ra đời và các mục tiêu thiết kế . Đặc điểm sử dụng . Phần tử mô hình trong UML . Các quan hệ trong UML . Các biểu đồ trong UML . Các luật và ràng buộc trong UML . Biểu đồ ca sử dụng . Khái niệm cơ sở cho biểu đồ ca sử dụng . Mô hình hóa với biểu đồ ca sử dụng. Khái niệm cơ sở cho biểu đồ tương tác . Biểu đồ tuần tự . Biểu đồ giao tiếp . Mô hình hóa với biểu đồ tương tác . Khái niệm cơ sở cho khung nhìn tĩnh . Quan hệ trong khung nhìn tĩnh . Biểu đồ đối tượng . Mô hình hóa với biểu đồ lớp . Biểu đồ trạng thái . Khái niệm cơ sở cho biểu đồ trạng thái . Mô hình hóa biểu đồ trạng thái . Biểu đồ hoạt động . Khái niệm cơ sở cho biểu đồ hoạt động . Mô hình hóa biểu đồ hoạt động . Biểu đồ thành phần . Biểu đồ triển khai . TỔNG QUAN VỀ QUY TRÌNH PHÁT TRIỂN PHẦN MỀM HƯỚNG ĐỐI TƯỢNG . Quy trình phát triển hướng đối tượng . Các triệu chứng của vấn đề phát triển phần mềm . Bộ kinh nghiệm thực tiễn . Giới thiệu quy trình phát triển RUP . Mô hình hóa nghiệp vụ . Mục đích của mô hình hóa nghiệp vụ . Hoạt động mô hình hóa nghiệp vụ . Mô hình hóa nghiệp vụ với UML . Chuyển mô hình hóa nghiệp vụ sang mô hình ca sử dụng . Nắm bắt yêu cầu. Mục đích của nắm bắt yêu cầu . Chế tác cho mô hình yêu cầu . Mô hình hóa yêu cầu với UML . Phân tích và thiết kế . Mục đích của hoạt động phân tích và thiết kế . Bước chuyển tiếp từ yêu cầu sang thực thi . Sự khác nhau giữa phân tích và thiết kế . Phân tích và thiết kế lấy kiến trúc làm trung tâm . Luồng hoạt động phân tích và thiết kế. PHÂN TÍCH HƯỚNG ĐỐI TƯỢNG . Phân tích kiến trúc. Khung cảnh và mục đích của phân tích kiến trúc. Khái niệm chính trong phân tích kiến trúc . Tổ chức mức cao cho các phân hệ . Xác định các cơ chế phân tích . Xác định các trừu tượng chính . Xác định các hiện thực hóa ca sử dụng . Phân tích ca sử dụng . Tổng quan về phân tích ca sử dụng . Chi tiết hóa mô tả ca sử dụng. Xác định lớp phân tích . Phân bố hành vi ca sử dụng cho lớp phân tích . Mô tả và tổng hợp các lớp phân tích . Kiểm tra kết quả phân tích . THIẾT KẾ HƯỚNG ĐỐI TƯỢNG . Xác định các phần tử thiết kế. Xác định các lớp và các hệ thống con . Xác định giao diện hệ thống con . Xác định các khả năng tái sử dụng . Cập nhật tổ chức của mô hình thiết kế . Các cơ chế thiết kế . Phân loại khách của cơ chế phân tích . Tài liệu hóa cơ chế kiến trúc. Mô tả kiến trúc thực thi . Phân tích yêu cầu thực hiện đồng thời . Xác định các tiến trình và luồng song song . Xác định vòng đời tiến trình . Ánh xạ các tiến trình đến thực thi . Phân bố các phần tử mô hình vào trong các tiến trình . Mô tả sự phân tán . Định nghĩa cấu hình mạng. Cung cấp các tiến trình đến các nút . Định nghĩa các cơ chế phân tán . Thiết kế ca sử dụng . Mô tả sự tương tác giữa các đối tượng thiết kế . Đơn giản hóa biểu đồ tuần tự sử dụng hệ thống con . Mô tả các hành vi liên quan dữ liệu bền vững. Làm mịn sự mô tả luồng các sự kiện . Thống nhất các lớp và các hệ thống con . Thiết kế các hệ thống con . Phân bố hành vi vào các phần tử hệ thống con . Tài liệu hóa các phần tử hệ thống con. Mô tả sự phụ thuộc các hệ thống con . Thiết kế các lớp . Tạo các lớp thiết kế ban đầu . Định nghĩa thao tác . Định nghĩa phương thức . Định nghĩa trạng thái. Định nghĩa thuộc tính . Định nghĩa sự phụ thuộc . Định nghĩa quan hệ liên kết . Định nghĩa sự tổng quát hóa . Xử lý xung đột các ca sử dụng . Xem xét các yêu cầu phi chức năng . Thiết kế cơ sở dữ liệu . Ánh xạ các lớp thiết kế bền vững sang mô hình dữ liệu . Phân bố hành vi của lớp đến cơ sở dữ liệu .191 PHỤ LỤC: HỆ THỐNG QUẢN LÝ CHƯƠNG TRÌNH ĐÀO TẠO . Nắm bắt yêu cầu . Mô tả nghiệp vụ bài toán . Mô hình yêu cầu . Phân tích từng ca sử dụng . Kiến trúc vật lý của ứng dụng . Xác định gói thiết kế . Thiết kế cho từng ca sử dụng . Biểu đồ lớp tổng thể .207 PHÂN TÍCH VÀ THIẾT KẾ HƯỚNG ĐỐI TƯỢNG |1 CHƯƠNG 1. MÔ HÌNH HÓA ĐỐI TƯỢNG Mô hình hóa hướng đối tượng (Object-oriented modeling – OOM) là phươnng pháp dùng để mô hình hóa các chươnng trình máy tính theo phương pháp hướng đối tượng (OOP). Trước khi đến với phương pháp hướng đối tượng, người ta chủ yếu sử dụng phương pháp lập trình thủ tục (procedural programming), là phương pháp lập trình hướng đến cung cấp các chức năng của chương trình cho hệ thống sử dụng. Mô hình hóa hướng đối tượng giúp chúng ta hướng đến sự phức tạp của bài toán bằng cách xem xét bài toán không phải là tập các chức năng được thực hiện mà là tập các đối tượng liên quan tương tác lẫn nhau. Việc mô hình hóa vì vậy tập trung vào đặc tả các đối tượng, tập các thuộc tính và phương thức của chúng trong một ngữ cảnh xác định. Chương đầu tiên giới thiệu tổng quan, các nguyên tắc và các khái niệm cơ bản về mô hình hóa hướng đối tượng. Các nguyên tắc cơ bản của hướng đối tượng Dựa trên đặc điểm của phươnng pháp hướng đối tượng, người ta đưa ra 4 nguyên tắc chính của mô hình hướng hóa hướng đối tượng là: Sự trừu tượng hóa, tính đóng gói, tính mô-đun hóa, sự phân cấp 1. Sự trừu tượng hóa Trừu tượng hóa (Abstraction) là việc xây dựng một mô hình chỉ bao gồm các đặc điểm quan trọng, cần thiết và phân biệt với các đặc điểm của mô hình khác, mô hình này đã xóa bỏ các đặc tính chi tiết, ít quan trọng và không cần thiết để tạo thành một mô hình có các đặc tính riêng biệt. Trừu tượng hóa cho phép chúng ta quản lý sự phức tạp của mô hình bằng cách chỉ quan tâm đến các đặc điểm cần thiết của các thực thể để phân biệt với các thực thể khác trong mô hình. Chúng ta cũng cần chú ý rằng trừu tượng hóa phụ thuộc vào ngữ cảnh, vì vậy những gì quan trọng ở trong ngữ cảnh này có thể không quan trọng trong ngữ cảnh khác. Trong lý thuyết về lập trình hướng đối tượng, trừu tượng hóa là các phương pháp để xây dựng các đối tượng đồng thời nó được xem như các tác nhân ảo có thể thực hiện các hành vi, tự thay đổi trạng thái của mình và có thể giao tiếp với các đối tượng khác trong hệ thống. PHÂN TÍCH VÀ THIẾT KẾ HƯỚNG ĐỐI TƯỢNG |2 Các ngôn ngữ lập trình hướng đối tượng thường cho phép trừu tượng hóa các thực thể tương tự nhau, vấn đề này nhằm mục đích hỗ trợ cho kỹ thuật đa hình (polymorphism) trong lập trình hướng đối tượng, là kỹ thuật cho phép thay thế kiểu của đối tượng bằng một kiểu khác có vai trò tương tự. Xem xét một ví dụ về một chương trình viết bằng Java để biểu diễn một số con vật có cùng mức trừu tượng hóa. Trong chương trình này, lớp Animal dùng để biểu diễn trạng thái của con vật và các hành vi của chúng. public class Animal extends LivingThing { private Location loc; private double energyReserves; boolean isHungry() { return energyReserves < 2.5; } void eat(Food f) { //Consume food energyReserves += f.getCalories(); } void moveTo(Location l) { loc = l; } } Với các định nghĩa trên, chúng ta có thể tạo ra các đối tượng với kiểu Animal và gọi các phương thức của chúng như sau: thePig = new Animal(); theCow = new Animal(); if (thePig.isHungry()) { PHÂN TÍCH VÀ THIẾT KẾ HƯỚNG ĐỐI TƯỢNG |3 thePig.eat(tableScraps); } if(theCow.eat(grass); } Trong ví dụ trên, lớp Animal là sự trừu tượng hóa sử dụng cho các con vật hiện tại, LivingThing được xem như sự trừu tượng hóa ở mức cao hơn của Animal, dùng để mô tả tất cả lớp các động thực vật có sự sống. Tính đóng gói Tính đóng gói (Encapsulation) là sự quy tụ các tính chất (các thuộc tính và các hành vi) vào trong một hộp đen của sự trừu tượng hóa, cho phép ẩn đi sự cải đặt ở phía sau các giao diện. Tính đóng gói thường được đề cập đến với khái niệm che giấu thông tin (Information hiding), cho phép sự truy cập đến các thành phần thông qua các giao diện mà không cần biết sự cài đặt của nó. Tính đóng gói loại bỏ sự phụ thuộc trực tiếp trong cải đặt giữa các thành phần. Vì thế có thể thay đổi sự cài đặt của thành phần mà không cần cập nhật các thành phần khác và giao điện cũng không thay đổi. Sự thay đổi trong cài đặt của một thành phần không ảnh hưởng đến các thành phần khác vì vậy việc bảo trì dễ dàng và chỉ phi thấp hơn. Sự đóng gói cũng cho phép bảo vệ các trạng thái nội tại của đối tượng bởi các đối tượng bên ngoài và bảo vệ các đối tượng bên ngoài bởi sự thay đổi cài đặt của đối tượng này. Trong kỹ thuật đóng gói, dữ liệu được tổ chức sao cho các đối tượng ở lớp khác không truy nhập được vào những thuộc tỉnh riêng và chỉ cho phép các hàm trong cùng lớp hoặc trong những lớp có quan hệ kế thừa với nhau được quyền truy nhập đến vùng cho phép. Vùng công khai của lớp thì cho phép mọi đối tượng được phép PHÂN TÍCH VÀ THIẾT KẾ HƯỚNG ĐỐI TƯỢNG |4 truy nhập. Các hàm công khai của lớp đóng vai trò như là giao diện của các đối tượng với phần còn lại của hệ thống.
Giáo Trình Phân Tích và Thiết Kế Hướng Đối Tượng
Giáo trình phân tích và thiết kế hướng đối tượng của Trương Ninh Thuận Đặng Đức Hạnh cung cấp kiến thức chuyên sâu cho sinh viên CNTT.
Trường đại học
Đại Học Quốc Gia Hà NộiChuyên ngành
Công NghệNgười đăng
Ẩn danhThể loại
Giáo TrìnhPhí lưu trữ
55 PointMục lục chi tiết
THÔNG TIN CHI TIẾT
Tác giả: Trương Ninh Thuận
Trường học: Đại Học Quốc Gia Hà Nội
Chuyên ngành: Công Nghệ
Đề tài: Giáo Trình Phân Tích và Thiết Kế Hướng Đối Tượng
Loại tài liệu: Giáo Trình
Địa điểm: Hà Nội
Giáo Trình Phân Tích và Thiết Kế Hướng Đối Tượng là một tài liệu quan trọng dành cho những ai muốn nắm vững các nguyên tắc và phương pháp trong phân tích và thiết kế phần mềm theo hướng đối tượng. Tài liệu này không chỉ cung cấp kiến thức lý thuyết mà còn hướng dẫn thực hành, giúp người đọc hiểu rõ hơn về quy trình phát triển phần mềm, từ việc xác định yêu cầu đến thiết kế hệ thống.
Đặc biệt, tài liệu này mang lại lợi ích lớn cho sinh viên và các chuyên gia trong ngành công nghệ thông tin, giúp họ nâng cao kỹ năng và khả năng áp dụng các phương pháp phân tích hiện đại. Để mở rộng thêm kiến thức của bạn, bạn có thể tham khảo các tài liệu liên quan như Luận văn tốt nghiệp tmu phân tích và đánh giá quy trình xây dựng hệ thống thông tin quản lý nhân sự tại công ty tnhh phần mềm fpt, nơi bạn có thể tìm hiểu sâu hơn về quy trình phát triển hệ thống thông tin. Ngoài ra, tài liệu Đảm bảo chất lượng và kiểm thử phần mềm tìm hiểu và sử dụng phần mềm kiểm thử tự động katalon studio 2 sẽ giúp bạn nắm bắt các kỹ thuật kiểm thử phần mềm hiệu quả. Cuối cùng, bạn cũng có thể tham khảo Giáo trình xây dựng phần mềm quản lý ngành công nghệ thông tin cao đẳng để có cái nhìn tổng quan hơn về việc phát triển phần mềm trong lĩnh vực công nghệ thông tin. Những tài liệu này sẽ là cơ hội tuyệt vời để bạn mở rộng kiến thức và kỹ năng của mình trong lĩnh vực này.
Trích đoạn nội dung tài liệu
Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ