Bất cứ khi nào tôi được yêu cầu xây dựng một dự án, tôi luôn tìm cách xây dựng nó, không phải trước khi nghĩ ra một kế hoạch hay thiết kế, nhưng sau khi lần đầu tiên viết một lớp cần thiết, làm sáng tỏ toàn bộ dự án, xây dựng từ dưới lên. Bây giờ tôi biết đây không phải là cách thích hợp để tạo ra phần mềm, nhưng không dễ để tôi quấn đầu xung quanh cái được gọi là Phân tích và Thiết kế hướng đối tượng. Tôi có thể dễ dàng hiểu hơn về thiết kế thủ tục từ trên xuống, vì nó chỉ bao gồm việc chia nhỏ các nhiệm vụ thành các nhiệm vụ phụ, những thứ có đối tác của chúng trong mã, chức năng. Nhưng Phân tích và Thiết kế hướng đối tượng Tôi không thể dễ dàng hiểu được, vì tôi không hiểu làm thế nào người ta có thể biết họ sẽ cần những lớp nào và họ sẽ tương tác như thế nào, trừ khi họ biết họ sẽ mã hóa chúng như thế nào.
Lần đầu tiên chúng tôi đưa khái niệm về các lớp và các đối tượng vào quy trình thiết kế, chúng tôi không còn có thể thiết kế từ trên xuống, bởi vì chúng tôi không còn chia nhỏ các vấn đề của chúng tôi thành những điều có thể được thực hiện như các thủ tục. Thay vào đó, theo những gì tôi đã đọc về chủ đề này, chúng ta phải xác định những lớp nào là cần thiết và tạo ra các tạo phẩm khác nhau trong Ngôn ngữ mô hình thống nhất, sau đó chúng ta có thể sử dụng khi triển khai phần mềm. Nhưng loại quy trình thiết kế này tôi không hiểu. Vì làm thế nào để người ta biết họ sẽ cần những lớp nào và cách họ sẽ tương tác, trừ khi họ đã hình thành toàn bộ hệ thống?
Đây là vấn đề của tôi. Tôi không hiểu cách thiết kế Hệ thống hướng đối tượng, mặc dù tôi hiểu các khái niệm về lập trình hướng đối tượng và có thể sử dụng các khái niệm đó trong bất kỳ ngôn ngữ lập trình hướng đối tượng nào mà tôi biết. Do đó, tôi cần ai đó giải thích cho tôi quy trình đơn giản nào tôi có thể sử dụng để thiết kế Hệ thống hướng đối tượng theo cách có ý nghĩa với tôi.