SlideShare a Scribd company logo
1 of 20
Software Requirement Analysis
• Determining the needs or conditions to meet for a new or
altered product,
• In other words, process of studying and analyzing the
customer and the user/stakaholder needs to arrive at a
definition of software reqiurements.
• Requirements must be actionable, measurable, testable,
related to identified business needs or opportunities, and
defined to a level of detail sufficient for system design.
• Requirements can be functional and non- functional
Types of Requirements
• Functional requirements
• Performance requirements
– Speed, accuracy, frequency, throughput
• External interface requirements
• Design constraints
– Requirements are usually about “what”, this is a
“how”.
• Quality attributes
– i.e. reliability, portability, maintainability,
supportability
Requirements vs. Design
Requirements Design
Describe what will be
delivered
Describe how it will be done3
Primary goal of analysis:
UNDERSTANDING
Primary goal of design:
OPTIMIZATION
There is more than one
solution
There is only one (final)
solution
Customer interested Customer not interested (Most
of the time) except for external
Software Quality Attributes
 Correctness
 Reliability
 Rating = 1 – (Num Errors/ Num LOC)
 Can be allocated to subsystems
 Efficiency
 Integrity
 Usability
 Survivability
 Maintainability
 Verifiability
 Flexibility
 Portability
 Reusability
 Interoperability
 Expandability
Requirements Analysis
Defining Stakeholder profiles
• Description - brief description of the stakeholder type
• Type - Qualify s-h’s expertise, technical background, degree of
sophistication
• Responsibilities - List s-h’s key responsibilities with regard to
the system being developed - why a stakeholder?
• Success Criteria - How does the stakeholder define success?
How rewarded?
• Involvement - involved in the project in what way?
Requirements reviewer, system tester, ...
• Deliverables* - required by the stakeholder
• Comments/Issues - Problems that interfere w/ success, etc.
Requirements Analysis
Defining User Profiles
• Description - of the user type
• Type - qualify expertise, technical background, degree of
sophistication
• Responsibilities - user’s key resp.’s w.r.t. system being
developed
• Success Criteria - how this user defines success? rewarded?
• Involvement - How user involved in this project? what role?
• Deliverables - Are there any deliverables the user produces?
For whom?
• Comments/Issues - Problems that interfere w/ success, etc.
– This includes trends that make the user’s job easier or harder
Requirements Analysis
Defining User Work Environment
• Number of people involved in doing this now?
Changing?
• How long is a task cycle now? Changing?
• Any unique environmental constraints: mobile,
outdoors, in-flight, etc.
• Which system platforms are in use today? future?
• What other applications are in use? Need to
integrate?
Requirements Analysis
Product Overview
Put the product in perspective to other related
products and the user’s environment.
Independent?
Component of a larger system?
How do the subsystems interact with this?
Known interfaces between them and this
component?
Block diagram
Requirements Analysis
Other Product Requirements
• hardware platform requirements --
• system requirements -- supported host o.s.’s,
peripherals, companion software
• environmental requirements -- temperature, shock,
humidity, radiation, usage conditions, resource
availability, maintenance issues, type of error
recovery
• applicable standards -- legal, regulatory,
communications
Software Requirement Specification
• A software requirements specification (SRS) is a complete
description of the behavior of the system to be developed
• A document that clearly and precisely describes, each of the
essential requirements of the software and the external
interfaces.
– (functions, performance, design constraint, and quality attributes)
• Each requirement is defined in such a way that its
achievement is capable of being objectively verified by a
prescribed method; for example inspection, demonstration,
analysis, or test.2
Requirements Analysis
• Fundamental Techniques (Views)
• functional view
– hierarchy - function tree
– process  use cases
– information ow  data flow diagram (DFD)
• data oriented view
– data structures  data dictionary (DD), syntax diagram,
Jackson diagram
– relations between entities  entity relationship diagram
(ER)
• object-oriented view
– class structure  class diagram
Requirements Analysis
• algorithmic view
– control structures
– pseudo code, structogram, flow diagram, Jackson diagram
– conditions  rules, decision table
• state-oriented view
– state machines
– Petri nets
– sequence charts
Use Case
• use case is a description of a system’s
behavior as it responds to a request that
originates from outside of that system.
• it describes "who" can do "what" with the
system in question
Use Case Diagram
• A use case diagram
– in the Unified Modeling Language (UML)
– a type of behavioral diagram defined by and created from
a Use-case analysis.
– Its purpose is to present a graphical overview of the
functionality provided by a system in terms of actors, their
goals (represented as use cases), and any dependencies
between those use cases.
• The main purpose
– to show what system functions are performed for which
actor.
– Roles of the actors in the system can be depicted.
Use Case Diagram
Data Flow Diagram (DFD)
• graphical representation of data ow (classical
technique)
• nodes:
– function  labeled circle
– store name  between two horizontal lines
– interface to environment  labeled rectangle
• directed edges: represent data flow
• properties of DFDs
– easy to create
– easy to read and understand
Data Dictionary
• A data dictionary is a collection of data about
data.
• It maintains information about the definition,
structure, and use of each data element that
an organization uses.
Software requirements specification
• Functional and Non-functional SRS
• IEEE 830-1998.
IEEE Std 830-1998 IEEE Recommended Practice
for Software Requirements Specifications -
Description
• Abstract: The content and qualities of a good software
requirementsspecification (SRS) are described and several
sample SRS outlines are presented. This recommended
practice is aimed at specifying requirements of software to be
developed but also can be applied to assist in the selection of
in-house and commercial software products. Guidelines for
compliance with 12207.1-1997 are also provided.
• Keywords: contract, customer, prototyping, software
requirements specification, supplier, system requirements
specifications
SRS
• Customer Requirements
• Functional Requirements
• Non-functional Requirements
• Performance Requirements
• Design Requirements
• Derived Requirements
• Allocated Requirements

