SlideShare a Scribd company logo
1 of 7
Download to read offline
************ [WIEGERS-2003], Chapter 1 **************************************************************
Many software problems arise from shortcomings in the ways that people gather, document, agree on, and modify the
product's requirements. The problem areas might include informal information gathering, implied functionality,
erroneous or uncommunicated assumptions, inadequately defined requirements, and a casual change process.
Requirements are a specification of what should be implemented. They are descriptions of how the system should
behave, or of a system property or attribute. They may be a constraint on the development process of the system
(Sommerville 1997). Requirements must be documented, they are the foundation for both the software development
and the project management activities, all stakeholders must be committed to following an effective requirements
process.
Software requirements include three distinct
levels—business requirements, user
requirements, and functional requirements.
In addition, every system has an assortment
of nonfunctional requirements.
Business requirements describe why the
organization is implementing the system—
the objectives the organization hopes to
achieve.
User requirements describe user goals or
tasks that the users must be able to perform
with the product.
Functional requirements specify the
software functionality that the developers
must build into the product to enable users
to accomplish their tasks, thereby satisfying
the business requirements. Functional
requirements are documented in a software requirements specification (SRS). System requirements describes the top-
level requirements for a product that contains multiple subsystems—that is, a system.
A feature is a set of logically related functional requirements that provides a capability to the user and enables the
satisfaction of a business objective.
Requirements specifications do NOT include design or implementation details (other than known constraints), project
planning information, or testing information. These are project requirements but not product requirements;
These sub disciplines encompass all the
activities involved with gathering, evaluating,
and documenting the requirements for a
software or software-containing product.
Requirements management entails
"establishing and maintaining an
agreement with the customer on the
requirements for the software
project".
It costs far more to correct a defect
that's found late in the project than
to fix it shortly after its creation.
Preventing requirements errors and
catching them early therefore has a
huge leveraging effect on reducing
rework.
When Bad Requirements Happen to Nice People
 Insufficient user involvement leads to late-breaking requirements that delay project completion.
 Creeping User Requirements
 Ambiguous Requirements
 Gold Platting, when a developer adds functionality that wasn't in the requirements specification
 Minimal Specification
 Overlooked User Classes
 Inaccurate Planning
Benefits from a High-Quality Requirements Process
 Fewer requirements defects
 Reduced development rework
 Fewer unnecessary features
 Lower enhancement costs
 Faster development
 Fewer miscommunications
 Reduced scope creep
 Reduced project chaos
 More accurate system-testing estimates
 Higher customer and team member satisfaction
Requirement Statement Characteristics
 Complete
 Correct
 Feasible
 Necessary
 Prioritized
 Unambiguous
 Verifiable
Requirements Specification Characteristics
 Complete
 Consistence
 Modifiable
 Traceable
************ [WIEGERS-2003], Chapter 2 **************************************************************
Customer is an individual or organization who derives either direct or indirect benefit from a product.
Signing off on the requirements document is the mark of customer approval of the requirements. Don't use sign-off as a
weapon. Use it as a project milestone, with a clear, shared understanding of the activities that lead to sign-off and its
implications for future changes
************ [WIEGERS-2003], Chapter 3 **************************************************************
A Requirements Development Process
************ [WIEGERS-2003], Chapter 5 **************************************************************
Establishing the Product Vision and Project Scope
The business requirements represent the top level of abstraction in the requirements chain: they define the vision and
scope for the software system. The user requirements and software functional requirements must align with the context
and objectives that the business requirements establish. Requirements that don't help the project achieve its business
objectives shouldn't be included.
Defining the Vision through Business Requirements
Business Requirements and Use Cases
The business requirements determine both the set of business tasks (use cases) that the application enables (the
application breadth) and the depth or level to which each use case is implemented. If the business requirements help
you determine that a particular use case is outside the project's scope, you're making a breadth decision. The depth of
support can range from a trivial implementation to full automation with many usability aids. The business requirements
will imply which use cases demand robust, comprehensive functional implementation and which require merely
superficial implementation, at least initially.
Vision and scope document collects the business requirements
into a single document that sets the stage for the subsequent
development work.
Business Opportunity: Exploit the poor security record of a
competing product.
Business Objective: Capture a market share of 80 percent by
being recognized as the most secure product in the market
through trade journal reviews and consumer surveys.
Customer Need: A more secure product.
Feature: A new, robust security engine.
The scope description establishes the boundary and
connections between the system we are developing
and everything else in the universe. The context
diagram graphically illustrates this boundary. It
identifies terminators outside the system that
interface to it in some way, as well as data, control,
and material flows between the terminators and the
system.
The purpose of tools such as the context diagram is to
foster clear and accurate communication among the
project stakeholders.

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
 
