SlideShare a Scribd company logo
1 of 39
Software Requirements analysis
and Negotiation
Course code: SWE 2102
MBARARA UNIVERSITY OF SCIENCE AND
TECHNOLOGY
Course Facilitators: Dr. Angella Musiimenta
(PhD) & Wilson Tumuhimbise (MSc)
1
7/22/2022 Requirements Analysis
Introduction
• After an initial set of requirements has been discovered, you
should analyze them for conflicts, overlaps, omissions and
inconsistencies.
• Analysis is the refinement of stakeholder needs into formal
product specifications.
• When information from this analysis is available, system
stakeholders then negotiate to agree on a set of system
requirements.
• Concerned with the high-level statement of requirements elicited
from stakeholders.
2
7/22/2022 Requirements Analysis
However
• Many projects fail:
– Because they start implementing the system
– Without determining whether they are building what the
customer really wants
3
7/22/2022 Requirements Analysis
The objective of requirements analysis
• To establish an agreed set of requirements which are
complete and consistent.
• Should be unambiguous so that they can be used as a
basis for further system development.
4
7/22/2022 Requirements Analysis
7/22/2022 Requirements Analysis 5
Requirements Analysis
 What is it?
 The process by which customer needs are understood and
documented.
 Expresses “what” is to be built
 Example 1:
 The system shall allow users to withdraw cash. [What?]
7/22/2022 Requirements Analysis 6
Requirements Analysis [2]
 C- and D-Requirements
 C-: Customer wants and needs; expressed in language
understood by the customer.
 D-: For the developers; may be more formal.
7/22/2022 Requirements Analysis 7
Requirements Analysis [3]
 Roadmap:
 Identify the customer.
 Interview customer representatives.
 Write C-requirements, review with customer, and update
when necessary.
 Write D-requirements; check to make sure that there is no
inconsistency between the C- and the D-requirements.
7/22/2022 Requirements Analysis 8
Requirements Analysis [4]
 C-requirements:
 Use cases expressed individually and with a use case diagram. A use case
specifies a collection of scenarios.
 Sample use case: Process sale.
 Data flow diagram:
 Explains the flow of data items across various functions. Useful for explaining
system functions. [Example on the next slide.]
 State transition diagram:
 Explains the change of system state in response to one or more operations.
[Example two slides later.]
 User interface: Generally not a part of requirements analysis though may be
included.
7/22/2022 Requirements Analysis 9
Data Flow Diagram
Pay rate
Overtime
rate
Total pay
Pay
Net pay
Get employee
file
Weekly
pay
Overtime
pay
Deduct
taxes
Issue
paycheck
Employee Record
Company records
Worker
ID
Regular
hours
Overtime
hours
Check
Tax rates
*
*
*
7/22/2022 Requirements Analysis 10
State Transition Diagram (STD)
EBOFF (e,f) EBON (e,f)
EBP(e,f)
EBP(e,f)
EBOFF (e,f): Elevator e button OFF at floor f.
EBON (e,f): Elevator e button ON at floor f.
EBP(e,f): Elevator e button f is pressed.
EAF(e,f): Elevator e arrives at floor f.
Elevator example (partial):
7/22/2022 Requirements Analysis 11
Use cases [1]
 Excellent technique for improving the understanding of requirements
 Narrative in nature
 Use cases are dependent on having some understanding of the
requirements (expressed in functional specifications document).
7/22/2022 Requirements Analysis 12
Use Cases [2]
 Use case - narration of the sequence of events of an
actor using a system
 UML icon for use case
7/22/2022 Requirements Analysis 13
Actors [1]
 Actor - an entity external to the
system that in some way participates
in the use case
 An actor typically stimulates the
system with input events or receives
outputs from the system or does
both.
 UML notation for actor:
Cust
om er
7/22/2022 Requirements Analysis 14
Actors [2]
 Primary Actor - an entity external to the system
that uses system services in a direct manner.
 Supporting Actor- an actor that provides services
to the system being built.
 Hardware, software applications, individual
processes, can all be actors.
7/22/2022 Requirements Analysis 15
Point of Sale Example- Actors
 Actors:
 Cashier
 Customer
 Supervisor
 Choosing actors:
 Identify system boundary
 Identify entities, human or otherwise, that will interact with the system, from
outside the boundary.
 Example: A temperature sensing device is an actor for a temperature monitoring
application.
7/22/2022 Requirements Analysis 16
Point of Sale - Use Cases
 Cashier
 Log In
 Cash out
 Customer
 Buy items
 Return items
7/22/2022 Requirements Analysis 17
Use Case Diagram - Example
Use Case Diagram: illustrates a set of use cases for a system.
Process sale
Payment
Authorization
service
Manage security
System administrator
Cashier Handle returns
Process rental <<actor>>
Tax calculator
Manage users
<<actor>>
Accounting
system
7/22/2022 Requirements Analysis 18
A sample Use Case
Use case: Buy Items
Actors: Customer, Cashier
Type: Primary, Essential
Description: A customer arrives at a checkout with
items to purchase. The cashier records
the purchase items and collects payment.
Guidelines for requirements analysis
• Define System Boundaries.
• Use Checklists for Requirements Analysis.
• Provide Software to Support Negotiations.
• Plan for Conflicts and Conflict Resolution.
• Prioritise Requirements.
• Classify Requirements Using a Multi-dimensional Approach.
• Use Interaction Matrices to Find Conflicts and Overlaps.
• Assess Requirements Risks.
19
7/22/2022 Requirements Analysis
1. Define System Boundaries.
• Assess the initial set of requirements to define the boundaries of the
system to be developed.
• Determine:
– System requirements
– Requirements for the operational processes
– Requirements should be outside the scope of the system
Benefit: Eliminates outside of scope requirements
Implementation: Examine each requirement and classify it as either a
system requirement, a process requirement or a requirement which
should be rejected.
20
7/22/2022 Requirements Analysis
2. Use Checklists for Requirements Analysis.
• A checklist is a list of questions which the analyst uses to
assess each requirement.
• Develop checklists of requirements problems based on your
experience and use them to analyze requirements
systematically.
• Each requirement should be analyzed against this checklist.
• Reuses knowledge of the requirements analysis across
projects.
Benefit: Reduces the probability of errors and accidental
omission of some requirements.
21
7/22/2022 Requirements Analysis
Implementation
• Analysts should check items on this list as they read
through the requirements document.
• When potential problems are discovered, these should be
noted either in the margins of the document
22
7/22/2022 Requirements Analysis
Sample checklist questions
Checklist Item Description
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?
Conformance with
business goals
Is the requirement consistent with the business goals defined in the
introduction to the requirements document?
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 23
7/22/2022 Requirements Analysis
3. Provide Software to Support Negotiations.
• Use electronic systems such as emails, telephone calls,
to exchange information about requirements and to
support the negotiation of agreed requirements.
• Encouraging electronic discussion of the requirements
breaks down barriers between stakeholders and makes it
easier and faster to arrive at agreements about
requirements.
24
7/22/2022 Requirements Analysis
4. Plan for conflict and conflict resolution
• Conflicts, overlaps and omissions may come up in any set of
requirements.
• Need to anticipate these conflicts and plan requirements
negotiation meetings to discuss the requirements and resolve
the problems discovered during the analysis.
• Benefits:
– Reduces the time required to arrive at an agreed set of
requirements.
– Reduces the probability of omitting critical requirements from
important stakeholders.
– Convinces stakeholders that their views have been considered.
25
7/22/2022 Requirements Analysis
5. Prioritize requirements
• Priorities should be assigned to individual requirements
which reflect their importance to stakeholders and to the
overall success of the system.
Benefit:
– Helps stakeholders to decide on the core requirements for the
system.
– Helps designers to decide on the system architecture Helps to
resolve design conflicts which may arise
26
7/22/2022 Requirements Analysis
6. Classify Requirements using a multi
dimensional approach
• Classify your requirements so that you can identify related
requirements.
• Classifying requirements is a basis for discovering
commonalities and unexpected relationships between them.
• Classifying requirements improves the traceability of the
requirements document.
• Classification can help find the missing requirements.
• If you find that there are no requirements in some class which
is part of your normal classification scheme, this may mean
that important requirements have been left out.
27
7/22/2022 Requirements Analysis
Possible keywords used to classify requirements
• System. This should be applied to requirements which
affect the entire system such as performance or reliability
requirements
• User interface. This should be applied to requirements
which are concerned with user interaction.
• Database. This should be applied to requirements which
are concerned with the data managed by the system.
28
7/22/2022 Requirements Analysis
Key words..
• Communications. This should be requirements which
are concerned with the external communication facilities
in the system.
• Security. This should be applied to requirements which
are likely to have security implications.
After deciding on an initial set of classification terms, you
should then go through the requirements, associating one
or more of these keywords with each of them.
29
7/22/2022 Requirements Analysis
Key words..
• Therefore, a requirement which states that 'A graphical
user interface to the account data should be provided'
would be classified as 'User interface', 'Database' and
'Security'.
30
7/22/2022 Requirements Analysis
7. Use Interaction Matrices to Find Conflicts and
Overlaps.
• An interaction matrix is a matrix where the rows and
columns are labelled with requirements identifiers.
• This is a systematic approach to checking requirements
which ensures that the interactions between all
requirements in the system or in an identified class of
requirements are considered.
31
7/22/2022 Requirements Analysis
• Use a spreadsheet program and label the rows and the
columns with the requirement identifiers
• Each requirement is then considered and compared with
other requirements. You can then fill in values in the
spreadsheet cells as follows.
– 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.
32
7/22/2022 Requirements Analysis
8. Assess the requirements risk
• Carry out a risk analysis for each requirement in which
you suggest possible problems which may arise in the
implementation of that requirement.
• Explicit risk assessment helps identify requirements which
are likely to cause particular difficulties to the system
developers. If these can be identified at this stage, it may
be possible to modify the requirement to reduce the risks
to the development process.
33
7/22/2022 Requirements Analysis
Types of risks to be considered
• Performance risks. Implementing the requirement may
adversely affect the overall performance of the system.
• Safety and security risks. Implementing the requirement
may cause problems in meeting overall system requirements
for safety and security.
• Process risks. Implementing a requirement may require
changes to the normal development process, such as the
introduction of mathematical specifications and proof (for a
safety requirement) or the use of unfamiliar prototyping
systems (for a user interface requirement).
34
7/22/2022 Requirements Analysis
Risks..
• Implementation technology risks. Implementing a
requirement may require the use of unfamiliar implementation
technology, such as AI techniques, the use of N-version
programming for fault tolerance, etc.
• Database risks. Implementing a requirement may involve
non-standard data which is not available in an existing system
database.
• Schedule risks. Implementing a requirement may be
technically difficult and may threaten the planned
development schedule for the system.
35
7/22/2022 Requirements Analysis
Risks..
• External risks. Implementing a requirement involves
external contractors.
• Stability risks. The requirement may be volatile and
subject to evolution during the development process.
Need to decide on the appropriate risks for each system
being specified and assess each requirement against these
risks.
36
7/22/2022 Requirements Analysis
Software Requirements analysis tool
QVScribe software tool
Writing requirements using natural language processing
https://qracorp.com/qvscribe/
7/22/2022 Requirements Analysis 37
Guiding Questions
1a). Define Requirements analysis
b). Why is requirements analysis phase important during the
requirements engineering life cycle?
c). Explain at least eight guidelines for requirements analysis
d). Explicit risk assessment helps identify requirements which
are likely to cause particular difficulties to the system
developers. As a requirements engineer, please elucidate any
eight types of risks that should be considered during
requirements analysis.
7/22/2022 Requirements Analysis 38
Questions
39
7/22/2022 Requirements Analysis

More Related Content

Similar to Lecture_three_Requirements_analysis.pptx

REQUIREMENT ENGINEERING
REQUIREMENT ENGINEERINGREQUIREMENT ENGINEERING
REQUIREMENT ENGINEERINGSaqib Raza
 
Requirement Analysis & Specification sharbani bhattacharya
Requirement Analysis & Specification sharbani bhattacharyaRequirement Analysis & Specification sharbani bhattacharya
Requirement Analysis & Specification sharbani bhattacharyaSharbani Bhattacharya
 
Analysis concepts and principles
Analysis concepts and principlesAnalysis concepts and principles
Analysis concepts and principlessaurabhshertukde
 
Requirement Engineering Processes & Eliciting Requirement
Requirement Engineering Processes & Eliciting Requirement Requirement Engineering Processes & Eliciting Requirement
Requirement Engineering Processes & Eliciting Requirement AqsaHayat3
 
SE Unit 2(1).pptx
SE Unit 2(1).pptxSE Unit 2(1).pptx
SE Unit 2(1).pptxaryan631999
 
SE Chapter 4 - Software Requirements.pptx
SE Chapter 4 - Software  Requirements.pptxSE Chapter 4 - Software  Requirements.pptx
SE Chapter 4 - Software Requirements.pptxDibyesh1
 
Gathering, Analyzing, and Documenting Software Requirements.pptx
Gathering, Analyzing, and Documenting Software Requirements.pptxGathering, Analyzing, and Documenting Software Requirements.pptx
Gathering, Analyzing, and Documenting Software Requirements.pptxGraceDenial
 
Software engg. pressman_ch-6 & 7
Software engg. pressman_ch-6 & 7Software engg. pressman_ch-6 & 7
Software engg. pressman_ch-6 & 7Dhairya Joshi
 
SE_Unit 3_System & Requirement Engineering.pdf
SE_Unit 3_System & Requirement Engineering.pdfSE_Unit 3_System & Requirement Engineering.pdf
SE_Unit 3_System & Requirement Engineering.pdfRAVALCHIRAG1
 
Software Development Life Cycle (SDLC )
Software Development Life Cycle (SDLC )Software Development Life Cycle (SDLC )
Software Development Life Cycle (SDLC )eshtiyak
 
Knowledge Sharing.pptx
Knowledge Sharing.pptxKnowledge Sharing.pptx
Knowledge Sharing.pptxyigerem
 

Similar to Lecture_three_Requirements_analysis.pptx (20)

REQUIREMENT ENGINEERING
REQUIREMENT ENGINEERINGREQUIREMENT ENGINEERING
REQUIREMENT ENGINEERING
 
Requirement Analysis & Specification sharbani bhattacharya
Requirement Analysis & Specification sharbani bhattacharyaRequirement Analysis & Specification sharbani bhattacharya
Requirement Analysis & Specification sharbani bhattacharya
 
Requirements engineering
Requirements engineeringRequirements engineering
Requirements engineering
 
3. 1 req elicitation
3. 1 req elicitation3. 1 req elicitation
3. 1 req elicitation
 
Analysis concepts and principles
Analysis concepts and principlesAnalysis concepts and principles
Analysis concepts and principles
 
Requirement Engineering Processes & Eliciting Requirement
Requirement Engineering Processes & Eliciting Requirement Requirement Engineering Processes & Eliciting Requirement
Requirement Engineering Processes & Eliciting Requirement
 
SE Unit 2(1).pptx
SE Unit 2(1).pptxSE Unit 2(1).pptx
SE Unit 2(1).pptx
 
SE Chapter 4 - Software Requirements.pptx
SE Chapter 4 - Software  Requirements.pptxSE Chapter 4 - Software  Requirements.pptx
SE Chapter 4 - Software Requirements.pptx
 
Sdlc phases
Sdlc phasesSdlc phases
Sdlc phases
 
Sdlc phases
Sdlc phasesSdlc phases
Sdlc phases
 
Ch7
Ch7Ch7
Ch7
 
Requirements Engineering
Requirements EngineeringRequirements Engineering
Requirements Engineering
 
Gathering, Analyzing, and Documenting Software Requirements.pptx
Gathering, Analyzing, and Documenting Software Requirements.pptxGathering, Analyzing, and Documenting Software Requirements.pptx
Gathering, Analyzing, and Documenting Software Requirements.pptx
 
Software engg. pressman_ch-6 & 7
Software engg. pressman_ch-6 & 7Software engg. pressman_ch-6 & 7
Software engg. pressman_ch-6 & 7
 
ETCA_4
ETCA_4ETCA_4
ETCA_4
 
