CHAPTER2 : REQUIREMENT ENGINEERING - Coggle Diagram
CHAPTER2 : REQUIREMENT ENGINEERING
What is requirement engineering?
the discipline that involves establishing and documenting requirements.The vorious activites associated with requiremnets eengineering are elicitation, specification, analysis, varification and validation, and management.
Concept of Requirements Engineering
~process of defining, documenting and maintaining requirements in the engineering design process.
~engineers look at a set of data pertaining to the goals and objectives of the software.
Type of requirements
functional and non-functional requirements
~system properties and constraints.
~process requirements may also be specified mandating a particular IDE, programing language or development method.
~non-functional requirements may be more critical than functional requirements
Metrics for specifying nonfunctional requirements
-Describe functionality or system services
-Depend on the type of software, expected user and the type of system where the software used.
-functional user requirements may be high-level statements of what the system should do.
-functional system requirements should describe the system service in detail.
Requirements engineering Processes
-the process of writing down the user and system requirements in a requirements document.
-system requirements are more detailed requirements and may iclude more tchnical information.
Natural language specification
-requirements are written as natural language sentences supplemented by diagrams and table.
used for writing requirement because it is expressive,intuitive and universal.This means that the requiremnts can be understood by users by users and customers
Problems with Natural Language Specification
The same thing may be said in a number of different ways in the specification which can lead to confusion
The readers and writers of the requirement must interpret the same words in the same way. Natural Language is ambiguous so this is very difficult.
LACK OF MODULARISATION
Natural language structures are inadequate to structure system requirements
Concerned with demonstrating that the requirements define the system the customer really wants.
-Requirements error costs are high so validation is very important
*fixing a requirements error after delivery may cost up to 100 times cost of fix an implementation error.
Requirements Validation Techniques
Requirements elicitation and analysis
software engineers work with range of system stakeholders to find out about the application domain, the service that the system should provide, the required system performance, hardware constraints, other system.
-Requirements classification and organization
-Requirements prioritization and negotiation
The requirements elicitation and analysis process
1) requirements discovery
2) requirements classification and organization
3) requirements prioritization and negotiation
4) requirements specification
-requirements classification and organization
-prioritization and negotiation
Interview in practice
~Normally a mix of closed and open-ended interviewing.
~interview are good for getting an overall understanding of what stakeholders do and how they might interact with the system.
~interview are not good for understanding domain requirements
-Scenarios are real-life example of how a system can be used.
-they should include
~concerned with demonstrating that the requirements define the system that customer really wants
~requirements error costs are high so validation is very important.
REQUIREMENTS VALIDATION TECHNIQUES