Software Requirements (3rd Edition) summary
Software Requirements (3rd Edition) summarySoftware Requirements (3rd Edition) summary
Software Requirements (3rd Edition) summaryAhmed Kamel Taha
 
Software Requirements and Specifications
Software Requirements and SpecificationsSoftware Requirements and Specifications
Software Requirements and Specificationsvustudent1
 
Requirement and Specification
Requirement and SpecificationRequirement and Specification
Requirement and Specificationsarojsaroza
 
business requirements functional and non functional
business requirements functional and  non functionalbusiness requirements functional and  non functional
business requirements functional and non functionalCHANDRA KAMAL
 
Software Requirements
 Software Requirements Software Requirements
Software RequirementsZaman Khan
 
Agile and plan based development processes
Agile and plan based development processesAgile and plan based development processes
Agile and plan based development processessommerville-videos
 
Software requirements and analysis
Software requirements and analysisSoftware requirements and analysis
Software requirements and analysisPhanindra Cherukuri
 
Non functional performance requirements v2.2
Non functional performance requirements v2.2Non functional performance requirements v2.2
Non functional performance requirements v2.2Ian McDonald
 
Software Requirements in Software Engineering SE5
Software Requirements in Software Engineering SE5Software Requirements in Software Engineering SE5
Software Requirements in Software Engineering SE5koolkampus
 
System requirements specification (srs)
System requirements specification (srs)System requirements specification (srs)
System requirements specification (srs)Savyasachi14
 
Requirement specification
Requirement specificationRequirement specification
Requirement specificationAbdul Basit
 
SRS(software requirement specification)
SRS(software requirement specification)SRS(software requirement specification)
SRS(software requirement specification)Akash Kumar Dhameja
 
Business Intelligence - Data Practices
Business Intelligence - Data PracticesBusiness Intelligence - Data Practices
Business Intelligence - Data PracticesManuell Labor
 
Good Practices For Developing User Requirements
Good Practices For Developing User RequirementsGood Practices For Developing User Requirements
Good Practices For Developing User Requirementsnkaur
 
Requirement analysis and specification
Requirement analysis and specificationRequirement analysis and specification
Requirement analysis and specificationM.E. at GTU- PG School
 
software engineering
software engineeringsoftware engineering
software engineeringSnow Queenzz
 
Requirements engineering
Requirements engineeringRequirements engineering
Requirements engineeringAyaz Shariff
 

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?
 
Software Requirements (3rd Edition) summary
Software Requirements (3rd Edition) summarySoftware Requirements (3rd Edition) summary
Software Requirements (3rd Edition) summary
 
Software Requirements and Specifications
Software Requirements and SpecificationsSoftware Requirements and Specifications
Software Requirements and Specifications
 
Requirement and Specification
Requirement and SpecificationRequirement and Specification
Requirement and Specification
 
business requirements functional and non functional
business requirements functional and  non functionalbusiness requirements functional and  non functional
business requirements functional and non functional
 
Software Requirements
 Software Requirements Software Requirements
Software Requirements
 
Agile and plan based development processes
Agile and plan based development processesAgile and plan based development processes
Agile and plan based development processes
 
Software requirements and analysis
Software requirements and analysisSoftware requirements and analysis
Software requirements and analysis
 
Non functional performance requirements v2.2
Non functional performance requirements v2.2Non functional performance requirements v2.2
Non functional performance requirements v2.2
 
Software Requirements in Software Engineering SE5
Software Requirements in Software Engineering SE5Software Requirements in Software Engineering SE5
Software Requirements in Software Engineering SE5
 
System requirements specification (srs)
System requirements specification (srs)System requirements specification (srs)
System requirements specification (srs)
 
Requirement specification
Requirement specificationRequirement specification
Requirement specification
 
SRS(software requirement specification)
SRS(software requirement specification)SRS(software requirement specification)
SRS(software requirement specification)
 
