SlideShare a Scribd company logo
Requirements Elicitation and Analysis
Objectives To describe the processes of requirements elicitation and analysis. To introduce a number of requirements elicitation and requirements analysis techniques. To discuss how prototypes may be used in the RE process.
Components of requirements elicitation
Elicitation activities Application domain understanding   Application domain knowledge is knowledge of the general area where the system is applied.  Problem understanding  The details of the specific customer problem where the system will be applied must be understood.  Business understanding   You must understand how systems interact and contribute to overall business goals. Understanding the needs and constraints of system stakeholders  You must understand, in detail, the specific needs of people who require system support in their work.
Elicitation, analysis and negotiation
The requirements elicitation process
Elicitation stages Objective setting  The organisational objectives should be established including general goals of the business, an outline description of the problem to be solved, why the system is necessary and the constraints on the system.  Background knowledge acquisition   Background information about the system includes information about the organisation where the system is to be installed, the application domain of the system and information about existing systems Knowledge organisation   The large amount of knowledge which has been collected in the previous stage must be organised and collated.  Stakeholder requirements collection  System stakeholders are consulted to discover their requirements.
Requirements analysis and negotiation
Analysis checks Necessity checking  The need for the requirement is analysed. In some cases, requirements may be proposed which don’t contribute to the business goals of the organisation or to the specific problem to be addressed by the system. Consistency and completeness checking  The requirements are cross-checked for consistency and completeness. Consistency means that no requirements should be contradictory; completeness means that no services or constraints which are needed have been missed out. Feasibility checking  The requirements are checked to ensure that they are feasible in the context of the budget and schedule available for the system development.
Requirements negotiation Requirements discussion  Requirements which have been highlighted as problematical are discussed and the stakeholders involved present their views about the requirements. Requirements prioritisation   Disputed requirements are prioritised to identify critical requirements and to help the decision making process. Requirements agreement   Solutions to the requirements problems are identified and a compromise set of requirements are agreed. Generally, this will involve making changes to some of the requirements.
Elicitation techniques Specific techniques which may be used to collect knowledge about system requirements This knowledge must be structured Partitioning - aggregating related knowledge Abstraction - recognising generalities Projection - organising according to perspective Elicitation problems Not enough time for elicitation Inadequate preparation by engineers Stakeholders are unconvinced of the need for a new system
Specific elicitation techniques Interviews Scenarios Soft systems methods Observations and social analysis Requirements reuse
Interviews The requirements engineer or analyst discusses the system with different stakeholders and builds up an understanding of their requirements. Types of interview Closed interviews.  The requirements engineer looks for answers to a pre-defined set of questions Open interviews  There is no predefined agenda and the requirements engineer discusses, in an open-ended way, what stakeholders want from the system.
Interviewing essentials Interviewers must be open-minded and should not approach the interview with pre-conceived notions about what is required Stakeholders must be given a starting point for discussion. This can be a question, a requirements proposal or an existing system Interviewers must be aware of organisational politics - many real requirements may not be discussed because of their political implications
Scenarios Scenarios are stories which explain how a system might be used. They should include a description of the system state before entering the scenario the normal flow of events in the scenario exceptions to the normal flow of events information about concurrent activities a description of the system state at the end of the scenario Scenarios are examples of interaction sessions which describe how a user interacts with a system Discovering scenarios exposes possible system interactions and reveals system facilities which may be required
Library scenario - document ordering Log on to EDDIS system Issue order document command Enter reference number of the required document Select a delivery option Log out from EDDIS This sequence of events can be illustrated in a diagram
Library Scenario
Scenarios and OOD Scenarios are an inherent part of some object-oriented development methods The term use-case (i.e. a specific case of system usage) is sometimes used to refer to a scenario There are different views on the relationship between use-cases and scenarios: A use-case is a scenario A scenario is a collection of use-cases. Therefore, each exceptional interaction is represented as a separate use-case
Soft Systems methods These produce informal models of a socio-technical system. They consider the system, the people and the organisation Not techniques for detailed requirements elicitation. Rather, they are ways of understanding a problem and its organisational context Software Systems Methodology (SSM) is probably the best known of these methods The essence of SSM is its recognition that systems are embedded in a wider human and organisational context
Stages of SSM Problem situation assessment Problem situation description Abstract system definition from selected viewpoints Conceptual system modelling Model/real-world comparison Change identification Recommendations for action
Observation and social analysis People often find it hard to describe what they do because it is so natural to them. Sometimes, the best way to understand it is to observe them at work Ethnography is a technique from the social sciences which has proved to be valuable in understanding actual work processes Actual work processes often differ from formal, prescribed processes An ethnographer spends some time observing people at work and building up a picture of how work is done
Ethnography guidelines Assume that people are good at doing their job and look for non-standard ways of working Spend time getting to know the people and establish a trust relationship Keep detailed notes of all work practices. Analyse them and draw conclusions from them Combine observation with open-ended interviewing Organise regular de-briefing session where the ethnographer talks with people outside the process Combine ethnography with other elicitation techniques
Ethnography in elicitation
Ethnographic perspectives The work setting viewpoint   This describes the context and the physical location of the work and how people use objects to carry out tasks. Therefore, in a study of a help desk (say), this would describe the objects which the helper had to hand and how these were organised. Social and organisational perspectives  This tries to bring out the day-to-day experience of work as seen by different people who are involved. Each individual typically sees the work in a different ways and this viewpoint tries to organise and integrate all of these perceptions. The workflow viewpoint  This viewpoint presents the work from a series of work activities with information flowing from one activity to another.
Requirements reuse Reuse involves taking the requirements which have been developed for one system and using them in a different system Requirements reuse saves time and effort as reused requirements have already been analysed and validated in other systems Currently, requirements reuse is an informal process but more systematic reuse could lead to larger cost savings
Reuse possibilities Where the requirement is concerned with providing application domain information. Where the requirement is concerned with the style of information presentation. Reuse leads to a consistency of style across applications. Where the requirement reflects company policies such as security policies.
Prototyping A prototype is an initial version of a system which may be used for experimentation Prototypes are valuable for requirements elicitation because users can experiment with the system and point out its strengths and weaknesses. They have something concrete to criticise Rapid development of prototypes is essential so that they are available early in the elicitation process
Prototyping benefits The prototype allows users to experiment and discover what they really need to support their work Establishes feasibility and usefulness before high development costs are incurred Essential for developing the ‘look and feel’ of a user interface Can be used for system testing and the development of documentation Forces a detailed study of the requirements which reveals inconsistencies and omissions
Types of prototyping Throw-away prototyping  intended to help elicit and develop the system requirements.  The requirements which should be prototyped are those which cause most difficulties to customers and which are the hardest to understand. Requirements which are well-understood need not be implemented by the prototype. Evolutionary prototyping   intended to deliver a workable system quickly to the customer.  Therefore, the requirements which should be supported by the initial versions of this prototype are those which are well-understood and which can deliver useful end-user functionality. It is only after extensive use that poorly understood requirements should be implemented.
Prototyping costs and problems Training costs - prototype development may require the use of special purpose tools Development costs - depend on the type of prototype being developed Extended development schedules - developing a prototype may extend the schedule although the prototyping time may be recovered because rework is avoided Incompleteness - it may not be possible to prototype critical system requirements
Approaches to prototyping Paper prototyping a paper mock-up of the system is developed and used for system experiments ‘Wizard of Oz’ prototyping a person simulates the responses of the system in response to some user inputs Executable prototyping a fourth generation language or other rapid development environment is used to develop an executable prototype
Executable prototype development Fourth generation languages based around database systems Visual programming languages such as Visual Basic or ObjectWorks Internet-based prototyping solutions based on World Wide Web browsers and languages such as Java
Requirements analysis The goal of analysis is to discover problems, incompleteness and inconsistencies in the elicited requirements. These are then fed back to the stakeholders to resolve them through the negotiation process Analysis is interleaved with elicitation as problems are discovered when the requirements are elicited A problem checklist may be used to support analysis. Each requirement may be assessed against the checklist
Analysis checklists Premature design Does the requirement include premature design or implementation information?  Combined requirements  Does the description of a requirement describe a single requirement or could it be broken down into several different requirements? Unnecessary requirements Is the requirement ‘gold plating’? That is, is the requirement a cosmetic addition to the system which is not really necessary. Use of non-standard hardware Does the requirement mean that non-standard hardware or software must be used? To make this decision, you need to know the computer platform requirements.
Analysis checklists Conformance with business goals Is the requirement consistent with the business goals defined in the introduction to the requirements document? Requirements ambiguity Requirements ambiguity Is the requirement ambiguous i.e. could it be read in different ways by different people? What are the possible interpretations of the requirement?  Requirements realism Is the requirement realistic given the technology which will be used to implement the system?  Requirements testability Is the requirement testable, that is, is it stated in such a 	way that test engineers can derive a test which can show if the system meets that requirement?
Requirements interactions A very important objective of requirements analysis is to discover the interactions between requirements and to highlight requirements conflicts and overlaps A requirements interaction matrix shows how requirements interact with each other. Requirements are listed along the rows and columns of the matrix For requirements which conflict, fill in a 1 For requirements which overlap, fill in a 1000 For requirements which are independent, fill in a 0
Interaction matrices
Requirements negotiation Disagreements about requirements are inevitable when a system has many stakeholders. Conflicts are not ‘failures’ but reflect different stakeholder needs and priorities Requirements negotiation is the process of discussing requirements conflicts and reaching a compromise that all stakeholders can agree to In planning a requirements engineering process, it is important to leave enough time for negotiation. Finding an acceptable compromise can be time-consuming
Negotiation meetings An information stage where the nature of the problems associated with a requirement is explained. A discussion stage where the stakeholders involved discuss how these problems might be resolved.  All stakeholders with an interest in the requirement should be given the opportunity to comment. Priorities may be assigned to requirements at this stage.  A resolution stage where actions concerning the requirement are agreed. These actions might be to delete the requirement, to suggest specific modifications to the requirement or to elicit further information about the requirement.
Key points Requirements elicitation involves understanding the application domain, the specific problem to be solved, the organisational needs and constraints and the specific facilities needed by system stakeholders. The processes of requirements elicitation, analysis and negotiation are iterative, interleaved processes which must usually be repeated several times. There are various techniques of requirements elicitation which may be used including interviewing, scenarios, soft systems methods, prototyping and participant observation.
Key points Prototypes are effective for requirements elicitation because stakeholders have something which they can experiment with to find their real requirements. Checklists are particularly useful as a way of organising the requirements validation process. They remind analysts what to look for when reading through the proposed requirements. Requirements negotiation is always necessary to resolve requirements conflicts and remove requirements overlaps.  Negotiation involves information interchange, discussion and resolution of disagreements.

