SlideShare a Scribd company logo
1 of 28
Requirements
Engineering
Ajay Mani Paudel
Executive Director, NLP Hub
Founder & CEO, Quantasoft Technology
Introduction
“process of finding out and finalizing Software
Requirements Specification (SRS)”
© Ajay Mani Paudel
Software Intensive Systems
SIS = Software + Hardware + Context
Software runs on some hardware and is developed for a purpose
that is related to human activities
© Ajay Mani Paudel
Software Quality
Q = f (S, P)
Where,
Q is Quality; f is Function; S is Software; P is Purpose
Simply, quality is measured on fitness for purpose
So in this sense Requirement Engineering is mostly about identifying the purpose
© Ajay Mani Paudel
Identifying Purpose
Identifying Purpose = Defining Requirements
Extremely hard task!
– Sheer complexity of the purpose/requirements
– Often, people don’t know what they want until you show to them
– Changing requirements
– Multiple stakeholders with conflicting requirements
© Ajay Mani Paudel
Completeness & Pertinence
Completeness -> having all the necessary or appropriate parts
If Not: Missing requirements
Pertinence -> the quality or state of being relevance
If Not: Extra requirements
Gathering an adequate, accurate, complete, and pertinent set of requirements that identify the
purpose of a software system is an arduous task.
© Ajay Mani Paudel
Pertinence Quiz
Consider an information system for a gym. In the list below, mark all the
requirements that you believe are pertinent.
1. Members of the gym shall be able to access their training programs
2. The system shall be able to read member cards
3. The system shall be able to store members commute time
4. Personal trainers shall be able to add clients
5. The list of members shall be stored as a linked list
© Ajay Mani Paudel
Completeness Quiz
1. Members of the gym shall be able to access their training programs
2. The system shall be able to read member cards
3. The system shall be able to store members commute time
4. Personal trainers shall be able to add clients
5. The list of members shall be stored as a linked list
Is the above list complete?
© Ajay Mani Paudel
Completeness Quiz
Some Missing Functional Requirements might be like;
– Registration for the customers
– Fitness Program Creation
– Membership Types
© Ajay Mani Paudel
Irrelevant Requirement Quiz
Why can irrelevant requirements be harmful?
1. They may lead to missing functionality in the final product
2. They can introduce inconsistency
3. They can waste project resources
4. They may introduce bugs in the software system
© Ajay Mani Paudel
RE Definition Breakdown
Requirement Engineering (RE) is a set of activities concerned with identifying and
communicating the purpose of a software-intensive system, and the context in
which it will be used. Hence, RE acts as the bridge between the real-world needs
of users, customers, and other constituencies affected by a software system, and
the capabilities and opportunities afforded by software intensive technologies.
Designers
need to
know how
and where
the system
will be used
Not a phase
or a stage
Communication
is as important
as analysis
Quality means fitness-for-
purpose. Cannot say anything
about quality unless you
understand the purpose
Needed to
identify all the
stakeholders –
not just the
customer and
the user
…and partly
about what
is possible
Requirements
are partly
about what is
needed..
© Ajay Mani Paudel
What is Requirement domain?
Application Domain Machine Domain
D – Domain
Properties
R – Requirements
C – Computer
P – Program
S –
Specifica
tion
© Ajay Mani Paudel
Requirement Domain Quiz
Referring to the previous slide figure we discussed, indicate for each of the
following items, whether they belong to the machine domain (1), application
domain (2), or their intersection (3).
– An algorithm sorts a list of books in alphabetical order by the first author’s
name
– A notification of the arrival of a message appears on a smart watch
– An employee wants to organize a meeting with a set of colleagues
– A user clicks a link on a web page
© Ajay Mani Paudel
Functional & Non-Functional
Requirements
Functional Requirements
– What the system does with computation?
– Functionality of the system
– Well defined satisfaction criteria
Non-Functional Requirements
– Refer to system non-functional properties, system qualities
– Such as security, accuracy, performance, cost, usability, adaptability, interoperability,
reusability and so on
© Ajay Mani Paudel
User & System Requirements
User Requirements
– Written for customers
– Often in natural language, no technical details
– For the efficient communication with customer, stakeholders
System Requirements
– Written for developers
– Detailed functional & non-functional requirements
– Clearly and more rigorously specified
© Ajay Mani Paudel
Which of the following requirements
are non-functional requirements?
1. The Bowling Alley program keeps track of the score during a game
2. The word-count program should be able to process large files
3. The login program for a website should be secure
4. The Vending Machine program should take coins as an input from the user
© Ajay Mani Paudel
Requirement Iterative Process
1. Elicitation
– Collection of requirements from stakeholders and other sources
2. Analysis
– Study and deeper understanding of requirements
3. Specification
– Collective requirements are suitably represented, organized and shared
4. Validation
– To ensure completeness, consistency and no redundancy
5. Management
– Accounts for changes to requirements during the lifetime of the project
© Ajay Mani Paudel
Requirement Origins
(Where do they come from?)
Stakeholders (Customers, Users, etc.)
– Ones that are affected by the system and its functionality
Application Domain (Social Requirement)
– Where the system is being used? (such as banks, schools, etc.)
– Since the characteristics of the environment affects
Documentation (Additional Source)
– Research papers, White Papers, Manuals, etc.
© Ajay Mani Paudel
Elicitation Problems
Thin spread of domain knowledge
– Rare & distributed sources
Knowledge is tacit
– Hard even to describe knowledge that they regularly use
Limited observability
– Partial commitment, introduces noises
Bias
– Unwillingness to tell, misleading or misguiding
© Ajay Mani Paudel
Traditional Techniques
(for requirement elicitation)
1. Background Reading
– Collecting information by reading existing documents such as company reports,
organizational charts, policy manuals, job descriptions, documentation of existing
systems and so on
– This technique is useful when one is not familiar with the organization operation
2. Hard data and samples
– To collect and choose the sample of population
– Hard data includes facts & figures such as forms, invoices, financial information,
survey results, marketing data and so on
© Ajay Mani Paudel
Traditional Techniques
(for requirement elicitation)
3. Interview
– Agenda, Interview question, or sometimes just conversation with on pre-set agenda
– Positive side: Can collect a rich set of information as they allow for uncovering opinions as well as hard
facts
– Negative side:. Collecting a lot of information is hard to analyze or even irrelevant. So, it requires
special skills that are difficult to master and require experience
4. Surveys
– Can quickly collect information from a large number of people. Moreover, they can be administered
remotely for example, by email, through internet
– Survey tends to severely constrain the information that the user can provide and might miss
opportunities to collect unforeseen, relevant information
5. Meetings
– Used for summarization of findings and collection of feedback, so as to confirm or refute what has
been learned
– Have clear stated objectives and planned carefully© Ajay Mani Paudel
Other Techniques
(Beside the Traditional Techniques)
 Collaborative Techniques
 Created to support incremental development of complex systems with large diverse user
