SlideShare a Scribd company logo
Requirement Engineering
DR. K. ADISESHA
Software Engineering
Unit-2 Introduction
Requirement Engineering
Types of Requirement
Software Requirements
SRS Document
2
Requirement Engineering
Dr. K. Adisesha
Introduction
Dr. K. Adisesha
3
Requirement Engineering:
Requirement engineering is the disciplined application of proven principles, methods,
tools, and notation to describe a proposed system's intended behavior and its associated
constraints.
Introduction
Dr. K. Adisesha
4
Software Requirements:
Requirements are descriptions of the services that a software system must provide and
the constraints under which it must operate.
➢ Requirements can range from high-level abstract statements of services or system
constraints to detailed mathematical functional specifications.
➢ Types of requirement
❖ User requirements: – Statements in natural language
plus diagrams of the services the system provides and its
operational constraints. Written for customers.
❖ System requirements: – A structured document setting
out detailed descriptions of the system’s functions,
services and operational constraints.
Introduction
Dr. K. Adisesha
5
Types of Requirement:
Requirements written as document descriptions of the services that a software system
must provide and the constraints under which it must operate.
➢ User requirements: Statements in natural language plus diagrams of the services that
the systems provides and its operational constraints.
❖ Written for customers
➢ System requirements: A structured document setting out detailed descriptions of the
system services.
❖ Written as a contract between client and contractor.
➢ Software specification: A detailed software description which can serve as a basis for a design
or implementation.
❖ Written for developers
Introduction
Dr. K. Adisesha
6
Requirements Engineering:
Requirements engineering (RE) refers to the process of defining, documenting, and
maintaining requirements in the engineering design process.
➢ Requirements engineering is the process of identifying, eliciting, analyzing, specifying,
validating, and managing the needs and expectations of stakeholders for a software
system.
➢ Requirement Engineering Process:
❖ Feasibility Study
❖ Requirement Elicitation and Analysis
❖ Software Requirement Specification
❖ Software Requirement Validation
❖ Software Requirement Management.
Introduction
Dr. K. Adisesha
7
Feasibility Study:
The objective behind the feasibility study is to create the reasons for developing the
software that is acceptable to users, flexible to change and conformable to established
standards.
➢ Types of Feasibility:
❖ Technical Feasibility - Technical feasibility evaluates the current technologies,
which are needed to accomplish customer requirements within the time and budget.
❖ Operational Feasibility - Operational feasibility assesses the range in which the
required software performs a series of levels to solve business problems and
customer requirements.
❖ Economic Feasibility - Economic feasibility decides whether the necessary
software can generate financial profits for an organization..
Introduction
Dr. K. Adisesha
8
Requirement Elicitation and Analysis:
This is also known as the gathering of requirements. Here, requirements are identified
with the help of customers and existing systems processes, if available.
➢ The requirements are analyzed to identify inconsistencies, defects, omission, etc.
➢ Problems of Elicitation and Analysis
❖ Getting all, and only, the right people involved.
❖ Stakeholders often don't know what they want
❖ Stakeholders express requirements in their terms.
❖ Stakeholders may have conflicting requirements.
❖ Requirement change during the analysis process.
❖ Organizational and political factors may influence system requirements.
Introduction
Dr. K. Adisesha
9
Software Requirement Specification:
Software requirement specification is a kind of document which is created by a
software analyst after the requirements collected from the various sources.
➢ The models used at this stage include ER diagrams, data flow diagrams (DFDs),
function decomposition diagrams (FDDs), data dictionaries, etc.
➢ Data Flow Diagrams: Data Flow Diagrams (DFDs) are used widely for modeling the
requirements. DFD shows the flow of data through a system.
➢ Data Dictionaries: Data Dictionaries are simply repositories to store information
about all data items defined in DFDs..
➢ Entity-Relationship Diagrams: Entity-relationship diagram, often called an "E-R
diagram." It is a detailed logical representation of the data for the organization.
Introduction
Dr. K. Adisesha
10
Software Requirement Specification:
Software requirement specification is a kind of document which is created by a
software analyst after the requirements collected from the various sources.
➢ No team should enter the development
process without software specification.
It’s a roadmap for stakeholders,
developers, designers.
➢ Here's our full guide on how to make an
SRS document.
Introduction
Dr. K. Adisesha
11
Software Requirement Validation:
After requirement specifications developed, the requirements discussed in this
document are validated. The user might demand illegal, impossible solution or experts
may misinterpret the needs.
➢ Requirements Validation Techniques
❖ Requirements reviews/inspections: systematic manual analysis of the requirements.
❖ Prototyping: Using an executable model of the system to check requirements.
❖ Test-case generation: Developing tests for requirements to check testability.
❖ Automated consistency analysis: checking for the consistency of structured
requirements descriptions.
Introduction
Dr. K. Adisesha
12
Requirements Verification and Validation:
Verification: It refers to the set of tasks that ensures that the software correctly
implements a specific function.
Validation: It refers to a different set of tasks that ensures that the software that has
been built is traceable to customer requirements.
➢ If requirements are not validated, errors in the requirement definitions would
propagate to the successive stages resulting in a lot of modification and rework.
➢ The main steps for this process include:
❖ The requirements should be consistent with all the other requirements.
❖ The requirements should be complete in every sense.
❖ The requirements should be practically achievable.
Introduction
Dr. K. Adisesha
13
Software Requirement Management:
Requirement management is the process of managing changing requirements during
the requirements engineering process and system development.
➢ New requirements emerge during the process as business needs a change, and a better
understanding of the system is developed.
➢ The priority of requirements from different viewpoints changes during development process.
➢ The business and technical environment of the system changes during the development.
➢ A complete Software Requirement Specifications should be:
❖ Clear
❖ Correct
❖ Consistent
❖ Coherent
❖ Modifiable
❖ Verifiable
❖ Prioritized
❖ Unambiguous
❖ Traceable
Software Requirements
Dr. K. Adisesha
14
Software Requirements:
Largely software requirements must be categorized into two categories.
➢ Functional Requirements: The functional requirements are describing the behavior of
the system as it correlates to the system's functionality.
❖ Statements of services that the system should provide, how the system should react to
particular inputs and how the system should behave in particular situations.
➢ Non-functional Requirements: This can be the necessities that specify the criteria that
can be used to decide the operation instead of specific behaviors of the system.
❖ Constraints on the services or functions offered by the system such as timing
constraints, constraints on the development process, standards, etc.,
Software Requirements
Dr. K. Adisesha
15
Functional Requirements:
Describe functionality or system services, depend on the type of software, expected
users and the type of system where the software is used.
➢ Functional user requirements may be high-level statements of what the system should
do, functional system requirements should describe the system services in detail.
➢ Examples
❖ The user shall be able to search either all of the initial set of databases or select a
subset from it/
❖ The system shall provide appropriate viewers for the user to read documents in the
document store.
❖ Every order shall be allocated a unique identifier which the user shall be able to
copy to the account’s permanent storage area.
Software Requirements
Dr. K. Adisesha
16
Functional Requirements:
Describe functionality or system services, depend on the type of software, expected
users and the type of system where the software is used.
➢ Functional Requirements includes:
Software Requirements
Dr. K. Adisesha
17
Non-functional requirements:
Non-functional requirements in software engineering refer to the characteristics of a
software system that are not related to specific functionality or behavior..
➢ They describe how the system should perform, rather than what it should do.
➢ Non-Functional Requirements are the constraints or the requirements imposed on the
system. They specify the quality attribute of the software.
➢ Every order shall be allocated a unique identifier which the user shall be able to copy
to the account’s permanent storage area.
➢ Non-Functional Requirements deal with issues like: Scalability, Maintainability,
Performance, Portability, Security, Reliability, etc.,
Software Requirements
Dr. K. Adisesha
18
Non-functional requirements:
Non-functional requirements in software engineering refer to the characteristics of a
software system that are not related to specific functionality or behavior..
➢ Non-functional requirements include:
❖ Performance: This includes requirements related to the speed, scalability, and
responsiveness of the system.
❖ Security: This includes requirements related to the protection of the system and its
data from unauthorized access, as well as the ability to detect and recover from
security breaches.
❖ Usability: This includes requirements related to the ease of use and
understandability of the system for the end-users.
Software Requirements
Dr. K. Adisesha
19
Non-functional requirements:
Non-functional requirements in software engineering refer to the characteristics of a
software system that are not related to specific functionality or behavior.
➢ Non-functional requirements include:
❖ Reliability: This includes requirements related to the system’s ability to function
correctly and consistently under normal and abnormal conditions.
❖ Maintainability: This includes requirements related to the ease of maintaining the
system, including testing, debugging, and modifying the system.
❖ Portability: This includes requirements related to the ability of the system to be
easily transferred to different hardware or software environments.
❖ Compliance: This includes requirements related to adherence to laws, regulations,
industry standards, or company policies.
Software Requirements
Dr. K. Adisesha
20
Non-functional requirements:
Non-functional requirements in software engineering refer to the characteristics of a
software system that are not related to specific functionality or behavior.
➢ Non-functional requirements include:
Software Requirements
Dr. K. Adisesha
21
Non-functional requirements:
Non-functional requirements in software engineering refer to the characteristics of a
software system that are not related to specific functionality or behavior.
➢ Non-functional requirements include:
❖ Product requirements: – Requirements which specify that the delivered product must behave
in a particular way,
o Example: execution speed, reliability etc.
❖ Organisational requirements: – Requirements which are a consequence of organisational
policies and procedures,
o Example: process standards used, implementation requirements etc.
❖ External requirements: – Requirements which arise from factors which are external to the
system and its development process,
o Example: interoperability requirements, legislative requirements etc,.
Software Requirements
Dr. K. Adisesha
22
Software Requirements Document:
The software requirements document (called as software requirements specification or
SRS) is an official statement of what the system developers should implement..
➢ It may include both the user requirements for a system and a detailed specification of
the system requirements.
➢ Requirements documents are essential when systems are outsourced for development,
when different teams develop different parts of the system, and when a detailed
analysis of the requirements is mandatory.
➢ The requirements document has a diverse set of users, ranging from the senior
management of the organization that is paying for the system to the engineers
responsible for developing the software.
Software Requirements
Dr. K. Adisesha
23
Software Requirements Document:
The software requirements document (called as software requirements specification or
SRS) is an official statement of what the system developers should implement.
➢ Figure shows possible users of the document and how they use it.
Software Requirements
Dr. K. Adisesha
24
Characteristics of good SRS:
The SRS is a specification for a specific software product, program, or set of
applications that perform particular functions in a specific environment.
➢ Characteristics of good SRS:
Software Requirements
Dr. K. Adisesha
25
Characteristics of good SRS:
The SRS is a specification for a specific software product, program, or set of
applications that perform particular functions in a specific environment.
➢ Following are the characteristics of a good SRS document:
❖ Correctness: User review is used to ensure the correctness of requirements stated in the SRS.
❖ Completeness: Completeness of SRS indicates every sense of completion covering all the
functional and non-functional requirements properly.
❖ Consistency: Requirements in SRS are said to be consistent if there are no conflicts between
any set of requirements.
❖ Unambiguousness: A SRS is said to be unambiguous if all the requirements stated have only 1
interpretation.
❖ Modifiability: SRS should be made as modifiable as possible and should be capable of easily
accepting changes to the system to some extent.
Software Requirements
Dr. K. Adisesha
26
Characteristics of good SRS:
The SRS is a specification for a specific software product, program, or set of
applications that perform particular functions in a specific environment.
➢ Verifiability: A SRS is verifiable if there exists a specific technique to quantifiably measure the
extent to which every requirement is met by the system.
➢ Traceability: One should be able to trace a requirement to design component and then to code
segment in the program.
➢ Design Independence: There should be an option to choose from multiple design alternatives
for the final system.
➢ Testability: A SRS should be written in such a way that it is easy to generate test cases and test
plans from the document.
➢ Understandable by the customer: An end user maybe an expert in his/her specific domain but
might not be an expert in computer science.
Software Requirements
Dr. K. Adisesha
27
Properties of a good SRS document:
The SRS is a specification for a specific software product, the essential properties of a
good SRS document are the following.
➢ Concise: The SRS report should be concise and at the same time, unambiguous, consistent, and
complete.
➢ Structured: It should be well-structured. A well-structured document is simple to understand
and modify.
➢ Black-box view: SRS document should define the external behavior of the system and not
discuss the implementation issues.
➢ Conceptual integrity: It should show conceptual integrity so that the reader can merely
understand it. Response to undesired events.
➢ Verifiable: All requirements of the system, as documented in the SRS document, should be
correct.
Software Requirements
Dr. K. Adisesha
28
Software Requirement Specification (SRS):
In order to form a good SRS, here you will see some points that can be used and should
be considered to form a structure of good Software Requirements Specification (SRS).
➢ These are below mentioned in the table of contents and are well explained below..
❖ Introduction
❖ General description
❖ Functional Requirements
❖ Interface Requirements
❖ Performance Requirements
❖ Design Constraints
❖ Non-Functional Attributes
❖ Preliminary Schedule and Budget
❖ Appendices
Software Requirements
Dr. K. Adisesha
29
Software Requirement Specification (SRS):
In order to form a good SRS, here you will see some points that can be used and should
be considered to form a structure of good Software Requirements Specification (SRS).
➢ Introduction
Software Requirements
Dr. K. Adisesha
30
Software Requirement Specification (SRS):
In order to form a good SRS, here you will see some points that can be used and should
be considered to form a structure of good Software Requirements Specification (SRS).
➢ Introduction
❖ Purpose of this Document – At first, main aim of why this document is necessary
and what’s purpose of document is explained and described.
❖ Scope of this document – In this, overall working and main objective of document
and what value it will provide to customer is described and explained. It also
includes a description of development cost and time required.
❖ Overview – In this, description of product is explained. It’s simply summary or
overall review of product.
Software Requirements
Dr. K. Adisesha
31
Software Requirement Specification (SRS):
In order to form a good SRS, here you will see some points that can be used:
➢ General description: In this, general functions of product which includes objective of user, a
user characteristic, features, benefits, about why its importance is mentioned.
➢ Functional Requirements: In this, possible outcome of software system which includes effects
due to operation of program is fully explained. All functional requirements which may include
calculations, data processing, etc. are placed in a ranked order.
➢ Interface Requirements: In this, software interfaces which mean how software program
communicates with each other or users either in form of any language, code, or message are
fully described and explained.
➢ Performance Requirements: In this, how a software system performs desired functions under
specific condition is explained. It also explains required time, required memory, maximum error
rate, etc.
Software Requirements
Dr. K. Adisesha
32
Software Requirement Specification (SRS):
In order to form a good SRS, here you will see some points that can be used:
➢ Design Constraints: In this, constraints which simply means limitation or restriction are
specified and explained for design team. Examples may include use of a particular algorithm,
hardware and software limitations, etc.
➢ Non-Functional Attributes: In this, non-functional attributes are explained that are required by
software system for better performance. An example may include Security, Portability,
Reliability, Reusability, Application compatibility, Data integrity, Scalability capacity, etc.
➢ Preliminary Schedule and Budget: In this, initial version and budget of project plan are
explained which include overall time duration required and overall cost required for
development of project.
➢ Appendices: In this, additional information like references from where information is gathered,
definitions of some specific terms, acronyms, abbreviations, etc. are given and explained.
Software Requirements
Dr. K. Adisesha
33
Software Requirement Specification (SRS):
In order to form a good SRS, here you will see some points that can be used:
➢ Uses of SRS document
❖ Development team require it for developing product according to the need.
❖ Test plans are generated by testing group based on the describe external behaviour.
❖ Maintenance and support staff need it to understand what the software product is supposed
to do.
❖ Project manager base their plans and estimates of schedule, effort and resources on it.
❖ customer rely on it to know that product they can expect.
❖ As a contract between developer and customer.
❖ in documentation purpose.
Discussion
Dr. K. Adisesha
34
Queries ?
Prof. K. Adisesha
9449081542
Reference: Sommerville, Software Engineering, 10 ed.,

