REQUIREMENTS ENGINEERING II Flashcards
Describe requirements elicitation
AKA requirements discovery
Involves technical staff working with customers to
find out about
-the application domain,
-the services that the system should provide and
-the system’s operational constraints.
May involve end-users, managers, engineers
involved in maintenance, domain experts, trade
unions, etc. These are called stakeholders.
What are the possible problems of requirements analysis?
Stakeholders don’t know what they really want.
Stakeholders express requirements in their own terms.
Different stakeholders may have conflicting
requirements.
Organizational and political factors may
influence the system requirements.
The requirements change during the analysis
process. New stakeholders may emerge and the business environment may change.
What are the stages of requirements and analysis
Requirements discovery
Interacting with stakeholders to discover their requirements. Domain requirements are also discovered at this stage
Methods that can be used here include???
Requirements classification and organization
-Groups related requirements and organizes them into
coherent clusters
Prioritization and negotiation
-Prioritizing requirements and resolving requirements conflicts
Requirements specification
-Requirements are documented and input into the next round of the spiral
What is requirements validation and why is it important?
Concerned with demonstrating that the requirements define the system that 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 the cost of fixing an implementation error
Give examples requirement validation techniques
Requirements reviews: Systematic manual analysis of the requirements
Prototyping: Using an executable model of the system to check requirements
Test-case generation: Developing tests for requirements to check testability
Describe requirements management and what it entails
Requirements management is the process of managing changing requirements during the requirements engineering process and system development
New requirements emerge as a system is being developed and after it has gone into use
Tracking of individual requirements and maintaining links between dependent requirements helps in assessing the impact of requirements changes
Establish a formal process for making change proposals and linking these to system requirements
What are some of the requirement management challenges
The business and technical environment of the system always changes after installation
The people who pay for a system and the users of that system are rarely the same people
Large systems usually have a diverse user community, with many users having different requirements and priorities that may be conflicting or contradictory
Illustrate requirements evolution
*See notes
Feasibility study is also mentioned as a part of the software specification process. Describe it
Feasibility study
Is it technically and financially feasible to build the system?
ROI, product vision, what market share are we after? Urgency of development?