More Related Content

What's hot

Ian Sommerville, Software Engineering, 9th Edition Ch1
Ian Sommerville,  Software Engineering, 9th Edition Ch1Ian Sommerville,  Software Engineering, 9th Edition Ch1
Ian Sommerville, Software Engineering, 9th Edition Ch1
Mohammed Romi
 
Requirement analysis
Requirement analysisRequirement analysis
Requirement analysis
Sangeet Shah
 
RE processes and process models
RE processes and process modelsRE processes and process models
RE processes and process models
Syed Zaid Irshad
 
Architectural views
Architectural viewsArchitectural views
Architectural viewsSaleem Khan
 
Ch1-Software Engineering 9
Ch1-Software Engineering 9Ch1-Software Engineering 9
Ch1-Software Engineering 9Ian Sommerville
 
Chap2 RE processes
Chap2 RE processesChap2 RE processes
Chap2 RE processes
Ian Sommerville
 
Software Engineering - chp4- design patterns
Software Engineering - chp4- design patternsSoftware Engineering - chp4- design patterns
Software Engineering - chp4- design patterns
Lilia Sfaxi
 
Ch5 system modeling
Ch5 system modelingCh5 system modeling
Ch5 system modeling
software-engineering-book
 
Gathering requirements
Gathering requirementsGathering requirements
Gathering requirements
Doan Truong Giang
 
