SlideShare ist ein Scribd-Unternehmen logo
1 von 39
Software Requirements Engineering
Dr. Faheem Ahmed
Assistant Professor, FET
Course Benefits
• Improve the quality of your project’s requirements early
in the development cycle, which reduces rework and
improves productivity.
• Meet schedule objectives by controlling scope creep and
requirements changes.
• Achieve higher customer satisfaction.
• Reduce maintenance and support costs.
Course Overview
1. Software Requirements: What, why,who,when and how
2. Requirements Development
3. Requirements for Specific Project Classes
4. Requirements Management
5. Implementing Requirements Engineering
Books
Software Requirements (3rd Edition)
• Karl E.Wiegers
• Joy Beatty
Managing Software Requirements: A Use Case
Approach (Second Edition)
• Dean Leffingwell
• DonWidrig
The Guide to the Business Analysis Body of
Knowledge (Version 3.0)
• International Institute of Business Analysis
PART 1
Software Requirements:What, Why,How,When and Who
The Essential Software Requirement
Chapter 1
Factors that contribute to Project
Failure?
1. Lack of User Input
2. Incomplete Requirements & Specifications
3. Changing Requirements & Specifications
4. Lack of Executive Support
5. Technology Incompetence
6. Lack of Resources
7. Unrealistic Expectations
8. UnclearObjectives
9. Unrealistic Schedule
10. NewTechnology
Factors that contribute to Project
Failure?
1. Lack of User Input
2. Incomplete Requirements & Specifications
3. Changing Requirements & Specifications
4. Lack of Executive Support
5. Technology Incompetence
6. Lack of Resources
7. Unrealistic Expectations
8. UnclearObjectives
9. Unrealistic Schedule
10. NewTechnology
Size is Important!
The High Cost of Requirement
Errors
1.1 Software Requirements Defined
• Consultant Brian Lawrence suggests that a requirement is
"anything that drives design choices" (Lawrence 1997).
• The IEEE Standard Glossary of Software Engineering
Terminology (1990) defines a requirement as
• A condition or capability needed by a user/stakeholder to solve a
problem or achieve an objective.
• A condition or capability that must be met or possessed by a system
or system component to satisfy a contract, standard, specification,
or other formally imposed document.
• A documented representation of a condition or capability as in 1 or
2.
1.1 Software Requirements Defined
• 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 and Sawyer 1997)
Don't assume that all your project stakeholders share a
common notion of what requirements are. Establish
definitions up front so that you're all talking about the same
things.
1.1 Software Requirements Defined
• Requirements are specific descriptions of the client’s
needs
Requirements are Not :
• Requirements specifications do not include design or implementation
details (other than known constraints), project planning information, or
testing information (Leffingwell andWidrig 2000).
• Requirements are independent of design, showing “what” the system
should do, rather than “how” it should be done.
Levels of Requirements
• Business Requirements
• User Requirements
• Functional Requirements
• Non-Functional Requirements
In addition, every system has an assortment of
nonfunctional requirements
Levels of Requirements
• Business Requirements
A high-level business objective of the organization that
builds a product or of a customer who procures it.
• come from the funding sponsor for a project, the acquiring
customer, the manager of the actual users, the marketing
department, or a product visionary.
• describe why the organization is implementing the system—the
objectives the organization hopes to achieve.
• recorded in aVision and Scope document, Project Charter or a
Market Requirements document.
Levels of Requirements
• User Requirements
A goal or task that specific classes of users must be able to
perform with a system, or a desired product attribute.
• describe user goals or tasks that the users must be able to
perform with the product.
• describe what the user will be able to do with the system
• valuable ways to represent user requirements include use cases,
scenario descriptions and event response tables.
Levels of Requirements
• Functional Requirements
A description of a behavior that a system will exhibit under
specific conditions.
• specify the software functionality that the developers must build
into the product to enable users to accomplish their tasks,
thereby satisfying the business requirements.
• also called behavioural requirements
• recorded in a Software Requirements Specification (SRS).
Levels of Requirements
• System Requirements
A top-level requirement for a product that contains multiple
subsystems, which could be all software or software and
hardware
• Describes the top level requirements for a product that contains
multiple subsystems – that is, a system
• A system can be all software or it can include both software and
hardware subsystems
Levels of Requirements
• Business Rules
A policy, guideline, standard, or regulation that defines or
constrains some aspect of the business. Not a software
requirement in itself, but the origin of several types of software
requirements.
• Include corporate policies, government regulations, industry
standards, accounting practices and computational algorithms
• Business Rules are not themselves software requirements
because they exist outside the boundaries of any specific
software system
Levels of Requirements
• Quality Attributes
• They augment the description of the product’s functionality by
describing the product’s characteristics in various dimensions that
are important to users such as portability, integrity, efficiency and
robustness.
• Constraints
• Impose restrictions on the choices available to the developer for
design and construction of the product
• External interface requirement
• A description of a connection between a software system and a user,
another software system, or a hardware device.
Levels of Requirements
• Product Features
• One or more logically related system capabilities that provide
value to a user and are described by a set of functional
requirements.
• A feature can encompass multiple use cases and each use case
requires that multiple functional requirements be implemented
to allow the user to performs the task
Levels of Requirements
• Software Requirements Specifications Document
• Functional requirements are documented in SRS document
which describes as fully as necessary the expected behaviour of
the software system.
• Development,Testing, Quality Assurance, Project Management
and related project functions
• Non functional requirements- performance goals and
descriptions of quality attributes.They describe external
interfaces between system and the outside world and design and
implementation constraints.
Levels of Requirements
Requirements Development &
Management
Requirements Development &
Management
• Requirements Development
• Identifying the product's expected user classes
• Eliciting needs from individuals who represent each user class
• Understanding user tasks and goals and the business objectives
with which those tasks align
• Analyzing the information received from users to distinguish
their task goals from functional requirements, non-functional
requirements, business rules, suggested solutions, and
extraneous information
Requirements Development &
Management
• Allocating portions of the top-level requirements to software
components defined in the system architecture
• Understanding the relative importance of quality attributes
• Negotiating implementation priorities
• Translating the collected user needs into written requirements
specifications and models
• Reviewing the documented requirements to ensure a common
understanding of the users' stated requirements and to correct
any problems before the development group accepts them
Requirements Development &
Management
• Requirements Management
• Defining the requirements baseline (a snapshot in time
representing the currently agreed-upon body of requirements
for a specific release)
• Reviewing proposed requirements changes and evaluating the
likely impact of each change before approving it
• Incorporating approved requirements changes into the project in
a controlled way
Requirements Development &
Management
• Keeping project plans current with the requirements
• Negotiating new commitments based on the estimated impact
of requirements changes
• Tracing individual requirements to their corresponding designs,
source code, and test cases
• Tracking requirements status and change activity throughout
the project
Requirements Development &
Management
Every project has Requirements
The hardest single part of building a software system is
deciding precisely what to build.
(Frederick Brooks: No Silver Bullet: Essence and
Accidents of Software Engineering)
When Bad Requirements Happen to
Nice People
When Bad Requirements Happen to
Nice People
• Insufficient User Involvement
• Creeping User Requirements
• Ambiguous Requirements
• Gold Plating
• 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
Benefits from a High-Quality
Requirements Process
• Fewer miscommunications
• Reduced scope creep
• Reduced project chaos
• More accurate system-testing estimates
• Higher customer and team member satisfaction
Requirement Statement
Characteristics
• Complete
• Each requirement must fully describe the functionality to be delivered.
• Correct
• Each requirement must accurately describe the functionality to be built.
• Feasible
• It must be possible to implement each requirement within the known
capabilities and limitations of the system and its operating environment
• Necessary
• Each requirement should document a capability that the customers really
need or one that's required for conformance to an external system
requirement or a standard.
Requirement Statement
Characteristics
• Prioritized
• Assign an implementation priority to each functional requirement,
feature, or use case to indicate how essential it is to a particular
product release.
• Unambiguous
• All readers of a requirement statement should arrive at a single,
consistent interpretation of it, but natural language is highly prone
to ambiguity.
• Verifiable
• See whether you can devise a few tests or use other verification
approaches, such as inspection or demonstration, to determine
whether the product properly implements each requirement.
Requirements Specification
Characteristics
• Complete
• No requirements or necessary information should be absent.
• Consistent
• Consistent requirements don't conflict with other requirements of
the same type or with higher-level business, system, or user
requirements..
• Modifiable
• You must be able to revise the SRS when necessary and to maintain
a history of changes made to each requirement.
• Traceable
• A traceable requirement can be linked backward to its origin and
forward to the design elements and source code that implement it
and to the test cases that verify the implementation as correct.

