- write a problem statement
- understand the objectives after creating the problem statement
- it should state:
- a list of outputs that are required.
- a list of processes that will produce these outputs
- a list of inputs required
- the recourses that may arise to achieve these results
- identify real-world and abstract objects
- symbolic representation of of data indicating flow from point to point
- identify object services
- determine the set of services each object will perform
- establish connections between objects
- establish communications between objects
- communications is based on the services each object gives and receives