Requirement Elicitation Techniques
Requirement Elicitation TechniquesRequirement Elicitation Techniques
Requirement Elicitation Techniques
Shwetha-BA
 
Software Architecture: views and viewpoints
Software Architecture: views and viewpointsSoftware Architecture: views and viewpoints
Software Architecture: views and viewpoints
Henry Muccini
 
Ch3. agile sw dev
Ch3. agile sw devCh3. agile sw dev
Ch3. agile sw dev
software-engineering-book
 
Ch2 sw processes
Ch2 sw processesCh2 sw processes
Ch2 sw processes
software-engineering-book
 
Ch11 reliability engineering
Ch11 reliability engineeringCh11 reliability engineering
Ch11 reliability engineering
software-engineering-book
 
Ch17 distributed software engineering
Ch17 distributed software engineeringCh17 distributed software engineering
Ch17 distributed software engineering
software-engineering-book
 
Requirement Elicitation
Requirement ElicitationRequirement Elicitation
Requirement Elicitation
Ravikanth-BA
 
Ch3-Software Engineering 9
Ch3-Software Engineering 9Ch3-Software Engineering 9
Ch3-Software Engineering 9Ian Sommerville
 
Software Engineering - Ch17
Software Engineering - Ch17Software Engineering - Ch17
Software Engineering - Ch17Siddharth Ayer
 
Ch19 systems engineering
Ch19 systems engineeringCh19 systems engineering
Ch19 systems engineering
software-engineering-book
 
Software design principles
Software design principlesSoftware design principles
Software design principles
Md.Mojibul Hoque
 

What's hot (20)

Ian Sommerville, Software Engineering, 9th Edition Ch1
Ian Sommerville,  Software Engineering, 9th Edition Ch1Ian Sommerville,  Software Engineering, 9th Edition Ch1
Ian Sommerville, Software Engineering, 9th Edition Ch1
 
Requirement analysis
Requirement analysisRequirement analysis
Requirement analysis
 
RE processes and process models
RE processes and process modelsRE processes and process models
RE processes and process models
 
Architectural views
Architectural viewsArchitectural views
Architectural views
 
Ch1-Software Engineering 9
Ch1-Software Engineering 9Ch1-Software Engineering 9
Ch1-Software Engineering 9
 
Chap2 RE processes
Chap2 RE processesChap2 RE processes
Chap2 RE processes
 
Software Engineering - chp4- design patterns
Software Engineering - chp4- design patternsSoftware Engineering - chp4- design patterns
Software Engineering - chp4- design patterns
 
Ch5 system modeling
Ch5 system modelingCh5 system modeling
Ch5 system modeling
 
Gathering requirements
Gathering requirementsGathering requirements
Gathering requirements
 
Requirement Elicitation Techniques
Requirement Elicitation TechniquesRequirement Elicitation Techniques
Requirement Elicitation Techniques
 
Software Architecture: views and viewpoints
Software Architecture: views and viewpointsSoftware Architecture: views and viewpoints
Software Architecture: views and viewpoints
 
Ch3. agile sw dev
Ch3. agile sw devCh3. agile sw dev
Ch3. agile sw dev
 
Ch2 sw processes
Ch2 sw processesCh2 sw processes
Ch2 sw processes
 
Ch11 reliability engineering
Ch11 reliability engineeringCh11 reliability engineering
Ch11 reliability engineering
 
Ch17 distributed software engineering
Ch17 distributed software engineeringCh17 distributed software engineering
Ch17 distributed software engineering
 
Requirement Elicitation
Requirement ElicitationRequirement Elicitation
Requirement Elicitation
 
Ch3-Software Engineering 9
Ch3-Software Engineering 9Ch3-Software Engineering 9
Ch3-Software Engineering 9
 