populations. Such as brainstorming and so on
 Social Approaches
 Exploit social sciences to better collect information from the stakeholders and the
environment.
 Such as ethnographic techniques which are based on the idea of collecting information on
the participants by observing them in the original environment
 Cognitive techniques
 Leverage cognitive science approaches to discover expert knowledge for example they can
be used for the problem solving methods
© Ajay Mani Paudel
Modeling Requirements
Modeling enterprises
– Goals and objectives
– Organizational structure
– Task and dependencies
– Agents, roles, intentionality
Modeling information and behaviors
– Information structure
– Behavioral view
– Scenarios and use cases
– state machine models
– Sequence diagrams
– Information flow
Modeling system qualities (NFRs)
© Ajay Mani Paudel
Analyzing Requirements
1. Verification
– Check whether the requirements are implemented completely
2. Validation
– Whether the collected requirement define the system that the stakeholders want
3. Risk Analysis
– Identify and analyze the main risks involved with the development of the system
being considered.
– Aims to change the requirement model to eliminate or address those risks
© Ajay Mani Paudel
Requirements Prioritization
Classification of Requirements
1. Mandatory Requirements
2. Nice-to-have Requirements
3. Superfluous Requirements
© Ajay Mani Paudel
Requirements Prioritization
Quiz
Imagine that you have collected the following set of five requirements for an ATM
system but only have resources to satisfy two, possibly three of those. Suitably
prioritize the requirements.
1. The system shall check the pin of the ATM card before allowing the customer to
perform an operation
2. The system shall perform an additional biometric verification of the customer’s
identity before it allows the customer to perform an operation
3. The system shall allow customers to withdraw cash using an ATM card
4. The system shall allow customer to receive cash/balance receipt using an ATM card
5. The system shall allow customer to change their various information of an ATM
card
© Ajay Mani Paudel
Requirements Engineering
Process (Modern Approach)
1. Elicitation
– Extract requirements from various sources
2. Negotiation
– Between the stakeholders and developers, discussed for an agreement
3. Modelling
– Represent the requirements using one or more notation or formal reasons
4. Analysis
– Identify possible issue with our requirements
© Ajay Mani Paudel
Software Requirements
Specification (SRS)
According to IEEE, the properties of SRS should be
– Simple (not compound), one requirement = one specific piece of functionality
– Testable
– Organized (related requirements should be grouped)
– Numbered (for traceability)
© Ajay Mani Paudel

