Requirements Specification

Before a system is designed and implemented, the requirements have to be specified in enough detail to make analysis and design possible. This is a big part of software engineering, especially for larger systems. (This is also the part that we, as programmers, usually enjoy the least!!)

The course textbook attempts to delve into this process in great detail. This outline is meant to give just a quick overview, without going into the level of detail discussed in the textbook.

Requirements Elicitation

Types of Requirements

Requirements Analysis

Requirements can be tested and validated. A requirement specification should be checked that it is:

How to come up with the requirements

The techniques may vary with the company involved and with the level of complexity of the desired system. Different companies have different levels of formality in their processes.

One useful technique is to go from the specific to the general:

Where to go from here?