Software Engineering - Ch17
Software Engineering - Ch17Software Engineering - Ch17
Software Engineering - Ch17
 
Ch19 systems engineering
Ch19 systems engineeringCh19 systems engineering
Ch19 systems engineering
 
Software design principles
Software design principlesSoftware design principles
Software design principles
 

Viewers also liked

Chap5 RE management
Chap5 RE managementChap5 RE management
Chap5 RE management
Ian Sommerville
 
Chap4 RE validation
Chap4 RE validationChap4 RE validation
Chap4 RE validation
Ian Sommerville
 
REQUIREMENT ENGINEERING
REQUIREMENT ENGINEERINGREQUIREMENT ENGINEERING
REQUIREMENT ENGINEERING
Saqib Raza
 
software requirements
 software requirements software requirements
software requirementsZaman Khan
 
Software Requirements
 Software Requirements Software Requirements
Software Requirements
Zaman Khan
 
7 Engineering Profession
7 Engineering Profession7 Engineering Profession
7 Engineering Profession
Saqib Raza
 
An overview of software requirements engineering
An overview of software requirements engineeringAn overview of software requirements engineering
An overview of software requirements engineering
Ian Sommerville
 
Ch8-Software Engineering 9
Ch8-Software Engineering 9Ch8-Software Engineering 9
Ch8-Software Engineering 9Ian Sommerville
 
Ch4-Software Engineering 9
Ch4-Software Engineering 9Ch4-Software Engineering 9
Ch4-Software Engineering 9Ian Sommerville
 
Ch10-Software Engineering 9
Ch10-Software Engineering 9Ch10-Software Engineering 9
Ch10-Software Engineering 9Ian Sommerville
 
Ch14-Software Engineering 9
Ch14-Software Engineering 9Ch14-Software Engineering 9
Ch14-Software Engineering 9Ian Sommerville
 
Ch13-Software Engineering 9
Ch13-Software Engineering 9Ch13-Software Engineering 9
Ch13-Software Engineering 9Ian Sommerville
 
Ch11-Software Engineering 9
Ch11-Software Engineering 9Ch11-Software Engineering 9
Ch11-Software Engineering 9Ian Sommerville
 
Ch6-Software Engineering 9
Ch6-Software Engineering 9Ch6-Software Engineering 9
Ch6-Software Engineering 9Ian Sommerville
 
Ch25-Software Engineering 9
Ch25-Software Engineering 9Ch25-Software Engineering 9
Ch25-Software Engineering 9Ian Sommerville
 
Ch7-Software Engineering 9
Ch7-Software Engineering 9Ch7-Software Engineering 9
Ch7-Software Engineering 9Ian Sommerville
 
Ch26 - software engineering 9
Ch26 - software engineering 9Ch26 - software engineering 9
Ch26 - software engineering 9Ian Sommerville
 
Ch9-Software Engineering 9
Ch9-Software Engineering 9Ch9-Software Engineering 9
Ch9-Software Engineering 9Ian Sommerville
 
Ch5- Software Engineering 9
Ch5- Software Engineering 9Ch5- Software Engineering 9
Ch5- Software Engineering 9Ian Sommerville
 
Ch12-Software Engineering 9
Ch12-Software Engineering 9Ch12-Software Engineering 9
Ch12-Software Engineering 9Ian Sommerville
 

Viewers also liked (20)

Chap5 RE management
Chap5 RE managementChap5 RE management
Chap5 RE management
 
Chap4 RE validation
Chap4 RE validationChap4 RE validation
Chap4 RE validation
 
REQUIREMENT ENGINEERING
REQUIREMENT ENGINEERINGREQUIREMENT ENGINEERING
REQUIREMENT ENGINEERING
 
software requirements
 software requirements software requirements
software requirements
 
Software Requirements
 Software Requirements Software Requirements
Software Requirements
 
7 Engineering Profession
7 Engineering Profession7 Engineering Profession
7 Engineering Profession
 
An overview of software requirements engineering
An overview of software requirements engineeringAn overview of software requirements engineering
An overview of software requirements engineering
 
Ch8-Software Engineering 9
Ch8-Software Engineering 9Ch8-Software Engineering 9
Ch8-Software Engineering 9
 
Ch4-Software Engineering 9
Ch4-Software Engineering 9Ch4-Software Engineering 9
Ch4-Software Engineering 9
 
Ch10-Software Engineering 9
Ch10-Software Engineering 9Ch10-Software Engineering 9
Ch10-Software Engineering 9
 
Ch14-Software Engineering 9
Ch14-Software Engineering 9Ch14-Software Engineering 9
Ch14-Software Engineering 9
 
Ch13-Software Engineering 9
Ch13-Software Engineering 9Ch13-Software Engineering 9
Ch13-Software Engineering 9
 
Ch11-Software Engineering 9
Ch11-Software Engineering 9Ch11-Software Engineering 9
Ch11-Software Engineering 9
 
Ch6-Software Engineering 9
Ch6-Software Engineering 9Ch6-Software Engineering 9
Ch6-Software Engineering 9
 
Ch25-Software Engineering 9
Ch25-Software Engineering 9Ch25-Software Engineering 9
Ch25-Software Engineering 9
 