More Related Content

What's hot

What's hot (20)

Resume-ashish_new
Resume-ashish_newResume-ashish_new
Resume-ashish_new
 
keerthi_UpdatedResume
keerthi_UpdatedResume keerthi_UpdatedResume
keerthi_UpdatedResume
 
Gaurav Savla - Consultant
Gaurav Savla - ConsultantGaurav Savla - Consultant
Gaurav Savla - Consultant
 
Software engineering
Software engineeringSoftware engineering
Software engineering
 
Harsha
HarshaHarsha
Harsha
 
Lecture1 (SE Introduction)
Lecture1 (SE Introduction)Lecture1 (SE Introduction)
Lecture1 (SE Introduction)
 
13 Continuous and Collaborative Validation: A Field Study of Requirements Kno...
13 Continuous and Collaborative Validation: A Field Study of Requirements Kno...13 Continuous and Collaborative Validation: A Field Study of Requirements Kno...
13 Continuous and Collaborative Validation: A Field Study of Requirements Kno...
 
Eliciting non functional requirements
Eliciting non functional requirementsEliciting non functional requirements
Eliciting non functional requirements
 
Karen Gustafson, Resume
Karen Gustafson, ResumeKaren Gustafson, Resume
Karen Gustafson, Resume
 
Online compliant response system for corporation
Online compliant response system for corporationOnline compliant response system for corporation
Online compliant response system for corporation
 
Non Functional Testing
Non Functional TestingNon Functional Testing
Non Functional Testing
 
Non-functional Testing (NFT) Overview
Non-functional Testing (NFT) Overview Non-functional Testing (NFT) Overview
Non-functional Testing (NFT) Overview
 
Resume
ResumeResume
Resume
 
Ramasundararajan MV_Resume
Ramasundararajan MV_ResumeRamasundararajan MV_Resume
Ramasundararajan MV_Resume
 
How we measure quality of JIRA deployments to Cloud?
How we measure quality of JIRA deployments to Cloud?How we measure quality of JIRA deployments to Cloud?
How we measure quality of JIRA deployments to Cloud?
 
Cirriculum Vitae
Cirriculum VitaeCirriculum Vitae
Cirriculum Vitae
 
Non-Functional Requirements
Non-Functional RequirementsNon-Functional Requirements
Non-Functional Requirements
 