Requirements management
Requirements managementRequirements management
Requirements management
 
Business Intelligence - Data Practices
Business Intelligence - Data PracticesBusiness Intelligence - Data Practices
Business Intelligence - Data Practices
 
Requirement analysis
Requirement analysisRequirement analysis
Requirement analysis
 
Good Practices For Developing User Requirements
Good Practices For Developing User RequirementsGood Practices For Developing User Requirements
Good Practices For Developing User Requirements
 
Requirement analysis and specification
Requirement analysis and specificationRequirement analysis and specification
Requirement analysis and specification
 
software engineering
software engineeringsoftware engineering
software engineering
 
Requirements engineering
Requirements engineeringRequirements engineering
Requirements engineering
 

Viewers also liked

Viewers also liked (8)

Sqa material
Sqa materialSqa material
Sqa material
 
McCall - How to Survive an ICE Audit
McCall - How to Survive an ICE AuditMcCall - How to Survive an ICE Audit
McCall - How to Survive an ICE Audit
 
Quality Software
Quality SoftwareQuality Software
Quality Software
 
Mc call's software quality model
Mc call's software quality modelMc call's software quality model
Mc call's software quality model
 
Quality framework 1
Quality framework 1Quality framework 1
Quality framework 1
 
Quality Models
Quality ModelsQuality Models
Quality Models
 
Chapter 7 software reliability
Chapter 7 software reliabilityChapter 7 software reliability
Chapter 7 software reliability
 
Software quality
Software qualitySoftware quality
Software quality
 

Similar to Reading Summary - Software Requirements + Characteristics of Well Written Requirements

Software Requirement Specification
Software Requirement SpecificationSoftware Requirement Specification
Software Requirement SpecificationVishal Singh
 
Lecture 04
Lecture 04Lecture 04
Lecture 04Rana Ali
 
INTRODUCTION to software engineering requirements specifications
INTRODUCTION to software engineering requirements specificationsINTRODUCTION to software engineering requirements specifications
INTRODUCTION to software engineering requirements specificationskylan2
 
Putting-MANAGEMENT-into-Your-Requirements-Management_Dec2005
Putting-MANAGEMENT-into-Your-Requirements-Management_Dec2005Putting-MANAGEMENT-into-Your-Requirements-Management_Dec2005
Putting-MANAGEMENT-into-Your-Requirements-Management_Dec2005pbaxter
 
Requirement Engineering Processes & Eliciting Requirement
Requirement Engineering Processes & Eliciting Requirement Requirement Engineering Processes & Eliciting Requirement
Requirement Engineering Processes & Eliciting Requirement AqsaHayat3
 
SE Unit 2(1).pptx
SE Unit 2(1).pptxSE Unit 2(1).pptx
SE Unit 2(1).pptxaryan631999
 
Lecture 9 understanding requirements
Lecture 9   understanding requirementsLecture 9   understanding requirements
Lecture 9 understanding requirementsIIUI
 
Chapter 01 - Introduction.pdf
Chapter 01 - Introduction.pdfChapter 01 - Introduction.pdf
Chapter 01 - Introduction.pdfAnas Nakash
 
Softwareenggineering lab manual
Softwareenggineering lab manualSoftwareenggineering lab manual
Softwareenggineering lab manualVivek Kumar Sinha
 
Requirements engineering
Requirements engineeringRequirements engineering
Requirements engineeringJennifer Polack
 
A novel defect detection method for software requirements inspections
A novel defect detection method for software requirements inspections A novel defect detection method for software requirements inspections
A novel defect detection method for software requirements inspections IJECEIAES
 
Software engineering
Software engineeringSoftware engineering
Software engineeringrenukarenuka9
 
Software engineering
Software engineeringSoftware engineering
Software engineeringrenukarenuka9
 
Requirement Analysis & Specification sharbani bhattacharya
Requirement Analysis & Specification sharbani bhattacharyaRequirement Analysis & Specification sharbani bhattacharya
Requirement Analysis & Specification sharbani bhattacharyaSharbani Bhattacharya
 
Mingle box - Online Job seeking System
Mingle box - Online Job seeking SystemMingle box - Online Job seeking System
Mingle box - Online Job seeking SystemBharat Kalia
 