More Related Content

What's hot

software requirement
software requirement software requirement
software requirement nimmik4u
 
Software project management requirements analysis
Software project management requirements analysisSoftware project management requirements analysis
Software project management requirements analysisAntony Alex
 
Requirements analysis and modeling
Requirements analysis and modelingRequirements analysis and modeling
Requirements analysis and modelingSyed Zaid Irshad
 
Ch4-Software Engineering 9
Ch4-Software Engineering 9Ch4-Software Engineering 9
Ch4-Software Engineering 9Ian Sommerville
 
Intro to Software Engineering - Requirements Analysis
Intro to Software Engineering - Requirements AnalysisIntro to Software Engineering - Requirements Analysis
Intro to Software Engineering - Requirements AnalysisRadu_Negulescu
 
Visualizing non-functional requirements
Visualizing non-functional requirementsVisualizing non-functional requirements
Visualizing non-functional requirementsNeil Ernst
 
Requirements engineering iv
Requirements engineering ivRequirements engineering iv
Requirements engineering ivindrisrozas
 
Software requirements and analysis
Software requirements and analysisSoftware requirements and analysis
Software requirements and analysisPhanindra Cherukuri
 
Requirements Engineering - Lecture 1.pdf
Requirements Engineering - Lecture 1.pdfRequirements Engineering - Lecture 1.pdf
Requirements Engineering - Lecture 1.pdfFlavia Tembo Kambale
 
Software Engineering : Requirement Analysis & Specification
Software Engineering : Requirement Analysis & SpecificationSoftware Engineering : Requirement Analysis & Specification
Software Engineering : Requirement Analysis & SpecificationAjit Nayak
 
Business requirement analysis session 5
Business requirement analysis   session 5Business requirement analysis   session 5
Business requirement analysis session 5sampad_senapati
 

What's hot (20)

software requirement
software requirement software requirement
software requirement
 
Software project management requirements analysis
Software project management requirements analysisSoftware project management requirements analysis
Software project management requirements analysis
 
Requirement Engineering
Requirement EngineeringRequirement Engineering
Requirement Engineering
 
Requirement analysis
Requirement analysisRequirement analysis
Requirement analysis
 
Requirements analysis and modeling
Requirements analysis and modelingRequirements analysis and modeling
Requirements analysis and modeling
 
Ch4-Software Engineering 9
Ch4-Software Engineering 9Ch4-Software Engineering 9
Ch4-Software Engineering 9
 