Weitere ähnliche Inhalte

Ähnlich wie SRE_Lecture_1,2,3,4.pptx

Requirements engineering
Requirements engineeringRequirements engineering
Requirements engineeringSyed Zaid Irshad
 
Software Engineering Lec 4-requirments
Software Engineering Lec 4-requirmentsSoftware Engineering Lec 4-requirments
Software Engineering Lec 4-requirmentsTaymoor Nazmy
 
Un it 2-se-mod-staff
Un it 2-se-mod-staffUn it 2-se-mod-staff
Un it 2-se-mod-staffvijisvs2012
 
Software Requirements
Software RequirementsSoftware Requirements
Software RequirementsNethan Shaik
 
Software System Engineering - Chapter 1
Software System Engineering - Chapter 1Software System Engineering - Chapter 1
Software System Engineering - Chapter 1Fadhil Ismail
 
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
 
3. 1 req elicitation
3. 1 req elicitation3. 1 req elicitation
3. 1 req elicitationAshenafi Workie
 
Greate Introduction to Software Engineering @ Track IT Academy
Greate Introduction to Software Engineering @ Track IT AcademyGreate Introduction to Software Engineering @ Track IT Academy
Greate Introduction to Software Engineering @ Track IT AcademyMohamed Shahpoup
 
lec 3rd.pptx
lec 3rd.pptxlec 3rd.pptx
lec 3rd.pptxrayanbabur
 