Similar to Reading Summary - Software Requirements + Characteristics of Well Written Requirements (20)

Software Requirement Specification
Software Requirement SpecificationSoftware Requirement Specification
Software Requirement Specification
 
Lecture 04
Lecture 04Lecture 04
Lecture 04
 
Requirements engineering
Requirements engineeringRequirements engineering
Requirements engineering
 
INTRODUCTION to software engineering requirements specifications
INTRODUCTION to software engineering requirements specificationsINTRODUCTION to software engineering requirements specifications
INTRODUCTION to software engineering requirements specifications
 
Reqs analysis
Reqs analysisReqs analysis
Reqs analysis
 
Putting-MANAGEMENT-into-Your-Requirements-Management_Dec2005
Putting-MANAGEMENT-into-Your-Requirements-Management_Dec2005Putting-MANAGEMENT-into-Your-Requirements-Management_Dec2005
Putting-MANAGEMENT-into-Your-Requirements-Management_Dec2005
 
Requirement Engineering Processes & Eliciting Requirement
Requirement Engineering Processes & Eliciting Requirement Requirement Engineering Processes & Eliciting Requirement
Requirement Engineering Processes & Eliciting Requirement
 
SE Unit 2(1).pptx
SE Unit 2(1).pptxSE Unit 2(1).pptx
SE Unit 2(1).pptx
 
Lecture 9 understanding requirements
Lecture 9   understanding requirementsLecture 9   understanding requirements
Lecture 9 understanding requirements
 
Chapter 01 - Introduction.pdf
Chapter 01 - Introduction.pdfChapter 01 - Introduction.pdf
Chapter 01 - Introduction.pdf
 
Softwareenggineering lab manual
Softwareenggineering lab manualSoftwareenggineering lab manual
Softwareenggineering lab manual
 
SE-Unit II.pdf
SE-Unit II.pdfSE-Unit II.pdf
SE-Unit II.pdf
 
Requirements engineering
Requirements engineeringRequirements engineering
Requirements engineering
 
A novel defect detection method for software requirements inspections
A novel defect detection method for software requirements inspections A novel defect detection method for software requirements inspections
A novel defect detection method for software requirements inspections
 
Functional specs
Functional specsFunctional specs
Functional specs
 
Unit 2
Unit 2Unit 2
Unit 2
 
Software engineering
Software engineeringSoftware engineering
Software engineering
 
Software engineering
Software engineeringSoftware engineering
Software engineering
 
Requirement Analysis & Specification sharbani bhattacharya
Requirement Analysis & Specification sharbani bhattacharyaRequirement Analysis & Specification sharbani bhattacharya
Requirement Analysis & Specification sharbani bhattacharya
 
Mingle box - Online Job seeking System
Mingle box - Online Job seeking SystemMingle box - Online Job seeking System
Mingle box - Online Job seeking System
 

More from Artemisa Yescas Engler

Maestría en Ciencias de la Computación - Tec de Mty - Campus Guadalajara
Maestría en Ciencias de la Computación - Tec de Mty - Campus GuadalajaraMaestría en Ciencias de la Computación - Tec de Mty - Campus Guadalajara
Maestría en Ciencias de la Computación - Tec de Mty - Campus GuadalajaraArtemisa Yescas Engler
 
Reading Summary - Static Analysis to find Bugs & ROI Models for Static Analys...
Reading Summary - Static Analysis to find Bugs & ROI Models for Static Analys...Reading Summary - Static Analysis to find Bugs & ROI Models for Static Analys...
Reading Summary - Static Analysis to find Bugs & ROI Models for Static Analys...Artemisa Yescas Engler
 
Reading Summary - Effective Software Defect Tracking + Pragmatic Unit Testing
Reading Summary - Effective Software Defect Tracking + Pragmatic Unit TestingReading Summary - Effective Software Defect Tracking + Pragmatic Unit Testing
Reading Summary - Effective Software Defect Tracking + Pragmatic Unit TestingArtemisa Yescas Engler
 
Reading Summary - Business Modeling + Peer Code Review + SW Inspections
Reading Summary - Business Modeling + Peer Code Review + SW InspectionsReading Summary - Business Modeling + Peer Code Review + SW Inspections
Reading Summary - Business Modeling + Peer Code Review + SW InspectionsArtemisa Yescas Engler
 
