SlideShare a Scribd company logo
UNIT-II
SOFTWARE ENGINNERING
V-SEMESTER UNIT-II
PRESENTED BY CH.PHANINDRA
UNIT II
REQUIREMENTS ANALYSIS
Requirement Engineering Processes
Feasibility Study
Problem of Requirements
Software Requirement Analysis
Analysis Concepts and Principles
Analysis Model
Analysis Process
SOFTWARE ENGINNERING
V-SEMESTER UNIT-II
PRESENTED BY CH.PHANINDRA
REQUIREMENTS ANALYSIS
SOFTWARE ENGINNERING
V-SEMESTER UNIT-II
PRESENTED BY CH.PHANINDRA
REQUIREMENTS ANALYSIS
REQUIREMENTS ANALYSIS
SOFTWARE ENGINNERING
V-SEMESTER UNIT-II
PRESENTED BY CH.PHANINDRA
->The software requirements are
description of features and functionalities
of the target system.
->Requirements convey(tells) the
expectations of users from the software
product.
Like known or unknown, expected or
unexpected from client’s point of view.
SOFTWARE ENGINNERING
V-SEMESTER UNIT-II
PRESENTED BY CH.PHANINDRA
Requirement Engineering
-> The process to gather the software
requirements from client, analyze and
document them is known as requirement
engineering.
-> The goal of requirement engineering is to
develop and maintain descriptive ‘System
Requirements Specification’ document.
SOFTWARE ENGINNERING
V-SEMESTER UNIT-II
PRESENTED BY CH.PHANINDRA
Requirement Engineering
Software engineering task that bridges the gap
between system level requirements engineering
and software design.
Provides software designer with a
representation of system information, function,
and behavior that can be translated to data,
architectural, and component-level designs.
Expect to do a little bit of design during analysis
and a little bit of analysis during design.SOFTWARE ENGINNERING
V-SEMESTER UNIT-II
PRESENTED BY CH.PHANINDRA
SOFTWARE ENGINNERING
V-SEMESTER UNIT-II
PRESENTED BY CH.PHANINDRA
SOFTWARE ENGINNERING
V-SEMESTER UNIT-II
PRESENTED BY CH.PHANINDRA
Software Requirements Analysis Phases
Begins with System Specification and Software
Project Plan
Five Areas of effort
Problem recognition
Evaluation and synthesis (focus is on what not how)
Modeling
Specification
Review
Goal: recognition of the basic problem elements as
perceived by the customer/users.
SOFTWARE ENGINNERING
V-SEMESTER UNIT-II
PRESENTED BY CH.PHANINDRA
Software Requirements Analysis Phases
Customer meetings are the most commonly used
technique.
Use context free questions to find out:
customer's goals and benefits
identify stakeholders
Who is behind the request for this work?
Who will use the solution?
What will be the economic benefit of a successful
solution?
Is there another source for the solution that you
need?
gain understanding of problem
Requirement Engineering Process
It is a four step process, which includes –
Feasibility Study
Requirement Gathering
Software Requirement Specification
Software Requirement Validation
SOFTWARE ENGINNERING
V-SEMESTER UNIT-II
PRESENTED BY CH.PHANINDRA
Feasibility study
When the client approaches the organization
for getting the desired product developed, it
comes up with rough idea about what all
functions the software must perform and which
all features are expected from the software.
This feasibility study is focused towards goal of
the organization.
SOFTWARE ENGINNERING
V-SEMESTER UNIT-II
PRESENTED BY CH.PHANINDRA
Requirement Gathering
gathering requirements from the user.
Analysts and engineers communicate with the
client and end-users to know their ideas on
what the software should provide and which
features they want the software to include.
SOFTWARE ENGINNERING
V-SEMESTER UNIT-II
PRESENTED BY CH.PHANINDRA
Software Requirement Specification
->SRS is a document created by system analyst
after the requirements are collected from
various stakeholders.
->SRS defines how the intended software will
interact with hardware, external interfaces,
speed of operation, response time of system,
Security, Quality, Limitations etc.
->The requirements received from client are
written in natural language.SOFTWARE ENGINNERING
V-SEMESTER UNIT-II
PRESENTED BY CH.PHANINDRA
SRS should come up with following features:
User Requirements are expressed in natural language.
Technical requirements are expressed in structured
language, which is used inside the organization.
Design description should be written in Pseudo code.
Format of Forms and GUI screen prints.
Conditional and mathematical notations for DFDs etc.
SOFTWARE ENGINNERING
V-SEMESTER UNIT-II
PRESENTED BY CH.PHANINDRA
Software Requirement Validation
After requirement specifications are developed, the
requirements mentioned in this document are
validated.
Requirements can be checked against following
conditions -
If they can be practically implemented
If they are valid and as per functionality and domain of
software
If there are any ambiguitiesSOFTWARE ENGINNERING
V-SEMESTER UNIT-II
PRESENTED BY CH.PHANINDRA
Requirement Elicitation Process
Requirement elicitation process can be depicted
using the folloiwng diagram:
SOFTWARE ENGINNERING
V-SEMESTER UNIT-II
PRESENTED BY CH.PHANINDRA
Requirements gathering - The developers discuss
with the client and end users and know their
expectations from the software.
Organizing Requirements - The developers prioritize
and arrange the requirements in order of importance,
urgency and convenience.
Negotiation & discussion - If requirements are
ambiguous or there are some conflicts in
requirements of various stakeholders.
SOFTWARE ENGINNERING
V-SEMESTER UNIT-II
PRESENTED BY CH.PHANINDRA
The requirements come from various
stakeholders. To remove the ambiguity and
conflicts, they are discussed for clarity and
correctness.
Documentation - All formal & informal,
functional and non-functional requirements are
documented and made available for next phase
processing.
SOFTWARE ENGINNERING
V-SEMESTER UNIT-II
PRESENTED BY CH.PHANINDRA
Requirement Elicitation Techniques:
Requirements Elicitation is the process to find
out the requirements communicating with
client, end users, system users and others in the
software system development.
SOFTWARE ENGINNERING
V-SEMESTER UNIT-II
PRESENTED BY CH.PHANINDRA
Interviews
To collect requirements. Organization may
conduct several types of interviews such as:
Oral interviews
Written interviews
One-to-one interviews which are held between two
persons across the table.
Group interviews which are held between groups of
participants SOFTWARE ENGINNERING
V-SEMESTER UNIT-II
PRESENTED BY CH.PHANINDRA
Software Requirements
Broadly software requirements should be categorized
in two categories:
Functional Requirements Examples -
Search option given to user to search from various
invoices.
User should be able to mail any report to management.
Users can be divided into groups and groups can be
given separate rights SOFTWARE ENGINNERING
V-SEMESTER UNIT-II
PRESENTED BY CH.PHANINDRA
Non-Functional Requirements
Security
Logging
Storage
Configuration
Performance
Cost
Interoperability
Flexibility
Accessibility
SOFTWARE ENGINNERING
V-SEMESTER UNIT-II
PRESENTED BY CH.PHANINDRA
Requirements are categorized logically as
•Must Have: Software cannot be said
operational without them.
•Should have: Enhancing the functionality of
software.
•Could have: Software can still properly
function with these requirements.
•Wish list: These requirements do not map to
any objectives of software.
SOFTWARE ENGINNERING
V-SEMESTER UNIT-II
PRESENTED BY CH.PHANINDRA
User Interface requirements
UI is an important part of any software or hardware
or hybrid system. A software is widely accepted if it is
easy to operate
quick in response
effectively handling operational errors
providing simple yet consistent user interface
SOFTWARE ENGINNERING
V-SEMESTER UNIT-II
PRESENTED BY CH.PHANINDRA
Software System Analyst
It is the responsibility of analyst to make sure that the
developed software meets the requirements of the
client.
Identify sources of requirement.
Validation of requirement.
Develop and implement requirement management
plan.
Documentation of business, technical, process and
product requirements.
Finalizing acceptance criteria with client and other
stakeholder .
SOFTWARE ENGINNERING
V-SEMESTER UNIT-II
PRESENTED BY CH.PHANINDRA
FEASIBILTY STUDY
Feasibility is defined as the practical extent to which a project
can be performed successfully
Types of Feasibility
Technical feasibility
Operational feasibility
Economic feasibility
Schedule Feasibility
SOFTWARE ENGINNERING
V-SEMESTER UNIT-II
PRESENTED BY CH.PHANINDRA
SOFTWARE ENGINNERING
V-SEMESTER UNIT-II
PRESENTED BY CH.PHANINDRA
Technical feasibility also performs the
following tasks.
Analyzes the technical skills and
capabilities of the software development
team members
SOFTWARE ENGINNERING V-SEMESTER UNIT-II PRESENTED BY CH.PHANINDRA
Operational feasibility
performs a series of steps to solve business
problems and user requirements. Operational
feasibility also performs the following tasks.
Determines whether the solution
suggested by the software
development team is acceptable
SOFTWARE ENGINNERING
V-SEMESTER UNIT-II
PRESENTED BY CH.PHANINDRA
Economic feasibility
financial gains for an organization
estimated cost of hardware and software, cost
of performing feasibility .
Schedule Feasibility –
Does the company currently have the time
resources to undertake the project? Can the
project be completed in the available time?
SOFTWARE ENGINNERING
V-SEMESTER UNIT-II
PRESENTED BY CH.PHANINDRA
PROBLEMS OF REQUIRMENTS
Problem 1: Customers don't (really) know what
they want
Problem 2: Requirements change during the
course of the project
Problem 3: Customers have unreasonable
timelines
Problem 4: Communication gaps exist between
customers, engineers and project managers
SOFTWARE ENGINNERING
V-SEMESTER UNIT-II
PRESENTED BY CH.PHANINDRA
SOFTWARE REQUIREMENTS ANALYSIS
Requirements Analysis
Requirements Analysis is the process of
understanding the customer needs and
expectations from a proposed system or
application and is a well-defined stage in
the Software Development Life Cycle
model.
SOFTWARE ENGINNERING
V-SEMESTER UNIT-II
PRESENTED BY CH.PHANINDRA
Software requirements analysis may be divided
into give areas of effort
Problem recognition
Evaluation and synthesis
Modeling
Specification
Review
SOFTWARE ENGINNERING
V-SEMESTER UNIT-II
PRESENTED BY CH.PHANINDRA
Requirements Elicitation for Software
Elicitation is the practice of researching and
discovering the requirements of a system from
users ,customers and stack holders like
Requirements Elicitation for Software
Initiating the Process
Facilitated Application Techniques
SOFTWARE ENGINNERING
V-SEMESTER UNIT-II
PRESENTED BY CH.PHANINDRA
Quality Function Deployment
A technique that translates the needs of the customer into
technical requirements for software
QFD identifies three types of requirements
Normal requirements –
Expected requirements –
Exciting requirements – these features go beyond the
customer’s expectations and prove to be very satisfying when
present
Interviews
Use-Cases
Prototype A valuable tool for clarifying unclear requirements
SOFTWARE ENGINNERING
V-SEMESTER UNIT-II
PRESENTED BY CH.PHANINDRA
ANALYSIS PRINCIPLES
All analysis methods are related by a set of operational principles
The information domain of a problem must be represented and understood
The functions that the software is to perform must be defined
The behaviour of the software must be represented
The models that depict information, function, and behaviour must be divide
in a manner that uncovers detail in a layered fashion
The analysis process should move from essential information toward
implementation detail
SOFTWARE ENGINNERING
V-SEMESTER UNIT-II
PRESENTED BY CH.PHANINDRA
The software requirements specification
Format of software requirements specification:
Introduction
Information description
Functional description
Behavioural description
Validation criteria
Bibliography and appendixSOFTWARE ENGINNERING
V-SEMESTER UNIT-II
PRESENTED BY CH.PHANINDRA
ANALYSIS MODEL
Analysis Model is a technical representation of the
system. It acts as a link between system description
and design model. In Analysis Modelling,
information, behavior and functions of the system is
defined and translated into the architecture,
component and interface level design in the
design modeling.
SOFTWARE ENGINNERING
V-SEMESTER UNIT-II
PRESENTED BY CH.PHANINDRA
ANALYSIS MODEL
SOFTWARE ENGINNERING
V-SEMESTER UNIT-II
PRESENTED BY CH.PHANINDRA
Elements of the analysis model
1.Scenario based element
->This type of element represents the system
user point of view.
->Scenario based elements are use case
diagram, user stories
SOFTWARE ENGINNERING
V-SEMESTER UNIT-II
PRESENTED BY CH.PHANINDRA
Use case diagram is a behavioral UML diagram
type and frequently used to analyze various
systems.
They enable you to visualize the different types
of roles in a system and how those roles
interact with the system.
SOFTWARE ENGINNERING
V-SEMESTER UNIT-II
PRESENTED BY CH.PHANINDRA
Use Case Diagram objects
Use case diagrams consist of 4 objects.
-Actor
-Use case
-System
-Package
SOFTWARE ENGINNERING
V-SEMESTER UNIT-II
PRESENTED BY CH.PHANINDRA
Actor
Actor in a use case diagram is any entity
that performs a role in one given system.
This could be a person, organization or an
external system and usually drawn like
skeleton shown below.
SOFTWARE ENGINNERING
V-SEMESTER UNIT-II
PRESENTED BY CH.PHANINDRA
Use Case
A use case represents a function or an action
within the system. It’s drawn as an oval and
named with the function.
System
The system is used to define the scope of the use
case and drawn as a rectangle.
Package
The package is another optional element that is
extremely useful in complex diagrams.
SOFTWARE ENGINNERING
V-SEMESTER UNIT-II
PRESENTED BY CH.PHANINDRA
Use case
Package name
SOFTWARE ENGINNERING
V-SEMESTER UNIT-II
PRESENTED BY CH.PHANINDRA
2. Class based elements
The object of this type of element manipulated by the
system.
It defines the object, attributes and relationship.
SOFTWARE ENGINNERING
V-SEMESTER UNIT-II
PRESENTED BY CH.PHANINDRA
SOFTWARE ENGINNERING
V-SEMESTER UNIT-II
PRESENTED BY CH.PHANINDRA
.
3. Behavioural elements
Behavioural elements represent of the system and how it is
changed by the external events.
The behavioural elements are sequenced diagram, state
diagram.
SOFTWARE ENGINNERING
V-SEMESTER UNIT-II
PRESENTED BY CH.PHANINDRA
A sequence diagram shows object
interactions arranged in time sequence.
sequence of messages exchanged between
the objects needed to carry out the
functionality of the scenario .
Sequence diagrams are sometimes
called event diagrams or event scenarios.
SOFTWARE ENGINNERING
V-SEMESTER UNIT-II
PRESENTED BY CH.PHANINDRA
A sequence diagram shows, as parallel vertical lines (lifelines), different
processes or objects that live simultaneously, and, as horizontal arrows, the
messages exchanged between them, in the order in which they occur.
SOFTWARE ENGINNERING
V-SEMESTER UNIT-II
PRESENTED BY CH.PHANINDRA
a state diagram describes the behavior of a single object in response to a series of
events in a system. ... This UML diagram models the dynamic flow of control
from state to state of a particular object within a system.
SOFTWARE ENGINNERING
V-SEMESTER UNIT-II
PRESENTED BY CH.PHANINDRA
4.Flow oriented elements
The flow elements are data flow diagram, control flow
diagram
SOFTWARE ENGINNERING
V-SEMESTER UNIT-II
PRESENTED BY CH.PHANINDRA
4.Flow oriented elements
The flow elements are data flow diagram, control flow
diagram
SOFTWARE ENGINNERING
V-SEMESTER UNIT-II
PRESENTED BY CH.PHANINDRA
ANALYSIS PROCESS
The objective of requirements analysis then, is
to create a “requirements specification
document ” or a “ target document ”, that
describes in as much detail and in an
unambiguous a manner as possible, exactly
what the product should do
SOFTWARE ENGINNERING
V-SEMESTER UNIT-II
PRESENTED BY CH.PHANINDRA
A Project plan including details of delivery
times and cost estimates.
SOFTWARE ENGINNERING
V-SEMESTER UNIT-II
PRESENTED BY CH.PHANINDRA
SOFTWARE ENGINNERING
V-SEMESTER UNIT-II
PRESENTED BY CH.PHANINDRA
THANK YOU
SOFTWARE ENGINNERING
V-SEMESTER UNIT-II
PRESENTED BY CH.PHANINDRA

