How it works
A program should have a clear purpose and requirements that describe what it must do for users.
State the user need first, then list only the features required to meet that need.
Common error
Do not confuse “uses a list” or “has buttons” with the actual purpose.
Worked example
A homework planner contains buttons and a list. State its user-facing purpose and measurable behavior.
Data / pseudocode
Users: students
Input: task and due date
Output: upcoming tasks in date orderThe purpose is to help students identify upcoming work. Buttons and lists implement that purpose but are not the purpose itself. A requirement could state that adding a valid task makes it appear in the correct due-date position in the displayed list.
Exercises
1.1.1
For a cafeteria app that lists meals and allergens, state one purpose, one input, and one output.
Show solution
Purpose: help users choose a suitable meal. Input: a selected day or dietary filter. Output: matching meals and their allergen information.
1.1.2
Turn "make the app easy to use" into a testable requirement for adding a homework task.
Show solution
For example: a student can enter a task and due date, save it, and see it in the task list without re-entering information. Define how the usability test will observe successful completion.
