SlideShare uma empresa Scribd logo
CHARACTERISTICS OF REQUIREMENTS
SOFTWARE REQUIREMENT ENGINEERING
PREPARED BY MUHAMMAD SAAD
B.S SOFTWARE ENGINEERING (PUCIT)
CHARACTERISTICS OF GOOD REQUIREMENTS
Bad requirements have been one of the top reasons for most of the projects, which fail and the rate of
failure is pretty high in the IT industry. So I thought to highlight key aspects of the software requirements,
which make requirements good and worthy.
Any good requirement should have these 6 characteristics:
 Complete
 Consistent
 Feasible
 Modifiable
 Unambiguous
 Testable
COMPLETE
The requirements must be complete, what is the meaning of completeness?
 It means that all the required information to implement (read Code) the requirement. There is no need to
assume anything in order to implement the same. One of the important aspects of completeness is to
also have measuring units, if applicable.
 In case of an error, the system must exit gracefully.
A complete requirement would be as follows:
 In case of an error, the system must show an error page to the users with the following message:
 Oops! We have encountered some error and working on it. In the while you can go to the home page
and try other options or write to us about what were you doing, so that we can help. Our email id
is support@abc.com
CONSISTENT
Consistency is an important aspect of requirements. It means that all inputs to any process, must be
processed similarly. It should not happen that processes produce different outputs for inputs coming from
different sources. Consistent requirements also mean that you will not find a contradicting information in the
SRS document.
Let’s look at these requirements:
 Req1: The invoices will be generated and sent automatically based on the milestones achieved with a
copy to the accounts department
 Req2: The accounts department will generate the invoice based on milestones achieved and will send it
to the customer.
The requirements mentioned above are not consistent as they are presenting contradictory information.
FEASIBLE
This is one of the crucial part of requirements capturing. All the requirements included in the SRS must be
feasible to implement. A requirement to be feasible must be:
 Implementable within the given time frame and budget
 Implementable using the existing and chosen technology platform
A feature, which will be used by the end users
Let’s look at some of the requirements below:
1. The developed software must be reliable and should not crash.
2. The developed software must be free of defects.
Both the above requirements are not feasible. There is no software which is free of defects
MODIFIABLE
Requirements are never static and don’t stop coming after the SRS document is signed off. We can’t
expect the customers to stop altering the requirements or adding new requirements as we also need to
look at business needs.
So the best way to manage the requirements is to manage these changes. In order to do so, we must have
an SRS, which clearly identifies each and every requirement in a systematic manner. In case of any
changes, the specific requirements and the dependent ones can be modified accordingly without impact
the others.
UNAMBIGUOUS
Unambiguous means a single interpretation. If a requirement is defined in such a manner that it can only be
interpreted in one way, it means that the requirement is unambiguous. All subjective words or statements
must be eliminated from the requirements.
Let’s look at this requirement:
 All the screens in the system must load quickly.
Do you think, this statement is clear? Certainly not. Nothing can be understood from the word “quickly”. It
must specify clearly what is the meaning of “quickly”. A better version of this requirement would be:
 All the screens in the system must load within 8 seconds.
TESTABLE
A testable requirement can be defined as a requirement, which can be tested and validated using any of the following methods:
 Inspection
 Walkthrough
 Demonstration
 Testing
In this manner, it is possible to ensure that the requirement has been implemented correctly.
Let’s take an example and examine if it is testable:
The system must be user-friendly.
If this is allowed to be part of the final SRS document, how will you test it once the software is developed and is ready to be
delivered for the UAT. It is not testable. So a better example would be:
The user interface should be menu driven on the top of the website along with site index. A tool tip for all the text boxes must be
provided.

Mais conteúdo relacionado

Semelhante a Characteristics of Requirements - Software Requirement Engineering.pptx

5(re dfd-erd-data dictionay)
5(re dfd-erd-data dictionay)5(re dfd-erd-data dictionay)
5(re dfd-erd-data dictionay)
randhirlpu
 
CHAPTER 1 BASIC CONCEPTS AND PRELIMINARIES
CHAPTER 1 BASIC CONCEPTS AND PRELIMINARIESCHAPTER 1 BASIC CONCEPTS AND PRELIMINARIES
CHAPTER 1 BASIC CONCEPTS AND PRELIMINARIES
Samruddhi Sheth
 
