SlideShare a Scribd company logo
1 of 1
Q: Is there a nonfunctional requirements checklist that I can use?

In my blog post, I outline a requirements checklist. I wanted to give a little more detail about
each of the items on that list, and there's a good excerpt that I think will help.

       Availability: A system's availability, or "uptime," is the amount of time that it is
       operational and available for use. This is specified because some systems are designed
       with expected downtime for activities like database upgrades and backups.
       Efficiency: Specifies how well the software utilizes scarce resources: CPU cycles, disk
       space, memory, bandwidth, etc.
       Flexibility: If the organization intends to increase or extend the functionality of the
       software after it is deployed, that should be planned from the beginning; it influences
       choices made during the design, development, testing, and deployment of the system.
       Portability: Portability specifies the ease with which the software can be installed on all
       necessary platforms, and the platforms on which it is expected to run.
       Integrity: Integrity requirements define the security attributes of the system, restricting
       access to features or data to certain users and protecting the privacy of data entered into
       the software.
       Performance: The performance constraints specify the timing characteristics of the
       software. Certain tasks or features are more time-sensitive than others; the nonfunctional
       requirements should identify those software functions that have constraints on their
       performance.
       Reliability: Reliability specifies the capability of the software to maintain its
       performance over time. Unreliable software fails frequently, and certain tasks are more
       sensitive to failure (for example, because they cannot be restarted, or because they must
       be run at a certain time).
       Reusability: Many systems are developed with the ability to leverage common
       components across multiple products. Reusability indicates the extent to which software
       components should be designed in such a way that they can be used in applications other
       than the ones for which they were initially developed.
       Robustness: A robust system is able to handle error conditions gracefully, without
       failure. This includes a tolerance of invalid data, software defects, and unexpected
       operating conditions.
       Scalability: Software that is scalable has the ability to handle a wide variety of system
       configuration sizes. The nonfunctional requirements should specify the ways in which the
       system may be expected to scale up (by increasing hardware capacity, adding machines,
       etc.).
       Usability: Ease-of-use requirements address the factors that constitute the capacity of the
       software to be understood, learned, and used by its intended users.

More Related Content

What's hot

Functional vs Non-functional Requirements - Which comes first?
Functional vs Non-functional Requirements - Which comes first?Functional vs Non-functional Requirements - Which comes first?
Functional vs Non-functional Requirements - Which comes first?Evgeniy Labunskiy
 
Aspect Oriented Software Engineering
Aspect Oriented Software EngineeringAspect Oriented Software Engineering
Aspect Oriented Software EngineeringAbhay Pai
 
Software Engineering : Requirement Analysis & Specification
Software Engineering : Requirement Analysis & SpecificationSoftware Engineering : Requirement Analysis & Specification
Software Engineering : Requirement Analysis & SpecificationAjit Nayak
 
Ch 1-Non-functional Requirements.ppt
Ch 1-Non-functional Requirements.pptCh 1-Non-functional Requirements.ppt
Ch 1-Non-functional Requirements.pptbalewayalew
 
Software requirement and specification
Software requirement and specificationSoftware requirement and specification
Software requirement and specificationAman Adhikari
 
04. availability-concepts
04. availability-concepts04. availability-concepts
04. availability-conceptsMuhammad Ahad
 
Requirement Analysis
Requirement AnalysisRequirement Analysis
Requirement AnalysisSADEED AMEEN
 
Requirements analysis
Requirements analysisRequirements analysis
Requirements analysisasimnawaz54
 
Analysis concepts and principles
Analysis concepts and principlesAnalysis concepts and principles
Analysis concepts and principlessaurabhshertukde
 
software requirement specification
software requirement specificationsoftware requirement specification
software requirement specificationmaliksiddique1
 
Eliciting Non-Functional Requirements
Eliciting Non-Functional RequirementsEliciting Non-Functional Requirements
Eliciting Non-Functional RequirementsLisa Combest
 
Data flow diagrams (2)
Data flow diagrams (2)Data flow diagrams (2)
Data flow diagrams (2)Ujjwal 'Shanu'
 
Software Testing and Quality Assurance (Error, Bug, Fault)
Software Testing and Quality Assurance (Error, Bug, Fault)Software Testing and Quality Assurance (Error, Bug, Fault)
Software Testing and Quality Assurance (Error, Bug, Fault)Yogesh Late
 
Characteristics of Software
Characteristics of SoftwareCharacteristics of Software
Characteristics of SoftwareUpekha Vandebona
 