Reading Summary - Agile Documentation + Continuous Integration
Reading Summary - Agile Documentation + Continuous IntegrationReading Summary - Agile Documentation + Continuous Integration
Reading Summary - Agile Documentation + Continuous IntegrationArtemisa Yescas Engler
 
Reading Summary - Software Agile Development + Scrum
Reading Summary - Software Agile Development + Scrum Reading Summary - Software Agile Development + Scrum
Reading Summary - Software Agile Development + Scrum Artemisa Yescas Engler
 
Reading Summary - Teamwork + Team Structure + Configuration Management
Reading Summary - Teamwork + Team Structure + Configuration ManagementReading Summary - Teamwork + Team Structure + Configuration Management
Reading Summary - Teamwork + Team Structure + Configuration ManagementArtemisa Yescas Engler
 
Reading Summary - Team Motivation + Software Lifecycles Models
Reading Summary - Team Motivation + Software Lifecycles ModelsReading Summary - Team Motivation + Software Lifecycles Models
Reading Summary - Team Motivation + Software Lifecycles ModelsArtemisa Yescas Engler
 

More from Artemisa Yescas Engler (9)

Maestría en Ciencias de la Computación - Tec de Mty - Campus Guadalajara
Maestría en Ciencias de la Computación - Tec de Mty - Campus GuadalajaraMaestría en Ciencias de la Computación - Tec de Mty - Campus Guadalajara
Maestría en Ciencias de la Computación - Tec de Mty - Campus Guadalajara
 
Reading Summary - Static Analysis to find Bugs & ROI Models for Static Analys...
Reading Summary - Static Analysis to find Bugs & ROI Models for Static Analys...Reading Summary - Static Analysis to find Bugs & ROI Models for Static Analys...
Reading Summary - Static Analysis to find Bugs & ROI Models for Static Analys...
 
Reading Summary - Effective Software Defect Tracking + Pragmatic Unit Testing
Reading Summary - Effective Software Defect Tracking + Pragmatic Unit TestingReading Summary - Effective Software Defect Tracking + Pragmatic Unit Testing
Reading Summary - Effective Software Defect Tracking + Pragmatic Unit Testing
 
Reading Summary - Business Modeling + Peer Code Review + SW Inspections
Reading Summary - Business Modeling + Peer Code Review + SW InspectionsReading Summary - Business Modeling + Peer Code Review + SW Inspections
Reading Summary - Business Modeling + Peer Code Review + SW Inspections
 
Reading Summary - Agile Documentation + Continuous Integration
Reading Summary - Agile Documentation + Continuous IntegrationReading Summary - Agile Documentation + Continuous Integration
Reading Summary - Agile Documentation + Continuous Integration
 
Reading Summary - Software Agile Development + Scrum
Reading Summary - Software Agile Development + Scrum Reading Summary - Software Agile Development + Scrum
Reading Summary - Software Agile Development + Scrum
 
Reading Summary - Teamwork + Team Structure + Configuration Management
Reading Summary - Teamwork + Team Structure + Configuration ManagementReading Summary - Teamwork + Team Structure + Configuration Management
Reading Summary - Teamwork + Team Structure + Configuration Management
 
Reading Summary - Team Motivation + Software Lifecycles Models
Reading Summary - Team Motivation + Software Lifecycles ModelsReading Summary - Team Motivation + Software Lifecycles Models
Reading Summary - Team Motivation + Software Lifecycles Models
 
About Node.js
About Node.jsAbout Node.js
About Node.js
 

Recently uploaded

WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demoHarshalMandlekar2
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
What is Artificial Intelligence?????????
What is Artificial Intelligence?????????What is Artificial Intelligence?????????
What is Artificial Intelligence?????????blackmambaettijean
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxBkGupta21
 

Recently uploaded (20)

WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demo
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
What is Artificial Intelligence?????????
What is Artificial Intelligence?????????What is Artificial Intelligence?????????
What is Artificial Intelligence?????????
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptx
 