REQUIREMENT ENGINEERING
REQUIREMENT ENGINEERINGREQUIREMENT ENGINEERING
REQUIREMENT ENGINEERINGSaqib Raza
 
Soft requirement
Soft requirementSoft requirement
Soft requirementRishav Upreti
 
SRE Lect (week 1).pptx
SRE Lect (week 1).pptxSRE Lect (week 1).pptx
SRE Lect (week 1).pptxalishazayyan5
 
vu-re-lecture-06 requirement engineer.ppt
vu-re-lecture-06 requirement engineer.pptvu-re-lecture-06 requirement engineer.ppt
vu-re-lecture-06 requirement engineer.pptubaidullah75790
 
Software requirements specifications documents pdf
Software requirements specifications documents pdfSoftware requirements specifications documents pdf
Software requirements specifications documents pdfNothing807440
 
Requirements Engineering
Requirements EngineeringRequirements Engineering
Requirements EngineeringMuhammadTalha436
 
Software Requirements (3rd Edition) summary
Software Requirements (3rd Edition) summarySoftware Requirements (3rd Edition) summary
Software Requirements (3rd Edition) summaryAhmed Kamel Taha
 

Ähnlich wie SRE_Lecture_1,2,3,4.pptx (20)

Development Guideline
Development GuidelineDevelopment Guideline
Development Guideline
 
Requirements engineering
Requirements engineeringRequirements engineering
Requirements engineering
 
SE-Unit II.pdf
SE-Unit II.pdfSE-Unit II.pdf
SE-Unit II.pdf
 
Software Engineering Lec 4-requirments
Software Engineering Lec 4-requirmentsSoftware Engineering Lec 4-requirments
Software Engineering Lec 4-requirments
 
Un it 2-se-mod-staff
Un it 2-se-mod-staffUn it 2-se-mod-staff
Un it 2-se-mod-staff
 
Software Requirements
Software RequirementsSoftware Requirements
Software Requirements
 
Software System Engineering - Chapter 1
Software System Engineering - Chapter 1Software System Engineering - Chapter 1
Software System Engineering - Chapter 1
 
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
 
SRE.pptx
SRE.pptxSRE.pptx
SRE.pptx
 
3. 1 req elicitation
3. 1 req elicitation3. 1 req elicitation
3. 1 req elicitation
 
Greate Introduction to Software Engineering @ Track IT Academy
Greate Introduction to Software Engineering @ Track IT AcademyGreate Introduction to Software Engineering @ Track IT Academy
Greate Introduction to Software Engineering @ Track IT Academy
 
lec 3rd.pptx
lec 3rd.pptxlec 3rd.pptx
lec 3rd.pptx
 
REQUIREMENT ENGINEERING
REQUIREMENT ENGINEERINGREQUIREMENT ENGINEERING
REQUIREMENT ENGINEERING
 
Soft requirement
Soft requirementSoft requirement
Soft requirement
 
SRE Lect (week 1).pptx
SRE Lect (week 1).pptxSRE Lect (week 1).pptx
SRE Lect (week 1).pptx
 
vu-re-lecture-06 requirement engineer.ppt
vu-re-lecture-06 requirement engineer.pptvu-re-lecture-06 requirement engineer.ppt
vu-re-lecture-06 requirement engineer.ppt
 
Software requirements specifications documents pdf
Software requirements specifications documents pdfSoftware requirements specifications documents pdf
Software requirements specifications documents pdf
 
Requirements Engineering
Requirements EngineeringRequirements Engineering
Requirements Engineering
 
Requirement Analysis - Software Enigneering
Requirement Analysis - Software EnigneeringRequirement Analysis - Software Enigneering
Requirement Analysis - Software Enigneering
 