More Related Content

What's hot (20)

PPT
Lecture 12 requirements modeling - (system analysis)
IIUI
 
PPT
Requirement specification (SRS)
kunj desai
 
PPT
Groupware
VJ Aiswaryadevi
 
PPTX
User Interface Analysis and Design
Saqib Raza
 
PPTX
Cocomo model
Baskarkncet
 
DOCX
Software Engineering Solved Past Paper 2020
MuhammadTalha436
 
PPT
Path testing, data flow testing
priyasoundar
 
PPTX
Path Testing
Sun Technlogies
 
PPT
UNIT-4design-concepts-se-pressman-ppt.PPT
malathijanapati1
 
PPTX
Adbms 16 object definition language
Vaibhav Khanna
 
PPTX
Regression and performance testing
Himanshu
 
PDF
Software engineering lecture notes
Siva Ayyakutti
 
PPTX
Requirements elicitation
Syed Zaid Irshad
 
PPTX
Generic process model
Madhar Khan Pathan
 
PPTX
Cache coherence problem and its solutions
Majid Saleem
 
PDF
What is Performance Testing?
QA InfoTech
 
DOCX
Software engineering model
Manish Chaurasia
 
PPTX
Software Engineering by Pankaj Jalote
Golda Margret Sheeba J
 
PPT
Software Engineering (Process Models)
ShudipPal
 
