Giáo trình: phân tích và thiết kế hướng đối tượng trương ninh thuận đặ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 và Đặng Đức Hạnh cung cấp kiến thức chuyên sâu về lập trình hướng đối tượng.

Chuyên ngành

Phân tích và Thiết kế Hướng Đối tượng

Người đăng

Ẩn danh

Thể loại

Giáo trình
216
0
0

Phí lưu trữ

55 Point

Tóm tắt

I. Mô Hình Hóa Đối Tượng trong Phân Tích và Thiết Kế

Mô hình hóa hướng đối tượng là phương pháp cơ bản trong phân tích và thiết kế hướng đối tượng, được trình bày chi tiết trong giáo trình của Trương Ninh Thuận tại Đại học Công Nghệ. Phương pháp này giúp chúng ta tiếp cận các bài toán phức tạp bằng cách xem xét chúng không phải là tập các chức năng, mà là tập các đối tượng tương tác lẫn nhau. Khác với lập trình thủ tục truyền thống hướng đến cung cấp các chức năng, mô hình hóa hướng đối tượng tập trung vào đặc tả các đối tượng, thuộc tính và phương thức của chúng trong ngữ cảnh xác định. Điều này cho phép các nhà phát triển phần mềm xây dựng các ứng dụng linh hoạt, dễ bảo trì và tái sử dụng được.

1.1. Nguyên Tắc Cơ Bản của Hướng Đối Tượng

Hướng đối tượng dựa trên bốn nguyên tắc chính: trừu tượng hóa, mô-đun hóa, phân cấpkế thừa. Trừu tượng hóa cho phép chúng ta tập trung vào các đặc điểm quan trọng nhất của đối tượng, bỏ qua các chi tiết không cần thiết. Mô-đun hóa chia hệ thống thành các thành phần độc lập dễ quản lý. Phân cấp tạo ra cấu trúc tổ chức rõ ràng, trong khi kế thừa cho phép tái sử dụng mã hiệu quả.

1.2. Lớp Đối Tượng và Tổng Quát Hóa

Lớp đối tượng là khái niệm cốt lõi trong thiết kế hướng đối tượng, đại diện cho một tập hợp các đối tượng có cùng đặc điểm và hành vi. Tổng quát hóakế thừa cho phép tạo các lớp con từ lớp cha, di thừa các tính chất chung và mở rộng với các tính năng cụ thể, nâng cao tính tái sử dụng và giảm sự trùng lặp mã.

II. Ngôn Ngữ Mô Hình Hóa UML và Ứng Dụng

UML (Unified Modeling Language) là ngôn ngữ mô hình hóa tiêu chuẩn được sử dụng rộng rãi trong phân tích và thiết kế hướng đối tượng. Giáo trình của Trương Ninh Thuận cung cấp kiến thức toàn diện về UML và các ứng dụng thực tiễn. UML cung cấp các công cụ trực quan để mô tả, tài liệu hóa và giao tiếp các thiết kế phần mềm. Nó bao gồm nhiều biểu đồ UML khác nhau như biểu đồ ca sử dụng, biểu đồ lớp, biểu đồ trạng tháibiểu đồ hoạt động. Những biểu đồ này giúp các nhà phát triển hiểu rõ yêu cầu, cấu trúc hệ thống và luồng thực thi.

2.1. Các Biểu Đồ Chính trong UML

Biểu đồ ca sử dụng mô tả các tương tác giữa người dùng và hệ thống. Biểu đồ lớp thể hiện các lớp đối tượng và các quan hệ giữa chúng. Biểu đồ tuần tựbiểu đồ giao tiếp biểu diễn các tương tác giữa các đối tượng. Biểu đồ trạng thái mô tả các trạng thái của đối tượng, còn biểu đồ hoạt động biểu diễn các quy trình kinh doanh.

2.2. Các Quan Hệ trong UML

UML định nghĩa các quan hệ giữa các phần tử như kế thừa, liên kết, phụ thuộctổng hợp. Các quan hệ này giúp biểu diễn các mối liên hệ giữa các lớp đối tượng một cách chính xác và dễ hiểu, hỗ trợ quá trình phân tích thiết kế một cách hiệu quả.

III. Quy Trình Phát Triển Phần Mềm Hướng Đối Tượng RUP