RESUME-TESTING
RESUME-TESTINGRESUME-TESTING
RESUME-TESTING
 
CIS 2303 LO2 Part 3
CIS 2303 LO2 Part 3CIS 2303 LO2 Part 3
CIS 2303 LO2 Part 3
 
Functional and non functional
Functional and non functionalFunctional and non functional
Functional and non functional
 

Similar to Requirements engineering

Mis system analysis and system design
Mis   system analysis and system designMis   system analysis and system design
Mis system analysis and system designRahul Hedau
 
Chap4_Requirements_Elicitation and Collaboration.pptx
Chap4_Requirements_Elicitation and Collaboration.pptxChap4_Requirements_Elicitation and Collaboration.pptx
Chap4_Requirements_Elicitation and Collaboration.pptxJaymin Mistry
 
Hospital E-Token Management(outdoor)
Hospital E-Token Management(outdoor)Hospital E-Token Management(outdoor)
Hospital E-Token Management(outdoor)ANISUR RAHMAN
 
Personality Prediction and CV Analysis System
Personality Prediction and CV Analysis SystemPersonality Prediction and CV Analysis System
Personality Prediction and CV Analysis SystemIRJET Journal
 
Planning, design and implementation of information systems
Planning, design and implementation of information systemsPlanning, design and implementation of information systems
Planning, design and implementation of information systemsOnline
 
Requirements Elicitation Techniques
Requirements Elicitation Techniques  Requirements Elicitation Techniques
Requirements Elicitation Techniques JaveriaAslam10
 
Resume (2) Modify
Resume (2) ModifyResume (2) Modify
Resume (2) Modifyvijay kumar
 
Online e-voting
Online e-votingOnline e-voting
Online e-votingaeioou
 
Expert Systems: Principles and Programming, Fourth Edition
Expert Systems: Principles and Programming, Fourth EditionExpert Systems: Principles and Programming, Fourth Edition
Expert Systems: Principles and Programming, Fourth Editionmercyzyada1999
 
Fingerprint Alert System A Solution for Effective Management System
Fingerprint Alert System A Solution for Effective Management SystemFingerprint Alert System A Solution for Effective Management System
Fingerprint Alert System A Solution for Effective Management Systemijtsrd
 
INTERNAL Assign no 207( JAIPUR NATIONAL UNI)
INTERNAL Assign no   207( JAIPUR NATIONAL UNI)INTERNAL Assign no   207( JAIPUR NATIONAL UNI)
INTERNAL Assign no 207( JAIPUR NATIONAL UNI)Partha_bappa
 

Similar to Requirements engineering (20)

Mis system analysis and system design
Mis   system analysis and system designMis   system analysis and system design
Mis system analysis and system design
 
Requirement engineering
Requirement engineeringRequirement engineering
Requirement engineering
 
Chap4_Requirements_Elicitation and Collaboration.pptx
Chap4_Requirements_Elicitation and Collaboration.pptxChap4_Requirements_Elicitation and Collaboration.pptx
Chap4_Requirements_Elicitation and Collaboration.pptx
 
Hospital E-Token Management(outdoor)
Hospital E-Token Management(outdoor)Hospital E-Token Management(outdoor)
Hospital E-Token Management(outdoor)
 
software engineering
software engineering software engineering
software engineering
 
Building cbis, mis, csvtu
Building cbis, mis, csvtuBuilding cbis, mis, csvtu
Building cbis, mis, csvtu
 
unit2.pptx
unit2.pptxunit2.pptx
unit2.pptx
 
Personality Prediction and CV Analysis System
Personality Prediction and CV Analysis SystemPersonality Prediction and CV Analysis System
Personality Prediction and CV Analysis System
 
SAD 1st PPT
SAD 1st PPTSAD 1st PPT
SAD 1st PPT
 
Planning, design and implementation of information systems
Planning, design and implementation of information systemsPlanning, design and implementation of information systems
Planning, design and implementation of information systems
 
