SlideShare a Scribd company logo
1 of 21
Download to read offline
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

More Related Content

Similar to Lecture 1.pdf

Software Requirements
Software RequirementsSoftware Requirements
Software RequirementsBala Ganesh
 
Ch 1-Introduction.ppt
Ch 1-Introduction.pptCh 1-Introduction.ppt
Ch 1-Introduction.pptbalewayalew
 
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 engineeringJavedKhan524377
 
Lecture 2 & 3.pptx
Lecture 2 & 3.pptxLecture 2 & 3.pptx
Lecture 2 & 3.pptxRaoShahid10
 
Software requirement & specification .pptx
Software requirement & specification .pptxSoftware requirement & specification .pptx
Software requirement & specification .pptxSarowarSuman
 
Requirements Engineering
Requirements EngineeringRequirements Engineering
Requirements EngineeringEhsan Elahi
 
software requirement specifcation.pptx
software requirement specifcation.pptxsoftware requirement specifcation.pptx
software requirement specifcation.pptxSACHINMAURYA57
 
Software engineering Unit-2
Software engineering Unit-2Software engineering Unit-2
Software engineering Unit-2Samura Daniel
 
Requirements engineering
Requirements engineeringRequirements engineering
Requirements engineeringJennifer Polack
 
SOFTWRE REQUIREMNETS SE
 SOFTWRE REQUIREMNETS SE SOFTWRE REQUIREMNETS SE
SOFTWRE REQUIREMNETS SEAbrar ali
 
Software Requrement
Software RequrementSoftware Requrement
Software RequrementSeif Shaame
 
Requirements engineering
Requirements engineeringRequirements engineering
Requirements engineeringAyaz Ahmed
 
Requirements engineering
Requirements engineeringRequirements engineering
Requirements engineeringAyaz Shariff
 
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.pptxYaseenNazir3
 
Requirements Engineering
Requirements EngineeringRequirements Engineering
Requirements EngineeringHuda Alameen
 
2.software requirement specification
2.software requirement specification2.software requirement specification
2.software requirement specificationDeepak Sharma
 
SE Unit 2(1).pptx
SE Unit 2(1).pptxSE Unit 2(1).pptx
SE Unit 2(1).pptxaryan631999
 

Similar to 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
 

More from RaoShahid10

Virtual Class Room System.pdf
Virtual Class Room System.pdfVirtual Class Room System.pdf
Virtual Class Room System.pdfRaoShahid10
 
Lecture 8 & 9.pdf
Lecture 8 & 9.pdfLecture 8 & 9.pdf
Lecture 8 & 9.pdfRaoShahid10
 
Lecture 6 & 7.pdf
Lecture 6 & 7.pdfLecture 6 & 7.pdf
Lecture 6 & 7.pdfRaoShahid10
 

More from 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
 

Recently uploaded

WSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2
 
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 🔝✔️✔️Delhi Call girls
 
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2
 
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park masabamasaba
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsJhone kinadey
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...masabamasaba
 
%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in sowetomasabamasaba
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnAmarnathKambale
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...panagenda
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareJim McKeeth
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsArshad QA
 
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 studentsHimanshiGarg82
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Steffen Staab
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastPapp Krisztián
 
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 TechniquesVictorSzoltysek
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrandmasabamasaba
 
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...Jittipong Loespradit
 

Recently uploaded (20)

WSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go Platformless
 
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 🔝✔️✔️
 
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
 
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
 
%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK Software
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
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
 
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the past
 
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
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand
 
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
 

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