Quy trình phát triển RUP (Rational Unified Process) là một phương pháp tiếp cận hệ thống để phân tích và thiết kế hướng đối tượng, giúp giải quyết các triệu chứng của vấn đề phát triển phần mềm truyền thống. RUP được xây dựng trên các nguyên tắc thực tiễn đã được kiểm chứng, cung cấp một bộ kinh nghiệm thực tiễn toàn diện. Giáo trình phân tích và thiết kế hướng đối tượng của Trương Ninh Thuận trình bày chi tiết các giai đoạn của RUP bao gồm: mô hình hóa nghiệp vụ, nắm bắt yêu cầu, phân tích và thiết kế. Mỗi giai đoạn có các mục đích cụ thể và hoạt động liên quan, giúp đảm bảo chất lượng và hiệu suất của sản phẩm phần mềm cuối cùng.

3.1. Mô Hình Hóa Nghiệp Vụ và Nắm Bắt Yêu Cầu

Mô hình hóa nghiệp vụ tập trung vào việc hiểu rõ quy trình kinh doanh hiện tại, từ đó xác định các yêu cầu chức năng. Nắm bắt yêu cầu là quá trình tái tạo mô hình yêu cầu từ các yêu cầu của bài toán, sử dụng các công cụ UML như biểu đồ ca sử dụng để biểu diễn các tương tác.

3.2. Phân Tích và Thiết Kế Hướng Đối Tượng

Phân tích hướng đối tượng xác định các lớp phân tích và mô tả hành vi của chúng. Thiết kế hướng đối tượng chuyển đổi phân tích thành thiết kế cụ thể, xác định các phần tử thiết kế, kiến trúc hệ thốnggiao diện hệ thống con, tạo nền tảng cho quá trình lập trình.

IV. Thiết Kế Chi Tiết và Triển Khai Hệ Thống

Giai đoạn cuối trong phân tích và thiết kế hướng đối tượngthiết kế chi tiết các lớp đối tượng và cơ sở dữ liệu. Giáo trình của Trương Ninh Thuận cung cấp hướng dẫn chi tiết về cách thiết kế các lớp bao gồm định nghĩa thuộc tính, phương thức, trạng thái và các quan hệ liên kết. Thiết kế ca sử dụng mô tả các tương tác giữa đối tượng thông qua biểu đồ tuần tựbiểu đồ giao tiếp. Ngoài ra, 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, đảm bảo tính nhất quán và hiệu suất của hệ thống lưu trữ dữ liệu.

4.1. Thiết Kế Chi Tiết Các Lớp Đối Tượng

Thiết kế lớp bao gồm việc định nghĩa các thuộc tính, phương thức, trạng thái và các quan hệ giữa các lớp. Cần xem xét các yêu cầu phi chức năngxử lý xung đột ca sử dụng để đảm bảo thiết kế đáp ứng đầy đủ các nhu cầu của hệ thống.

4.2. Thiết Kế Cơ Sở Dữ Liệu và Triển Khai

Thiết kế cơ sở dữ liệu liên quan đến việc á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 lớp đến cơ sở dữ liệu. Triển khai hệ thống yêu cầu xác định gói thiết kế, kiến trúc vật lý ứng dụng, tạo nên một hệ thống hoàn chỉnh sẵn sàng cho sử dụng.

18/12/2025

Trích đoạn nội dung tài liệu

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.

Tính mô-đun hóa Tính mô-đun hóa (Modularity) có thể được định nghĩa như là sự phân chia các khối vật thể lớn thành các nhóm nhỏ và cấu trúc đơn giản hơn. Các hệ thống phần mềm được phát triển thường rất phức tạp. Để dễ dàng hiểu được hệ thống, chúng ta thường phân chia thành các thành phần nhỏ hơn và các thành phần này được quản lý một cách độc lập. Sự phân chia hệ thống theo cách này gọi là tính mo - đun hóa.

Đó là công việc quan trọng để phát triển các hệ thống lớn và phức tạp. Ví dụ với Hệ thống đăng ký môn học (Course Registration System), hệ thống này cho phép sinh viên trong Trường đại học đăng ký môn học theo học chế tin chi, thanh toán tiền học phi theo số tín chỉ đăng ký. Đây là một hệ thống lớn và phức tạp, thường được các nhóm phát triển phân chia thành ba phần độc lập như sau: - Hệ thống thanh toán tiền - Hệ thống cung cấp danh sách môn học - Hệ thống quản lý sinh viên. Sự phân cấp Sự phân cấp (Hierarchy) có thể được định nghĩa như là sự sắp xếp thứ tự hoặc phân hạng sự trừu tượng hóa của các đối tượng theo một cấu trúc cây.

