Skip to content
UoL CS Notes

Software Requirements

COMP201 Lectures

User Requirements

These are statements in natural language plus diagrams of services the system provides and its operational constraints.

This is written for customers.

System Requirements

A structured document setting out detailed descriptions of system services.

This can be used as a written contract between client and contractor.

Software Specification

A detailed software description which can serve as a basis for a design or implementation.

This is written for the developers.

Example

User requirement

  • We need to be able to spell check documents

System requirement

  • The system needs to be able to spell check documents and provide auto-correct facilities. Their will be support for the following languages, English, French and German will have plug in support for other languages.

Software specification

  • CheckResult spellCheck(String word, Dictionary dictionary)
    • Word is defined in UNICODE formatted string
    • The Dictionary structure is defined in S.1.2
    • The CheckResult is defined in S.1.3 and contains a flag if the word has been found or not, plus a Vector object containing a list of possible other word suggestions depending if the word has been found or not
    • spellCheck will ideally use Hashing tables to improve code efficiency
    • ……

Types of Requirements

Functional requirements - Statements of services the system should provide, how the system should react to particular inputs and how the system should behave in particular situations.

Non-functional requirements - Constraints of the services or functions offered by the system such as timing constraints and standards to be used:

These are usually defined on the system as a whole.

Domain Requirements - Come from the application domain of the system and reflect characteristics of that domain.

Product Requirements - Specify how the product must behave.

Organisational Requirements - A consequence of organisational policies and procedures.

External Requirements - Arise from factors external to the system such as legislation and interoperability requirements.

Completeness & Consistency

Requirements should be both complete and consistent:

  • Complete - Should include descriptions of all facilities required.
  • Consistent - There should be no conflicts in the descriptions of the system facilities.

Goals vs Requirements

A goal is a general intention of the user such as ease of use.

Goals are helpful to developers as they convey the intentions of the system users.

Requirement Measures

Verifiable non-functional requirements are a pass/fail test for a particular goal.

Example

Property Measure
Speeed Processed transactions/second, User/event response time; screen refresh time.