Phương pháp tiếp cận hướng đối tượng
Trong cách tiếp cận hướng đối tượng, trọng tâm là nắm bắt cấu trúc và hành vi của hệ thống thông tin thành các mô-đun nhỏ kết hợp cả dữ liệu và quy trình. Mục đích chính của Thiết kế hướng đối tượng (OOD) là cải thiện chất lượng và năng suất của việc phân tích và thiết kế hệ thống bằng cách làm cho nó dễ sử dụng hơn.
Trong giai đoạn phân tích, các mô hình OO được sử dụng để lấp đầy khoảng cách giữa vấn đề và giải pháp. Nó hoạt động tốt trong tình huống mà các hệ thống đang được thiết kế, điều chỉnh và bảo trì liên tục. Nó xác định các đối tượng trong miền vấn đề, phân loại chúng theo dữ liệu và hành vi.
Mô hình OO có lợi theo những cách sau:
Nó tạo điều kiện cho những thay đổi trong hệ thống với chi phí thấp.
Nó thúc đẩy việc tái sử dụng các thành phần.
Nó đơn giản hóa vấn đề tích hợp các thành phần để cấu hình hệ thống lớn.
Nó đơn giản hóa việc thiết kế các hệ thống phân tán.
Các yếu tố của hệ thống hướng đối tượng
Chúng ta hãy xem xét các đặc điểm của Hệ thống OO -
Objects- Đối tượng là một cái gì đó tồn tại trong miền vấn đề và có thể được xác định bằng dữ liệu (thuộc tính) hoặc hành vi. Tất cả các thực thể hữu hình (sinh viên, bệnh nhân) và một số thực thể vô hình (tài khoản ngân hàng) được mô hình hóa dưới dạng đối tượng.
Attributes - Chúng mô tả thông tin về đối tượng.
Behavior- Nó chỉ định những gì đối tượng có thể làm. Nó xác định hoạt động được thực hiện trên các đối tượng.
Class- Một lớp đóng gói dữ liệu và hành vi của nó. Các đối tượng có ý nghĩa và mục đích tương tự được nhóm lại thành lớp.
Methods- Phương thức xác định hành vi của một lớp. Chúng không hơn gì một hành động mà một đối tượng có thể thực hiện.
Message- Thông báo là một lời gọi hàm hoặc thủ tục từ đối tượng này sang đối tượng khác. Chúng là thông tin được gửi đến các đối tượng để kích hoạt các phương thức. Về cơ bản, một thông báo là một hàm hoặc một lệnh gọi thủ tục từ đối tượng này sang đối tượng khác.
Các tính năng của hệ thống hướng đối tượng
Một hệ thống hướng đối tượng đi kèm với một số tính năng tuyệt vời được thảo luận bên dưới.
Đóng gói
Đóng gói là một quá trình ẩn thông tin. Nó chỉ đơn giản là sự kết hợp của quy trình và dữ liệu thành một thực thể duy nhất. Dữ liệu của một đối tượng được ẩn khỏi phần còn lại của hệ thống và chỉ có sẵn thông qua các dịch vụ của lớp. Nó cho phép cải tiến hoặc sửa đổi các phương pháp được các đối tượng sử dụng mà không ảnh hưởng đến các phần khác của hệ thống.
Trừu tượng
Nó là một quá trình lấy hoặc lựa chọn phương thức và thuộc tính cần thiết để chỉ định đối tượng. Nó tập trung vào các đặc điểm thiết yếu của một đối tượng liên quan đến quan điểm của người dùng.
Các mối quan hệ
Tất cả các lớp trong hệ thống có liên quan với nhau. Các đối tượng không tồn tại biệt lập mà tồn tại trong mối quan hệ với các đối tượng khác.
Có ba loại mối quan hệ đối tượng -
Aggregation - Nó chỉ ra mối quan hệ giữa một tổng thể và các bộ phận của nó.
Association - Trong trường hợp này, hai lớp có liên quan hoặc được kết nối theo một cách nào đó chẳng hạn như một lớp làm việc với lớp khác để thực hiện một nhiệm vụ hoặc một lớp hoạt động dựa trên lớp khác.
Generalization- Lớp con dựa trên lớp cha. Nó chỉ ra rằng hai lớp tương tự nhau nhưng có một số khác biệt.
Di sản
Kế thừa là một tính năng tuyệt vời cho phép tạo các lớp con từ một lớp hiện có bằng cách kế thừa các thuộc tính và / hoặc hoạt động của các lớp hiện có.
Đa hình và liên kết động
Tính đa hình là khả năng có nhiều hình thức khác nhau. Nó áp dụng cho cả đối tượng và hoạt động. Đối tượng đa hình là đối tượng có kiểu true ẩn trong lớp cha hoặc lớp cha.
Trong hoạt động đa hình, hoạt động có thể được thực hiện khác nhau bởi các lớp đối tượng khác nhau. Nó cho phép chúng ta thao tác các đối tượng của các lớp khác nhau bằng cách chỉ biết các thuộc tính chung của chúng.
Phương pháp tiếp cận có cấu trúc Vs. Phương pháp tiếp cận hướng đối tượng
Bảng sau giải thích cách tiếp cận hướng đối tượng khác với cách tiếp cận có cấu trúc truyền thống:
Cách tiếp cận có cấu trúc | Phương pháp tiếp cận hướng đối tượng |
---|---|
Nó hoạt động với cách tiếp cận Từ trên xuống. | Nó hoạt động với cách tiếp cận Từ dưới lên. |
Chương trình được chia thành số mô-đun con hoặc chức năng. | Chương trình được tổ chức theo số lớp và đối tượng. |
Cuộc gọi hàm được sử dụng. | Truyền thông điệp được sử dụng. |
Không thể sử dụng lại phần mềm. | Khả năng tái sử dụng là có thể. |
Lập trình thiết kế có cấu trúc thường được để cho đến giai đoạn cuối. | Lập trình thiết kế hướng đối tượng được thực hiện đồng thời với các giai đoạn khác. |
Thiết kế có cấu trúc phù hợp hơn cho việc gia công. | Nó phù hợp để phát triển trong nhà. |
Nó cho thấy sự chuyển đổi rõ ràng từ thiết kế sang thực hiện. | Quá trình chuyển đổi không rõ ràng từ thiết kế sang thực hiện. |
Nó phù hợp với hệ thống thời gian thực, hệ thống nhúng và các dự án mà các đối tượng không phải là mức trừu tượng hữu ích nhất. | Nó phù hợp với hầu hết các ứng dụng kinh doanh, các dự án phát triển trò chơi, dự kiến sẽ tùy chỉnh hoặc mở rộng. |
Sơ đồ DFD & ER mô hình dữ liệu. | Biểu đồ lớp, biểu đồ tuần tự, biểu đồ trạng thái và các trường hợp sử dụng đều đóng góp. |
Theo đó, các dự án có thể được quản lý dễ dàng do các giai đoạn được xác định rõ ràng. | Theo cách tiếp cận này, các dự án có thể khó quản lý do sự chuyển đổi không chắc chắn giữa các giai đoạn. |
Ngôn ngữ mô hình thống nhất (UML)
UML là một ngôn ngữ trực quan cho phép bạn lập mô hình các quy trình, phần mềm và hệ thống để thể hiện thiết kế của kiến trúc hệ thống. Nó là một ngôn ngữ tiêu chuẩn để thiết kế và ghi lại một hệ thống theo hướng đối tượng cho phép các kiến trúc sư kỹ thuật giao tiếp với nhà phát triển.
Nó được định nghĩa là tập hợp các đặc tả được tạo và phân phối bởi Nhóm Quản lý Đối tượng. UML có thể mở rộng và mở rộng.
Mục tiêu của UML là cung cấp vốn từ vựng chung về các thuật ngữ hướng đối tượng và kỹ thuật sơ đồ đủ phong phú để mô hình hóa bất kỳ dự án phát triển hệ thống nào từ phân tích đến thực hiện.
UML được tạo thành từ -
Diagrams - Nó là một đại diện bằng hình ảnh của quá trình, hệ thống hoặc một số phần của nó.
Notations - Nó bao gồm các phần tử hoạt động cùng nhau trong một sơ đồ như các đầu nối, ký hiệu, ghi chú, v.v.
Ví dụ về ký hiệu UML cho lớp
Sơ đồ phiên bản-ký hiệu UML
Các hoạt động được thực hiện trên các đối tượng
Các thao tác sau được thực hiện trên các đối tượng:
Constructor/Destructor- Tạo các thể hiện mới của một lớp và xóa các thể hiện hiện có của một lớp. Ví dụ, thêm một nhân viên mới.
Query- Trạng thái truy cập không thay đổi giá trị, không có tác dụng phụ. Ví dụ, tìm địa chỉ của một nhân viên cụ thể.
Update - Thay đổi giá trị của một hoặc nhiều thuộc tính & ảnh hưởng đến trạng thái của đối tượng Ví dụ: thay đổi địa chỉ của một nhân viên.
Sử dụng UML
UML khá hữu ích cho các mục đích sau:
- Mô hình hóa quy trình kinh doanh
- Mô tả kiến trúc hệ thống
- Hiển thị cấu trúc ứng dụng
- Nắm bắt hành vi hệ thống
- Mô hình hóa cấu trúc dữ liệu
- Xây dựng các thông số kỹ thuật chi tiết của hệ thống
- Phác thảo các ý tưởng
- Tạo mã chương trình
Mô hình tĩnh
Mô hình tĩnh chỉ ra các đặc điểm cấu trúc của một hệ thống, mô tả cấu trúc hệ thống của nó và nhấn mạnh vào các bộ phận tạo nên hệ thống.
Chúng được sử dụng để xác định tên lớp, thuộc tính, phương thức, chữ ký và gói.
Biểu đồ UML đại diện cho mô hình tĩnh bao gồm biểu đồ lớp, biểu đồ đối tượng và biểu đồ ca sử dụng.
Mô hình động
Mô hình động cho thấy các đặc điểm hành vi của một hệ thống, tức là cách hệ thống ứng xử với các sự kiện bên ngoài.
Mô hình động xác định đối tượng cần thiết và cách chúng hoạt động cùng nhau thông qua các phương thức và thông điệp.
Chúng được sử dụng để thiết kế logic và hành vi của hệ thống.
Biểu đồ UML biểu diễn mô hình động bao gồm biểu đồ tuần tự, biểu đồ truyền thông, biểu đồ trạng thái, biểu đồ hoạt động.
Vòng đời phát triển hệ thống hướng đối tượng
Nó bao gồm ba quy trình vĩ mô -
- Phân tích hướng đối tượng (OOA)
- Thiết kế hướng đối tượng (OOD)
- Triển khai hướng đối tượng (OOI)
Các hoạt động phát triển hệ thống hướng đối tượng
Phát triển hệ thống hướng đối tượng bao gồm các giai đoạn sau:
- Phân tích hướng đối tượng
- Thiết kế hướng đối tượng
- Prototyping
- Implementation
- Thử nghiệm gia tăng
Phân tích hướng đối tượng
Giai đoạn này liên quan đến việc xác định các yêu cầu hệ thống và để hiểu các yêu cầu hệ thống, xây dựng use-case model. Ca sử dụng là một kịch bản để mô tả sự tương tác giữa người dùng và hệ thống máy tính. Mô hình này thể hiện nhu cầu của người dùng hoặc quan điểm của người dùng về hệ thống.
Nó cũng bao gồm việc xác định các lớp và mối quan hệ của chúng với các lớp khác trong miền vấn đề, tạo nên một ứng dụng.
Thiết kế hướng đối tượng
Mục tiêu của giai đoạn này là thiết kế và tinh chỉnh các lớp, thuộc tính, phương thức và cấu trúc được xác định trong giai đoạn phân tích, giao diện người dùng và truy cập dữ liệu. Giai đoạn này cũng xác định và định nghĩa các lớp hoặc đối tượng bổ sung hỗ trợ việc thực hiện yêu cầu.
Tạo mẫu
Prototyping cho phép hiểu đầy đủ mức độ dễ dàng hay khó khăn khi triển khai một số tính năng của hệ thống.
Nó cũng có thể cho người dùng cơ hội nhận xét về khả năng sử dụng và tính hữu ích của thiết kế. Nó có thể xác định thêm một ca sử dụng và làm cho mô hình ca sử dụng dễ dàng hơn nhiều.
Thực hiện
Nó sử dụng Phát triển dựa trên thành phần (CBD) hoặc Phát triển ứng dụng nhanh (RAD).
Phát triển dựa trên thành phần (CBD)
CODD là một cách tiếp cận công nghiệp hóa đối với quá trình phát triển phần mềm sử dụng nhiều loại công nghệ khác nhau như các công cụ CASE. Phát triển ứng dụng chuyển từ phát triển tùy chỉnh sang lắp ráp các thành phần phần mềm được xây dựng trước, được kiểm tra trước, có thể tái sử dụng hoạt động với nhau. Một nhà phát triển CBD có thể lắp ráp các thành phần để xây dựng một hệ thống phần mềm hoàn chỉnh.
Phát triển ứng dụng nhanh (RAD)
RAD là một tập hợp các công cụ và kỹ thuật có thể được sử dụng để xây dựng một ứng dụng nhanh hơn so với các phương pháp truyền thống. Nó không thay thế SDLC nhưng bổ sung cho nó, vì nó tập trung nhiều hơn vào mô tả quy trình và có thể kết hợp hoàn hảo với cách tiếp cận hướng đối tượng.
Nhiệm vụ của nó là xây dựng ứng dụng một cách nhanh chóng và từng bước thực hiện thiết kế yêu cầu của người dùng thông qua các công cụ như visual basic, power builder, v.v.
Thử nghiệm gia tăng
Phát triển phần mềm và tất cả các hoạt động của nó bao gồm cả kiểm thử là một quá trình lặp đi lặp lại. Do đó, có thể là một việc tốn kém nếu chúng ta chỉ chờ đợi để thử nghiệm một sản phẩm sau khi nó phát triển hoàn chỉnh. Đây là hình ảnh thử nghiệm gia tăng trong đó sản phẩm được thử nghiệm trong các giai đoạn phát triển khác nhau của nó.