Unit Iii
Unit IiiUnit Iii
Unit Iii
 
Requirements Elicitation Techniques
Requirements Elicitation Techniques  Requirements Elicitation Techniques
Requirements Elicitation Techniques
 
Resume (2) Modify
Resume (2) ModifyResume (2) Modify
Resume (2) Modify
 
Resume_(2)vijay
Resume_(2)vijayResume_(2)vijay
Resume_(2)vijay
 
Online e-voting
Online e-votingOnline e-voting
Online e-voting
 
Sadchap3
Sadchap3Sadchap3
Sadchap3
 
Chap01
Chap01Chap01
Chap01
 
Expert Systems: Principles and Programming, Fourth Edition
Expert Systems: Principles and Programming, Fourth EditionExpert Systems: Principles and Programming, Fourth Edition
Expert Systems: Principles and Programming, Fourth Edition
 
Fingerprint Alert System A Solution for Effective Management System
Fingerprint Alert System A Solution for Effective Management SystemFingerprint Alert System A Solution for Effective Management System
Fingerprint Alert System A Solution for Effective Management System
 
INTERNAL Assign no 207( JAIPUR NATIONAL UNI)
INTERNAL Assign no   207( JAIPUR NATIONAL UNI)INTERNAL Assign no   207( JAIPUR NATIONAL UNI)
INTERNAL Assign no 207( JAIPUR NATIONAL UNI)
 

Recently uploaded

High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escortsranjana rawat
 
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130Suhani Kapoor
 
chaitra-1.pptx fake news detection using machine learning
chaitra-1.pptx  fake news detection using machine learningchaitra-1.pptx  fake news detection using machine learning
chaitra-1.pptx fake news detection using machine learningmisbanausheenparvam
 
GDSC ASEB Gen AI study jams presentation
GDSC ASEB Gen AI study jams presentationGDSC ASEB Gen AI study jams presentation
GDSC ASEB Gen AI study jams presentationGDSCAESB
 
Internship report on mechanical engineering
Internship report on mechanical engineeringInternship report on mechanical engineering
Internship report on mechanical engineeringmalavadedarshan25
 
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝soniya singh
 
Current Transformer Drawing and GTP for MSETCL
Current Transformer Drawing and GTP for MSETCLCurrent Transformer Drawing and GTP for MSETCL
Current Transformer Drawing and GTP for MSETCLDeelipZope
 
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort serviceGurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort servicejennyeacort
 
Oxy acetylene welding presentation note.
Oxy acetylene welding presentation note.Oxy acetylene welding presentation note.
Oxy acetylene welding presentation note.eptoze12
 
SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )Tsuyoshi Horigome
 
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube ExchangerStudy on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube ExchangerAnamika Sarkar
 
College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service NashikCollege Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service NashikCall Girls in Nagpur High Profile
 
Heart Disease Prediction using machine learning.pptx
Heart Disease Prediction using machine learning.pptxHeart Disease Prediction using machine learning.pptx
Heart Disease Prediction using machine learning.pptxPoojaBan
 