PPT
Object Oriented Design
Sudarsun Santhiappan
 
Lecture 12 requirements modeling - (system analysis)
IIUI
 
Requirement specification (SRS)
kunj desai
 
Groupware
VJ Aiswaryadevi
 
User Interface Analysis and Design
Saqib Raza
 
Cocomo model
Baskarkncet
 
Software Engineering Solved Past Paper 2020
MuhammadTalha436
 
Path testing, data flow testing
priyasoundar
 
Path Testing
Sun Technlogies
 
UNIT-4design-concepts-se-pressman-ppt.PPT
malathijanapati1
 
Adbms 16 object definition language
Vaibhav Khanna
 
Regression and performance testing
Himanshu
 
Software engineering lecture notes
Siva Ayyakutti
 
Requirements elicitation
Syed Zaid Irshad
 
Generic process model
Madhar Khan Pathan
 
Cache coherence problem and its solutions
Majid Saleem
 
What is Performance Testing?
QA InfoTech
 
Software engineering model
Manish Chaurasia
 
Software Engineering by Pankaj Jalote
Golda Margret Sheeba J
 
Software Engineering (Process Models)
ShudipPal
 
Object Oriented Design
Sudarsun Santhiappan
 

Similar to Software Engineering-Unit 2 "Requirement Engineering" by Adi.pdf (20)