More Related Content

PPTX
Ch 2 what is software quality
PPTX
Estimating Software Maintenance Costs
PPTX
Phased life cycle model
PPT
Software design methodologies
PPT
Software quality
PPTX
Software process
PPTX
Waterfall model
PDF
Requirement analysis with use case
Ch 2 what is software quality
Estimating Software Maintenance Costs
Phased life cycle model
Software design methodologies
Software quality
Software process
Waterfall model
Requirement analysis with use case

What's hot (20)

PPTX
Software quality assurance
PPTX
Software Design and Modularity
PPT
Use Case Diagram
PPTX
Software Cost Estimation Techniques
PPTX
Functional modeling
PPT
Unit 1( modelling concepts & class modeling)
PPTX
Software requirements specification
PPTX
Software testing & Quality Assurance
PPTX
Waterfall Model PPT in Software Engineering
PPTX
Algorithmic Software Cost Modeling
PPT
Domain model
PPTX
software cost factor
PPTX
Software maintenance
PPT
Software Requirements engineering
PDF
Requirement analysis and specification
PPT
Software architecture design ppt
PPT
Software Process Improvement
PDF
2- THE CHANGING NATURE OF SOFTWARE.pdf
PPT
Architectural Design in Software Engineering SE10
PDF
Object oriented-systems-development-life-cycle ppt
Software quality assurance
Software Design and Modularity
Use Case Diagram
Software Cost Estimation Techniques
Functional modeling
Unit 1( modelling concepts & class modeling)
Software requirements specification
Software testing & Quality Assurance
Waterfall Model PPT in Software Engineering
Algorithmic Software Cost Modeling
Domain model
software cost factor
Software maintenance
Software Requirements engineering
Requirement analysis and specification
Software architecture design ppt
Software Process Improvement
2- THE CHANGING NATURE OF SOFTWARE.pdf
Architectural Design in Software Engineering SE10
Object oriented-systems-development-life-cycle ppt
Ad