What's hot (20)

Functional vs Non-functional Requirements - Which comes first?
Functional vs Non-functional Requirements - Which comes first?Functional vs Non-functional Requirements - Which comes first?
Functional vs Non-functional Requirements - Which comes first?
 
Requirement analysis
Requirement analysisRequirement analysis
Requirement analysis
 
Aspect Oriented Software Engineering
Aspect Oriented Software EngineeringAspect Oriented Software Engineering
Aspect Oriented Software Engineering
 
Software Engineering : Requirement Analysis & Specification
Software Engineering : Requirement Analysis & SpecificationSoftware Engineering : Requirement Analysis & Specification
Software Engineering : Requirement Analysis & Specification
 
Ch 1-Non-functional Requirements.ppt
Ch 1-Non-functional Requirements.pptCh 1-Non-functional Requirements.ppt
Ch 1-Non-functional Requirements.ppt
 
Software requirement and specification
Software requirement and specificationSoftware requirement and specification
Software requirement and specification
 
Requirement Analysis - Software Enigneering
Requirement Analysis - Software EnigneeringRequirement Analysis - Software Enigneering
Requirement Analysis - Software Enigneering
 
04. availability-concepts
04. availability-concepts04. availability-concepts
04. availability-concepts
 
Requirement Analysis
Requirement AnalysisRequirement Analysis
Requirement Analysis
 
Srs template 1
Srs template 1Srs template 1
Srs template 1
 
Software requirements
Software requirementsSoftware requirements
Software requirements
 
Requirements analysis
Requirements analysisRequirements analysis
Requirements analysis
 
Analysis concepts and principles
Analysis concepts and principlesAnalysis concepts and principles
Analysis concepts and principles
 
software requirement specification
software requirement specificationsoftware requirement specification
software requirement specification
 
Eliciting Non-Functional Requirements
Eliciting Non-Functional RequirementsEliciting Non-Functional Requirements
Eliciting Non-Functional Requirements
 
Data flow diagrams (2)
Data flow diagrams (2)Data flow diagrams (2)
Data flow diagrams (2)
 
Software Testing and Quality Assurance (Error, Bug, Fault)
Software Testing and Quality Assurance (Error, Bug, Fault)Software Testing and Quality Assurance (Error, Bug, Fault)
Software Testing and Quality Assurance (Error, Bug, Fault)
 
Characteristics of Software
Characteristics of SoftwareCharacteristics of Software
Characteristics of Software
 
Srs template 1
Srs template 1Srs template 1
Srs template 1
 
Srs
SrsSrs
Srs
 

Viewers also liked

Capturing Measurable Non Functional Requirements
Capturing Measurable Non Functional RequirementsCapturing Measurable Non Functional Requirements
Capturing Measurable Non Functional RequirementsShehzad Lakdawala
 
Design for non functional requirements
Design for non functional requirementsDesign for non functional requirements
Design for non functional requirementsHabeeb Mahaboob
 
Handling Non Functional Requirements on an Agile Project
Handling Non Functional Requirements on an Agile ProjectHandling Non Functional Requirements on an Agile Project
Handling Non Functional Requirements on an Agile ProjectKen Howard
 
Functional requirements-document
Functional requirements-documentFunctional requirements-document
Functional requirements-documentAnil Kumar
 
Project report on ONLINE REAL ESTATE BUSINESS
Project report on ONLINE REAL ESTATE BUSINESSProject report on ONLINE REAL ESTATE BUSINESS
Project report on ONLINE REAL ESTATE BUSINESSDivyesh Shah
 
Business requirements gathering and analysis
Business requirements gathering and analysisBusiness requirements gathering and analysis
Business requirements gathering and analysisMena M. Eissa
 

Viewers also liked (6)

Capturing Measurable Non Functional Requirements
Capturing Measurable Non Functional RequirementsCapturing Measurable Non Functional Requirements
Capturing Measurable Non Functional Requirements
 
Design for non functional requirements
Design for non functional requirementsDesign for non functional requirements
Design for non functional requirements
 
Handling Non Functional Requirements on an Agile Project
Handling Non Functional Requirements on an Agile ProjectHandling Non Functional Requirements on an Agile Project
Handling Non Functional Requirements on an Agile Project
 
Functional requirements-document
Functional requirements-documentFunctional requirements-document
Functional requirements-document
 
