ELICITATION AND ANALYSIS OF REQUIREMENTS - csactor

csactor

computer science , software engineering ,information system and information technology lesson series like data structure and algorithm , computer networking , programming , database , web development , operating system , information system , digital marketing and business study.

Sunday, August 19, 2018

ELICITATION AND ANALYSIS OF REQUIREMENTS



             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.

â–ªSoftware engineers work with a range of system stakeholders to find out about the application domain, the services that the system should provide, the required system performance, hardware constraints, other systems, etc. 

â–ª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

â–ª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.




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