Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Artifact: Software Requirement

The specification for a condition or capability to which a system must conform.
Other Relationships:Extended By: - Actor - Use Case
Role:Requirements Specifier
Optionality/Occurrence:Multiple occurrences, usually enclosed within a container artifact. Should be used whenever the system must conform to a capability or condition.
Templates and Reports:
Examples:
UML Representation:Various stereotypes can be used, such as <<use case>> and <<business rule>>.
More Information:- Concept: Requirements - Concept: Types of Requirements

Purpose

Software requirements are documented in an attempt to specify:

  • A software capability needed by the user to solve a problem [in order to] to achieve an objective
  • A software capability that must be met or possessed by a system or system component to satisfy a contract, standard, specification, or other formally imposed documentation [THA97]

This is an essential artifact in software development, although in many contexts it is typical for some subset of the requirements to remain incompletely documented. RUP addresses this concern by managing the software development in multiple iterations, allowing the important requirements to be uncovered over time.

Brief Outline

In creating the Software Requirement artifact, you should consider various aspects of the artifact including the following:

  • the different interest groups or stakeholders who may have requirements to contribute
  • the different requirement types (categories, dimensions) that need to be considered

Properties

Property NameBrief Description
IdentifierAn unique name used to identify this Software Requirement.
Short DescriptionA short description of the requirement, as short and succinct as possible.
RationaleAn explanation of why this requirement is needed, and what benefit or value it represents.
UML RepresentationVarious stereotypes, e.g.<<use case>>, <<business rule>>
Detailed DescriptionA detailed explanation of the requirement.
Restoration and Recovery ProceduresThe procedures required to achieve restoration or recovery of the Test Environment Configuration.

Timing

Software Requirements are identified (with some subset of them briefly outlined) early in the Inception phase, as the team begins defining the scope of the system in response to the stakeholder requests and system Vision. Most requirements go on to be described in detail during the Elaboration and Construction phase, with a limited subset defined and dealt with in Transition.

Responsibility

The Requirements Specifier role is primarily responsible for this artifact.

Tailoring

This artifact is generally enclosed within the Software Requirements Specification, Use Case or other requirements specification artifacts.