Subject Name : Software Engineering Unit 2 – Requirement Engineering Task Prepared By: Dr. Vikas S. Chomal 2
The seven distinct tasks encompassed in requirement engineering.
Following are the seven distinct tasks that are encountered during requirement engineering: 1. Inception 2. Elicitation 3. Elaboration 4. Negotiation 5. Specification 6. Validation 7. Requirement management
Prepared By: Dr. Vikas S. Chomal
Prepared By: Vikas S. Chomal 3
1. Inception: Requirement engineering begins with inception – a
task that defines the scope and nature of the problem to be solved. Inception in other words means, understanding of application domain to be developed. At project inception, you establish a basic understanding of the problem, the people who want a solution, the nature of the solution that is defined and the effectiveness of preliminary communication and collaboration between the other stakeholders and the software team. Prepared By: Vikas S. Chomal 4
2. Elicitation: From inception it moves onwards to elicitation – a
task that helps stakeholders define what is required. It is the procedure of interacting with customers and users to discover the requirements for the system. The following are the number of problems that are encountered as elicitation occurs (Christel and Kang): (a) Problem of scope: The boundary of the system is ill defined or the customer/users specify unnecessary technical detail that may confuse, rather than clarify, overall system objectives. Prepared By: Vikas S. Chomal 5
(b) Problems of understanding: The customers/users are not
completely sure of what is needed, have a poor understanding of the capabilities and limitations of their environment, don’t have a full understanding of the problem domain, have trouble communicating needs to the system engineers, omit information , specify requirements that are conflicting or creating confusion. (c) Problems of volatility: The requirements change over time. To over these problems, proper requirement gathering or elicitations methods must be followed. Prepared By: Vikas S. Chomal 6
3. Elaboration: The information obtained from customer during
inception and elicitations is expanded and refined during elaborations. This task focuses on developing a refined requirements model that identifies various aspects of software function, behaviour, and information.
Elaboration is driven by the creator and refinement of user
scenarios that describe how the end user and other actors will interact with the system. The relationship and collaboration between classes are identified and a variety of supplementary diagrams are produced. Prepared By: Vikas S. Chomal 7
4. Negotiation: It is common that software involves various
stakeholders, as a result there may be possibility that customer or users (stakeholders) propose conflicting requirements, and each stakeholder have their own view of requirements to be included in software. As a software engineer/ analyst it is necessary to resolve these conflicts through a process of negotiation. There should be no winner or loser in an effective negotiation. Customers, end users and other stakeholders are asked to rank requirements and then discuss conflicts in priority. Prepared By: Vikas S. Chomal 8
5. Specification: In the context of computer based system
(software), the term specification means different things to different people. A specification can be a written document, a set of graphical models, a formal mathematical model, a collection of usage scenario, a prototype or any combination of these. A standard template should be developed and used for specification so that requirements are presented in a consistent and understandable manner. The Software Requirement Specification (SRS) is a standard template for writing specification of system. Prepared By: Vikas S. Chomal 9
6. Validation: The work product produced as a consequence of
requirements engineering are assessed for quality during a validation step. Requirements validation examines the specification to ensure that all software requirements have been stated unambiguously (clearly/explicitly); that inconsistencies, omissions, and errors have been detected and corrected; and that the work product conforms to the standards established for the process, the project and the product.
The primary requirements validation mechanism is the technical
review. Prepared By: Vikas S. Chomal 10
7. Requirements Management: Requirements for software
(system) and the desire to change requirements persists throughout the life of the system. Requirements management is a set of activities that help the project team identify, control, and track requirements and changes to requirements at any times as the project proceeds.