requirements engineering process what is requirements engineering? it is the process of discovering,...
Post on 19-Jan-2016
229 Views
Preview:
TRANSCRIPT
Requirements Engineering ProcessWhat is requirements engineering?• It is the process of discovering, analyzing,
documenting and validating the requirements of the system
• 5 important activities:– Feasibility study– Requirements elicitation and analysis– Requirements validation– Requirements management
Requirement engineering
Feasibilitystudy
Requirementselicitation and
analysisRequirementsspecification
Requirementsvalidation
Feasibilityreport
Systemmodels
User and systemrequirements
Requirementsdocument
Feasibility study implementation• Based on information assessment (what is
required), information collection and report writing
• Questions for people in the organisation– What if the system wasn’t implemented?– What are current process problems?– How will the proposed system help?– Is new technology needed? What skills?
Requirements Elicitation and analysis
• Sometimes called requirements elicitation or requirements discovery
• Involves technical staff working with customers to find out about the application domain, the services and the system’s operational constraints
• May involve end-users, managers, engineers involved in maintenance, domain experts, trade unions, etc. These are called stakeholders
Problems of requirements analysis
• Stakeholders don’t know what they really want• Stakeholders express requirements in their own
terms• Different stakeholders may have different
requirements• Organisational and political factors may influence
the system requirements• The requirement changes during the analysis
process.
Requirement elicitation and analysis process
Requirement discovery
Requirement classification and organization
Requirement prioritization and negotiation
Requirement documentation
Activities are• Requirement discovery-process of interacting with
stakeholders to collect their requirements.• Requirement classification and organization – takes
the unstructured collection of requirements,groups related requirements and organizes them.
• Requirement prioritization and negotiation – prioritizing requiremetns and finding and resolving requirements conflicts through negotiation .
• Requirement documentation –requirements are documented and given as input into next round of the spiral .
Requirements discovery
• It is the process of gathering information about the proposed and existing systems and distilling the user and system requirements from this information.
• Sources of information during this phase include documentation, system stakeholders and specification of similar systems.
Different stakeholders for a bank ATM
• Bank customers• Representatives of other banks• Hardware and software maintenance engineers• Marketing department• Bank managers and counter staff• Database administrators and security staff• Communications engineers• Personnel department
For example
Ethnography• It is an observational technique that can be
used to understand social and organizational requirements.
• Ethnography is particularly effective at discovering two types of requirements.
1.Requirements that are derived from the way in which people actually work.
2.Requirements that are derived from cooperation and awareness of other people’s activities.
Requirements validation
• Concerned with demonstrating that the requirements define the system that the customer really wants
• Requirements error costs are high so validation is very important
Requirements checking includes
• Validity Check. The system should provide the functions which best support the customer’s needs.
• Consistency Check. requirements in the document should not conflict.
• Completeness Check.The requirements document should include requirements,which define all functions and constraints required by the customer.
• Realism Check.The requirements can be implemented with given available budget and technology.
• Verifiability.The delivered system should meet specified
requirement.
Requirements validation Techniques can be used.1.Requirements reviews – The requirements are analyzed
systematically by a team of reviewers. Reviewers may also check for Verifiability-Is the requirements testable? Comprehensibility- Is the requirement properly understood by the end users? Traceability- Is the origin of the requirement clearly stated? Adaptability- Is the requirement adaptable?2.Prototyping – The customers and end users can
experiment with this model to see if it meets their real needs.
3.Test case generation–Requirements should be testable.
Requirements Management
• It is the process of understanding and controlling changes to the requirements during the requirements engineering process and system development.
• The requirements for large systms are always changing.
As the requirement definition is developed, you normally develop a better understanding of user’s needs.
Initial understanding
of problem
Initial requirements
Changed understanding
of problem
Changed requirements
Time
Requirements Evolution
Enduring and volatile requirements
• Enduring requirements. These are the stable requirements derived from the core activity of the customer organization. E.g. a hospital will always have doctors, nurses, etc. May be derived from domain models
• Volatile requirements. These are requirements which change during development process or when the system is in use. In a hospital, requirements may be derived from government health-care policies.
Requirements management includes planning and change management.
Requirements management planning: Planning is a first stage in the requirement management process.
You have to decide on :• Requirements identification: The requirements are
individually identified.• A change management process: This is the set of
activities to assess the impact and cost of changes.• Traceability policies: These policies define the
relationships between requirements and between the requirements and the system design.
• CASE tool support: Tools that may be used the range from requirement management system to spreadsheets and simple database systems.
TraceabilityThere are three types of traceability information that may be
maintained:• Source traceability information – Links the requirements to stakeholders who proposed
these requirements• Requirements traceability information– Links dependent requirements within the requirements
document.• Design traceability information– Links the requirements to the design modules where
these requirements are implemented.
Requirements change management
ssss
Problem analysis and change specification
Change analysis and costing
Change implementation
Identified problem
Revised requirements
Requirements change management
• Should apply to all proposed changes to the requirements
• Principal stages1. Problem analysis and change specification. Requirements
problems and propose changes are analyzed.2. Change analysis and costing. Effects and costs of change are
Assessed on requirements3. Change implementation. Requirements document ,system
design and implementation are Modified.
top related