Requirements engineering
Encyclopedia
Requirements engineering (RE) is a systems and software engineering process which covers all of the activities involved in discovering, documenting and maintaining a set of requirements for a computer-based system . While there are differing definitions of the term, common factors are that requirements engineering is a subdiscipline of systems and software engineering and is concerned with establishing the goals, functions and constraints of hardware and software systems.

The first use of the term 'requirements engineering was probably in 1979 in a TRW technical report but did not come into general use until the 1990s with the publication of an IEEE Computer Society
IEEE Computer Society
The IEEE Computer Society is a professional society of IEEE. Its purpose and scope is “to advance the theory, practice, and application of computer and information processing science and technology” and the “professional standing of its members.” The CS is the largest of 38 technical societies...

 tutorial and the establishment of a conference series on requirements engineering.

In the traditional waterfall model of the systems or software engineering process , requirements engineering is presented as the first stage of the development process, with the outcome being a requirements document or Software requirements specification
Software Requirements Specification
-Organization of an SRS:A Software Requirements Specification – a requirements specification for a software system – is a complete description of the behavior of a system to be developed. It includes a set of use cases that describe all the interactions the users will have with the software. In...

. In fact, requirements engineering is a process that continues through the lifetime of a system as the requirements are subject to change and new requirements must be elicited and documented and existing requirements managed over the lifetime of the system.

Alan M. Davis
Alan M. Davis
Alan Mark Davis is a Professor of Business Strategy and Entrepreneurship in the College of Business at the University of Colorado at Colorado Springs. He is also President and CEO of Spiral Funds, Inc. Davis earned his Ph.D. in Computer Science from the University of Illinois at Urbana-Champaign...

 maintains an extensive bibliography of requirements engineering.

Requirements engineering activities

The sub-processes that are part of a general requirements engineering process vary widely, depending on the type of system being developed and the specific practice of the organization developing the requirements. Activities within the RE process may include:

  1. Requirements elicitation
    Requirements elicitation
    In requirements engineering, requirements elicitation is the practice of obtaining the requirements of a system from users, customers and other stakeholders...

     - discovering requirements from system stakeholders

  2. Requirements analysis
    Requirements analysis
    Requirements analysis in systems engineering and software engineering, encompasses those tasks that go into determining the needs or conditions to meet for a new or altered product, taking account of the possibly conflicting requirements of the various stakeholders, such as beneficiaries or users...

     and negotiation - checking requirements and resolving stakeholder conflicts

  3. Requirements specification (Software Requirements Specification
    Software Requirements Specification
    -Organization of an SRS:A Software Requirements Specification – a requirements specification for a software system – is a complete description of the behavior of a system to be developed. It includes a set of use cases that describe all the interactions the users will have with the software. In...

    )- documenting the requirements in a requirements document

  4. System modeling - deriving models of the system, often using a notation such as the Unified Modeling Language
    Unified Modeling Language
    Unified Modeling Language is a standardized general-purpose modeling language in the field of object-oriented software engineering. The standard is managed, and was created, by the Object Management Group...


  5. Requirements validation - checking that the documented requirements and models are consistent and meet stakeholder needs

  6. Requirements management
    Requirements management
    Requirements management is the process of documenting, analyzing, tracing, prioritizing and agreeing on requirements and then controlling change and communicating to relevant stakeholders. It is a continuous process throughout a project...

    - managing changes to the requirements as the system is developed and put into use


These are sometimes presented as chronological stages although, in practice, there is considerable interleaving of these activities.
The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK