SlideShare a Scribd company logo
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

WINSEM2021-22_ITE2004_ETH_VL2021220500452_Reference_Material_I_03-01-2022_Sof...
WINSEM2021-22_ITE2004_ETH_VL2021220500452_Reference_Material_I_03-01-2022_Sof...WINSEM2021-22_ITE2004_ETH_VL2021220500452_Reference_Material_I_03-01-2022_Sof...
WINSEM2021-22_ITE2004_ETH_VL2021220500452_Reference_Material_I_03-01-2022_Sof...
madhurpatidar2
 
REQUIREMENT ENGINEERING
REQUIREMENT ENGINEERINGREQUIREMENT ENGINEERING
REQUIREMENT ENGINEERING
Saqib Raza
 
Requirement Analysis & Specification sharbani bhattacharya
Requirement Analysis & Specification sharbani bhattacharyaRequirement Analysis & Specification sharbani bhattacharya
Requirement Analysis & Specification sharbani bhattacharya
Sharbani Bhattacharya
 
Requirements engineering
Requirements engineeringRequirements engineering
Requirements engineering
Syed Zaid Irshad
 
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).pptx
aryan631999
 
SE Chapter 4 - Software Requirements.pptx
SE Chapter 4 - Software  Requirements.pptxSE Chapter 4 - Software  Requirements.pptx
SE Chapter 4 - Software Requirements.pptx
Dibyesh1
 
Sdlc phases
Sdlc phasesSdlc phases
Sdlc phases
Janu Jahnavi
 
Sdlc phases
Sdlc phasesSdlc phases
Sdlc phases
Janu Jahnavi
 
Requirements Engineering
Requirements EngineeringRequirements Engineering
Requirements Engineering
MuhammadTalha436
 
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
GraceDenial
 
Software engineering Unit 2(Updated)2.pptx
Software engineering Unit 2(Updated)2.pptxSoftware engineering Unit 2(Updated)2.pptx
Software engineering Unit 2(Updated)2.pptx
singhpriyansh0510
 
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.pdf
RAVALCHIRAG1
 
SE2.ppt
SE2.pptSE2.ppt
SE2.ppt
AaMir519591
 
Software Engineering Principles and Practices
Software Engineering Principles and PracticesSoftware Engineering Principles and Practices
Software Engineering Principles and Practices
ManjunathaOk
 

Similar to Lecture_three_Requirements_analysis.pptx (20)

WINSEM2021-22_ITE2004_ETH_VL2021220500452_Reference_Material_I_03-01-2022_Sof...
WINSEM2021-22_ITE2004_ETH_VL2021220500452_Reference_Material_I_03-01-2022_Sof...WINSEM2021-22_ITE2004_ETH_VL2021220500452_Reference_Material_I_03-01-2022_Sof...
WINSEM2021-22_ITE2004_ETH_VL2021220500452_Reference_Material_I_03-01-2022_Sof...
 
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 engineering Unit 2(Updated)2.pptx
Software engineering Unit 2(Updated)2.pptxSoftware engineering Unit 2(Updated)2.pptx
Software engineering Unit 2(Updated)2.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 Engineering Principles and Practices
Software Engineering Principles and PracticesSoftware Engineering Principles and Practices
Software Engineering Principles and Practices
 

Recently uploaded

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
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
Product School
 
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
 
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
 
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
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Product School
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Product School
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Ramesh Iyer
 
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
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
Product School
 
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
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
Laura Byrne
 
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
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
Product School
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
Frank van Harmelen
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
DianaGray10
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Inflectra
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Tobias Schneck
 

Recently uploaded (20)

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
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
 
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
 
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
 
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
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
 
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
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
 
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...
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
 
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...
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
 

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