Hệ thống được nhìn nhận như một bộ các đối tượng (chứ khơng phải là bộ các chức năng). Hệ thống được phân tán, mỗi đối tượng có những thơng tin trạng thái riêng của nó. Đối tượng là một bộ các thuộc tính xác định trạng thái của đối tượng đó và các phép tốn của nó. Nó được thừa kế từ một vài lớp đối tượng lớp cao hơn, sao cho dễ định nghĩa nó chỉ cần nêu đủ các khác nhau giữa nó và các lớp cao hơn nó.
Che dấu thơng tin là chiến lược thiết kế dấu càng nhiều thông tin trong các thành phần càng hay. Cái đó ngầm hiểu rằng việc kết hợp điều khiển logic và cấu trúc dữ liệu được thực hiện trong thiết kế càng chậm càng tốt. Liên lạc thông qua các thông tin trạng thái dùng chung (các biến tổng thể) là ít nhất, nhờ vậy khả năng hiểu là được tăng lên. Thiết kế là tương đối dễ thay đổi vì sự thay đổi một thành phần không thể không dự kiến các hiệu ứng phụ trên các thành phần khác.
Thiết kế hướng đối tượng là dựa trên việc che dấu thơng tin, nhìn hệ phần mềm như là một bộ các đối tượng tương tác với nhau chứ không phải là một bộ các chức năng như cách tiếp cận chức năng. Các đối tượng này có một trạng thái được che dấu và các phép tốn trên các trạng thái đó. Thiết kế biểu thị các dịch vụ được yêu cầu và được cung cấp bởi các đối tượng có tương tác với nó.
Thiết kế hướng đối tượng có ba đặc trưng
i) Vùng dữ liệu dùng chung là bị loại bỏ. Các đối tượng liên lạc với nhau bằng cách trao đổi thông báo chứ không phải bằng các biến dùng chung.
ii) Các đối tượng là các thực thể độc lập mà chúng sẵn sàng được thay đổi vì rằng tất cả các trạng thái và các thông tin biểu diễn là chỉ ảnh hưởng trong phạm vi chính đối tượng đó thơi. Các thay đổi về biểu diễn thơng tin có thể được thực hiện khơng cần sự tham khảo tới các đối tượng hệ thống khác.
iii) Các đối tượng có thể phân tán và có thể hành động tuần tự hoặc song song. Khơng cần có quyết định về tính song song ngay từ một giai đoạn sớm của quá trình thiết kế.
C ác ưu điểm
i) Dễ bảo trì vì các đối tượng là độc lập. Các đối tượng có thể hiểu và cải biên như là một thực thể độc lập. Thay đổi trong thực hiện một đối tượng hoặc thêm các dịch vụ sẽ không làm ảnh hưởng tới các đối tượng hệ thống khác.
ii) Các đối tượng là các thành phần dùng lại được thích hợp (do tính độc lập của chúng). Một thiết kế có thể dùng lại được các đối tượng đã được thiết kế trong các bản thiết kế trước đó.
iii) Đối với một vài lớp hệ thống, có một phản ánh rõ ràng giữa các thực thể có thực (chẳng hạn như các thành phần phần cứng) với các đối tượng điều khiển nó trong hệ thống. Điều này cải thiện được tính dễ hiểu của thiết kế.
Nhược điểm:
Sự nhận minh các đối tượng hệ thống thích hợp là khó khăn. Cách nhìn tự nhiên nhiều hệ thống là cách nhìn chức năng và việc thích nghi với cách nhìn hướng đối tượng đơi khi là khó khăn.
Phương pháp thiết kế hướng đối tượng vẫn cịn là tương đối chưa chín muồi và đang thay đổi mau chóng.
Ở đây, cần phân biệt hai khái niệm là thiết kế hướng đối tượng và lập trình (cài đặt) hướng đối tượng:
+ Thiết kế hướng đối tượng là một chiến lược thiết kế nó khơng phụ thuộc vào một ngôn ngữ thực hiện cụ thể nào. Các ngơn ngữ lập trình hướng đối tượng và các khả năng bao gói đối tượng làm cho thiết kế hướng đối tượng được thực hiện một cách đơn giản hơn. Tuy nhiên một thiết kế hướng đối tượng cũng có thể được thực hiện trong một ngôn ngữ kiểu như Pascal hoặc C mà khơng có các đặc điểm như vậy.
+ Việc chấp nhận thiết kế hướng đối tượng như là một chiến lược hữu hiệu đã dẫn đến sự phát triển phương pháp thiết kế hướng đối tượng. Như Ada không phải là ngơn ngữ lập trình hướng đối tượng vì nó khơng trợ giúp sự thừa kế của các lớp, nhưng lại có thể thực hiện các đối tượng trong Ada bằng cách sử dụng các gói hoặc các nhiệm vụ, do đó Ada được dùng để mô tả các thiết kế hướng đối tượng.
+ Thiết kế hướng đối tượng là một chiến lược thiết kế, nó khơng phụ thuộc vào ngơn ngữ để thực hiện. Các ngôn ngữ lập trình hướng đối tượng và khả năng bao gói dữ liệu làm cho dễ thực hiện một thiết kế hướng đối tượng hơn. Tuy nhiên cũng có thể thực hiện một thiết kế hướng đối tượng trong một ngôn ngữ kiểu như Pascal hoặc C.