Software Requirements (3rd Edition) summary
Software Requirements (3rd Edition) summarySoftware Requirements (3rd Edition) summary
Software Requirements (3rd Edition) summary
 

KĂźrzlich hochgeladen

From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilV3cube
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel AraĂşjo
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 

KĂźrzlich hochgeladen (20)

From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 

SRE_Lecture_1,2,3,4.pptx

  • 1. Software Requirements Engineering Dr. Faheem Ahmed Assistant Professor, FET
  • 2. Course Benefits • Improve the quality of your project’s requirements early in the development cycle, which reduces rework and improves productivity. • Meet schedule objectives by controlling scope creep and requirements changes. • Achieve higher customer satisfaction. • Reduce maintenance and support costs.
  • 3. Course Overview 1. Software Requirements: What, why,who,when and how 2. Requirements Development 3. Requirements for Specific Project Classes 4. Requirements Management 5. Implementing Requirements Engineering
  • 4. Books Software Requirements (3rd Edition) • Karl E.Wiegers • Joy Beatty Managing Software Requirements: A Use Case Approach (Second Edition) • Dean Leffingwell • DonWidrig The Guide to the Business Analysis Body of Knowledge (Version 3.0) • International Institute of Business Analysis
  • 5.
  • 6. PART 1 Software Requirements:What, Why,How,When and Who
  • 7. The Essential Software Requirement Chapter 1
  • 8. Factors that contribute to Project Failure? 1. Lack of User Input 2. Incomplete Requirements & Specifications 3. Changing Requirements & Specifications 4. Lack of Executive Support 5. Technology Incompetence 6. Lack of Resources 7. Unrealistic Expectations 8. UnclearObjectives 9. Unrealistic Schedule 10. NewTechnology
  • 9. Factors that contribute to Project Failure? 1. Lack of User Input 2. Incomplete Requirements & Specifications 3. Changing Requirements & Specifications 4. Lack of Executive Support 5. Technology Incompetence 6. Lack of Resources 7. Unrealistic Expectations 8. UnclearObjectives 9. Unrealistic Schedule 10. NewTechnology
  • 11. The High Cost of Requirement Errors
  • 12. 1.1 Software Requirements Defined • Consultant Brian Lawrence suggests that a requirement is "anything that drives design choices" (Lawrence 1997). • The IEEE Standard Glossary of Software Engineering Terminology (1990) defines a requirement as • A condition or capability needed by a user/stakeholder to solve a problem or achieve an objective. • A condition or capability that must be met or possessed by a system or system component to satisfy a contract, standard, specification, or other formally imposed document. • A documented representation of a condition or capability as in 1 or 2.
  • 13. 1.1 Software Requirements Defined • 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 and Sawyer 1997) Don't assume that all your project stakeholders share a common notion of what requirements are. Establish definitions up front so that you're all talking about the same things.
  • 14. 1.1 Software Requirements Defined • Requirements are specific descriptions of the client’s needs
  • 15. Requirements are Not : • Requirements specifications do not include design or implementation details (other than known constraints), project planning information, or testing information (Leffingwell andWidrig 2000). • Requirements are independent of design, showing “what” the system should do, rather than “how” it should be done.
  • 16. Levels of Requirements • Business Requirements • User Requirements • Functional Requirements • Non-Functional Requirements In addition, every system has an assortment of nonfunctional requirements
  • 17. Levels of Requirements • Business Requirements A high-level business objective of the organization that builds a product or of a customer who procures it. • come from the funding sponsor for a project, the acquiring customer, the manager of the actual users, the marketing department, or a product visionary. • describe why the organization is implementing the system—the objectives the organization hopes to achieve. • recorded in aVision and Scope document, Project Charter or a Market Requirements document.
  • 18. Levels of Requirements • User Requirements A goal or task that specific classes of users must be able to perform with a system, or a desired product attribute. • describe user goals or tasks that the users must be able to perform with the product. • describe what the user will be able to do with the system • valuable ways to represent user requirements include use cases, scenario descriptions and event response tables.
  • 19. Levels of Requirements • Functional Requirements A description of a behavior that a system will exhibit under specific conditions. • specify the software functionality that the developers must build into the product to enable users to accomplish their tasks, thereby satisfying the business requirements. • also called behavioural requirements • recorded in a Software Requirements Specification (SRS).
  • 20. Levels of Requirements • System Requirements A top-level requirement for a product that contains multiple subsystems, which could be all software or software and hardware • Describes the top level requirements for a product that contains multiple subsystems – that is, a system • A system can be all software or it can include both software and hardware subsystems
  • 21. Levels of Requirements • Business Rules A policy, guideline, standard, or regulation that defines or constrains some aspect of the business. Not a software requirement in itself, but the origin of several types of software requirements. • Include corporate policies, government regulations, industry standards, accounting practices and computational algorithms • Business Rules are not themselves software requirements because they exist outside the boundaries of any specific software system
  • 22. Levels of Requirements • Quality Attributes • They augment the description of the product’s functionality by describing the product’s characteristics in various dimensions that are important to users such as portability, integrity, efficiency and robustness. • Constraints • Impose restrictions on the choices available to the developer for design and construction of the product • External interface requirement • A description of a connection between a software system and a user, another software system, or a hardware device.
  • 23. Levels of Requirements • Product Features • One or more logically related system capabilities that provide value to a user and are described by a set of functional requirements. • A feature can encompass multiple use cases and each use case requires that multiple functional requirements be implemented to allow the user to performs the task
  • 24. Levels of Requirements • Software Requirements Specifications Document • Functional requirements are documented in SRS document which describes as fully as necessary the expected behaviour of the software system. • Development,Testing, Quality Assurance, Project Management and related project functions • Non functional requirements- performance goals and descriptions of quality attributes.They describe external interfaces between system and the outside world and design and implementation constraints.
  • 27. Requirements Development & Management • Requirements Development • Identifying the product's expected user classes • Eliciting needs from individuals who represent each user class • Understanding user tasks and goals and the business objectives with which those tasks align • Analyzing the information received from users to distinguish their task goals from functional requirements, non-functional requirements, business rules, suggested solutions, and extraneous information
  • 28. Requirements Development & Management • Allocating portions of the top-level requirements to software components defined in the system architecture • Understanding the relative importance of quality attributes • Negotiating implementation priorities • Translating the collected user needs into written requirements specifications and models • Reviewing the documented requirements to ensure a common understanding of the users' stated requirements and to correct any problems before the development group accepts them
  • 29. Requirements Development & Management • Requirements Management • Defining the requirements baseline (a snapshot in time representing the currently agreed-upon body of requirements for a specific release) • Reviewing proposed requirements changes and evaluating the likely impact of each change before approving it • Incorporating approved requirements changes into the project in a controlled way
  • 30. Requirements Development & Management • Keeping project plans current with the requirements • Negotiating new commitments based on the estimated impact of requirements changes • Tracing individual requirements to their corresponding designs, source code, and test cases • Tracking requirements status and change activity throughout the project
  • 32. Every project has Requirements The hardest single part of building a software system is deciding precisely what to build. (Frederick Brooks: No Silver Bullet: Essence and Accidents of Software Engineering)
  • 33. When Bad Requirements Happen to Nice People
  • 34. When Bad Requirements Happen to Nice People • Insufficient User Involvement • Creeping User Requirements • Ambiguous Requirements • Gold Plating • Minimal Specification • Overlooked User Classes • Inaccurate Planning
  • 35. Benefits from a High-Quality Requirements Process • Fewer requirements defects • Reduced development rework • Fewer unnecessary features • Lower enhancement costs • Faster development
  • 36. Benefits from a High-Quality Requirements Process • Fewer miscommunications • Reduced scope creep • Reduced project chaos • More accurate system-testing estimates • Higher customer and team member satisfaction
  • 37. Requirement Statement Characteristics • Complete • Each requirement must fully describe the functionality to be delivered. • Correct • Each requirement must accurately describe the functionality to be built. • Feasible • It must be possible to implement each requirement within the known capabilities and limitations of the system and its operating environment • Necessary • Each requirement should document a capability that the customers really need or one that's required for conformance to an external system requirement or a standard.
  • 38. Requirement Statement Characteristics • Prioritized • Assign an implementation priority to each functional requirement, feature, or use case to indicate how essential it is to a particular product release. • Unambiguous • All readers of a requirement statement should arrive at a single, consistent interpretation of it, but natural language is highly prone to ambiguity. • Verifiable • See whether you can devise a few tests or use other verification approaches, such as inspection or demonstration, to determine whether the product properly implements each requirement.
  • 39. Requirements Specification Characteristics • Complete • No requirements or necessary information should be absent. • Consistent • Consistent requirements don't conflict with other requirements of the same type or with higher-level business, system, or user requirements.. • Modifiable • You must be able to revise the SRS when necessary and to maintain a history of changes made to each requirement. • Traceable • A traceable requirement can be linked backward to its origin and forward to the design elements and source code that implement it and to the test cases that verify the implementation as correct.