Introduce the problem solving methodology and its use in applied computing
Determine the functional requirements of the solution. These describe what the software solution should do. This involves specific details such as input required, output developed and functions of the solution including data manipulation and validation.
Determine the non-functional requirements. These describe the quality attributes of the solution. These include: usability, reliability, portability, robustness and maintainability.
Use tools to assist in determining solution requirements, including context diagrams, data flow diagrams and use case diagrams.