Please enable JavaScript.
Coggle requires JavaScript to display documents.
4 .Requirements Engineering (Requirement problems (over-budget, beyond the…
4 .Requirements Engineering
A COMMON cause of disaster in software development is that the end products is precisely what the customer originally ordered
Listen
Understand
solve
Requirement problems
over-budget
beyond the estimated schedule
Factors: lack of user input/ incomplete requirements and specifications/ changing requirements and specifications
these factor can be reduced with good requirements engineering
Requirement Engineering
the process of establishing the services of the software and the constraints under which it operates and is developed
actual requirement:
the description of the system
function and constraints that are generated during the requirements engineering process
Requirement engineering Activities
Requirement engineering
Requirement Development
Elicitation
Analysis
Specification
Verification
Requirement Management
Benefit of high quality RE process
Fewer defects
Reduced rework
Less unnecessary features
Lower enhancement costs
Faster developemnt
Reduced scope creep
Reduce project chaos
Higher customer satisfaction
Requirement Elicitation
The most difficult part of requirements engineering
SEs work with a range of stakeholders to find out about the application domain, the services that the system should provide, the required system performance, hardware constraints, other systems, etc.
Techiques
interview
ethnography
prototyping/mockups
existing specification
workshops
marketing surveys/questionnaires
Scenario >> done in analysis
Use case >> done in analysis
Requirement analysis
during the elicitation phase, to gather requirements and refine them >> make sure they process qualities of good requirements
works
Classification
Proritization
Deconfliction
Negotiation
Decomposition
Requirements Specification
documents
Software Requirements Specification(SRS): It should set of WHAT the system should do rather than HOW it should do it.
benefit
Establish the basis for agreement between the customers and the suppliers on what the software product is to do
Reduce the development effort
provide a basis for estimating costs and schedules
provide a baseline for validation and verification
facilitate transfer
serve as a basis for enhancement
Guidlines for an SRS
Use language in a consistent way
Use text highlighting to identify key parts of the requirement
avoid fuzz
avoid the use of fuzzy terms
include an explanation of way a requirement is necessary
have to be understandable by stakeholders
important that these are as complete as possible
Specification
Generic products
Customized product
important because is will affect how the process is applied
Requirement validation
on the right track?
Validation techniques
Requirement review
Regular reviews should be held while the requirements definition is being formulated
Both clients and contractor staff should be involved in reviews
Reviews may be formal
review check
Verifiably
Comprehensibility
Traceability
Adaptability
Prototyping(demostration)
Test-case generation
must be verifiable
Inspection
Demostration
Test
Analysis
Inspection
Traceability
Traceability matrix
a mapping of requirements
Examples
Dependencies
Business to user
User to System
Use cases
Scenarios
Quality Attributes
Components
Test cases
Constraints
Requirements management
Keep track of individual requirements and maintain links between dependent requirements
Need to establish a formal process for making changing proposals and linking these to system requirements
Changes?
Problem analysis and change specification
Change analysis and costing
change implement