Please enable JavaScript.
Coggle requires JavaScript to display documents.
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
Use requirements
-System requirements
-software specification
System Stakeholders
end users
-System managers
-System owners
-External Stakeholders
functional and non-functional requirements
*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
*Domain requirements
functional 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
Requirements Specifiction
-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
OVER-FLEXIBILITY
The same thing may be said in a number of different ways in the specification which can lead to confusion
AMBIGUITY
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
Requirements Validation
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 Checking
validity
consistency
completeness
realism
verifiability
Requirements Validation Techniques
Requirements reviews
Prototyping
*Test-case generation
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.
Stages Include:
-Requirements discovery
-Requirements classification and organization
-Requirements prioritization and negotiation
-Requirement specification
The requirements elicitation and analysis process
1) requirements discovery
2) requirements classification and organization
3) requirements prioritization and negotiation
4) requirements specification
Process activities
requirements discovery
-requirements classification and organization
-prioritization and negotiation
-requirements specification
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
-Scenarios are real-life example of how a system can be used.
-they should include
REQUIREMENTS VALIDATION
~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
Requirements reviews
Prototyping
Test-case generation
REQUIREMENTS CHEECKING
*validity
*consistency
*completeness
*realism
*verifiability