ZXCTN 5804 / ZTE PTN / ZTE POTN / ZTE 5804 PTN / ZTE POTN 5804 ( 100/200 GE Z...
ZXCTN 5804 / ZTE PTN / ZTE POTN / ZTE 5804 PTN / ZTE POTN 5804 ( 100/200 GE Z...ZXCTN 5804 / ZTE PTN / ZTE POTN / ZTE 5804 PTN / ZTE POTN 5804 ( 100/200 GE Z...
ZXCTN 5804 / ZTE PTN / ZTE POTN / ZTE 5804 PTN / ZTE POTN 5804 ( 100/200 GE Z...ZTE
 
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptxDecoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptxJoão Esperancinha
 
Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...VICTOR MAESTRE RAMIREZ
 
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSAPPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSKurinjimalarL3
 

Recently uploaded (20)

High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
 
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
 
chaitra-1.pptx fake news detection using machine learning
chaitra-1.pptx  fake news detection using machine learningchaitra-1.pptx  fake news detection using machine learning
chaitra-1.pptx fake news detection using machine learning
 
GDSC ASEB Gen AI study jams presentation
GDSC ASEB Gen AI study jams presentationGDSC ASEB Gen AI study jams presentation
GDSC ASEB Gen AI study jams presentation
 
Internship report on mechanical engineering
Internship report on mechanical engineeringInternship report on mechanical engineering
Internship report on mechanical engineering
 
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝
 
Current Transformer Drawing and GTP for MSETCL
Current Transformer Drawing and GTP for MSETCLCurrent Transformer Drawing and GTP for MSETCL
Current Transformer Drawing and GTP for MSETCL
 
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort serviceGurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
 
Oxy acetylene welding presentation note.
Oxy acetylene welding presentation note.Oxy acetylene welding presentation note.
Oxy acetylene welding presentation note.
 
Exploring_Network_Security_with_JA3_by_Rakesh Seal.pptx
Exploring_Network_Security_with_JA3_by_Rakesh Seal.pptxExploring_Network_Security_with_JA3_by_Rakesh Seal.pptx
Exploring_Network_Security_with_JA3_by_Rakesh Seal.pptx
 
🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...
🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...
🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...
 
SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )
 
Call Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCR
Call Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCRCall Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCR
Call Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCR
 
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube ExchangerStudy on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
 
College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service NashikCollege Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
 
Heart Disease Prediction using machine learning.pptx
Heart Disease Prediction using machine learning.pptxHeart Disease Prediction using machine learning.pptx
Heart Disease Prediction using machine learning.pptx
 
ZXCTN 5804 / ZTE PTN / ZTE POTN / ZTE 5804 PTN / ZTE POTN 5804 ( 100/200 GE Z...
ZXCTN 5804 / ZTE PTN / ZTE POTN / ZTE 5804 PTN / ZTE POTN 5804 ( 100/200 GE Z...ZXCTN 5804 / ZTE PTN / ZTE POTN / ZTE 5804 PTN / ZTE POTN 5804 ( 100/200 GE Z...
ZXCTN 5804 / ZTE PTN / ZTE POTN / ZTE 5804 PTN / ZTE POTN 5804 ( 100/200 GE Z...
 
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptxDecoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
 
Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...
 
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSAPPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
 

Requirements engineering

  • 1. Requirements Engineering Ajay Mani Paudel Executive Director, NLP Hub Founder & CEO, Quantasoft Technology
  • 2. Introduction “process of finding out and finalizing Software Requirements Specification (SRS)” © Ajay Mani Paudel
  • 3. Software Intensive Systems SIS = Software + Hardware + Context Software runs on some hardware and is developed for a purpose that is related to human activities © Ajay Mani Paudel
  • 4. Software Quality Q = f (S, P) Where, Q is Quality; f is Function; S is Software; P is Purpose Simply, quality is measured on fitness for purpose So in this sense Requirement Engineering is mostly about identifying the purpose © Ajay Mani Paudel
  • 5. Identifying Purpose Identifying Purpose = Defining Requirements Extremely hard task! – Sheer complexity of the purpose/requirements – Often, people don’t know what they want until you show to them – Changing requirements – Multiple stakeholders with conflicting requirements © Ajay Mani Paudel
  • 6. Completeness & Pertinence Completeness -> having all the necessary or appropriate parts If Not: Missing requirements Pertinence -> the quality or state of being relevance If Not: Extra requirements Gathering an adequate, accurate, complete, and pertinent set of requirements that identify the purpose of a software system is an arduous task. © Ajay Mani Paudel
  • 7. Pertinence Quiz Consider an information system for a gym. In the list below, mark all the requirements that you believe are pertinent. 1. Members of the gym shall be able to access their training programs 2. The system shall be able to read member cards 3. The system shall be able to store members commute time 4. Personal trainers shall be able to add clients 5. The list of members shall be stored as a linked list © Ajay Mani Paudel
  • 8. Completeness Quiz 1. Members of the gym shall be able to access their training programs 2. The system shall be able to read member cards 3. The system shall be able to store members commute time 4. Personal trainers shall be able to add clients 5. The list of members shall be stored as a linked list Is the above list complete? © Ajay Mani Paudel
  • 9. Completeness Quiz Some Missing Functional Requirements might be like; – Registration for the customers – Fitness Program Creation – Membership Types © Ajay Mani Paudel
  • 10. Irrelevant Requirement Quiz Why can irrelevant requirements be harmful? 1. They may lead to missing functionality in the final product 2. They can introduce inconsistency 3. They can waste project resources 4. They may introduce bugs in the software system © Ajay Mani Paudel
  • 11. RE Definition Breakdown Requirement Engineering (RE) is a set of activities concerned with identifying and communicating the purpose of a software-intensive system, and the context in which it will be used. Hence, RE acts as the bridge between the real-world needs of users, customers, and other constituencies affected by a software system, and the capabilities and opportunities afforded by software intensive technologies. Designers need to know how and where the system will be used Not a phase or a stage Communication is as important as analysis Quality means fitness-for- purpose. Cannot say anything about quality unless you understand the purpose Needed to identify all the stakeholders – not just the customer and the user …and partly about what is possible Requirements are partly about what is needed.. © Ajay Mani Paudel
  • 12. What is Requirement domain? Application Domain Machine Domain D – Domain Properties R – Requirements C – Computer P – Program S – Specifica tion © Ajay Mani Paudel
  • 13. Requirement Domain Quiz Referring to the previous slide figure we discussed, indicate for each of the following items, whether they belong to the machine domain (1), application domain (2), or their intersection (3). – An algorithm sorts a list of books in alphabetical order by the first author’s name – A notification of the arrival of a message appears on a smart watch – An employee wants to organize a meeting with a set of colleagues – A user clicks a link on a web page © Ajay Mani Paudel
  • 14. Functional & Non-Functional Requirements Functional Requirements – What the system does with computation? – Functionality of the system – Well defined satisfaction criteria Non-Functional Requirements – Refer to system non-functional properties, system qualities – Such as security, accuracy, performance, cost, usability, adaptability, interoperability, reusability and so on © Ajay Mani Paudel
  • 15. User & System Requirements User Requirements – Written for customers – Often in natural language, no technical details – For the efficient communication with customer, stakeholders System Requirements – Written for developers – Detailed functional & non-functional requirements – Clearly and more rigorously specified © Ajay Mani Paudel
  • 16. Which of the following requirements are non-functional requirements? 1. The Bowling Alley program keeps track of the score during a game 2. The word-count program should be able to process large files 3. The login program for a website should be secure 4. The Vending Machine program should take coins as an input from the user © Ajay Mani Paudel
  • 17. Requirement Iterative Process 1. Elicitation – Collection of requirements from stakeholders and other sources 2. Analysis – Study and deeper understanding of requirements 3. Specification – Collective requirements are suitably represented, organized and shared 4. Validation – To ensure completeness, consistency and no redundancy 5. Management – Accounts for changes to requirements during the lifetime of the project © Ajay Mani Paudel
  • 18. Requirement Origins (Where do they come from?) Stakeholders (Customers, Users, etc.) – Ones that are affected by the system and its functionality Application Domain (Social Requirement) – Where the system is being used? (such as banks, schools, etc.) – Since the characteristics of the environment affects Documentation (Additional Source) – Research papers, White Papers, Manuals, etc. © Ajay Mani Paudel
  • 19. Elicitation Problems Thin spread of domain knowledge – Rare & distributed sources Knowledge is tacit – Hard even to describe knowledge that they regularly use Limited observability – Partial commitment, introduces noises Bias – Unwillingness to tell, misleading or misguiding © Ajay Mani Paudel
  • 20. Traditional Techniques (for requirement elicitation) 1. Background Reading – Collecting information by reading existing documents such as company reports, organizational charts, policy manuals, job descriptions, documentation of existing systems and so on – This technique is useful when one is not familiar with the organization operation 2. Hard data and samples – To collect and choose the sample of population – Hard data includes facts & figures such as forms, invoices, financial information, survey results, marketing data and so on © Ajay Mani Paudel
  • 21. Traditional Techniques (for requirement elicitation) 3. Interview – Agenda, Interview question, or sometimes just conversation with on pre-set agenda – Positive side: Can collect a rich set of information as they allow for uncovering opinions as well as hard facts – Negative side:. Collecting a lot of information is hard to analyze or even irrelevant. So, it requires special skills that are difficult to master and require experience 4. Surveys – Can quickly collect information from a large number of people. Moreover, they can be administered remotely for example, by email, through internet – Survey tends to severely constrain the information that the user can provide and might miss opportunities to collect unforeseen, relevant information 5. Meetings – Used for summarization of findings and collection of feedback, so as to confirm or refute what has been learned – Have clear stated objectives and planned carefully© Ajay Mani Paudel
  • 22. Other Techniques (Beside the Traditional Techniques)  Collaborative Techniques  Created to support incremental development of complex systems with large diverse user populations. Such as brainstorming and so on  Social Approaches  Exploit social sciences to better collect information from the stakeholders and the environment.  Such as ethnographic techniques which are based on the idea of collecting information on the participants by observing them in the original environment  Cognitive techniques  Leverage cognitive science approaches to discover expert knowledge for example they can be used for the problem solving methods © Ajay Mani Paudel
  • 23. Modeling Requirements Modeling enterprises – Goals and objectives – Organizational structure – Task and dependencies – Agents, roles, intentionality Modeling information and behaviors – Information structure – Behavioral view – Scenarios and use cases – state machine models – Sequence diagrams – Information flow Modeling system qualities (NFRs) © Ajay Mani Paudel
  • 24. Analyzing Requirements 1. Verification – Check whether the requirements are implemented completely 2. Validation – Whether the collected requirement define the system that the stakeholders want 3. Risk Analysis – Identify and analyze the main risks involved with the development of the system being considered. – Aims to change the requirement model to eliminate or address those risks © Ajay Mani Paudel
  • 25. Requirements Prioritization Classification of Requirements 1. Mandatory Requirements 2. Nice-to-have Requirements 3. Superfluous Requirements © Ajay Mani Paudel
  • 26. Requirements Prioritization Quiz Imagine that you have collected the following set of five requirements for an ATM system but only have resources to satisfy two, possibly three of those. Suitably prioritize the requirements. 1. The system shall check the pin of the ATM card before allowing the customer to perform an operation 2. The system shall perform an additional biometric verification of the customer’s identity before it allows the customer to perform an operation 3. The system shall allow customers to withdraw cash using an ATM card 4. The system shall allow customer to receive cash/balance receipt using an ATM card 5. The system shall allow customer to change their various information of an ATM card © Ajay Mani Paudel
  • 27. Requirements Engineering Process (Modern Approach) 1. Elicitation – Extract requirements from various sources 2. Negotiation – Between the stakeholders and developers, discussed for an agreement 3. Modelling – Represent the requirements using one or more notation or formal reasons 4. Analysis – Identify possible issue with our requirements © Ajay Mani Paudel
  • 28. Software Requirements Specification (SRS) According to IEEE, the properties of SRS should be – Simple (not compound), one requirement = one specific piece of functionality – Testable – Organized (related requirements should be grouped) – Numbered (for traceability) © Ajay Mani Paudel

Editor's Notes

  1. In case of Limited resources, we are unable to satisfy all requirements. So, classifying requirements based on their priority is needed