Software reliability engineering
Software reliability engineeringSoftware reliability engineering
Software reliability engineering
Mark Turner CRP
 
Manualtestinginterviewquestionbyinfotech 100901071035-phpapp01
Manualtestinginterviewquestionbyinfotech 100901071035-phpapp01Manualtestinginterviewquestionbyinfotech 100901071035-phpapp01
Manualtestinginterviewquestionbyinfotech 100901071035-phpapp01
Anshuman Rai
 
Manual testing interview questions by infotech
Manual testing interview questions by infotech Manual testing interview questions by infotech
Manual testing interview questions by infotech
suhasreddy1
 

Semelhante a Characteristics of Requirements - Software Requirement Engineering.pptx (20)

Basic interview questions for manual testing
Basic interview questions for manual testingBasic interview questions for manual testing
Basic interview questions for manual testing
 
Writing srs
Writing srsWriting srs
Writing srs
 
5(re dfd-erd-data dictionay)
5(re dfd-erd-data dictionay)5(re dfd-erd-data dictionay)
5(re dfd-erd-data dictionay)
 
Manual testing interview question by INFOTECH
Manual testing interview question by INFOTECHManual testing interview question by INFOTECH
Manual testing interview question by INFOTECH
 
functional testing
functional testing functional testing
functional testing
 
Mingle box - Online Job seeking System
Mingle box - Online Job seeking SystemMingle box - Online Job seeking System
Mingle box - Online Job seeking System
 
CHAPTER 1 BASIC CONCEPTS AND PRELIMINARIES
CHAPTER 1 BASIC CONCEPTS AND PRELIMINARIESCHAPTER 1 BASIC CONCEPTS AND PRELIMINARIES
CHAPTER 1 BASIC CONCEPTS AND PRELIMINARIES
 
Info manual testing questions
Info manual testing questionsInfo manual testing questions
Info manual testing questions
 
Requirements Verification v3
Requirements Verification v3Requirements Verification v3
Requirements Verification v3
 
Istqb intro with question answer for exam preparation
Istqb intro with question answer for exam preparationIstqb intro with question answer for exam preparation
Istqb intro with question answer for exam preparation
 
Software reliability engineering
Software reliability engineeringSoftware reliability engineering
Software reliability engineering
 
Manualtestinginterviewquestionbyinfotech 100901071035-phpapp01
Manualtestinginterviewquestionbyinfotech 100901071035-phpapp01Manualtestinginterviewquestionbyinfotech 100901071035-phpapp01
Manualtestinginterviewquestionbyinfotech 100901071035-phpapp01
 
Manual testing interview questions by infotech
Manual testing interview questions by infotech Manual testing interview questions by infotech
Manual testing interview questions by infotech
 
Software Process and Requirement
Software Process and RequirementSoftware Process and Requirement
Software Process and Requirement
 
Se lec-uosl-8
Se lec-uosl-8Se lec-uosl-8
Se lec-uosl-8
 
Requirements Engineering
Requirements EngineeringRequirements Engineering
Requirements Engineering
 
Software Quality Measure
Software Quality MeasureSoftware Quality Measure
Software Quality Measure
 
Fundamentals of testing
Fundamentals of testingFundamentals of testing
Fundamentals of testing
 
Fundamentals of testing
Fundamentals of testingFundamentals of testing
Fundamentals of testing
 
Requirement Engineering
Requirement EngineeringRequirement Engineering
Requirement Engineering
 

Último

Industrial Training Report- AKTU Industrial Training Report
Industrial Training Report- AKTU Industrial Training ReportIndustrial Training Report- AKTU Industrial Training Report
Industrial Training Report- AKTU Industrial Training Report
Avinash Rai
 
ppt your views.ppt your views of your college in your eyes
ppt your views.ppt your views of your college in your eyesppt your views.ppt your views of your college in your eyes
ppt your views.ppt your views of your college in your eyes
ashishpaul799
 

Último (20)

Industrial Training Report- AKTU Industrial Training Report
Industrial Training Report- AKTU Industrial Training ReportIndustrial Training Report- AKTU Industrial Training Report
Industrial Training Report- AKTU Industrial Training Report
 