Requirement analysis
Requirement analysisRequirement analysis
Requirement analysis
 
Intro to Software Engineering - Requirements Analysis
Intro to Software Engineering - Requirements AnalysisIntro to Software Engineering - Requirements Analysis
Intro to Software Engineering - Requirements Analysis
 
Visualizing non-functional requirements
Visualizing non-functional requirementsVisualizing non-functional requirements
Visualizing non-functional requirements
 
Requirements engineering iv
Requirements engineering ivRequirements engineering iv
Requirements engineering iv
 
Software Requirements engineering
Software Requirements engineeringSoftware Requirements engineering
Software Requirements engineering
 
Requirement analysis
Requirement analysisRequirement analysis
Requirement analysis
 
RRC Requirements and Use Cases
RRC Requirements and Use CasesRRC Requirements and Use Cases
RRC Requirements and Use Cases
 
Requirement analysis with use case
Requirement analysis with use caseRequirement analysis with use case
Requirement analysis with use case
 
Req specification
Req specificationReq specification
Req specification
 
Software requirements and analysis
Software requirements and analysisSoftware requirements and analysis
Software requirements and analysis
 
Requirements Engineering - Lecture 1.pdf
Requirements Engineering - Lecture 1.pdfRequirements Engineering - Lecture 1.pdf
Requirements Engineering - Lecture 1.pdf
 
Software Engineering : Requirement Analysis & Specification
Software Engineering : Requirement Analysis & SpecificationSoftware Engineering : Requirement Analysis & Specification
Software Engineering : Requirement Analysis & Specification
 
Business requirement analysis session 5
Business requirement analysis   session 5Business requirement analysis   session 5
Business requirement analysis session 5
 
Process Support for requirements engineering
Process Support for requirements engineeringProcess Support for requirements engineering
Process Support for requirements engineering
 

Similar to Soft requirement

16_10_2018 non functional requirements v
16_10_2018 non functional requirements v16_10_2018 non functional requirements v
16_10_2018 non functional requirements vbeyokob767
 
Un it 2-se-mod-staff
Un it 2-se-mod-staffUn it 2-se-mod-staff
Un it 2-se-mod-staffvijisvs2012
 
2nd MODULE Software Requirements _ SW ENGG 22CSE141.pdf
2nd MODULE  Software Requirements   _ SW ENGG  22CSE141.pdf2nd MODULE  Software Requirements   _ SW ENGG  22CSE141.pdf
2nd MODULE Software Requirements _ SW ENGG 22CSE141.pdfJayanthi Kannan MK
 
SE Unit 2(1).pptx
SE Unit 2(1).pptxSE Unit 2(1).pptx
SE Unit 2(1).pptxaryan631999
 
Introduction to Requirement engineering
Introduction to Requirement engineeringIntroduction to Requirement engineering
Introduction to Requirement engineeringNameirakpam Sundari
 
Software Engineering Lec 4-requirments
Software Engineering Lec 4-requirmentsSoftware Engineering Lec 4-requirments
Software Engineering Lec 4-requirmentsTaymoor Nazmy
 
04 fse understandingrequirements
04 fse understandingrequirements04 fse understandingrequirements
04 fse understandingrequirementsMohesh Chandran
 
Requirement specification (SRS)
Requirement specification (SRS)Requirement specification (SRS)
Requirement specification (SRS)kunj desai
 
Software engineering lecture 1
Software engineering  lecture 1Software engineering  lecture 1
Software engineering lecture 1JusperKato
 
Se lect11 btech
Se lect11 btechSe lect11 btech
Se lect11 btechIIITA
 
software requirement specifcation.pptx
software requirement specifcation.pptxsoftware requirement specifcation.pptx
software requirement specifcation.pptxSACHINMAURYA57
 

Similar to Soft requirement (20)

16_10_2018 non functional requirements v
16_10_2018 non functional requirements v16_10_2018 non functional requirements v
16_10_2018 non functional requirements v
 
unit2.pptx
unit2.pptxunit2.pptx
unit2.pptx
 
22-REQUIREMENT.ppt
22-REQUIREMENT.ppt22-REQUIREMENT.ppt
22-REQUIREMENT.ppt
 
