Determining Specifications

You need to consider the functional and non-functional specifications of your project.

Let's first look back at our content:

Functional Specifications
Non-Functional Specifications

Functional Specifications

What does the system actually NEED to do?

  • User Requirements

    • What does the user need to be able to do? List all specifications here.

  • Inputs & Outputs

    • What inputs will the system need to accept and what outputs will it need to display?

  • Core Features

    • At its core, what specifically does the program need to be able to do?

  • User Interaction

    • How will users interact with the system (e.g. command-line, GUI?) and what information will it need to provide to help users navigate?

  • Error Handling

    • What possible errors could you face that need to be handled by the system?

Non-Functional Specifications

What would improve the system but is ultimately not required?

  • Performance

    • How quickly should we try to get the system to perform tasks, what efficiency is required to maintain user engagement? How can we ensure our program remains efficient?

  • Useability / Accessibility

    • How might you make your application more accessible? What could you do with the User Interface to improve usability?

  • Reliability

    • What could perhaps not crash the whole system, but could be an issue and needs to be addressed? Data integrity? Duplicate data? API retrieval crash?

Last updated