SlideShare une entreprise Scribd logo
1  sur  21
Télécharger pour lire hors ligne
Lecture No 1.
1
SOFTWARE REQUIREMENTS ENGINEERING
SOFTWARE REQUIREMENTS
 Introduction
• Requirements from the basis for all software products.
• Requirements engineering is the process, which enables us to
systematically determine the requirements for a software
product.
• A complete description of what the software system will do
without describing how it will do it is represented by the
software requirements.
• Software requirements are complete specification of the
desired external behavior of the software system to be built.
2
WHAT IS REQUIREMENTS
 Requirement is “anything that drives design choices” And,
after all, the whole point of developing requirements
is to make appropriate design choices that will meet
the customer’s needs in the end.
 Another definition is that a requirement is a property
that a product must have to provide value to a
stakeholder.
 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 3
REQUIREMENTS
This definition acknowledges the diverse types of
information that collectively are referred to as “the
requirements.” Requirements encompass both the user’s
view of the external system behavior and the developer’s
view of some internal characteristics. They include both the
behavior of the system under specific conditions and those
properties that make the system suitable.
Software requirements include a time dimension. They could
be present tense, describing the current system’s capabilities.
Or they could be for the near-term (high priority), mid-term
(medium priority), or hypothetical (low priority) future.
4
LEVELS AND TYPES OF REQUIREMENTS
Because there are so many different types of requirements
information, we need a consistent set of adjectives to
modify the overloaded term “requirement.” This section
presents definitions we will use for some terms commonly
encountered in the requirements domain in (Table 1-1).
5
LEVELS AND TYPES OF REQUIREMENTS
6
Term Definition
Business requirement A high-level business objective of the organization that builds a
product or of a customer who procures it.
Business rule 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.
Constraint A restriction that is imposed on the choices available to the
developer for the design and construction of a product.
External interface
requirement
A description of a connection between a software system and a
user, another software system, or a hardware device.
Feature One or more logically related system capabilities that provide
value to a user and are described by a set of functional
requirements.
TABLE 1-1 Some types of requirements information
LEVELS AND TYPES OF REQUIREMENTS
7
Term Definition
Functional
requirement
A description of a behavior that a system will exhibit under
specific conditions.
Non functional
requirement
A description of a property or characteristic that a system must
exhibit or a constraint that it must respect.
Quality attribute A kind of nonfunctional requirement that describes a service or
performance characteristic of a product.
System requirement A top-level requirement for a product that contains multiple
subsystems, which could be all software or software and hardware.
User requirement A goal or task that specific classes of users must be able to
perform with a system, or a desired product attribute.
TABLE 1-1 Some types of requirements information
LEVELS AND TYPES OF REQUIREMENTS
Software requirements include three distinct levels: business
requirements, user requirements, and functional requirements. In
addition, every system has an assortment of nonfunctional requirements.
The model in Figure 1-1 illustrates a way to think about these diverse
types of requirements.
The ovals in Figure 1-1 represent types of requirements information,
and the rectangles indicate documents in which to store that
information. The solid arrows indicate that a certain type of information
typically is stored in the indicated document. (Business rules and system
requirements are stored separately from software requirements, such as
in a business rules catalog or a system requirements specification,
respectively.) The dotted arrows indicate that one type of information is
the origin of or influences another type of requirement.
8
LEVELS AND TYPES OF REQUIREMENTS
9
FIGURE 1-1 Relationships among several types of requirements information
LEVELS AND TYPES OF REQUIREMENTS
10
 Business Requirements
Business requirements describe why the organization is
implementing the system—the business benefits the
organization hopes to achieve. The focus is on the business
objectives of the organization or the customer who requests
the system.
Business requirements typically come from the funding
sponsor for a project, the acquiring customer, the manager
of the actual users, the marketing department, or a
product visionary. We like to record the business
requirements in a vision and scope document.
LEVELS AND TYPES OF REQUIREMENTS
11
 User Requirements
User requirements describe goals or tasks the users must be
able to perform with the product that will provide value to
someone. The domain of user requirements also includes
descriptions of product attributes or characteristics that are
important to user satisfaction.
Ways to represent user requirements
include use cases, user stories, and event-response tables.
LEVELS AND TYPES OF REQUIREMENTS
12
 Functional Requirements
Functional requirements specify the behaviors the product
will exhibit under specific conditions.
They describe what the developers must implement to
enable users to accomplish their tasks
(user requirements), thereby satisfying the business
requirements.
LEVELS AND TYPES OF REQUIREMENTS
13
 Business Analyst