Un it 2-se-mod-staff
Un it 2-se-mod-staffUn it 2-se-mod-staff
Un it 2-se-mod-staff
 
2nd MODULE Software Requirements _ SW ENGG 22CSE141.pdf
2nd MODULE  Software Requirements   _ SW ENGG  22CSE141.pdf2nd MODULE  Software Requirements   _ SW ENGG  22CSE141.pdf
2nd MODULE Software Requirements _ SW ENGG 22CSE141.pdf
 
Development Guideline
Development GuidelineDevelopment Guideline
Development Guideline
 
SE Unit 2(1).pptx
SE Unit 2(1).pptxSE Unit 2(1).pptx
SE Unit 2(1).pptx
 
Unit II- Hardware design & testing methods1 - Electronic Product Design
Unit II- Hardware design & testing methods1 - Electronic Product DesignUnit II- Hardware design & testing methods1 - Electronic Product Design
Unit II- Hardware design & testing methods1 - Electronic Product Design
 
Introduction to Requirement engineering
Introduction to Requirement engineeringIntroduction to Requirement engineering
Introduction to Requirement engineering
 
Software Engineering Lec 4-requirments
Software Engineering Lec 4-requirmentsSoftware Engineering Lec 4-requirments
Software Engineering Lec 4-requirments
 
Requirement Analysis - Software Enigneering
Requirement Analysis - Software EnigneeringRequirement Analysis - Software Enigneering
Requirement Analysis - Software Enigneering
 
04 fse understandingrequirements
04 fse understandingrequirements04 fse understandingrequirements
04 fse understandingrequirements
 
SE-Unit II.pdf
SE-Unit II.pdfSE-Unit II.pdf
SE-Unit II.pdf
 
Requirements analysis lecture
Requirements analysis lectureRequirements analysis lecture
Requirements analysis lecture
 
Requirement specification (SRS)
Requirement specification (SRS)Requirement specification (SRS)
Requirement specification (SRS)
 
Software engineering lecture 1
Software engineering  lecture 1Software engineering  lecture 1
Software engineering lecture 1
 
Se lect11 btech
Se lect11 btechSe lect11 btech
Se lect11 btech
 
SRE_Lecture_1,2,3,4.pptx
SRE_Lecture_1,2,3,4.pptxSRE_Lecture_1,2,3,4.pptx
SRE_Lecture_1,2,3,4.pptx
 
software requirement specifcation.pptx
software requirement specifcation.pptxsoftware requirement specifcation.pptx
software requirement specifcation.pptx
 
3. 1 req elicitation
3. 1 req elicitation3. 1 req elicitation
3. 1 req elicitation
 