Reading Summary - Software Requirements + Characteristics of Well Written Requirements

  • 1. ************ [WIEGERS-2003], Chapter 1 ************************************************************** Many software problems arise from shortcomings in the ways that people gather, document, agree on, and modify the product's requirements. The problem areas might include informal information gathering, implied functionality, erroneous or uncommunicated assumptions, inadequately defined requirements, and a casual change process. Requirements are a specification of what should be implemented. They are descriptions of how the system should behave, or of a system property or attribute. They may be a constraint on the development process of the system (Sommerville 1997). Requirements must be documented, they are the foundation for both the software development and the project management activities, all stakeholders must be committed to following an effective requirements process. Software requirements include three distinct levels—business requirements, user requirements, and functional requirements. In addition, every system has an assortment of nonfunctional requirements. Business requirements describe why the organization is implementing the system— the objectives the organization hopes to achieve. User requirements describe user goals or tasks that the users must be able to perform with the product. Functional requirements specify the software functionality that the developers must build into the product to enable users to accomplish their tasks, thereby satisfying the business requirements. Functional requirements are documented in a software requirements specification (SRS). System requirements describes the top- level requirements for a product that contains multiple subsystems—that is, a system. A feature is a set of logically related functional requirements that provides a capability to the user and enables the satisfaction of a business objective. Requirements specifications do NOT include design or implementation details (other than known constraints), project planning information, or testing information. These are project requirements but not product requirements; These sub disciplines encompass all the activities involved with gathering, evaluating, and documenting the requirements for a software or software-containing product.
  • 2. Requirements management entails "establishing and maintaining an agreement with the customer on the requirements for the software project". It costs far more to correct a defect that's found late in the project than to fix it shortly after its creation. Preventing requirements errors and catching them early therefore has a huge leveraging effect on reducing rework. When Bad Requirements Happen to Nice People  Insufficient user involvement leads to late-breaking requirements that delay project completion.  Creeping User Requirements  Ambiguous Requirements  Gold Platting, when a developer adds functionality that wasn't in the requirements specification  Minimal Specification  Overlooked User Classes  Inaccurate Planning Benefits from a High-Quality Requirements Process  Fewer requirements defects  Reduced development rework  Fewer unnecessary features  Lower enhancement costs  Faster development  Fewer miscommunications  Reduced scope creep  Reduced project chaos  More accurate system-testing estimates  Higher customer and team member satisfaction Requirement Statement Characteristics  Complete  Correct  Feasible  Necessary  Prioritized  Unambiguous  Verifiable Requirements Specification Characteristics  Complete  Consistence  Modifiable  Traceable
  • 3. ************ [WIEGERS-2003], Chapter 2 ************************************************************** Customer is an individual or organization who derives either direct or indirect benefit from a product. Signing off on the requirements document is the mark of customer approval of the requirements. Don't use sign-off as a weapon. Use it as a project milestone, with a clear, shared understanding of the activities that lead to sign-off and its implications for future changes
  • 4. ************ [WIEGERS-2003], Chapter 3 **************************************************************
  • 5.
  • 6. A Requirements Development Process ************ [WIEGERS-2003], Chapter 5 ************************************************************** Establishing the Product Vision and Project Scope The business requirements represent the top level of abstraction in the requirements chain: they define the vision and scope for the software system. The user requirements and software functional requirements must align with the context and objectives that the business requirements establish. Requirements that don't help the project achieve its business objectives shouldn't be included. Defining the Vision through Business Requirements
  • 7. Business Requirements and Use Cases The business requirements determine both the set of business tasks (use cases) that the application enables (the application breadth) and the depth or level to which each use case is implemented. If the business requirements help you determine that a particular use case is outside the project's scope, you're making a breadth decision. The depth of support can range from a trivial implementation to full automation with many usability aids. The business requirements will imply which use cases demand robust, comprehensive functional implementation and which require merely superficial implementation, at least initially. Vision and scope document collects the business requirements into a single document that sets the stage for the subsequent development work. Business Opportunity: Exploit the poor security record of a competing product. Business Objective: Capture a market share of 80 percent by being recognized as the most secure product in the market through trade journal reviews and consumer surveys. Customer Need: A more secure product. Feature: A new, robust security engine. The scope description establishes the boundary and connections between the system we are developing and everything else in the universe. The context diagram graphically illustrates this boundary. It identifies terminators outside the system that interface to it in some way, as well as data, control, and material flows between the terminators and the system. The purpose of tools such as the context diagram is to foster clear and accurate communication among the project stakeholders.