The business analyst (BA)1 documents functional
requirements in a software requirements
specification (SRS), which describes as fully as necessary
the expected behavior of the software system.
The SRS is used in development, testing, quality assurance,
project management, and related project functions. People
call this deliverable by many different names, including
business requirements document, functional spec,
requirements document, and others. An SRS could be a
report generated from information stored in a requirements
management tool.
LEVELS AND TYPES OF REQUIREMENTS
14
 System Requirements
System requirements describe the requirements for a product
that is composed of multiple components or subsystems.
A “system” in this sense is not just any information
system. A system can be all software or it can include both
software and hardware subsystems.
People and processes are part of a system, too, so certain
system functions might be allocated to human beings. Some
people use the term “system requirements” to mean the
detailed requirements for a software system.
LEVELS AND TYPES OF REQUIREMENTS
15
 System Requirements…
A good example of a “system” is the cashier’s workstation in
a supermarket. There’s a bar code
scanner integrated with a scale, as well as a hand-held bar
code scanner. The cashier has a keyboard,
a display, and a cash drawer. You’ll see a card reader and PIN
pad for your loyalty card and credit or
debit card, and perhaps a change dispenser. You might see up
to three printers for your purchase
SOFTWARE REQUIREMENTS
 Software requirements may be:
• Abstract statements of services and/or
constraints
• Detailed mathematical functions
 Software requirements may be:
• Part of the bid of contract
• The contract itself
• Part of the technical documents, which describe a
product.
16
SOURCES REQUIREMENTS
 Stakeholders
• - People affected in some way by the system
 Documents
 Existing systems
 Domain/Business area
17
LEVELS OF SOFTWARE REQUIREMENTS
Stakeholders describe requirements at different levels of
detail
-”one person's” floor is another person’s ceiling”
18
IMPORTANCE OF SOFTWARE REQUIREMENTS
The hardest single part of building a software system is deciding
what to build…No other part of the work so cripples the resulting
system if done wrong. No other part is difficult to rectify later
-Fred Brooks
19
EXAMPLES OF SOFTWARE REQUIREMENTS
 The system shall maintain records of all payments made to
employees on accounts of salaries, bonuses, travel/daily
allowances, medical allowances, etc.
 The system shall maintain records of all library materials
including books, serials, newspapers and magazines, video and
audio tapes, reports, collection of transparencies, SD-ROMs,
DVDs, etc.
 The system shall support at least twenty transaction per second
20
KINDS OF SOFTWARE REQUIREMENTS
1. Functional requirements
2. Non-functional requirements
3. Domain requirements
4. Inverse requirements
5. Design and implementation constraints
21

Contenu connexe

Similaire à Lecture 1.pdf

Software Requirements
Software RequirementsSoftware Requirements
Software Requirements
Bala Ganesh
 
2.software requirement specification
2.software requirement specification2.software requirement specification
2.software requirement specification
Deepak Sharma
 

Similaire à Lecture 1.pdf (20)

Software Requirements
Software RequirementsSoftware Requirements
Software Requirements
 
Unit 2.ppt
Unit 2.pptUnit 2.ppt
Unit 2.ppt
 
Ch 1-Introduction.ppt
Ch 1-Introduction.pptCh 1-Introduction.ppt
Ch 1-Introduction.ppt
 
chapter_3_8 of software requirements engineering
chapter_3_8 of software requirements engineeringchapter_3_8 of software requirements engineering
chapter_3_8 of software requirements engineering
 
Lecture 2 & 3.pptx
Lecture 2 & 3.pptxLecture 2 & 3.pptx
Lecture 2 & 3.pptx
 
Software requirement & specification .pptx
Software requirement & specification .pptxSoftware requirement & specification .pptx
Software requirement & specification .pptx
 
Requirements Engineering
Requirements EngineeringRequirements Engineering
Requirements Engineering
 
software requirement specifcation.pptx
software requirement specifcation.pptxsoftware requirement specifcation.pptx
software requirement specifcation.pptx
 
Software engineering Unit-2
Software engineering Unit-2Software engineering Unit-2
Software engineering Unit-2
 
Chapter 9
Chapter 9Chapter 9
Chapter 9
 
Requirements engineering
Requirements engineeringRequirements engineering
Requirements engineering
 
SOFTWRE REQUIREMNETS SE
 SOFTWRE REQUIREMNETS SE SOFTWRE REQUIREMNETS SE
SOFTWRE REQUIREMNETS SE
 
Software Requrement
Software RequrementSoftware Requrement
Software Requrement
 
