Artifact: Software Requirement
This artifact is a specification for a condition or capability to which a system must conform.
Domains: Requirements
Work Product Kinds: Specification

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

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 this 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
Representation Options

This artifact is generally enclosed within other requirements specification artifacts.

Software requirements are best managed in a database, such as Rational ClearQuest and/or Rational RequisitePro, in order to track status, prioritize, generate reports, and establish traceability. Tailoring involves deciding on the information (Requirements Attributes) to be documented for each requirement. The result of these decisions should be documented in the Requirements Management Plan.

More Information