Project report on ONLINE REAL ESTATE BUSINESS
Project report on ONLINE REAL ESTATE BUSINESSProject report on ONLINE REAL ESTATE BUSINESS
Project report on ONLINE REAL ESTATE BUSINESS
 
Business requirements gathering and analysis
Business requirements gathering and analysisBusiness requirements gathering and analysis
Business requirements gathering and analysis
 

Similar to Non functional requirement

Distributed Software Engineering with Client-Server Computing
Distributed Software Engineering with Client-Server ComputingDistributed Software Engineering with Client-Server Computing
Distributed Software Engineering with Client-Server ComputingHaseeb Rehman
 
ATTRIBUTES RELATED TO SOFTWARE AGING.docx
ATTRIBUTES RELATED TO SOFTWARE AGING.docxATTRIBUTES RELATED TO SOFTWARE AGING.docx
ATTRIBUTES RELATED TO SOFTWARE AGING.docxSumathi Gnanasekaran
 
ATTRIBUTES RELATED TO SOFTWARE AGING.docx
ATTRIBUTES RELATED TO SOFTWARE AGING.docxATTRIBUTES RELATED TO SOFTWARE AGING.docx
ATTRIBUTES RELATED TO SOFTWARE AGING.docxSumathi Gnanasekaran
 
ATTRIBUTES RELATED TO SOFTWARE AGING.docx
ATTRIBUTES RELATED TO SOFTWARE AGING.docxATTRIBUTES RELATED TO SOFTWARE AGING.docx
ATTRIBUTES RELATED TO SOFTWARE AGING.docxSumathi Gnanasekaran
 
Software engineering introduction
Software engineering introductionSoftware engineering introduction
Software engineering introductionVishal Singh
 
Please discuss Superscalar Processors.Please discuss embedded appl.pdf
Please discuss Superscalar Processors.Please discuss embedded appl.pdfPlease discuss Superscalar Processors.Please discuss embedded appl.pdf
Please discuss Superscalar Processors.Please discuss embedded appl.pdfajinthaenterprises
 
SOFTWARE QUALITY FACTORS_SQE.pptx
SOFTWARE QUALITY FACTORS_SQE.pptxSOFTWARE QUALITY FACTORS_SQE.pptx
SOFTWARE QUALITY FACTORS_SQE.pptxMusondaSichinga
 
System quality attributes
System quality attributes System quality attributes
System quality attributes Adil Mehmoood
 
Intro softwareeng
Intro softwareengIntro softwareeng
Intro softwareengPINKU29
 
Performance testing basics
Performance testing basicsPerformance testing basics
Performance testing basicsCharu Anand
 
Factors Affecting the System Safety || Linux
Factors Affecting the System Safety || LinuxFactors Affecting the System Safety || Linux
Factors Affecting the System Safety || LinuxZain Abid
 
SISTEMAS OPERATIVOS.pptx
SISTEMAS OPERATIVOS.pptxSISTEMAS OPERATIVOS.pptx
SISTEMAS OPERATIVOS.pptxAnalistaSoporte
 
Software Architecture and Design Introduction
Software Architecture and Design IntroductionSoftware Architecture and Design Introduction
Software Architecture and Design IntroductionUsman Khan
 
02. Fault Tolerance Pattern 위한 mindset
02. Fault Tolerance Pattern 위한 mindset02. Fault Tolerance Pattern 위한 mindset
02. Fault Tolerance Pattern 위한 mindseteva
 
Software quality factor
Software quality factorSoftware quality factor
Software quality factorMuntha Ulfat
 
Security Patterns - An Introduction
Security Patterns - An IntroductionSecurity Patterns - An Introduction
Security Patterns - An IntroductionMarcel Winandy
 
Non Functional Testing
Non Functional TestingNon Functional Testing
Non Functional TestingNishant Worah
 

Similar to Non functional requirement (20)

Distributed Software Engineering with Client-Server Computing
Distributed Software Engineering with Client-Server ComputingDistributed Software Engineering with Client-Server Computing
Distributed Software Engineering with Client-Server Computing
 
ATTRIBUTES RELATED TO SOFTWARE AGING.docx
ATTRIBUTES RELATED TO SOFTWARE AGING.docxATTRIBUTES RELATED TO SOFTWARE AGING.docx
ATTRIBUTES RELATED TO SOFTWARE AGING.docx
 
ATTRIBUTES RELATED TO SOFTWARE AGING.docx
ATTRIBUTES RELATED TO SOFTWARE AGING.docxATTRIBUTES RELATED TO SOFTWARE AGING.docx
ATTRIBUTES RELATED TO SOFTWARE AGING.docx
 