PDF
SE-Unit II.pdf
AMITKUMARSINGH756828
 
PPSX
Introduction to Requirement engineering
Nameirakpam Sundari
 
PPTX
Requirement Engineering, Architecture and Design
mentesnotsibatuuu
 
PPT
Software Requirements engineering
Md. Shafiuzzaman Hira
 
PPTX
1_Chapter One Requirements Engineering.pptx
velubosa
 
PPTX
Software requirement & specification .pptx
SarowarSuman
 
PDF
9-Requirements Engineering process, Requirement Elicitation-21-01-2025.pdf
UjjwalAgrawal34
 
PPTX
Requirement Engineering. Types of requirement
DeepakUlape2
 
PPT
Requirment Engineering WITH SPECIAL EFFECTS
AssadLeo1
 
ODP
Requirement analysis
Sangeet Shah
 
PDF
2nd MODULE Software Requirements _ SW ENGG 22CSE141.pdf
Jayanthi Kannan MK
 
PPT
INTRODUCTION to software engineering requirements specifications
kylan2
 
PDF
Se lec-uosl-8
Shahzad Zaman
 
PPT
best software requirements for the students
AssadLeo1
 
PDF
2_Requirments( Engineering & Software & User and System) & System Stakeholde...
CICADA11
 
PDF
Block 1 ms-034 unit-3
Nirmal Jasmatiya
 
PPTX
lec 3rd.pptx
rayanbabur
 
PPTX
Software Requirements Engineering .pptx
zafarzahid979
 
PPTX
Software Engineering- Requirement Elicitation and Specification
Nishu Rastogi
 
PPT
vu-re-lecture-22 .ppt
HashimAli631806
 
SE-Unit II.pdf
AMITKUMARSINGH756828
 
Introduction to Requirement engineering
Nameirakpam Sundari
 
Requirement Engineering, Architecture and Design
mentesnotsibatuuu
 
Software Requirements engineering
Md. Shafiuzzaman Hira
 
1_Chapter One Requirements Engineering.pptx
velubosa
 
Software requirement & specification .pptx
SarowarSuman
 
9-Requirements Engineering process, Requirement Elicitation-21-01-2025.pdf
UjjwalAgrawal34
 
Requirement Engineering. Types of requirement
DeepakUlape2
 
Requirment Engineering WITH SPECIAL EFFECTS
AssadLeo1
 
Requirement analysis
Sangeet Shah
 
2nd MODULE Software Requirements _ SW ENGG 22CSE141.pdf
Jayanthi Kannan MK
 
INTRODUCTION to software engineering requirements specifications
kylan2
 
Se lec-uosl-8
Shahzad Zaman
 
best software requirements for the students
AssadLeo1
 
2_Requirments( Engineering & Software & User and System) & System Stakeholde...
CICADA11
 
Block 1 ms-034 unit-3
Nirmal Jasmatiya
 
lec 3rd.pptx
rayanbabur
 
Software Requirements Engineering .pptx
zafarzahid979
 
Software Engineering- Requirement Elicitation and Specification
Nishu Rastogi
 
vu-re-lecture-22 .ppt
HashimAli631806
 
Ad

More from Prof. Dr. K. Adisesha (20)

PDF
MACHINE LEARNING Notes by Dr. K. Adisesha
Prof. Dr. K. Adisesha
 
PDF
Probabilistic and Stochastic Models Unit-3-Adi.pdf
Prof. Dr. K. Adisesha
 
PDF
Genetic Algorithm in Machine Learning PPT by-Adi
Prof. Dr. K. Adisesha
 
PDF
Unsupervised Machine Learning PPT Adi.pdf
Prof. Dr. K. Adisesha
 
PDF
Supervised Machine Learning PPT by K. Adisesha
Prof. Dr. K. Adisesha
 
PDF
Introduction to Machine Learning PPT by K. Adisesha
Prof. Dr. K. Adisesha
 
PPSX
Design and Analysis of Algorithms ppt by K. Adi
Prof. Dr. K. Adisesha
 
PPSX
Data Structure using C by Dr. K Adisesha .ppsx
Prof. Dr. K. Adisesha
 
PDF
Operating System-4 "File Management" by Adi.pdf
Prof. Dr. K. Adisesha
 
PDF
Operating System-3 "Memory Management" by Adi.pdf
Prof. Dr. K. Adisesha
 
PDF
Operating System Concepts Part-1 by_Adi.pdf
Prof. Dr. K. Adisesha
 
PDF
Operating System-2_Process Managementby_Adi.pdf
Prof. Dr. K. Adisesha
 
PDF
Software Engineering-Unit 1 by Adisesha.pdf
Prof. Dr. K. Adisesha
 
