The specification for a condition or capability to which a system must conform.
Other Relationships:  Extended By:
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:   
Input to Activities:    Output from Activities:   

Purpose To top of page

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 To top of page

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 To top of page

Property Name  Brief Description 
Identifier  An unique name used to identify this Software Requirement. 
Short Description  A short description of the requirement, as short and succinct as possible. 
Rationale  An explanation of why this requirement is needed, and what benefit or value it represents. 
UML Representation  Various stereotypes, e.g.<<use case>>, <<business rule>>
Detailed Description  A detailed explanation of the requirement. 
Restoration and Recovery Procedures  The procedures required to achieve restoration or recovery of the Test Environment Configuration. 

Timing To top of page

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 To top of page

The Requirements Specifier role is primarily responsible for this artifact.

Tailoring To top of page

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



Rational Unified Process   2003.06.13