Soft requirement

  • 1. Software Requirement Analysis • Determining the needs or conditions to meet for a new or altered product, • In other words, process of studying and analyzing the customer and the user/stakaholder needs to arrive at a definition of software reqiurements. • Requirements must be actionable, measurable, testable, related to identified business needs or opportunities, and defined to a level of detail sufficient for system design. • Requirements can be functional and non- functional
  • 2. Types of Requirements • Functional requirements • Performance requirements – Speed, accuracy, frequency, throughput • External interface requirements • Design constraints – Requirements are usually about “what”, this is a “how”. • Quality attributes – i.e. reliability, portability, maintainability, supportability
  • 3. Requirements vs. Design Requirements Design Describe what will be delivered Describe how it will be done3 Primary goal of analysis: UNDERSTANDING Primary goal of design: OPTIMIZATION There is more than one solution There is only one (final) solution Customer interested Customer not interested (Most of the time) except for external
  • 4. Software Quality Attributes  Correctness  Reliability  Rating = 1 – (Num Errors/ Num LOC)  Can be allocated to subsystems  Efficiency  Integrity  Usability  Survivability  Maintainability  Verifiability  Flexibility  Portability  Reusability  Interoperability  Expandability
  • 5. Requirements Analysis Defining Stakeholder profiles • Description - brief description of the stakeholder type • Type - Qualify s-h’s expertise, technical background, degree of sophistication • Responsibilities - List s-h’s key responsibilities with regard to the system being developed - why a stakeholder? • Success Criteria - How does the stakeholder define success? How rewarded? • Involvement - involved in the project in what way? Requirements reviewer, system tester, ... • Deliverables* - required by the stakeholder • Comments/Issues - Problems that interfere w/ success, etc.
  • 6. Requirements Analysis Defining User Profiles • Description - of the user type • Type - qualify expertise, technical background, degree of sophistication • Responsibilities - user’s key resp.’s w.r.t. system being developed • Success Criteria - how this user defines success? rewarded? • Involvement - How user involved in this project? what role? • Deliverables - Are there any deliverables the user produces? For whom? • Comments/Issues - Problems that interfere w/ success, etc. – This includes trends that make the user’s job easier or harder
  • 7. Requirements Analysis Defining User Work Environment • Number of people involved in doing this now? Changing? • How long is a task cycle now? Changing? • Any unique environmental constraints: mobile, outdoors, in-flight, etc. • Which system platforms are in use today? future? • What other applications are in use? Need to integrate?
  • 8. Requirements Analysis Product Overview Put the product in perspective to other related products and the user’s environment. Independent? Component of a larger system? How do the subsystems interact with this? Known interfaces between them and this component? Block diagram
  • 9. Requirements Analysis Other Product Requirements • hardware platform requirements -- • system requirements -- supported host o.s.’s, peripherals, companion software • environmental requirements -- temperature, shock, humidity, radiation, usage conditions, resource availability, maintenance issues, type of error recovery • applicable standards -- legal, regulatory, communications
  • 10. Software Requirement Specification • A software requirements specification (SRS) is a complete description of the behavior of the system to be developed • A document that clearly and precisely describes, each of the essential requirements of the software and the external interfaces. – (functions, performance, design constraint, and quality attributes) • Each requirement is defined in such a way that its achievement is capable of being objectively verified by a prescribed method; for example inspection, demonstration, analysis, or test.2
  • 11. Requirements Analysis • Fundamental Techniques (Views) • functional view – hierarchy - function tree – process  use cases – information ow  data flow diagram (DFD) • data oriented view – data structures  data dictionary (DD), syntax diagram, Jackson diagram – relations between entities  entity relationship diagram (ER) • object-oriented view – class structure  class diagram
  • 12. Requirements Analysis • algorithmic view – control structures – pseudo code, structogram, flow diagram, Jackson diagram – conditions  rules, decision table • state-oriented view – state machines – Petri nets – sequence charts
  • 13. Use Case • use case is a description of a system’s behavior as it responds to a request that originates from outside of that system. • it describes "who" can do "what" with the system in question
  • 14. Use Case Diagram • A use case diagram – in the Unified Modeling Language (UML) – a type of behavioral diagram defined by and created from a Use-case analysis. – Its purpose is to present a graphical overview of the functionality provided by a system in terms of actors, their goals (represented as use cases), and any dependencies between those use cases. • The main purpose – to show what system functions are performed for which actor. – Roles of the actors in the system can be depicted.
  • 16. Data Flow Diagram (DFD) • graphical representation of data ow (classical technique) • nodes: – function  labeled circle – store name  between two horizontal lines – interface to environment  labeled rectangle • directed edges: represent data flow • properties of DFDs – easy to create – easy to read and understand
  • 17. Data Dictionary • A data dictionary is a collection of data about data. • It maintains information about the definition, structure, and use of each data element that an organization uses.
  • 18. Software requirements specification • Functional and Non-functional SRS • IEEE 830-1998.
  • 19. IEEE Std 830-1998 IEEE Recommended Practice for Software Requirements Specifications - Description • Abstract: The content and qualities of a good software requirementsspecification (SRS) are described and several sample SRS outlines are presented. This recommended practice is aimed at specifying requirements of software to be developed but also can be applied to assist in the selection of in-house and commercial software products. Guidelines for compliance with 12207.1-1997 are also provided. • Keywords: contract, customer, prototyping, software requirements specification, supplier, system requirements specifications
  • 20. SRS • Customer Requirements • Functional Requirements • Non-functional Requirements • Performance Requirements • Design Requirements • Derived Requirements • Allocated Requirements