Các kiểu của sự phân cấp bao gồm: phân cấp toàn thể - bộ phận, phân cấp lớp, phân cấp các đối tượng chứa nhau, phân cấp sự kế thừa, phân cấp theo kiểu của đối tượng. Sự phân cấp là một cách tổ chức theo kiểu phân loại. Sử dụng sự phân cấp cho phép chúng ta dễ dàng hơn để nhận biết sự giống nhau và khác nhau giữa các phân lớp. Ví dụ, trong thực vật học, người ta thường tổ chức cây cối theo họ để dễ dàng phân biệt và tìm mối liên hệ giữa các loài cây khác nhau.

Trong kỹ thuật hướng đối tượng, sự phân cấp cũng thường được sử dụng để tổ chức các đối tượng trong hệ thống. PHÂN TÍCH VÀ THIẾT KẾ HƯỚNG ĐỐI TƯỢNG |5 1. Khái niệm cơ bản về mô hình hướng đối tượng 1. Đối tượng Khái niệm đối tượng cho phép người phát triển phần mềm biểu diễn các khái niệm thế giới thực trong bản thiết kế phần mềm của họ.

Các khái niệm thế giới thực này có thể là một thực thể vật lý như người, xe tải, con chó, cái bàn, xe đạp. Các đối tượng cũng có thể là các khái niệm về một tiến trình hóa học hoặc thuật toán. Các đối tượng thế giới thực có cùng 2 đặc điểm chung là các trạng thái và hành vi. Con chó có các trạng thái (tên, màu sắc, no, đói) và hành vi (sủa, chạy, vẫy đuôi).

Xe đạp có trạng thái (nhịp bản đạp, tốc độ) và hành vi (thay đổi nhịp bàn đạp, phanh xe). Xác định trạng thái và hành vi của các đối tượng thế giới thực là một phương pháp để bắt đầu cách nghĩ về mô hình hóa hướng đối tượng. Với mỗi đối tượng trong thực tế, chúng ta có thể đặt hai câu hỏi: "Có những trạng thái nào của đối tượng?" và "Những hành vi nào đối tượng có thể thực hiện?". Hãy quan sát và viết ra những gì nhìn thấy được, chúng ta có thể thấy rằng, chiếc đèn bàn có thể có 2 trạng thái: bật (on) và tắt (off), có 2 hành vi bật đèn (turn on) và tắt đèn (turn off), nhưng chiếc radio có thể có thêm các trạng thái: bật (on), tắt (off), âm lượng hiện tại (current volume), kênh hiện tại (current station) và hành vi bật đài (turn on), tắt đài (turn off), tăng âm thanh (increase volume), giảm âm thanh (decrease volume), tim kênh (seek), dò kênh (scan), và chỉnh sóng (ture).

Chúng ta cũng nhận thấy rằng, một số đối tượng chứa các đối tượng khác. Những quan sát thế giới thực này đều được chuyển vào thế giới của lập trình hướng đối tượng. Các đối tượng phần mềm được mô hình tương tự các đối tượng thế giới thực: chúng gồm các trạng thái và hành vi. Một đối tượng cất giữ các trạng thái của nó trong thuộc tỉnh (là biến trong một số ngôn ngữ lập trình) và thể hiện hành vi của nó qua các phương thức (là các hàm trong một số ngôn ngữ lập trình).

Các phương thức dùng để thay đổi trạng thái của đối tượng, ngoài ra còn dùng để giao tiếp với các đối tượng khác. Che giấu các trạng thái nội tại và yêu cầu tất cả sự tương tác được thực hiện thông qua phương thức của đối tượng là cơ chế Đóng gói dữ liệu. PHÂN TÍCH VÀ THIẾT KẾ HƯỚNG ĐỐI TƯỢNG |6 Hình 1.1 Mô hình hóa xe đạp Xem xét ví dụ một chiếc xe đạp được mô hình hóa như một đổi tượng phần mềm (Hình 1. Chuyển các trạng thái vào thuộc tỉnh của đối tượng (tốc độ hiện tại (current speed), nhịp bàn đạp hiện tại (current pedal cadence), và trạng thái líp hiện tại (current gear)) và cung cấp các phương thức để thay đổi các trạng thái, đối tượng bảy giờ đã được sẵn sàng sử dụng bởi các đối tượng bên ngoài.

Lớp đối tượng Một lớp định nghĩa một khung chứa các cấu trúc và hành vi chung của các đối tượng. Các đối tượng được tạo ra từ lớp được gọi là các thể hiện của lớp. Lớp là sự mô tả tĩnh và đối tượng là các thế hiện khi chạy của lớp Nhắc lại rằng, mô hình hóa là quá trình trừu tượng hóa các đối tượng của thế giới thực vào ngữ cảnh của hệ thống.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