ATTRIBUTES RELATED TO SOFTWARE AGING.docx
ATTRIBUTES RELATED TO SOFTWARE AGING.docxATTRIBUTES RELATED TO SOFTWARE AGING.docx
ATTRIBUTES RELATED TO SOFTWARE AGING.docx
 
Software engineering introduction
Software engineering introductionSoftware engineering introduction
Software engineering introduction
 
Please discuss Superscalar Processors.Please discuss embedded appl.pdf
Please discuss Superscalar Processors.Please discuss embedded appl.pdfPlease discuss Superscalar Processors.Please discuss embedded appl.pdf
Please discuss Superscalar Processors.Please discuss embedded appl.pdf
 
Introduction to SDET
Introduction to SDETIntroduction to SDET
Introduction to SDET
 
SOFTWARE QUALITY FACTORS_SQE.pptx
SOFTWARE QUALITY FACTORS_SQE.pptxSOFTWARE QUALITY FACTORS_SQE.pptx
SOFTWARE QUALITY FACTORS_SQE.pptx
 
System quality attributes
System quality attributes System quality attributes
System quality attributes
 
Intro softwareeng
Intro softwareengIntro softwareeng
Intro softwareeng
 
Performance testing basics
Performance testing basicsPerformance testing basics
Performance testing basics
 
Qms
QmsQms
Qms
 
Factors Affecting the System Safety || Linux
Factors Affecting the System Safety || LinuxFactors Affecting the System Safety || Linux
Factors Affecting the System Safety || Linux
 
SISTEMAS OPERATIVOS.pptx
SISTEMAS OPERATIVOS.pptxSISTEMAS OPERATIVOS.pptx
SISTEMAS OPERATIVOS.pptx
 
Software Architecture and Design Introduction
Software Architecture and Design IntroductionSoftware Architecture and Design Introduction
Software Architecture and Design Introduction
 
Faq
FaqFaq
Faq
 
02. Fault Tolerance Pattern 위한 mindset
02. Fault Tolerance Pattern 위한 mindset02. Fault Tolerance Pattern 위한 mindset
02. Fault Tolerance Pattern 위한 mindset
 
Software quality factor
Software quality factorSoftware quality factor
Software quality factor
 
Security Patterns - An Introduction
Security Patterns - An IntroductionSecurity Patterns - An Introduction
Security Patterns - An Introduction
 
Non Functional Testing
Non Functional TestingNon Functional Testing
Non Functional Testing
 

Non functional requirement

  • 1. Q: Is there a nonfunctional requirements checklist that I can use? In my blog post, I outline a requirements checklist. I wanted to give a little more detail about each of the items on that list, and there's a good excerpt that I think will help. Availability: A system's availability, or "uptime," is the amount of time that it is operational and available for use. This is specified because some systems are designed with expected downtime for activities like database upgrades and backups. Efficiency: Specifies how well the software utilizes scarce resources: CPU cycles, disk space, memory, bandwidth, etc. Flexibility: If the organization intends to increase or extend the functionality of the software after it is deployed, that should be planned from the beginning; it influences choices made during the design, development, testing, and deployment of the system. Portability: Portability specifies the ease with which the software can be installed on all necessary platforms, and the platforms on which it is expected to run. Integrity: Integrity requirements define the security attributes of the system, restricting access to features or data to certain users and protecting the privacy of data entered into the software. Performance: The performance constraints specify the timing characteristics of the software. Certain tasks or features are more time-sensitive than others; the nonfunctional requirements should identify those software functions that have constraints on their performance. Reliability: Reliability specifies the capability of the software to maintain its performance over time. Unreliable software fails frequently, and certain tasks are more sensitive to failure (for example, because they cannot be restarted, or because they must be run at a certain time). Reusability: Many systems are developed with the ability to leverage common components across multiple products. Reusability indicates the extent to which software components should be designed in such a way that they can be used in applications other than the ones for which they were initially developed. Robustness: A robust system is able to handle error conditions gracefully, without failure. This includes a tolerance of invalid data, software defects, and unexpected operating conditions. Scalability: Software that is scalable has the ability to handle a wide variety of system configuration sizes. The nonfunctional requirements should specify the ways in which the system may be expected to scale up (by increasing hardware capacity, adding machines, etc.). Usability: Ease-of-use requirements address the factors that constitute the capacity of the software to be understood, learned, and used by its intended users.