The Last Leaf, a short story by O. Henry
The Last Leaf, a short story by O. HenryThe Last Leaf, a short story by O. Henry
The Last Leaf, a short story by O. Henry
 
The Art Pastor's Guide to Sabbath | Steve Thomason
The Art Pastor's Guide to Sabbath | Steve ThomasonThe Art Pastor's Guide to Sabbath | Steve Thomason
The Art Pastor's Guide to Sabbath | Steve Thomason
 
Sectors of the Indian Economy - Class 10 Study Notes pdf
Sectors of the Indian Economy - Class 10 Study Notes pdfSectors of the Indian Economy - Class 10 Study Notes pdf
Sectors of the Indian Economy - Class 10 Study Notes pdf
 
Basic Civil Engg Notes_Chapter-6_Environment Pollution & Engineering
Basic Civil Engg Notes_Chapter-6_Environment Pollution & EngineeringBasic Civil Engg Notes_Chapter-6_Environment Pollution & Engineering
Basic Civil Engg Notes_Chapter-6_Environment Pollution & Engineering
 
Gyanartha SciBizTech Quiz slideshare.pptx
Gyanartha SciBizTech Quiz slideshare.pptxGyanartha SciBizTech Quiz slideshare.pptx
Gyanartha SciBizTech Quiz slideshare.pptx
 
Morse OER Some Benefits and Challenges.pptx
Morse OER Some Benefits and Challenges.pptxMorse OER Some Benefits and Challenges.pptx
Morse OER Some Benefits and Challenges.pptx
 
Jose-Rizal-and-Philippine-Nationalism-National-Symbol-2.pptx
Jose-Rizal-and-Philippine-Nationalism-National-Symbol-2.pptxJose-Rizal-and-Philippine-Nationalism-National-Symbol-2.pptx
Jose-Rizal-and-Philippine-Nationalism-National-Symbol-2.pptx
 
Sha'Carri Richardson Presentation 202345
Sha'Carri Richardson Presentation 202345Sha'Carri Richardson Presentation 202345
Sha'Carri Richardson Presentation 202345
 
Telling Your Story_ Simple Steps to Build Your Nonprofit's Brand Webinar.pdf
Telling Your Story_ Simple Steps to Build Your Nonprofit's Brand Webinar.pdfTelling Your Story_ Simple Steps to Build Your Nonprofit's Brand Webinar.pdf
Telling Your Story_ Simple Steps to Build Your Nonprofit's Brand Webinar.pdf
 
How to Split Bills in the Odoo 17 POS Module
How to Split Bills in the Odoo 17 POS ModuleHow to Split Bills in the Odoo 17 POS Module
How to Split Bills in the Odoo 17 POS Module
 
Salient features of Environment protection Act 1986.pptx
Salient features of Environment protection Act 1986.pptxSalient features of Environment protection Act 1986.pptx
Salient features of Environment protection Act 1986.pptx
 
ppt your views.ppt your views of your college in your eyes
ppt your views.ppt your views of your college in your eyesppt your views.ppt your views of your college in your eyes
ppt your views.ppt your views of your college in your eyes
 
[GDSC YCCE] Build with AI Online Presentation
[GDSC YCCE] Build with AI Online Presentation[GDSC YCCE] Build with AI Online Presentation
[GDSC YCCE] Build with AI Online Presentation
 
MARUTI SUZUKI- A Successful Joint Venture in India.pptx
MARUTI SUZUKI- A Successful Joint Venture in India.pptxMARUTI SUZUKI- A Successful Joint Venture in India.pptx
MARUTI SUZUKI- A Successful Joint Venture in India.pptx
 
Danh sách HSG Bộ môn cấp trường - Cấp THPT.pdf
Danh sách HSG Bộ môn cấp trường - Cấp THPT.pdfDanh sách HSG Bộ môn cấp trường - Cấp THPT.pdf
Danh sách HSG Bộ môn cấp trường - Cấp THPT.pdf
 
The impact of social media on mental health and well-being has been a topic o...
The impact of social media on mental health and well-being has been a topic o...The impact of social media on mental health and well-being has been a topic o...
The impact of social media on mental health and well-being has been a topic o...
 
Instructions for Submissions thorugh G- Classroom.pptx
Instructions for Submissions thorugh G- Classroom.pptxInstructions for Submissions thorugh G- Classroom.pptx
Instructions for Submissions thorugh G- Classroom.pptx
 