Requirements engineering
Requirements engineeringRequirements engineering
Requirements engineering
 
Requirements engineering
Requirements engineeringRequirements engineering
Requirements engineering
 
Lecture-5-Requirements Analysis and Specification.pptx
Lecture-5-Requirements Analysis and Specification.pptxLecture-5-Requirements Analysis and Specification.pptx
Lecture-5-Requirements Analysis and Specification.pptx
 
Se lec 4
Se lec 4Se lec 4
Se lec 4
 
Requirements Engineering
Requirements EngineeringRequirements Engineering
Requirements Engineering
 
2.software requirement specification
2.software requirement specification2.software requirement specification
2.software requirement specification
 
SE Unit 2(1).pptx
SE Unit 2(1).pptxSE Unit 2(1).pptx
SE Unit 2(1).pptx
 

Plus de RaoShahid10 (6)

Virtual Class Room System.pdf
Virtual Class Room System.pdfVirtual Class Room System.pdf
Virtual Class Room System.pdf
 
Lecture 10.pdf
Lecture 10.pdfLecture 10.pdf
Lecture 10.pdf
 
Lecture 8 & 9.pdf
Lecture 8 & 9.pdfLecture 8 & 9.pdf
Lecture 8 & 9.pdf
 
Lecture 6 & 7.pdf
Lecture 6 & 7.pdfLecture 6 & 7.pdf
Lecture 6 & 7.pdf
 
Lecture 5.pdf
Lecture 5.pdfLecture 5.pdf
Lecture 5.pdf
 
Lecture 4.pdf
Lecture 4.pdfLecture 4.pdf
Lecture 4.pdf
 

Dernier

introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
VishalKumarJha10
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
VictorSzoltysek
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
mohitmore19
 

Dernier (20)

Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdf
 
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdfAzure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
 
10 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 202410 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 2024
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
How to Choose the Right Laravel Development Partner in New York City_compress...
How to Choose the Right Laravel Development Partner in New York City_compress...How to Choose the Right Laravel Development Partner in New York City_compress...
How to Choose the Right Laravel Development Partner in New York City_compress...
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students
 
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 

