Using Object-oriented Programming (OOP) to Design Robust Classes
At the beginning of a software project, beginning by documenting in story-like form, the purpose for the project or what business problem are users trying to solve.
List all users of the system and for each, what actions they require to complete their individual tasks to accomplish the goal of the system.
Users may be people, systems, or services, but should be in noun form. For example, a person needing a system to manage their personal finances may be an employee.
Each user’s behavior should be documented as a series of actions or behaviors. For example, the employee previously identified would require an action of taking a vacation.
This process of identifying users and their behaviors be will iterative so don’t try to define everything in the future at the expense of not designing classes or writing code. Continuing the process and using the system ensures mistakes will be uncovered and resolved.
With at least a preliminary list of users and their behaviors identified, now expand upon the details of each.
For example, each employee will contain attributes (data) such as a first name, last name, and phone number.
Also, regarding their only behavior TakeVacatin(), that method returns their status.