Similar to Software requirements and analysis (20)

PDF
Introduction to Software Engineering
PPTX
Unit 2 Requirement Analysis.pptx
DOCX
LESSON 4 SOFTWARE REQUIREMENT (3).docx.
PPTX
lec 3rd.pptx
PDF
SYBTECH _2021_Unit 2 Requirement Analysis.pdf
PPT
Web development .. presentation for IT students
PPTX
Unit 2 Requirement Elicitation, Analysis, and Specification.pptx
DOCX
Notes of Software engineering and Project Management
PPT
Analysis concepts and principles
PPTX
Week 8 final assesement presentation
PPTX
Software requirement & specification .pptx
PPTX
Slide set 1 (Traditional Software Development) (1).pptx
PDF
lecture01softwareengineering-151017024008-lva1-app6892.pdf
PPT
Introduction to Software Engineering
PDF
A CASE Lab Report - Project File on "ATM - Banking System"
PPT
Software Quality Assurance
PPTX
Chapdgfgdfdfgdgdgdfgdfgdgdfgdgdfgdfgdgr -2.pptx
PPTX
Sofware engineering
PDF
Software validation do's and dont's may 2013
Introduction to Software Engineering
Unit 2 Requirement Analysis.pptx
LESSON 4 SOFTWARE REQUIREMENT (3).docx.
lec 3rd.pptx
SYBTECH _2021_Unit 2 Requirement Analysis.pdf
Web development .. presentation for IT students
Unit 2 Requirement Elicitation, Analysis, and Specification.pptx
Notes of Software engineering and Project Management
Analysis concepts and principles
Week 8 final assesement presentation
Software requirement & specification .pptx
Slide set 1 (Traditional Software Development) (1).pptx
lecture01softwareengineering-151017024008-lva1-app6892.pdf
Introduction to Software Engineering
A CASE Lab Report - Project File on "ATM - Banking System"
Software Quality Assurance
Chapdgfgdfdfgdgdgdfgdfgdgdfgdgdfgdfgdgr -2.pptx
Sofware engineering
Software validation do's and dont's may 2013
Ad