PDF
Software Engineering-Unit 3 "System Modelling" by Adi.pdf
Prof. Dr. K. Adisesha
 
PDF
Software Engineering-Unit 4 "Architectural Design" by Adi.pdf
Prof. Dr. K. Adisesha
 
PDF
Software Engineering-Unit 5 "Software Testing"by Adi.pdf
Prof. Dr. K. Adisesha
 
PDF
Computer Networks Notes by -Dr. K. Adisesha
Prof. Dr. K. Adisesha
 
PDF
CCN Unit-1&2 Data Communication &Networking by K. Adiaesha
Prof. Dr. K. Adisesha
 
PDF
CCN Unit-3 Data Link Layer by Dr. K. Adisesha
Prof. Dr. K. Adisesha
 
PDF
CCN Unit-4 Network Layer by Dr. K. Adisesha
Prof. Dr. K. Adisesha
 
MACHINE LEARNING Notes by Dr. K. Adisesha
Prof. Dr. K. Adisesha
 
Probabilistic and Stochastic Models Unit-3-Adi.pdf
Prof. Dr. K. Adisesha
 
Genetic Algorithm in Machine Learning PPT by-Adi
Prof. Dr. K. Adisesha
 
Unsupervised Machine Learning PPT Adi.pdf
Prof. Dr. K. Adisesha
 
Supervised Machine Learning PPT by K. Adisesha
Prof. Dr. K. Adisesha
 
Introduction to Machine Learning PPT by K. Adisesha
Prof. Dr. K. Adisesha
 
Design and Analysis of Algorithms ppt by K. Adi
Prof. Dr. K. Adisesha
 
Data Structure using C by Dr. K Adisesha .ppsx
Prof. Dr. K. Adisesha
 
Operating System-4 "File Management" by Adi.pdf
Prof. Dr. K. Adisesha
 
Operating System-3 "Memory Management" by Adi.pdf
Prof. Dr. K. Adisesha
 
Operating System Concepts Part-1 by_Adi.pdf
Prof. Dr. K. Adisesha
 
Operating System-2_Process Managementby_Adi.pdf
Prof. Dr. K. Adisesha
 
Software Engineering-Unit 1 by Adisesha.pdf
Prof. Dr. K. Adisesha
 
Software Engineering-Unit 3 "System Modelling" by Adi.pdf
Prof. Dr. K. Adisesha
 
Software Engineering-Unit 4 "Architectural Design" by Adi.pdf
Prof. Dr. K. Adisesha
 
Software Engineering-Unit 5 "Software Testing"by Adi.pdf
Prof. Dr. K. Adisesha
 
Computer Networks Notes by -Dr. K. Adisesha
Prof. Dr. K. Adisesha
 
CCN Unit-1&2 Data Communication &Networking by K. Adiaesha
Prof. Dr. K. Adisesha
 
CCN Unit-3 Data Link Layer by Dr. K. Adisesha
Prof. Dr. K. Adisesha
 
CCN Unit-4 Network Layer by Dr. K. Adisesha
Prof. Dr. K. Adisesha
 
Ad

Recently uploaded (20)

PPTX
Nitrogen rule, ring rule, mc lafferty.pptx
nbisen2001
 
PDF
WATERSHED MANAGEMENT CASE STUDIES - ULUGURU MOUNTAINS AND ARVARI RIVERpdf
Ar.Asna
 
PPTX
Marketing Management PPT Unit 1 and Unit 2.pptx
Sri Ramakrishna College of Arts and science
 
PDF
Our Guide to the July 2025 USPS® Rate Change
Postal Advocate Inc.
 
PDF
IMPORTANT GUIDELINES FOR M.Sc.ZOOLOGY DISSERTATION
raviralanaresh2
 
PPTX
How to Add a Custom Button in Odoo 18 POS Screen
Celine George
 
PPTX
The Gift of the Magi by O Henry-A Story of True Love, Sacrifice, and Selfless...
Beena E S
 
PPTX
How to Manage Wins & Losses in Odoo 18 CRM
Celine George
 
PPTX
How to Create & Manage Stages in Odoo 18 Helpdesk
Celine George
 
PPTX
Elo the Hero is an story about a young boy who became hero.
TeacherEmily1
 
PPTX
Iván Bornacelly - Presentation of the report - Empowering the workforce in th...
EduSkills OECD
 
PPTX
Aerobic and Anaerobic respiration and CPR.pptx
Olivier Rochester
 
PPTX
MATH 8 QUARTER 1 WEEK 1 LESSON 2 PRESENTATION
JohnGuillerNestalBah1
 
PDF
COM and NET Component Services 1st Edition Juval Löwy
kboqcyuw976
 
PDF
Lesson 1 : Science and the Art of Geography Ecosystem
marvinnbustamante1
 
PPTX
Connecting Linear and Angular Quantities in Human Movement.pptx
AngeliqueTolentinoDe
 
PDF
Quiz Night Live May 2025 - Intra Pragya Online General Quiz
Pragya - UEM Kolkata Quiz Club
 
PDF
TLE 8 QUARTER 1 MODULE WEEK 1 MATATAG CURRICULUM
denniseraya1997
 
PPTX
ENGLISH 8 REVISED K-12 CURRICULUM QUARTER 1 WEEK 1
LeomarrYsraelArzadon
 
PPTX
Lesson 1 Cell (Structures, Functions, and Theory).pptx
marvinnbustamante1
 
Nitrogen rule, ring rule, mc lafferty.pptx
nbisen2001
 
WATERSHED MANAGEMENT CASE STUDIES - ULUGURU MOUNTAINS AND ARVARI RIVERpdf
Ar.Asna
 
Marketing Management PPT Unit 1 and Unit 2.pptx
Sri Ramakrishna College of Arts and science
 
Our Guide to the July 2025 USPS® Rate Change
Postal Advocate Inc.
 
IMPORTANT GUIDELINES FOR M.Sc.ZOOLOGY DISSERTATION
raviralanaresh2
 