Lecture 1.pdf

  • 1. Lecture No 1. 1 SOFTWARE REQUIREMENTS ENGINEERING
  • 2. SOFTWARE REQUIREMENTS  Introduction • Requirements from the basis for all software products. • Requirements engineering is the process, which enables us to systematically determine the requirements for a software product. • A complete description of what the software system will do without describing how it will do it is represented by the software requirements. • Software requirements are complete specification of the desired external behavior of the software system to be built. 2
  • 3. WHAT IS REQUIREMENTS  Requirement is “anything that drives design choices” And, after all, the whole point of developing requirements is to make appropriate design choices that will meet the customer’s needs in the end.  Another definition is that a requirement is a property that a product must have to provide value to a stakeholder.  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 3
  • 4. REQUIREMENTS This definition acknowledges the diverse types of information that collectively are referred to as “the requirements.” Requirements encompass both the user’s view of the external system behavior and the developer’s view of some internal characteristics. They include both the behavior of the system under specific conditions and those properties that make the system suitable. Software requirements include a time dimension. They could be present tense, describing the current system’s capabilities. Or they could be for the near-term (high priority), mid-term (medium priority), or hypothetical (low priority) future. 4
  • 5. LEVELS AND TYPES OF REQUIREMENTS Because there are so many different types of requirements information, we need a consistent set of adjectives to modify the overloaded term “requirement.” This section presents definitions we will use for some terms commonly encountered in the requirements domain in (Table 1-1). 5
  • 6. LEVELS AND TYPES OF REQUIREMENTS 6 Term Definition Business requirement A high-level business objective of the organization that builds a product or of a customer who procures it. Business rule 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. Constraint A restriction that is imposed on the choices available to the developer for the design and construction of a product. External interface requirement A description of a connection between a software system and a user, another software system, or a hardware device. Feature One or more logically related system capabilities that provide value to a user and are described by a set of functional requirements. TABLE 1-1 Some types of requirements information
  • 7. LEVELS AND TYPES OF REQUIREMENTS 7 Term Definition Functional requirement A description of a behavior that a system will exhibit under specific conditions. Non functional requirement A description of a property or characteristic that a system must exhibit or a constraint that it must respect. Quality attribute A kind of nonfunctional requirement that describes a service or performance characteristic of a product. System requirement A top-level requirement for a product that contains multiple subsystems, which could be all software or software and hardware. User requirement A goal or task that specific classes of users must be able to perform with a system, or a desired product attribute. TABLE 1-1 Some types of requirements information
  • 8. LEVELS AND TYPES OF REQUIREMENTS Software requirements include three distinct levels: business requirements, user requirements, and functional requirements. In addition, every system has an assortment of nonfunctional requirements. The model in Figure 1-1 illustrates a way to think about these diverse types of requirements. The ovals in Figure 1-1 represent types of requirements information, and the rectangles indicate documents in which to store that information. The solid arrows indicate that a certain type of information typically is stored in the indicated document. (Business rules and system requirements are stored separately from software requirements, such as in a business rules catalog or a system requirements specification, respectively.) The dotted arrows indicate that one type of information is the origin of or influences another type of requirement. 8
  • 9. LEVELS AND TYPES OF REQUIREMENTS 9 FIGURE 1-1 Relationships among several types of requirements information
  • 10. LEVELS AND TYPES OF REQUIREMENTS 10  Business Requirements Business requirements describe why the organization is implementing the system—the business benefits the organization hopes to achieve. The focus is on the business objectives of the organization or the customer who requests the system. Business requirements typically come from the funding sponsor for a project, the acquiring customer, the manager of the actual users, the marketing department, or a product visionary. We like to record the business requirements in a vision and scope document.
  • 11. LEVELS AND TYPES OF REQUIREMENTS 11  User Requirements User requirements describe goals or tasks the users must be able to perform with the product that will provide value to someone. The domain of user requirements also includes descriptions of product attributes or characteristics that are important to user satisfaction. Ways to represent user requirements include use cases, user stories, and event-response tables.
  • 12. LEVELS AND TYPES OF REQUIREMENTS 12  Functional Requirements Functional requirements specify the behaviors the product will exhibit under specific conditions. They describe what the developers must implement to enable users to accomplish their tasks (user requirements), thereby satisfying the business requirements.
  • 13. LEVELS AND TYPES OF REQUIREMENTS 13  Business Analyst The business analyst (BA)1 documents functional requirements in a software requirements specification (SRS), which describes as fully as necessary the expected behavior of the software system. The SRS is used in development, testing, quality assurance, project management, and related project functions. People call this deliverable by many different names, including business requirements document, functional spec, requirements document, and others. An SRS could be a report generated from information stored in a requirements management tool.
  • 14. LEVELS AND TYPES OF REQUIREMENTS 14  System Requirements System requirements describe the requirements for a product that is composed of multiple components or subsystems. A “system” in this sense is not just any information system. A system can be all software or it can include both software and hardware subsystems. People and processes are part of a system, too, so certain system functions might be allocated to human beings. Some people use the term “system requirements” to mean the detailed requirements for a software system.
  • 15. LEVELS AND TYPES OF REQUIREMENTS 15  System Requirements… A good example of a “system” is the cashier’s workstation in a supermarket. There’s a bar code scanner integrated with a scale, as well as a hand-held bar code scanner. The cashier has a keyboard, a display, and a cash drawer. You’ll see a card reader and PIN pad for your loyalty card and credit or debit card, and perhaps a change dispenser. You might see up to three printers for your purchase
  • 16. SOFTWARE REQUIREMENTS  Software requirements may be: • Abstract statements of services and/or constraints • Detailed mathematical functions  Software requirements may be: • Part of the bid of contract • The contract itself • Part of the technical documents, which describe a product. 16
  • 17. SOURCES REQUIREMENTS  Stakeholders • - People affected in some way by the system  Documents  Existing systems  Domain/Business area 17
  • 18. LEVELS OF SOFTWARE REQUIREMENTS Stakeholders describe requirements at different levels of detail -”one person's” floor is another person’s ceiling” 18
  • 19. IMPORTANCE OF SOFTWARE REQUIREMENTS The hardest single part of building a software system is deciding what to build…No other part of the work so cripples the resulting system if done wrong. No other part is difficult to rectify later -Fred Brooks 19
  • 20. EXAMPLES OF SOFTWARE REQUIREMENTS  The system shall maintain records of all payments made to employees on accounts of salaries, bonuses, travel/daily allowances, medical allowances, etc.  The system shall maintain records of all library materials including books, serials, newspapers and magazines, video and audio tapes, reports, collection of transparencies, SD-ROMs, DVDs, etc.  The system shall support at least twenty transaction per second 20
  • 21. KINDS OF SOFTWARE REQUIREMENTS 1. Functional requirements 2. Non-functional requirements 3. Domain requirements 4. Inverse requirements 5. Design and implementation constraints 21