We'll start our specification with the following outline of the items we need to write:
- Description: This is one or two sentences that describe the primary purpose, function, and goals of the application. Think of it as the program's mission statement.
- Functionality required: This section is a list of specific things the program needs to be able to do to be minimally functional. It can include both hard requirements, such as detailed output and input formats, and soft requirements—goals that are not quantifiably attainable, but that the program should strive toward (for example, "reduce user errors as much as possible").
- Functionality not required: This section is a list of things the program does not ...