Ch7-Software Engineering 9
Ch7-Software Engineering 9Ch7-Software Engineering 9
Ch7-Software Engineering 9
 
Ch26 - software engineering 9
Ch26 - software engineering 9Ch26 - software engineering 9
Ch26 - software engineering 9
 
Ch9-Software Engineering 9
Ch9-Software Engineering 9Ch9-Software Engineering 9
Ch9-Software Engineering 9
 
Ch5- Software Engineering 9
Ch5- Software Engineering 9Ch5- Software Engineering 9
Ch5- Software Engineering 9
 
Ch12-Software Engineering 9
Ch12-Software Engineering 9Ch12-Software Engineering 9
Ch12-Software Engineering 9
 

Similar to Chap3 RE elicitation

Requirements Engineering Process
Requirements Engineering ProcessRequirements Engineering Process
Requirements Engineering ProcessJomel Penalba
 
Requirements Engineering Processes in Software Engineering SE6
Requirements Engineering Processes in Software Engineering SE6Requirements Engineering Processes in Software Engineering SE6
Requirements Engineering Processes in Software Engineering SE6koolkampus
 
SAD _ Fact Finding Techniques.pptx
SAD _ Fact Finding Techniques.pptxSAD _ Fact Finding Techniques.pptx
SAD _ Fact Finding Techniques.pptx
SharmilaMore5
 
System_Analysis_and_Design_Assignment_New2.ppt
System_Analysis_and_Design_Assignment_New2.pptSystem_Analysis_and_Design_Assignment_New2.ppt
System_Analysis_and_Design_Assignment_New2.ppt
MarissaPedragosa
 
L3 Requirements Eng Overview
L3 Requirements Eng OverviewL3 Requirements Eng Overview
L3 Requirements Eng Overview
Ian Sommerville
 
7. requirement-engineering
7. requirement-engineering7. requirement-engineering
7. requirement-engineering
Muhammad Sikandar Mustafa
 
A3 Tutorial Slides
A3 Tutorial SlidesA3 Tutorial Slides
A3 Tutorial Slides
Ilia Bider
 
Fact finding
Fact findingFact finding
Fact finding
Sonehrii Dhop
 
L2 Socio Tech Systems
L2 Socio Tech SystemsL2 Socio Tech Systems
L2 Socio Tech Systems
Ian Sommerville
 
Requirments Collection techniques - SDLC.pptx
Requirments Collection techniques - SDLC.pptxRequirments Collection techniques - SDLC.pptx
Requirments Collection techniques - SDLC.pptx
RidmiSakura
 
Part7-updated.pptx descrription of lectures
Part7-updated.pptx descrription of lecturesPart7-updated.pptx descrription of lectures
Part7-updated.pptx descrription of lectures
mohammedderriche2
 
Software Development Process - REQUIREMENTS ANALYSIS / ANALYSIS OF TECHNICAL...
Software Development Process -  REQUIREMENTS ANALYSIS / ANALYSIS OF TECHNICAL...Software Development Process -  REQUIREMENTS ANALYSIS / ANALYSIS OF TECHNICAL...
Software Development Process - REQUIREMENTS ANALYSIS / ANALYSIS OF TECHNICAL...
Mark John Lado, MIT
 
6. ch 5-understanding requirements
6. ch 5-understanding requirements6. ch 5-understanding requirements
6. ch 5-understanding requirements
Delowar hossain
 
Building an Information System
Building an Information SystemBuilding an Information System
Building an Information System
Jo Balucanag - Bitonio
 

Similar to Chap3 RE elicitation (20)

4
44
4
 
Requirements Engineering Process
Requirements Engineering ProcessRequirements Engineering Process
Requirements Engineering Process
 
W3 requirements engineering processes
W3   requirements engineering processesW3   requirements engineering processes
W3 requirements engineering processes
 
Requirements Engineering Processes in Software Engineering SE6
Requirements Engineering Processes in Software Engineering SE6Requirements Engineering Processes in Software Engineering SE6
Requirements Engineering Processes in Software Engineering SE6
 
Ch07
Ch07Ch07
Ch07
 
Ch07
Ch07Ch07
Ch07
 
SAD _ Fact Finding Techniques.pptx
SAD _ Fact Finding Techniques.pptxSAD _ Fact Finding Techniques.pptx
SAD _ Fact Finding Techniques.pptx
 
System_Analysis_and_Design_Assignment_New2.ppt
System_Analysis_and_Design_Assignment_New2.pptSystem_Analysis_and_Design_Assignment_New2.ppt
System_Analysis_and_Design_Assignment_New2.ppt
 
L3 Requirements Eng Overview
L3 Requirements Eng OverviewL3 Requirements Eng Overview
L3 Requirements Eng Overview
 
7. requirement-engineering
7. requirement-engineering7. requirement-engineering
7. requirement-engineering
 
2904473407
29044734072904473407
2904473407
 
A3 Tutorial Slides
A3 Tutorial SlidesA3 Tutorial Slides
A3 Tutorial Slides
 
Fact finding
Fact findingFact finding
Fact finding
 
BIS2311Topic1
BIS2311Topic1BIS2311Topic1
BIS2311Topic1
 
L2 Socio Tech Systems
L2 Socio Tech SystemsL2 Socio Tech Systems
L2 Socio Tech Systems
 
