ELICITATION AND ANALYSIS OF REQUIREMENTS
REQUIREMENT 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 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. They are called stakeholders.
▪Stages include:
▪ Requirements discovery,
▪ Requirements classification and organization,
▪ Requirements prioritization and negotiation,
▪ Requirements specification.
REQUIREMENT ELICITATION AND ANALYSIS PROCESS
PROCESS ACTIVITIES
1. Requirements discovery
▪ Interacting with stakeholders to discover their requirements. Domain requirements are also discovered at this stage.
2. Requirements classification and organization
▪ Groups related requirements and organizes them into coherent clusters.
3. Prioritization and negotiation
▪ Prioritizing requirements and resolving requirements conflicts.
4. Requirements specification
▪ Requirements are documented and input into the next round of the spiral.
PROBLEMS OF REQUIREMENT ELICITATION
▪ 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 change.
REQUIREMENT ANALYSIS TOOLS
▪Traditional structured methods
▪Entity relationship diagrams (ERD)
▪Data Flow Diagrams (DFDs)
▪Entity State Transition diagrams
▪Object Oriented methods (O-O)
▪Use Case Diagrams
▪Class Diagrams
▪Sequence Diagrams
▪State Transition Diagrams
REQUIREMENTS DISCOVERY
▪The process of gathering information about the required and existing systems and distilling the user and system requirements from this information.
▪ Interaction is with system stakeholders from managers to external regulators.
▪Systems normally have a range of stakeholders.
USE CASES
▪Use-cases are a scenario based technique in the UML which identify the actors in an interaction and which describe the interaction itself.
▪A set of use cases should describe all possible interactions with the system.
▪High-level graphical model supplemented by more detailed tabular description.
▪Sequence diagrams may be used to add detail to use-cases by showing the sequence of event processing in the system.
REFINING USECASE DIAGRAM
▪ Once the initial use-cases have been documented they can be refined
▪ The refining of a Use-Case diagram can help simplify and remove unnecessary redundancy
▪ There are three main ways in which refinement can be performed (usually aided by reading descriptions, see later)
▪ Identification of shared sequences of operations (include)
▪ Identification of alternative actions within single use-cases (extend)
▪ Identification of common behaviour between use-cases (inheritance).
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
▪ Fixing a requirements error after delivery may cost up to 100 times the cost of fixing an implementation error.
REQUIREMENT CHECKING
▪Validity: Does the system provide the functions which best support the customer’s needs?
▪ Consistency: Are there any requirements conflicts?
▪ Completeness: Are all functions required by the customer included?
▪ Realism: Can the requirements be implemented given available budget and technology?
▪ Verifiability: Can the requirements be checked?
REQUIREMENT VALIDATION TECHNIQUES
▪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.
REQUIREMENT REVIEWS
▪Regular reviews should be held while the requirements definition is being formulated.
▪Both client and contractor staff should be involved in reviews.
▪Reviews may be formal (with completed documents) or informal.
▪Good communications between developers, customers and users can resolve problems at an early stage.
▪ Review Checks;
▪ Verifiability
▪ Is the requirement realistically testable?
▪ Comprehensibility
▪ Is the requirement properly understood?
▪ Traceability
▪ Is the origin of the requirement clearly stated?
▪ Adaptability
▪ Can the requirement be changed without a large impact on other requirements?
No comments:
Post a Comment