How to Add a Custom Button in Odoo 18 POS Screen
Celine George
 
The Gift of the Magi by O Henry-A Story of True Love, Sacrifice, and Selfless...
Beena E S
 
How to Manage Wins & Losses in Odoo 18 CRM
Celine George
 
How to Create & Manage Stages in Odoo 18 Helpdesk
Celine George
 
Elo the Hero is an story about a young boy who became hero.
TeacherEmily1
 
Iván Bornacelly - Presentation of the report - Empowering the workforce in th...
EduSkills OECD
 
Aerobic and Anaerobic respiration and CPR.pptx
Olivier Rochester
 
MATH 8 QUARTER 1 WEEK 1 LESSON 2 PRESENTATION
JohnGuillerNestalBah1
 
COM and NET Component Services 1st Edition Juval Löwy
kboqcyuw976
 
Lesson 1 : Science and the Art of Geography Ecosystem
marvinnbustamante1
 
Connecting Linear and Angular Quantities in Human Movement.pptx
AngeliqueTolentinoDe
 
Quiz Night Live May 2025 - Intra Pragya Online General Quiz
Pragya - UEM Kolkata Quiz Club
 
TLE 8 QUARTER 1 MODULE WEEK 1 MATATAG CURRICULUM
denniseraya1997
 
ENGLISH 8 REVISED K-12 CURRICULUM QUARTER 1 WEEK 1
LeomarrYsraelArzadon
 
Lesson 1 Cell (Structures, Functions, and Theory).pptx
marvinnbustamante1
 