INU_CAPSTONEDESIGN_비밀번호486_업로드용 발표자료.pdf
INU_CAPSTONEDESIGN_비밀번호486_업로드용 발표자료.pdfINU_CAPSTONEDESIGN_비밀번호486_업로드용 발표자료.pdf
INU_CAPSTONEDESIGN_비밀번호486_업로드용 발표자료.pdf
 
Introduction to Quality Improvement Essentials
Introduction to Quality Improvement EssentialsIntroduction to Quality Improvement Essentials
Introduction to Quality Improvement Essentials
 

Characteristics of Requirements - Software Requirement Engineering.pptx

  • 1. CHARACTERISTICS OF REQUIREMENTS SOFTWARE REQUIREMENT ENGINEERING PREPARED BY MUHAMMAD SAAD B.S SOFTWARE ENGINEERING (PUCIT)
  • 2. CHARACTERISTICS OF GOOD REQUIREMENTS Bad requirements have been one of the top reasons for most of the projects, which fail and the rate of failure is pretty high in the IT industry. So I thought to highlight key aspects of the software requirements, which make requirements good and worthy. Any good requirement should have these 6 characteristics:  Complete  Consistent  Feasible  Modifiable  Unambiguous  Testable
  • 3. COMPLETE The requirements must be complete, what is the meaning of completeness?  It means that all the required information to implement (read Code) the requirement. There is no need to assume anything in order to implement the same. One of the important aspects of completeness is to also have measuring units, if applicable.  In case of an error, the system must exit gracefully. A complete requirement would be as follows:  In case of an error, the system must show an error page to the users with the following message:  Oops! We have encountered some error and working on it. In the while you can go to the home page and try other options or write to us about what were you doing, so that we can help. Our email id is support@abc.com
  • 4. CONSISTENT Consistency is an important aspect of requirements. It means that all inputs to any process, must be processed similarly. It should not happen that processes produce different outputs for inputs coming from different sources. Consistent requirements also mean that you will not find a contradicting information in the SRS document. Let’s look at these requirements:  Req1: The invoices will be generated and sent automatically based on the milestones achieved with a copy to the accounts department  Req2: The accounts department will generate the invoice based on milestones achieved and will send it to the customer. The requirements mentioned above are not consistent as they are presenting contradictory information.
  • 5. FEASIBLE This is one of the crucial part of requirements capturing. All the requirements included in the SRS must be feasible to implement. A requirement to be feasible must be:  Implementable within the given time frame and budget  Implementable using the existing and chosen technology platform A feature, which will be used by the end users Let’s look at some of the requirements below: 1. The developed software must be reliable and should not crash. 2. The developed software must be free of defects. Both the above requirements are not feasible. There is no software which is free of defects
  • 6. MODIFIABLE Requirements are never static and don’t stop coming after the SRS document is signed off. We can’t expect the customers to stop altering the requirements or adding new requirements as we also need to look at business needs. So the best way to manage the requirements is to manage these changes. In order to do so, we must have an SRS, which clearly identifies each and every requirement in a systematic manner. In case of any changes, the specific requirements and the dependent ones can be modified accordingly without impact the others.
  • 7. UNAMBIGUOUS Unambiguous means a single interpretation. If a requirement is defined in such a manner that it can only be interpreted in one way, it means that the requirement is unambiguous. All subjective words or statements must be eliminated from the requirements. Let’s look at this requirement:  All the screens in the system must load quickly. Do you think, this statement is clear? Certainly not. Nothing can be understood from the word “quickly”. It must specify clearly what is the meaning of “quickly”. A better version of this requirement would be:  All the screens in the system must load within 8 seconds.
  • 8. TESTABLE A testable requirement can be defined as a requirement, which can be tested and validated using any of the following methods:  Inspection  Walkthrough  Demonstration  Testing In this manner, it is possible to ensure that the requirement has been implemented correctly. Let’s take an example and examine if it is testable: The system must be user-friendly. If this is allowed to be part of the final SRS document, how will you test it once the software is developed and is ready to be delivered for the UAT. It is not testable. So a better example would be: The user interface should be menu driven on the top of the website along with site index. A tool tip for all the text boxes must be provided.