Software requirements

From Infogalactic: the planetary knowledge core
(Redirected from Software Requirements)
Jump to: navigation, search

Lua error in package.lua at line 80: module 'strict' not found. Software Requirements is a field within software engineering that deals with establishing the needs of stakeholders that are to be solved by software. The IEEE Standard Glossary of Software Engineering Terminology defines a requirement as:[1]

  1. A condition or capability needed by a user to solve a problem or achieve an objective.
  2. A condition or capability that must be met or possessed by a system or system component to satisfy a contract, standard, specification, or other formally imposed document.
  3. A documented representation of a condition or capability as in 1 or 2.

The activities related to working with software requirements can broadly be broken up into Elicitation, Analysis, Specification, and Management.[2]

Elicitation

<templatestyles src="Module:Hatnote/styles.css"></templatestyles>

Elicitation is the gathering and discovery of requirements from stakeholders and other sources. A variety of techniques can be used such as joint application design (JAD) sessions, interviews, document analysis, focus groups, etc. Elicitation is the first step of requirements development.

Analysis

<templatestyles src="Module:Hatnote/styles.css"></templatestyles>

Analysis is the logical breakdown that proceeds from elicitation. Analysis involves reaching a richer and more precise understanding of each requirement and representing sets of requirements in multiple, complementary ways.

Specification

<templatestyles src="Module:Hatnote/styles.css"></templatestyles>

Specification involves representing and storing the collected requirements knowledge in a persistent and well-organized fashion that facilitates effective communication and change management. Use cases, user stories, functional requirements, and visual analysis models are popular choices for requirements specification.

Validation

Validation involves techniques to confirm that the correct set of requirements has been specified to build a solution that satisfies the project's business objectives.

Management

<templatestyles src="Module:Hatnote/styles.css"></templatestyles>

Requirements change during projects and there are often many of them. Management of this change becomes paramount to ensuring that the correct software is built for the stakeholders.

Tool support for requirements engineering

Specialized commercial tools for requirements engineering are 3SL Cradle, IRise, Gatherspace, Rational RequisitePro, Doors, CaliberRM or QFDCapture, but also free tools like FreeMind and Concordion can be used.[3] Issue trackers implementing the Volere requirements template have been used successfully in distributed environments.[4]

See also

References

  1. Lua error in package.lua at line 80: module 'strict' not found.
  2. Lua error in package.lua at line 80: module 'strict' not found.
  3. Lua error in package.lua at line 80: module 'strict' not found.
  4. Lua error in package.lua at line 80: module 'strict' not found.

Further reading

  • Lua error in package.lua at line 80: module 'strict' not found.
  • Lua error in package.lua at line 80: module 'strict' not found.
  • Lua error in package.lua at line 80: module 'strict' not found.

External links