Requirments Collection techniques - SDLC.pptx
Requirments Collection techniques - SDLC.pptxRequirments Collection techniques - SDLC.pptx
Requirments Collection techniques - SDLC.pptx
 
Part7-updated.pptx descrription of lectures
Part7-updated.pptx descrription of lecturesPart7-updated.pptx descrription of lectures
Part7-updated.pptx descrription of lectures
 
Software Development Process - REQUIREMENTS ANALYSIS / ANALYSIS OF TECHNICAL...
Software Development Process -  REQUIREMENTS ANALYSIS / ANALYSIS OF TECHNICAL...Software Development Process -  REQUIREMENTS ANALYSIS / ANALYSIS OF TECHNICAL...
Software Development Process - REQUIREMENTS ANALYSIS / ANALYSIS OF TECHNICAL...
 
6. ch 5-understanding requirements
6. ch 5-understanding requirements6. ch 5-understanding requirements
6. ch 5-understanding requirements
 
Building an Information System
Building an Information SystemBuilding an Information System
Building an Information System
 

More from Ian Sommerville

Ch16-Software Engineering 9
Ch16-Software Engineering 9Ch16-Software Engineering 9
Ch16-Software Engineering 9Ian Sommerville
 
Ch17-Software Engineering 9
Ch17-Software Engineering 9Ch17-Software Engineering 9
Ch17-Software Engineering 9Ian Sommerville
 
Ch18-Software Engineering 9
Ch18-Software Engineering 9Ch18-Software Engineering 9
Ch18-Software Engineering 9Ian Sommerville
 
Ch19-Software Engineering 9
Ch19-Software Engineering 9Ch19-Software Engineering 9
Ch19-Software Engineering 9Ian Sommerville
 
Ch21-Software Engineering 9
Ch21-Software Engineering 9Ch21-Software Engineering 9
Ch21-Software Engineering 9Ian Sommerville
 
Ch20-Software Engineering 9
Ch20-Software Engineering 9Ch20-Software Engineering 9
Ch20-Software Engineering 9Ian Sommerville
 
Ch22-Software Engineering 9
Ch22-Software Engineering 9Ch22-Software Engineering 9
Ch22-Software Engineering 9Ian Sommerville
 
Ch15-Software Engineering 9
Ch15-Software Engineering 9Ch15-Software Engineering 9
Ch15-Software Engineering 9Ian Sommerville
 
Ch23-Software Engineering 9
Ch23-Software Engineering 9Ch23-Software Engineering 9
Ch23-Software Engineering 9Ian Sommerville
 
Ch24-Software Engineering 9
Ch24-Software Engineering 9Ch24-Software Engineering 9
Ch24-Software Engineering 9Ian Sommerville
 
Ch2-Software Engineering 9
Ch2-Software Engineering 9Ch2-Software Engineering 9
Ch2-Software Engineering 9Ian Sommerville
 

More from Ian Sommerville (11)

Ch16-Software Engineering 9
Ch16-Software Engineering 9Ch16-Software Engineering 9
Ch16-Software Engineering 9
 
Ch17-Software Engineering 9
Ch17-Software Engineering 9Ch17-Software Engineering 9
Ch17-Software Engineering 9
 
Ch18-Software Engineering 9
Ch18-Software Engineering 9Ch18-Software Engineering 9
Ch18-Software Engineering 9
 
Ch19-Software Engineering 9
Ch19-Software Engineering 9Ch19-Software Engineering 9
Ch19-Software Engineering 9
 
Ch21-Software Engineering 9
Ch21-Software Engineering 9Ch21-Software Engineering 9
Ch21-Software Engineering 9
 
Ch20-Software Engineering 9
Ch20-Software Engineering 9Ch20-Software Engineering 9
Ch20-Software Engineering 9
 
Ch22-Software Engineering 9
Ch22-Software Engineering 9Ch22-Software Engineering 9
Ch22-Software Engineering 9
 
Ch15-Software Engineering 9
Ch15-Software Engineering 9Ch15-Software Engineering 9
Ch15-Software Engineering 9
 
Ch23-Software Engineering 9
Ch23-Software Engineering 9Ch23-Software Engineering 9
Ch23-Software Engineering 9
 
Ch24-Software Engineering 9
Ch24-Software Engineering 9Ch24-Software Engineering 9
Ch24-Software Engineering 9
 
Ch2-Software Engineering 9
Ch2-Software Engineering 9Ch2-Software Engineering 9
Ch2-Software Engineering 9
 

Recently uploaded

Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
BookNet Canada
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
Safe Software
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
Alison B. Lowndes
 
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdfSAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
Peter Spielvogel
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Aggregage
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
Jemma Hussein Allen
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
Sri Ambati
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
Cheryl Hung
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
Product School
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
ThousandEyes
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
Guy Korland
 
Assure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyesAssure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyes
ThousandEyes
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
91mobiles
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
Prayukth K V
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
DianaGray10
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 

Recently uploaded (20)

Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
 
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdfSAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
 
Assure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyesAssure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyes
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 