SE_Unit 3_System & Requirement Engineering.pdf
SE_Unit 3_System & Requirement Engineering.pdfSE_Unit 3_System & Requirement Engineering.pdf
SE_Unit 3_System & Requirement Engineering.pdf
 
SE2.ppt
SE2.pptSE2.ppt
SE2.ppt
 
Software Development Life Cycle (SDLC )
Software Development Life Cycle (SDLC )Software Development Life Cycle (SDLC )
Software Development Life Cycle (SDLC )
 
Knowledge Sharing.pptx
Knowledge Sharing.pptxKnowledge Sharing.pptx
Knowledge Sharing.pptx
 
SE UNIT-2.pdf
SE UNIT-2.pdfSE UNIT-2.pdf
SE UNIT-2.pdf
 

Recently uploaded

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsRoshan Dwivedi
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilV3cube
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 

Recently uploaded (20)

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 

Lecture_three_Requirements_analysis.pptx

  • 1. Software Requirements analysis and Negotiation Course code: SWE 2102 MBARARA UNIVERSITY OF SCIENCE AND TECHNOLOGY Course Facilitators: Dr. Angella Musiimenta (PhD) & Wilson Tumuhimbise (MSc) 1 7/22/2022 Requirements Analysis
  • 2. Introduction • After an initial set of requirements has been discovered, you should analyze them for conflicts, overlaps, omissions and inconsistencies. • Analysis is the refinement of stakeholder needs into formal product specifications. • When information from this analysis is available, system stakeholders then negotiate to agree on a set of system requirements. • Concerned with the high-level statement of requirements elicited from stakeholders. 2 7/22/2022 Requirements Analysis
  • 3. However • Many projects fail: – Because they start implementing the system – Without determining whether they are building what the customer really wants 3 7/22/2022 Requirements Analysis
  • 4. The objective of requirements analysis • To establish an agreed set of requirements which are complete and consistent. • Should be unambiguous so that they can be used as a basis for further system development. 4 7/22/2022 Requirements Analysis
  • 5. 7/22/2022 Requirements Analysis 5 Requirements Analysis  What is it?  The process by which customer needs are understood and documented.  Expresses “what” is to be built  Example 1:  The system shall allow users to withdraw cash. [What?]
  • 6. 7/22/2022 Requirements Analysis 6 Requirements Analysis [2]  C- and D-Requirements  C-: Customer wants and needs; expressed in language understood by the customer.  D-: For the developers; may be more formal.
  • 7. 7/22/2022 Requirements Analysis 7 Requirements Analysis [3]  Roadmap:  Identify the customer.  Interview customer representatives.  Write C-requirements, review with customer, and update when necessary.  Write D-requirements; check to make sure that there is no inconsistency between the C- and the D-requirements.
  • 8. 7/22/2022 Requirements Analysis 8 Requirements Analysis [4]  C-requirements:  Use cases expressed individually and with a use case diagram. A use case specifies a collection of scenarios.  Sample use case: Process sale.  Data flow diagram:  Explains the flow of data items across various functions. Useful for explaining system functions. [Example on the next slide.]  State transition diagram:  Explains the change of system state in response to one or more operations. [Example two slides later.]  User interface: Generally not a part of requirements analysis though may be included.
  • 9. 7/22/2022 Requirements Analysis 9 Data Flow Diagram Pay rate Overtime rate Total pay Pay Net pay Get employee file Weekly pay Overtime pay Deduct taxes Issue paycheck Employee Record Company records Worker ID Regular hours Overtime hours Check Tax rates * * *
  • 10. 7/22/2022 Requirements Analysis 10 State Transition Diagram (STD) EBOFF (e,f) EBON (e,f) EBP(e,f) EBP(e,f) EBOFF (e,f): Elevator e button OFF at floor f. EBON (e,f): Elevator e button ON at floor f. EBP(e,f): Elevator e button f is pressed. EAF(e,f): Elevator e arrives at floor f. Elevator example (partial):
  • 11. 7/22/2022 Requirements Analysis 11 Use cases [1]  Excellent technique for improving the understanding of requirements  Narrative in nature  Use cases are dependent on having some understanding of the requirements (expressed in functional specifications document).
  • 12. 7/22/2022 Requirements Analysis 12 Use Cases [2]  Use case - narration of the sequence of events of an actor using a system  UML icon for use case
  • 13. 7/22/2022 Requirements Analysis 13 Actors [1]  Actor - an entity external to the system that in some way participates in the use case  An actor typically stimulates the system with input events or receives outputs from the system or does both.  UML notation for actor: Cust om er
  • 14. 7/22/2022 Requirements Analysis 14 Actors [2]  Primary Actor - an entity external to the system that uses system services in a direct manner.  Supporting Actor- an actor that provides services to the system being built.  Hardware, software applications, individual processes, can all be actors.
  • 15. 7/22/2022 Requirements Analysis 15 Point of Sale Example- Actors  Actors:  Cashier  Customer  Supervisor  Choosing actors:  Identify system boundary  Identify entities, human or otherwise, that will interact with the system, from outside the boundary.  Example: A temperature sensing device is an actor for a temperature monitoring application.
  • 16. 7/22/2022 Requirements Analysis 16 Point of Sale - Use Cases  Cashier  Log In  Cash out  Customer  Buy items  Return items
  • 17. 7/22/2022 Requirements Analysis 17 Use Case Diagram - Example Use Case Diagram: illustrates a set of use cases for a system. Process sale Payment Authorization service Manage security System administrator Cashier Handle returns Process rental <<actor>> Tax calculator Manage users <<actor>> Accounting system
  • 18. 7/22/2022 Requirements Analysis 18 A sample Use Case Use case: Buy Items Actors: Customer, Cashier Type: Primary, Essential Description: A customer arrives at a checkout with items to purchase. The cashier records the purchase items and collects payment.
  • 19. Guidelines for requirements analysis • Define System Boundaries. • Use Checklists for Requirements Analysis. • Provide Software to Support Negotiations. • Plan for Conflicts and Conflict Resolution. • Prioritise Requirements. • Classify Requirements Using a Multi-dimensional Approach. • Use Interaction Matrices to Find Conflicts and Overlaps. • Assess Requirements Risks. 19 7/22/2022 Requirements Analysis
  • 20. 1. Define System Boundaries. • Assess the initial set of requirements to define the boundaries of the system to be developed. • Determine: – System requirements – Requirements for the operational processes – Requirements should be outside the scope of the system Benefit: Eliminates outside of scope requirements Implementation: Examine each requirement and classify it as either a system requirement, a process requirement or a requirement which should be rejected. 20 7/22/2022 Requirements Analysis
  • 21. 2. Use Checklists for Requirements Analysis. • A checklist is a list of questions which the analyst uses to assess each requirement. • Develop checklists of requirements problems based on your experience and use them to analyze requirements systematically. • Each requirement should be analyzed against this checklist. • Reuses knowledge of the requirements analysis across projects. Benefit: Reduces the probability of errors and accidental omission of some requirements. 21 7/22/2022 Requirements Analysis
  • 22. Implementation • Analysts should check items on this list as they read through the requirements document. • When potential problems are discovered, these should be noted either in the margins of the document 22 7/22/2022 Requirements Analysis
  • 23. Sample checklist questions Checklist Item Description 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? Conformance with business goals Is the requirement consistent with the business goals defined in the introduction to the requirements document? 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 23 7/22/2022 Requirements Analysis
  • 24. 3. Provide Software to Support Negotiations. • Use electronic systems such as emails, telephone calls, to exchange information about requirements and to support the negotiation of agreed requirements. • Encouraging electronic discussion of the requirements breaks down barriers between stakeholders and makes it easier and faster to arrive at agreements about requirements. 24 7/22/2022 Requirements Analysis
  • 25. 4. Plan for conflict and conflict resolution • Conflicts, overlaps and omissions may come up in any set of requirements. • Need to anticipate these conflicts and plan requirements negotiation meetings to discuss the requirements and resolve the problems discovered during the analysis. • Benefits: – Reduces the time required to arrive at an agreed set of requirements. – Reduces the probability of omitting critical requirements from important stakeholders. – Convinces stakeholders that their views have been considered. 25 7/22/2022 Requirements Analysis
  • 26. 5. Prioritize requirements • Priorities should be assigned to individual requirements which reflect their importance to stakeholders and to the overall success of the system. Benefit: – Helps stakeholders to decide on the core requirements for the system. – Helps designers to decide on the system architecture Helps to resolve design conflicts which may arise 26 7/22/2022 Requirements Analysis
  • 27. 6. Classify Requirements using a multi dimensional approach • Classify your requirements so that you can identify related requirements. • Classifying requirements is a basis for discovering commonalities and unexpected relationships between them. • Classifying requirements improves the traceability of the requirements document. • Classification can help find the missing requirements. • If you find that there are no requirements in some class which is part of your normal classification scheme, this may mean that important requirements have been left out. 27 7/22/2022 Requirements Analysis
  • 28. Possible keywords used to classify requirements • System. This should be applied to requirements which affect the entire system such as performance or reliability requirements • User interface. This should be applied to requirements which are concerned with user interaction. • Database. This should be applied to requirements which are concerned with the data managed by the system. 28 7/22/2022 Requirements Analysis
  • 29. Key words.. • Communications. This should be requirements which are concerned with the external communication facilities in the system. • Security. This should be applied to requirements which are likely to have security implications. After deciding on an initial set of classification terms, you should then go through the requirements, associating one or more of these keywords with each of them. 29 7/22/2022 Requirements Analysis
  • 30. Key words.. • Therefore, a requirement which states that 'A graphical user interface to the account data should be provided' would be classified as 'User interface', 'Database' and 'Security'. 30 7/22/2022 Requirements Analysis
  • 31. 7. Use Interaction Matrices to Find Conflicts and Overlaps. • An interaction matrix is a matrix where the rows and columns are labelled with requirements identifiers. • This is a systematic approach to checking requirements which ensures that the interactions between all requirements in the system or in an identified class of requirements are considered. 31 7/22/2022 Requirements Analysis
  • 32. • Use a spreadsheet program and label the rows and the columns with the requirement identifiers • Each requirement is then considered and compared with other requirements. You can then fill in values in the spreadsheet cells as follows. – 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. 32 7/22/2022 Requirements Analysis
  • 33. 8. Assess the requirements risk • Carry out a risk analysis for each requirement in which you suggest possible problems which may arise in the implementation of that requirement. • Explicit risk assessment helps identify requirements which are likely to cause particular difficulties to the system developers. If these can be identified at this stage, it may be possible to modify the requirement to reduce the risks to the development process. 33 7/22/2022 Requirements Analysis
  • 34. Types of risks to be considered • Performance risks. Implementing the requirement may adversely affect the overall performance of the system. • Safety and security risks. Implementing the requirement may cause problems in meeting overall system requirements for safety and security. • Process risks. Implementing a requirement may require changes to the normal development process, such as the introduction of mathematical specifications and proof (for a safety requirement) or the use of unfamiliar prototyping systems (for a user interface requirement). 34 7/22/2022 Requirements Analysis
  • 35. Risks.. • Implementation technology risks. Implementing a requirement may require the use of unfamiliar implementation technology, such as AI techniques, the use of N-version programming for fault tolerance, etc. • Database risks. Implementing a requirement may involve non-standard data which is not available in an existing system database. • Schedule risks. Implementing a requirement may be technically difficult and may threaten the planned development schedule for the system. 35 7/22/2022 Requirements Analysis
  • 36. Risks.. • External risks. Implementing a requirement involves external contractors. • Stability risks. The requirement may be volatile and subject to evolution during the development process. Need to decide on the appropriate risks for each system being specified and assess each requirement against these risks. 36 7/22/2022 Requirements Analysis
  • 37. Software Requirements analysis tool QVScribe software tool Writing requirements using natural language processing https://qracorp.com/qvscribe/ 7/22/2022 Requirements Analysis 37
  • 38. Guiding Questions 1a). Define Requirements analysis b). Why is requirements analysis phase important during the requirements engineering life cycle? c). Explain at least eight guidelines for requirements analysis d). Explicit risk assessment helps identify requirements which are likely to cause particular difficulties to the system developers. As a requirements engineer, please elucidate any eight types of risks that should be considered during requirements analysis. 7/22/2022 Requirements Analysis 38