Recently uploaded (20)

PDF
Physiotherapy_for_Respiratory_and_Cardiac_Problems WEBBER.pdf
PDF
O5-L3 Freight Transport Ops (International) V1.pdf
PDF
Computing-Curriculum for Schools in Ghana
PDF
Chapter 2 Heredity, Prenatal Development, and Birth.pdf
PDF
O7-L3 Supply Chain Operations - ICLT Program
PPTX
GDM (1) (1).pptx small presentation for students
PPTX
human mycosis Human fungal infections are called human mycosis..pptx
PDF
Classroom Observation Tools for Teachers
PPTX
1st Inaugural Professorial Lecture held on 19th February 2020 (Governance and...
PDF
The Lost Whites of Pakistan by Jahanzaib Mughal.pdf
PPTX
IMMUNITY IMMUNITY refers to protection against infection, and the immune syst...
PPTX
Final Presentation General Medicine 03-08-2024.pptx
PDF
Black Hat USA 2025 - Micro ICS Summit - ICS/OT Threat Landscape
PDF
Anesthesia in Laparoscopic Surgery in India
PDF
RMMM.pdf make it easy to upload and study
PDF
Complications of Minimal Access Surgery at WLH
PDF
3rd Neelam Sanjeevareddy Memorial Lecture.pdf
PDF
01-Introduction-to-Information-Management.pdf
PPTX
Renaissance Architecture: A Journey from Faith to Humanism
PPTX
PPH.pptx obstetrics and gynecology in nursing
Physiotherapy_for_Respiratory_and_Cardiac_Problems WEBBER.pdf
O5-L3 Freight Transport Ops (International) V1.pdf
Computing-Curriculum for Schools in Ghana
Chapter 2 Heredity, Prenatal Development, and Birth.pdf
O7-L3 Supply Chain Operations - ICLT Program
GDM (1) (1).pptx small presentation for students
human mycosis Human fungal infections are called human mycosis..pptx
Classroom Observation Tools for Teachers
1st Inaugural Professorial Lecture held on 19th February 2020 (Governance and...
The Lost Whites of Pakistan by Jahanzaib Mughal.pdf
IMMUNITY IMMUNITY refers to protection against infection, and the immune syst...
Final Presentation General Medicine 03-08-2024.pptx
Black Hat USA 2025 - Micro ICS Summit - ICS/OT Threat Landscape
Anesthesia in Laparoscopic Surgery in India
RMMM.pdf make it easy to upload and study
Complications of Minimal Access Surgery at WLH
3rd Neelam Sanjeevareddy Memorial Lecture.pdf
01-Introduction-to-Information-Management.pdf
Renaissance Architecture: A Journey from Faith to Humanism
PPH.pptx obstetrics and gynecology in nursing

Software requirements and analysis

  • 2. UNIT II REQUIREMENTS ANALYSIS Requirement Engineering Processes Feasibility Study Problem of Requirements Software Requirement Analysis Analysis Concepts and Principles Analysis Model Analysis Process SOFTWARE ENGINNERING V-SEMESTER UNIT-II PRESENTED BY CH.PHANINDRA
  • 3. REQUIREMENTS ANALYSIS SOFTWARE ENGINNERING V-SEMESTER UNIT-II PRESENTED BY CH.PHANINDRA
  • 4. REQUIREMENTS ANALYSIS REQUIREMENTS ANALYSIS SOFTWARE ENGINNERING V-SEMESTER UNIT-II PRESENTED BY CH.PHANINDRA
  • 5. ->The software requirements are description of features and functionalities of the target system. ->Requirements convey(tells) the expectations of users from the software product. Like known or unknown, expected or unexpected from client’s point of view. SOFTWARE ENGINNERING V-SEMESTER UNIT-II PRESENTED BY CH.PHANINDRA
  • 6. Requirement Engineering -> The process to gather the software requirements from client, analyze and document them is known as requirement engineering. -> The goal of requirement engineering is to develop and maintain descriptive ‘System Requirements Specification’ document. SOFTWARE ENGINNERING V-SEMESTER UNIT-II PRESENTED BY CH.PHANINDRA
  • 7. Requirement Engineering Software engineering task that bridges the gap between system level requirements engineering and software design. Provides software designer with a representation of system information, function, and behavior that can be translated to data, architectural, and component-level designs. Expect to do a little bit of design during analysis and a little bit of analysis during design.SOFTWARE ENGINNERING V-SEMESTER UNIT-II PRESENTED BY CH.PHANINDRA
  • 9. SOFTWARE ENGINNERING V-SEMESTER UNIT-II PRESENTED BY CH.PHANINDRA Software Requirements Analysis Phases Begins with System Specification and Software Project Plan Five Areas of effort Problem recognition Evaluation and synthesis (focus is on what not how) Modeling Specification Review Goal: recognition of the basic problem elements as perceived by the customer/users.
  • 10. SOFTWARE ENGINNERING V-SEMESTER UNIT-II PRESENTED BY CH.PHANINDRA Software Requirements Analysis Phases Customer meetings are the most commonly used technique. Use context free questions to find out: customer's goals and benefits identify stakeholders Who is behind the request for this work? Who will use the solution? What will be the economic benefit of a successful solution? Is there another source for the solution that you need? gain understanding of problem
  • 11. Requirement Engineering Process It is a four step process, which includes – Feasibility Study Requirement Gathering Software Requirement Specification Software Requirement Validation SOFTWARE ENGINNERING V-SEMESTER UNIT-II PRESENTED BY CH.PHANINDRA
  • 12. Feasibility study When the client approaches the organization for getting the desired product developed, it comes up with rough idea about what all functions the software must perform and which all features are expected from the software. This feasibility study is focused towards goal of the organization. SOFTWARE ENGINNERING V-SEMESTER UNIT-II PRESENTED BY CH.PHANINDRA
  • 13. Requirement Gathering gathering requirements from the user. Analysts and engineers communicate with the client and end-users to know their ideas on what the software should provide and which features they want the software to include. SOFTWARE ENGINNERING V-SEMESTER UNIT-II PRESENTED BY CH.PHANINDRA
  • 14. Software Requirement Specification ->SRS is a document created by system analyst after the requirements are collected from various stakeholders. ->SRS defines how the intended software will interact with hardware, external interfaces, speed of operation, response time of system, Security, Quality, Limitations etc. ->The requirements received from client are written in natural language.SOFTWARE ENGINNERING V-SEMESTER UNIT-II PRESENTED BY CH.PHANINDRA
  • 15. SRS should come up with following features: User Requirements are expressed in natural language. Technical requirements are expressed in structured language, which is used inside the organization. Design description should be written in Pseudo code. Format of Forms and GUI screen prints. Conditional and mathematical notations for DFDs etc. SOFTWARE ENGINNERING V-SEMESTER UNIT-II PRESENTED BY CH.PHANINDRA
  • 16. Software Requirement Validation After requirement specifications are developed, the requirements mentioned in this document are validated. Requirements can be checked against following conditions - If they can be practically implemented If they are valid and as per functionality and domain of software If there are any ambiguitiesSOFTWARE ENGINNERING V-SEMESTER UNIT-II PRESENTED BY CH.PHANINDRA
  • 17. Requirement Elicitation Process Requirement elicitation process can be depicted using the folloiwng diagram: SOFTWARE ENGINNERING V-SEMESTER UNIT-II PRESENTED BY CH.PHANINDRA
  • 18. Requirements gathering - The developers discuss with the client and end users and know their expectations from the software. Organizing Requirements - The developers prioritize and arrange the requirements in order of importance, urgency and convenience. Negotiation & discussion - If requirements are ambiguous or there are some conflicts in requirements of various stakeholders. SOFTWARE ENGINNERING V-SEMESTER UNIT-II PRESENTED BY CH.PHANINDRA
  • 19. The requirements come from various stakeholders. To remove the ambiguity and conflicts, they are discussed for clarity and correctness. Documentation - All formal & informal, functional and non-functional requirements are documented and made available for next phase processing. SOFTWARE ENGINNERING V-SEMESTER UNIT-II PRESENTED BY CH.PHANINDRA
  • 20. Requirement Elicitation Techniques: Requirements Elicitation is the process to find out the requirements communicating with client, end users, system users and others in the software system development. SOFTWARE ENGINNERING V-SEMESTER UNIT-II PRESENTED BY CH.PHANINDRA
  • 21. Interviews To collect requirements. Organization may conduct several types of interviews such as: Oral interviews Written interviews One-to-one interviews which are held between two persons across the table. Group interviews which are held between groups of participants SOFTWARE ENGINNERING V-SEMESTER UNIT-II PRESENTED BY CH.PHANINDRA
  • 22. Software Requirements Broadly software requirements should be categorized in two categories: Functional Requirements Examples - Search option given to user to search from various invoices. User should be able to mail any report to management. Users can be divided into groups and groups can be given separate rights SOFTWARE ENGINNERING V-SEMESTER UNIT-II PRESENTED BY CH.PHANINDRA
  • 24. Requirements are categorized logically as •Must Have: Software cannot be said operational without them. •Should have: Enhancing the functionality of software. •Could have: Software can still properly function with these requirements. •Wish list: These requirements do not map to any objectives of software. SOFTWARE ENGINNERING V-SEMESTER UNIT-II PRESENTED BY CH.PHANINDRA
  • 25. User Interface requirements UI is an important part of any software or hardware or hybrid system. A software is widely accepted if it is easy to operate quick in response effectively handling operational errors providing simple yet consistent user interface SOFTWARE ENGINNERING V-SEMESTER UNIT-II PRESENTED BY CH.PHANINDRA
  • 26. Software System Analyst It is the responsibility of analyst to make sure that the developed software meets the requirements of the client. Identify sources of requirement. Validation of requirement. Develop and implement requirement management plan. Documentation of business, technical, process and product requirements. Finalizing acceptance criteria with client and other stakeholder . SOFTWARE ENGINNERING V-SEMESTER UNIT-II PRESENTED BY CH.PHANINDRA
  • 27. FEASIBILTY STUDY Feasibility is defined as the practical extent to which a project can be performed successfully Types of Feasibility Technical feasibility Operational feasibility Economic feasibility Schedule Feasibility SOFTWARE ENGINNERING V-SEMESTER UNIT-II PRESENTED BY CH.PHANINDRA
  • 29. Technical feasibility also performs the following tasks. Analyzes the technical skills and capabilities of the software development team members SOFTWARE ENGINNERING V-SEMESTER UNIT-II PRESENTED BY CH.PHANINDRA
  • 30. Operational feasibility performs a series of steps to solve business problems and user requirements. Operational feasibility also performs the following tasks. Determines whether the solution suggested by the software development team is acceptable SOFTWARE ENGINNERING V-SEMESTER UNIT-II PRESENTED BY CH.PHANINDRA
  • 31. Economic feasibility financial gains for an organization estimated cost of hardware and software, cost of performing feasibility . Schedule Feasibility – Does the company currently have the time resources to undertake the project? Can the project be completed in the available time? SOFTWARE ENGINNERING V-SEMESTER UNIT-II PRESENTED BY CH.PHANINDRA
  • 32. PROBLEMS OF REQUIRMENTS Problem 1: Customers don't (really) know what they want Problem 2: Requirements change during the course of the project Problem 3: Customers have unreasonable timelines Problem 4: Communication gaps exist between customers, engineers and project managers SOFTWARE ENGINNERING V-SEMESTER UNIT-II PRESENTED BY CH.PHANINDRA
  • 33. SOFTWARE REQUIREMENTS ANALYSIS Requirements Analysis Requirements Analysis is the process of understanding the customer needs and expectations from a proposed system or application and is a well-defined stage in the Software Development Life Cycle model. SOFTWARE ENGINNERING V-SEMESTER UNIT-II PRESENTED BY CH.PHANINDRA
  • 34. Software requirements analysis may be divided into give areas of effort Problem recognition Evaluation and synthesis Modeling Specification Review SOFTWARE ENGINNERING V-SEMESTER UNIT-II PRESENTED BY CH.PHANINDRA
  • 35. Requirements Elicitation for Software Elicitation is the practice of researching and discovering the requirements of a system from users ,customers and stack holders like Requirements Elicitation for Software Initiating the Process Facilitated Application Techniques SOFTWARE ENGINNERING V-SEMESTER UNIT-II PRESENTED BY CH.PHANINDRA
  • 36. Quality Function Deployment A technique that translates the needs of the customer into technical requirements for software QFD identifies three types of requirements Normal requirements – Expected requirements – Exciting requirements – these features go beyond the customer’s expectations and prove to be very satisfying when present Interviews Use-Cases Prototype A valuable tool for clarifying unclear requirements SOFTWARE ENGINNERING V-SEMESTER UNIT-II PRESENTED BY CH.PHANINDRA
  • 37. ANALYSIS PRINCIPLES All analysis methods are related by a set of operational principles The information domain of a problem must be represented and understood The functions that the software is to perform must be defined The behaviour of the software must be represented The models that depict information, function, and behaviour must be divide in a manner that uncovers detail in a layered fashion The analysis process should move from essential information toward implementation detail SOFTWARE ENGINNERING V-SEMESTER UNIT-II PRESENTED BY CH.PHANINDRA
  • 38. The software requirements specification Format of software requirements specification: Introduction Information description Functional description Behavioural description Validation criteria Bibliography and appendixSOFTWARE ENGINNERING V-SEMESTER UNIT-II PRESENTED BY CH.PHANINDRA
  • 39. ANALYSIS MODEL Analysis Model is a technical representation of the system. It acts as a link between system description and design model. In Analysis Modelling, information, behavior and functions of the system is defined and translated into the architecture, component and interface level design in the design modeling. SOFTWARE ENGINNERING V-SEMESTER UNIT-II PRESENTED BY CH.PHANINDRA
  • 40. ANALYSIS MODEL SOFTWARE ENGINNERING V-SEMESTER UNIT-II PRESENTED BY CH.PHANINDRA
  • 41. Elements of the analysis model 1.Scenario based element ->This type of element represents the system user point of view. ->Scenario based elements are use case diagram, user stories SOFTWARE ENGINNERING V-SEMESTER UNIT-II PRESENTED BY CH.PHANINDRA
  • 42. Use case diagram is a behavioral UML diagram type and frequently used to analyze various systems. They enable you to visualize the different types of roles in a system and how those roles interact with the system. SOFTWARE ENGINNERING V-SEMESTER UNIT-II PRESENTED BY CH.PHANINDRA
  • 43. Use Case Diagram objects Use case diagrams consist of 4 objects. -Actor -Use case -System -Package SOFTWARE ENGINNERING V-SEMESTER UNIT-II PRESENTED BY CH.PHANINDRA
  • 44. Actor Actor in a use case diagram is any entity that performs a role in one given system. This could be a person, organization or an external system and usually drawn like skeleton shown below. SOFTWARE ENGINNERING V-SEMESTER UNIT-II PRESENTED BY CH.PHANINDRA
  • 45. Use Case A use case represents a function or an action within the system. It’s drawn as an oval and named with the function. System The system is used to define the scope of the use case and drawn as a rectangle. Package The package is another optional element that is extremely useful in complex diagrams. SOFTWARE ENGINNERING V-SEMESTER UNIT-II PRESENTED BY CH.PHANINDRA Use case Package name
  • 47. 2. Class based elements The object of this type of element manipulated by the system. It defines the object, attributes and relationship. SOFTWARE ENGINNERING V-SEMESTER UNIT-II PRESENTED BY CH.PHANINDRA
  • 49. . 3. Behavioural elements Behavioural elements represent of the system and how it is changed by the external events. The behavioural elements are sequenced diagram, state diagram. SOFTWARE ENGINNERING V-SEMESTER UNIT-II PRESENTED BY CH.PHANINDRA
  • 50. A sequence diagram shows object interactions arranged in time sequence. sequence of messages exchanged between the objects needed to carry out the functionality of the scenario . Sequence diagrams are sometimes called event diagrams or event scenarios. SOFTWARE ENGINNERING V-SEMESTER UNIT-II PRESENTED BY CH.PHANINDRA
  • 51. A sequence diagram shows, as parallel vertical lines (lifelines), different processes or objects that live simultaneously, and, as horizontal arrows, the messages exchanged between them, in the order in which they occur. SOFTWARE ENGINNERING V-SEMESTER UNIT-II PRESENTED BY CH.PHANINDRA
  • 52. a state diagram describes the behavior of a single object in response to a series of events in a system. ... This UML diagram models the dynamic flow of control from state to state of a particular object within a system. SOFTWARE ENGINNERING V-SEMESTER UNIT-II PRESENTED BY CH.PHANINDRA
  • 53. 4.Flow oriented elements The flow elements are data flow diagram, control flow diagram SOFTWARE ENGINNERING V-SEMESTER UNIT-II PRESENTED BY CH.PHANINDRA
  • 54. 4.Flow oriented elements The flow elements are data flow diagram, control flow diagram SOFTWARE ENGINNERING V-SEMESTER UNIT-II PRESENTED BY CH.PHANINDRA
  • 55. ANALYSIS PROCESS The objective of requirements analysis then, is to create a “requirements specification document ” or a “ target document ”, that describes in as much detail and in an unambiguous a manner as possible, exactly what the product should do SOFTWARE ENGINNERING V-SEMESTER UNIT-II PRESENTED BY CH.PHANINDRA
  • 56. A Project plan including details of delivery times and cost estimates. SOFTWARE ENGINNERING V-SEMESTER UNIT-II PRESENTED BY CH.PHANINDRA
  • 58. THANK YOU SOFTWARE ENGINNERING V-SEMESTER UNIT-II PRESENTED BY CH.PHANINDRA