Yiling's Blog

(This site is very broken right now due to
an ill-planned domain migration. Another
version of this site built using Next.js will
be brought online later.)

Steps to generate (functional) requirements

This semester, in a few courses, we started writing software requirements. During one of the courses I had an epiphany about perhaps one good way to start generating requirements.

Leaving a note about it here.

  1. Identity data entity types in the system.
  2. Identify the source of each data entity type.
  3. Consider how each data entity type may be modified and deleted while in the system.
  4. Identify any other interactions between different data entity types.
  5. By this point, some requirements should have become very obvious.

The above process works because the data entity types and their interactions with each other ARE the business logic of an application. Once the business logic is sorted, requirements should be fairly easy to see.

Note even though this can help with kickstarting the requirement generation process, it should not be relied on along and should be complemented by other techniques such as user stories.