Software Engineering-Unit 2 "Requirement Engineering" by Adi.pdf

  • 2. Software Engineering Unit-2 Introduction Requirement Engineering Types of Requirement Software Requirements SRS Document 2 Requirement Engineering Dr. K. Adisesha
  • 3. Introduction Dr. K. Adisesha 3 Requirement Engineering: Requirement engineering is the disciplined application of proven principles, methods, tools, and notation to describe a proposed system's intended behavior and its associated constraints.
  • 4. Introduction Dr. K. Adisesha 4 Software Requirements: Requirements are descriptions of the services that a software system must provide and the constraints under which it must operate. ➢ Requirements can range from high-level abstract statements of services or system constraints to detailed mathematical functional specifications. ➢ Types of requirement ❖ User requirements: – Statements in natural language plus diagrams of the services the system provides and its operational constraints. Written for customers. ❖ System requirements: – A structured document setting out detailed descriptions of the system’s functions, services and operational constraints.
  • 5. Introduction Dr. K. Adisesha 5 Types of Requirement: Requirements written as document descriptions of the services that a software system must provide and the constraints under which it must operate. ➢ User requirements: Statements in natural language plus diagrams of the services that the systems provides and its operational constraints. ❖ Written for customers ➢ System requirements: A structured document setting out detailed descriptions of the system services. ❖ Written as a contract between client and contractor. ➢ Software specification: A detailed software description which can serve as a basis for a design or implementation. ❖ Written for developers
  • 6. Introduction Dr. K. Adisesha 6 Requirements Engineering: Requirements engineering (RE) refers to the process of defining, documenting, and maintaining requirements in the engineering design process. ➢ Requirements engineering is the process of identifying, eliciting, analyzing, specifying, validating, and managing the needs and expectations of stakeholders for a software system. ➢ Requirement Engineering Process: ❖ Feasibility Study ❖ Requirement Elicitation and Analysis ❖ Software Requirement Specification ❖ Software Requirement Validation ❖ Software Requirement Management.
  • 7. Introduction Dr. K. Adisesha 7 Feasibility Study: The objective behind the feasibility study is to create the reasons for developing the software that is acceptable to users, flexible to change and conformable to established standards. ➢ Types of Feasibility: ❖ Technical Feasibility - Technical feasibility evaluates the current technologies, which are needed to accomplish customer requirements within the time and budget. ❖ Operational Feasibility - Operational feasibility assesses the range in which the required software performs a series of levels to solve business problems and customer requirements. ❖ Economic Feasibility - Economic feasibility decides whether the necessary software can generate financial profits for an organization..
  • 8. Introduction Dr. K. Adisesha 8 Requirement Elicitation and Analysis: This is also known as the gathering of requirements. Here, requirements are identified with the help of customers and existing systems processes, if available. ➢ The requirements are analyzed to identify inconsistencies, defects, omission, etc. ➢ Problems of Elicitation and Analysis ❖ Getting all, and only, the right people involved. ❖ Stakeholders often don't know what they want ❖ Stakeholders express requirements in their terms. ❖ Stakeholders may have conflicting requirements. ❖ Requirement change during the analysis process. ❖ Organizational and political factors may influence system requirements.
  • 9. Introduction Dr. K. Adisesha 9 Software Requirement Specification: Software requirement specification is a kind of document which is created by a software analyst after the requirements collected from the various sources. ➢ The models used at this stage include ER diagrams, data flow diagrams (DFDs), function decomposition diagrams (FDDs), data dictionaries, etc. ➢ Data Flow Diagrams: Data Flow Diagrams (DFDs) are used widely for modeling the requirements. DFD shows the flow of data through a system. ➢ Data Dictionaries: Data Dictionaries are simply repositories to store information about all data items defined in DFDs.. ➢ Entity-Relationship Diagrams: Entity-relationship diagram, often called an "E-R diagram." It is a detailed logical representation of the data for the organization.
  • 10. Introduction Dr. K. Adisesha 10 Software Requirement Specification: Software requirement specification is a kind of document which is created by a software analyst after the requirements collected from the various sources. ➢ No team should enter the development process without software specification. It’s a roadmap for stakeholders, developers, designers. ➢ Here's our full guide on how to make an SRS document.
  • 11. Introduction Dr. K. Adisesha 11 Software Requirement Validation: After requirement specifications developed, the requirements discussed in this document are validated. The user might demand illegal, impossible solution or experts may misinterpret the needs. ➢ Requirements Validation Techniques ❖ Requirements reviews/inspections: systematic manual analysis of the requirements. ❖ Prototyping: Using an executable model of the system to check requirements. ❖ Test-case generation: Developing tests for requirements to check testability. ❖ Automated consistency analysis: checking for the consistency of structured requirements descriptions.
  • 12. Introduction Dr. K. Adisesha 12 Requirements Verification and Validation: Verification: It refers to the set of tasks that ensures that the software correctly implements a specific function. Validation: It refers to a different set of tasks that ensures that the software that has been built is traceable to customer requirements. ➢ If requirements are not validated, errors in the requirement definitions would propagate to the successive stages resulting in a lot of modification and rework. ➢ The main steps for this process include: ❖ The requirements should be consistent with all the other requirements. ❖ The requirements should be complete in every sense. ❖ The requirements should be practically achievable.
  • 13. Introduction Dr. K. Adisesha 13 Software Requirement Management: Requirement management is the process of managing changing requirements during the requirements engineering process and system development. ➢ New requirements emerge during the process as business needs a change, and a better understanding of the system is developed. ➢ The priority of requirements from different viewpoints changes during development process. ➢ The business and technical environment of the system changes during the development. ➢ A complete Software Requirement Specifications should be: ❖ Clear ❖ Correct ❖ Consistent ❖ Coherent ❖ Modifiable ❖ Verifiable ❖ Prioritized ❖ Unambiguous ❖ Traceable
  • 14. Software Requirements Dr. K. Adisesha 14 Software Requirements: Largely software requirements must be categorized into two categories. ➢ Functional Requirements: The functional requirements are describing the behavior of the system as it correlates to the system's functionality. ❖ Statements of services that the system should provide, how the system should react to particular inputs and how the system should behave in particular situations. ➢ Non-functional Requirements: This can be the necessities that specify the criteria that can be used to decide the operation instead of specific behaviors of the system. ❖ Constraints on the services or functions offered by the system such as timing constraints, constraints on the development process, standards, etc.,
  • 15. Software Requirements Dr. K. Adisesha 15 Functional Requirements: Describe functionality or system services, depend on the type of software, expected users and the type of system where the software is used. ➢ Functional user requirements may be high-level statements of what the system should do, functional system requirements should describe the system services in detail. ➢ Examples ❖ The user shall be able to search either all of the initial set of databases or select a subset from it/ ❖ The system shall provide appropriate viewers for the user to read documents in the document store. ❖ Every order shall be allocated a unique identifier which the user shall be able to copy to the account’s permanent storage area.
  • 16. Software Requirements Dr. K. Adisesha 16 Functional Requirements: Describe functionality or system services, depend on the type of software, expected users and the type of system where the software is used. ➢ Functional Requirements includes:
  • 17. Software Requirements Dr. K. Adisesha 17 Non-functional requirements: Non-functional requirements in software engineering refer to the characteristics of a software system that are not related to specific functionality or behavior.. ➢ They describe how the system should perform, rather than what it should do. ➢ Non-Functional Requirements are the constraints or the requirements imposed on the system. They specify the quality attribute of the software. ➢ Every order shall be allocated a unique identifier which the user shall be able to copy to the account’s permanent storage area. ➢ Non-Functional Requirements deal with issues like: Scalability, Maintainability, Performance, Portability, Security, Reliability, etc.,
  • 18. Software Requirements Dr. K. Adisesha 18 Non-functional requirements: Non-functional requirements in software engineering refer to the characteristics of a software system that are not related to specific functionality or behavior.. ➢ Non-functional requirements include: ❖ Performance: This includes requirements related to the speed, scalability, and responsiveness of the system. ❖ Security: This includes requirements related to the protection of the system and its data from unauthorized access, as well as the ability to detect and recover from security breaches. ❖ Usability: This includes requirements related to the ease of use and understandability of the system for the end-users.
  • 19. Software Requirements Dr. K. Adisesha 19 Non-functional requirements: Non-functional requirements in software engineering refer to the characteristics of a software system that are not related to specific functionality or behavior. ➢ Non-functional requirements include: ❖ Reliability: This includes requirements related to the system’s ability to function correctly and consistently under normal and abnormal conditions. ❖ Maintainability: This includes requirements related to the ease of maintaining the system, including testing, debugging, and modifying the system. ❖ Portability: This includes requirements related to the ability of the system to be easily transferred to different hardware or software environments. ❖ Compliance: This includes requirements related to adherence to laws, regulations, industry standards, or company policies.
  • 20. Software Requirements Dr. K. Adisesha 20 Non-functional requirements: Non-functional requirements in software engineering refer to the characteristics of a software system that are not related to specific functionality or behavior. ➢ Non-functional requirements include:
  • 21. Software Requirements Dr. K. Adisesha 21 Non-functional requirements: Non-functional requirements in software engineering refer to the characteristics of a software system that are not related to specific functionality or behavior. ➢ Non-functional requirements include: ❖ Product requirements: – Requirements which specify that the delivered product must behave in a particular way, o Example: execution speed, reliability etc. ❖ Organisational requirements: – Requirements which are a consequence of organisational policies and procedures, o Example: process standards used, implementation requirements etc. ❖ External requirements: – Requirements which arise from factors which are external to the system and its development process, o Example: interoperability requirements, legislative requirements etc,.
  • 22. Software Requirements Dr. K. Adisesha 22 Software Requirements Document: The software requirements document (called as software requirements specification or SRS) is an official statement of what the system developers should implement.. ➢ It may include both the user requirements for a system and a detailed specification of the system requirements. ➢ Requirements documents are essential when systems are outsourced for development, when different teams develop different parts of the system, and when a detailed analysis of the requirements is mandatory. ➢ The requirements document has a diverse set of users, ranging from the senior management of the organization that is paying for the system to the engineers responsible for developing the software.
  • 23. Software Requirements Dr. K. Adisesha 23 Software Requirements Document: The software requirements document (called as software requirements specification or SRS) is an official statement of what the system developers should implement. ➢ Figure shows possible users of the document and how they use it.
  • 24. Software Requirements Dr. K. Adisesha 24 Characteristics of good SRS: The SRS is a specification for a specific software product, program, or set of applications that perform particular functions in a specific environment. ➢ Characteristics of good SRS:
  • 25. Software Requirements Dr. K. Adisesha 25 Characteristics of good SRS: The SRS is a specification for a specific software product, program, or set of applications that perform particular functions in a specific environment. ➢ Following are the characteristics of a good SRS document: ❖ Correctness: User review is used to ensure the correctness of requirements stated in the SRS. ❖ Completeness: Completeness of SRS indicates every sense of completion covering all the functional and non-functional requirements properly. ❖ Consistency: Requirements in SRS are said to be consistent if there are no conflicts between any set of requirements. ❖ Unambiguousness: A SRS is said to be unambiguous if all the requirements stated have only 1 interpretation. ❖ Modifiability: SRS should be made as modifiable as possible and should be capable of easily accepting changes to the system to some extent.
  • 26. Software Requirements Dr. K. Adisesha 26 Characteristics of good SRS: The SRS is a specification for a specific software product, program, or set of applications that perform particular functions in a specific environment. ➢ Verifiability: A SRS is verifiable if there exists a specific technique to quantifiably measure the extent to which every requirement is met by the system. ➢ Traceability: One should be able to trace a requirement to design component and then to code segment in the program. ➢ Design Independence: There should be an option to choose from multiple design alternatives for the final system. ➢ Testability: A SRS should be written in such a way that it is easy to generate test cases and test plans from the document. ➢ Understandable by the customer: An end user maybe an expert in his/her specific domain but might not be an expert in computer science.
  • 27. Software Requirements Dr. K. Adisesha 27 Properties of a good SRS document: The SRS is a specification for a specific software product, the essential properties of a good SRS document are the following. ➢ Concise: The SRS report should be concise and at the same time, unambiguous, consistent, and complete. ➢ Structured: It should be well-structured. A well-structured document is simple to understand and modify. ➢ Black-box view: SRS document should define the external behavior of the system and not discuss the implementation issues. ➢ Conceptual integrity: It should show conceptual integrity so that the reader can merely understand it. Response to undesired events. ➢ Verifiable: All requirements of the system, as documented in the SRS document, should be correct.
  • 28. Software Requirements Dr. K. Adisesha 28 Software Requirement Specification (SRS): In order to form a good SRS, here you will see some points that can be used and should be considered to form a structure of good Software Requirements Specification (SRS). ➢ These are below mentioned in the table of contents and are well explained below.. ❖ Introduction ❖ General description ❖ Functional Requirements ❖ Interface Requirements ❖ Performance Requirements ❖ Design Constraints ❖ Non-Functional Attributes ❖ Preliminary Schedule and Budget ❖ Appendices
  • 29. Software Requirements Dr. K. Adisesha 29 Software Requirement Specification (SRS): In order to form a good SRS, here you will see some points that can be used and should be considered to form a structure of good Software Requirements Specification (SRS). ➢ Introduction
  • 30. Software Requirements Dr. K. Adisesha 30 Software Requirement Specification (SRS): In order to form a good SRS, here you will see some points that can be used and should be considered to form a structure of good Software Requirements Specification (SRS). ➢ Introduction ❖ Purpose of this Document – At first, main aim of why this document is necessary and what’s purpose of document is explained and described. ❖ Scope of this document – In this, overall working and main objective of document and what value it will provide to customer is described and explained. It also includes a description of development cost and time required. ❖ Overview – In this, description of product is explained. It’s simply summary or overall review of product.
  • 31. Software Requirements Dr. K. Adisesha 31 Software Requirement Specification (SRS): In order to form a good SRS, here you will see some points that can be used: ➢ General description: In this, general functions of product which includes objective of user, a user characteristic, features, benefits, about why its importance is mentioned. ➢ Functional Requirements: In this, possible outcome of software system which includes effects due to operation of program is fully explained. All functional requirements which may include calculations, data processing, etc. are placed in a ranked order. ➢ Interface Requirements: In this, software interfaces which mean how software program communicates with each other or users either in form of any language, code, or message are fully described and explained. ➢ Performance Requirements: In this, how a software system performs desired functions under specific condition is explained. It also explains required time, required memory, maximum error rate, etc.
  • 32. Software Requirements Dr. K. Adisesha 32 Software Requirement Specification (SRS): In order to form a good SRS, here you will see some points that can be used: ➢ Design Constraints: In this, constraints which simply means limitation or restriction are specified and explained for design team. Examples may include use of a particular algorithm, hardware and software limitations, etc. ➢ Non-Functional Attributes: In this, non-functional attributes are explained that are required by software system for better performance. An example may include Security, Portability, Reliability, Reusability, Application compatibility, Data integrity, Scalability capacity, etc. ➢ Preliminary Schedule and Budget: In this, initial version and budget of project plan are explained which include overall time duration required and overall cost required for development of project. ➢ Appendices: In this, additional information like references from where information is gathered, definitions of some specific terms, acronyms, abbreviations, etc. are given and explained.
  • 33. Software Requirements Dr. K. Adisesha 33 Software Requirement Specification (SRS): In order to form a good SRS, here you will see some points that can be used: ➢ Uses of SRS document ❖ Development team require it for developing product according to the need. ❖ Test plans are generated by testing group based on the describe external behaviour. ❖ Maintenance and support staff need it to understand what the software product is supposed to do. ❖ Project manager base their plans and estimates of schedule, effort and resources on it. ❖ customer rely on it to know that product they can expect. ❖ As a contract between developer and customer. ❖ in documentation purpose.
  • 34. Discussion Dr. K. Adisesha 34 Queries ? Prof. K. Adisesha 9449081542 Reference: Sommerville, Software Engineering, 10 ed.,