Chap3 RE elicitation

  • 2. Objectives To describe the processes of requirements elicitation and analysis. To introduce a number of requirements elicitation and requirements analysis techniques. To discuss how prototypes may be used in the RE process.
  • 4. Elicitation activities Application domain understanding Application domain knowledge is knowledge of the general area where the system is applied. Problem understanding The details of the specific customer problem where the system will be applied must be understood. Business understanding You must understand how systems interact and contribute to overall business goals. Understanding the needs and constraints of system stakeholders You must understand, in detail, the specific needs of people who require system support in their work.
  • 7. Elicitation stages Objective setting The organisational objectives should be established including general goals of the business, an outline description of the problem to be solved, why the system is necessary and the constraints on the system. Background knowledge acquisition Background information about the system includes information about the organisation where the system is to be installed, the application domain of the system and information about existing systems Knowledge organisation The large amount of knowledge which has been collected in the previous stage must be organised and collated. Stakeholder requirements collection System stakeholders are consulted to discover their requirements.
  • 9. Analysis checks Necessity checking The need for the requirement is analysed. In some cases, requirements may be proposed which don’t contribute to the business goals of the organisation or to the specific problem to be addressed by the system. Consistency and completeness checking The requirements are cross-checked for consistency and completeness. Consistency means that no requirements should be contradictory; completeness means that no services or constraints which are needed have been missed out. Feasibility checking The requirements are checked to ensure that they are feasible in the context of the budget and schedule available for the system development.
  • 10. Requirements negotiation Requirements discussion Requirements which have been highlighted as problematical are discussed and the stakeholders involved present their views about the requirements. Requirements prioritisation Disputed requirements are prioritised to identify critical requirements and to help the decision making process. Requirements agreement Solutions to the requirements problems are identified and a compromise set of requirements are agreed. Generally, this will involve making changes to some of the requirements.
  • 11. Elicitation techniques Specific techniques which may be used to collect knowledge about system requirements This knowledge must be structured Partitioning - aggregating related knowledge Abstraction - recognising generalities Projection - organising according to perspective Elicitation problems Not enough time for elicitation Inadequate preparation by engineers Stakeholders are unconvinced of the need for a new system
  • 12. Specific elicitation techniques Interviews Scenarios Soft systems methods Observations and social analysis Requirements reuse
  • 13. Interviews The requirements engineer or analyst discusses the system with different stakeholders and builds up an understanding of their requirements. Types of interview Closed interviews. The requirements engineer looks for answers to a pre-defined set of questions Open interviews There is no predefined agenda and the requirements engineer discusses, in an open-ended way, what stakeholders want from the system.
  • 14. Interviewing essentials Interviewers must be open-minded and should not approach the interview with pre-conceived notions about what is required Stakeholders must be given a starting point for discussion. This can be a question, a requirements proposal or an existing system Interviewers must be aware of organisational politics - many real requirements may not be discussed because of their political implications
  • 15. Scenarios Scenarios are stories which explain how a system might be used. They should include a description of the system state before entering the scenario the normal flow of events in the scenario exceptions to the normal flow of events information about concurrent activities a description of the system state at the end of the scenario Scenarios are examples of interaction sessions which describe how a user interacts with a system Discovering scenarios exposes possible system interactions and reveals system facilities which may be required
  • 16. Library scenario - document ordering Log on to EDDIS system Issue order document command Enter reference number of the required document Select a delivery option Log out from EDDIS This sequence of events can be illustrated in a diagram
  • 18. Scenarios and OOD Scenarios are an inherent part of some object-oriented development methods The term use-case (i.e. a specific case of system usage) is sometimes used to refer to a scenario There are different views on the relationship between use-cases and scenarios: A use-case is a scenario A scenario is a collection of use-cases. Therefore, each exceptional interaction is represented as a separate use-case
  • 19. Soft Systems methods These produce informal models of a socio-technical system. They consider the system, the people and the organisation Not techniques for detailed requirements elicitation. Rather, they are ways of understanding a problem and its organisational context Software Systems Methodology (SSM) is probably the best known of these methods The essence of SSM is its recognition that systems are embedded in a wider human and organisational context
  • 20. Stages of SSM Problem situation assessment Problem situation description Abstract system definition from selected viewpoints Conceptual system modelling Model/real-world comparison Change identification Recommendations for action
  • 21. Observation and social analysis People often find it hard to describe what they do because it is so natural to them. Sometimes, the best way to understand it is to observe them at work Ethnography is a technique from the social sciences which has proved to be valuable in understanding actual work processes Actual work processes often differ from formal, prescribed processes An ethnographer spends some time observing people at work and building up a picture of how work is done
  • 22. Ethnography guidelines Assume that people are good at doing their job and look for non-standard ways of working Spend time getting to know the people and establish a trust relationship Keep detailed notes of all work practices. Analyse them and draw conclusions from them Combine observation with open-ended interviewing Organise regular de-briefing session where the ethnographer talks with people outside the process Combine ethnography with other elicitation techniques
  • 24. Ethnographic perspectives The work setting viewpoint This describes the context and the physical location of the work and how people use objects to carry out tasks. Therefore, in a study of a help desk (say), this would describe the objects which the helper had to hand and how these were organised. Social and organisational perspectives This tries to bring out the day-to-day experience of work as seen by different people who are involved. Each individual typically sees the work in a different ways and this viewpoint tries to organise and integrate all of these perceptions. The workflow viewpoint This viewpoint presents the work from a series of work activities with information flowing from one activity to another.
  • 25. Requirements reuse Reuse involves taking the requirements which have been developed for one system and using them in a different system Requirements reuse saves time and effort as reused requirements have already been analysed and validated in other systems Currently, requirements reuse is an informal process but more systematic reuse could lead to larger cost savings
  • 26. Reuse possibilities Where the requirement is concerned with providing application domain information. Where the requirement is concerned with the style of information presentation. Reuse leads to a consistency of style across applications. Where the requirement reflects company policies such as security policies.
  • 27. Prototyping A prototype is an initial version of a system which may be used for experimentation Prototypes are valuable for requirements elicitation because users can experiment with the system and point out its strengths and weaknesses. They have something concrete to criticise Rapid development of prototypes is essential so that they are available early in the elicitation process
  • 28. Prototyping benefits The prototype allows users to experiment and discover what they really need to support their work Establishes feasibility and usefulness before high development costs are incurred Essential for developing the ‘look and feel’ of a user interface Can be used for system testing and the development of documentation Forces a detailed study of the requirements which reveals inconsistencies and omissions
  • 29. Types of prototyping Throw-away prototyping intended to help elicit and develop the system requirements. The requirements which should be prototyped are those which cause most difficulties to customers and which are the hardest to understand. Requirements which are well-understood need not be implemented by the prototype. Evolutionary prototyping intended to deliver a workable system quickly to the customer. Therefore, the requirements which should be supported by the initial versions of this prototype are those which are well-understood and which can deliver useful end-user functionality. It is only after extensive use that poorly understood requirements should be implemented.
  • 30. Prototyping costs and problems Training costs - prototype development may require the use of special purpose tools Development costs - depend on the type of prototype being developed Extended development schedules - developing a prototype may extend the schedule although the prototyping time may be recovered because rework is avoided Incompleteness - it may not be possible to prototype critical system requirements
  • 31. Approaches to prototyping Paper prototyping a paper mock-up of the system is developed and used for system experiments ‘Wizard of Oz’ prototyping a person simulates the responses of the system in response to some user inputs Executable prototyping a fourth generation language or other rapid development environment is used to develop an executable prototype
  • 32. Executable prototype development Fourth generation languages based around database systems Visual programming languages such as Visual Basic or ObjectWorks Internet-based prototyping solutions based on World Wide Web browsers and languages such as Java
  • 33. Requirements analysis The goal of analysis is to discover problems, incompleteness and inconsistencies in the elicited requirements. These are then fed back to the stakeholders to resolve them through the negotiation process Analysis is interleaved with elicitation as problems are discovered when the requirements are elicited A problem checklist may be used to support analysis. Each requirement may be assessed against the checklist
  • 34. Analysis checklists Premature design Does the requirement include premature design or implementation information? Combined requirements Does the description of a requirement describe a single requirement or could it be broken down into several different requirements? Unnecessary requirements Is the requirement ‘gold plating’? That is, is the requirement a cosmetic addition to the system which is not really necessary. Use of non-standard hardware Does the requirement mean that non-standard hardware or software must be used? To make this decision, you need to know the computer platform requirements.
  • 35. Analysis checklists Conformance with business goals Is the requirement consistent with the business goals defined in the introduction to the requirements document? Requirements ambiguity Requirements ambiguity Is the requirement ambiguous i.e. could it be read in different ways by different people? What are the possible interpretations of the requirement? Requirements realism Is the requirement realistic given the technology which will be used to implement the system? Requirements testability Is the requirement testable, that is, is it stated in such a way that test engineers can derive a test which can show if the system meets that requirement?
  • 36. Requirements interactions A very important objective of requirements analysis is to discover the interactions between requirements and to highlight requirements conflicts and overlaps A requirements interaction matrix shows how requirements interact with each other. Requirements are listed along the rows and columns of the matrix For requirements which conflict, fill in a 1 For requirements which overlap, fill in a 1000 For requirements which are independent, fill in a 0
  • 38. Requirements negotiation Disagreements about requirements are inevitable when a system has many stakeholders. Conflicts are not ‘failures’ but reflect different stakeholder needs and priorities Requirements negotiation is the process of discussing requirements conflicts and reaching a compromise that all stakeholders can agree to In planning a requirements engineering process, it is important to leave enough time for negotiation. Finding an acceptable compromise can be time-consuming
  • 39. Negotiation meetings An information stage where the nature of the problems associated with a requirement is explained. A discussion stage where the stakeholders involved discuss how these problems might be resolved. All stakeholders with an interest in the requirement should be given the opportunity to comment. Priorities may be assigned to requirements at this stage. A resolution stage where actions concerning the requirement are agreed. These actions might be to delete the requirement, to suggest specific modifications to the requirement or to elicit further information about the requirement.
  • 40. Key points Requirements elicitation involves understanding the application domain, the specific problem to be solved, the organisational needs and constraints and the specific facilities needed by system stakeholders. The processes of requirements elicitation, analysis and negotiation are iterative, interleaved processes which must usually be repeated several times. There are various techniques of requirements elicitation which may be used including interviewing, scenarios, soft systems methods, prototyping and participant observation.
  • 41. Key points Prototypes are effective for requirements elicitation because stakeholders have something which they can experiment with to find their real requirements. Checklists are particularly useful as a way of organising the requirements validation process. They remind analysts what to look for when reading through the proposed requirements. Requirements negotiation is always necessary to resolve requirements conflicts and remove requirements overlaps. Negotiation involves information interchange, discussion and resolution of disagreements.