Requirement Engineering: The broad spectrum of tasks and techniques that lead to an understanding of requirements is called requirements engineering. It starts during the communication activity and continues into the modeling activity. Requirements engineering provides the appropriate mechanism for understanding what the customer wants by analyzing need, assessing feasibility negotiating a reasonable solution, specifying the solution ambiguously, validating the specification, and managing the requirements as they are transformed into an operational system. It encompasses seven distinct tasks: inception, elicitation, elaboration, negotiation, specification, validation, and management.
Inception: The question why you want to do this will be answered and analyses to identify business need, a potential new market with breadth and depth and services to be provided. The above points establish a basic understanding of the problem, the people who want a solution, the nature of the solution that is desired to understand the scope of the project.
Elicitation: This answers for what are things need to do by asking the customer, the users, and others what the objectives for the system or product are, what is to be accomplished, how the system or product fits into the needs of the business, and finally, how the system or product is to be used on a day-to-day basis
Elaboration: The information obtained from the customer during inception and elicitation is expanded and refined during elaboration. This task focuses on developing a refined requirements model that identifies requirements for three domains, information, functional and behavioral domain. It
* Describe how the end user (and other actors) will interact with the system.
* Business domain entities that is visible to the end user.
* The attributes of each analysis class are defined, and the services that are required by each class are identified.
* The relationships and collaboration between classes are identified, and a variety of supplementary diagrams are produced.
Negotiation: It answers for is it actually required? Through which Customers, users, and other stakeholders are asked to rank requirements and prioritized the same. Using an iterative approach that prioritizes requirements, assesses their cost and risk, and addresses internal conflicts, requirements are eliminated, combined, and/or modified so that each party achieves some measure of satisfaction.
Specification: A specification can be a written document, a set of graphical models, a formal mathematical model, a collection of usage scenarios, a prototype, or any combination of these to present gathered requirements. The formality and format of a specification varies with the size and the complexity of the software to be built.
Validation: As a part of this task documented software requirement specification will be examining by conducting technical reviews in order to examine errors in content or interpretation, areas where clarification may be required, missing information, inconsistencies (a major problem when large products or systems are engineered), conflicting requirements, or unrealistic (unachievable) requirements.
Requirements management: Requirements management is a set of activities that help the project team identify, control, and track requirements and changes to requirements at any time as the project proceeds.