SlideShare a Scribd company logo
Chapter 4 Requirements engineering
Chapter 4 – Requirements Engineering
Lecture 1
1
Chapter 4 Requirements engineering
Topics covered
◇ Functional and non-functional requirements
◇ The software requirements document
◇ Requirements specification
◇ Requirements engineering processes
◇ Requirements elicitation and analysis
◇ Requirements validation
◇ Requirements management
2
Chapter 4 Requirements engineering
Requirements engineering
◇ The process of establishing the services that the
customer requires from a system and the constraints
under which it operates and is developed.
◇ The requirements themselves are the descriptions of the
system services and constraints that are generated
during the requirements engineering process.
3
Chapter 4 Requirements engineering
What is a requirement?
◇ It may range from a high-level abstract statement of a
service or of a system constraint to a detailed
mathematical functional specification.
◇ This is inevitable as requirements may serve a dual
function
▪ May be the basis for a bid for a contract - therefore must be open
to interpretation;
▪ May be the basis for the contract itself - therefore must be
defined in detail;
▪ Both these statements may be called requirements.
4
Chapter 4 Requirements engineering
Requirements abstraction (Davis)
“If a company wishes to let a contract for a large software development
project, it must define its needs in a sufficiently abstract way that a
solution is not pre-defined. The requirements must be written so that
several contractors can bid for the contract, offering, perhaps, different
ways of meeting the client organization’s needs. Once a contract has
been awarded, the contractor must write a system definition for the client
in more detail so that the client understands and can validate what the
software will do. Both of these documents may be called the
requirements document for the system.”
5
Chapter 4 Requirements engineering
Types of requirement
◇ User requirements
▪ Statements in natural language plus diagrams of the services the
system provides and its operational constraints. Written for
customers.
◇ System requirements
▪ A structured document setting out detailed descriptions of the
system’s functions, services and operational constraints. Defines
what should be implemented so may be part of a contract
between client and contractor.
6
Chapter 4 Requirements engineering
User and system requirements
1. The MHC-PMS shall generate monthly management reports showing
the cost of drugs prescribed by each clinic during that month.
1.1 On the last working day of each month, a summary of the drugs
prescribed, their cost and the prescribing clinics shall be generated.
1.2 The system shall automatically generate the report for printing after
17.30 on the last working day of the month.
1.3 A report shall be created for each clinic and shall list the individual
drug names, the total number of prescriptions, the number of doses
prescribed and the total cost of the prescribed drugs.
1.4 If drugs are available in different dose units (e.g. 10mg, 20 mg, etc.)
separate reports shall be created for each dose unit.
1.5 Access to all cost reports shall be restricted to authorized users listed
on a management access control list.
User requirement definition
System requirements specification
7
Chapter 4 Requirements engineering
Readers of different types of requirements
specification
Client managers
System end-users
Client engineers
Contractor managers
System architects
System end-users
Client engineers
System architects
Software developers
User
requirements
System
requirements
8
Chapter 4 Requirements engineering
Functional and non-functional requirements
◇ Functional requirements
▪ Statements of services the system should provide, how the
system should react to particular inputs and how the system
should behave in particular situations.
▪ May state what the system should not do.
◇ Non-functional requirements
▪ Constraints on the services or functions offered by the system
such as timing constraints, constraints on the development
process, standards, etc.
▪ Often apply to the system as a whole rather than individual
features or services.
◇ Domain requirements
▪ Constraints on the system from the domain of operation
9
Chapter 4 Requirements engineering
Functional requirements
◇ Describe functionality or system services.
◇ Depend on the type of software, expected users and the
type of system where the software is used.
◇ Functional user requirements may be high-level
statements of what the system should do.
◇ Functional system requirements should describe the
system services in detail.
10
Chapter 4 Requirements engineering
Functional requirements for the MHC-PMS
◇ A user shall be able to search the appointments lists for
all clinics.
◇ The system shall generate each day, for each clinic, a list
of patients who are expected to attend appointments that
day.
◇ Each staff member using the system shall be uniquely
identified by his or her 8-digit employee number.
11
Chapter 4 Requirements engineering
Requirements imprecision
◇ Problems arise when requirements are not precisely
stated.
◇ Ambiguous requirements may be interpreted in different
ways by developers and users.
◇ Consider the term ‘search’ in requirement 1
▪ User intention – search for a patient name across all
appointments in all clinics;
▪ Developer interpretation – search for a patient name in an
individual clinic. User chooses clinic then search.
12
Chapter 4 Requirements engineering
Requirements completeness and consistency
◇ In principle, requirements should be both complete and
consistent.
◇ Complete
▪ They should include descriptions of all facilities required.
◇ Consistent
▪ There should be no conflicts or contradictions in the descriptions
of the system facilities.
◇ In practice, it is impossible to produce a complete and
consistent requirements document.
13
Chapter 4 Requirements engineering
Non-functional requirements
◇ These define system properties and constraints e.g.
reliability, response time and storage requirements.
Constraints are I/O device capability, system
representations, etc.
◇ Process requirements may also be specified mandating a
particular IDE, programming language or development
method.
◇ Non-functional requirements may be more critical than
functional requirements. If these are not met, the system
may be useless.
14
Chapter 4 Requirements engineering
Types of nonfunctional requirement
Performance
requirements
Space
requirements
Usability
requirements
Efficiency
requirements
Dependability
requirements
Security
requirements
Regulatory
requirements
Ethical
requirements
Legislative
requirements
Operational
requirements
Development
requirements
Environmental
requirements
Safety/security
requirements
Accounting
requirements
Product
requirements
Organizational
requirements
External
requirements
Non-functional
requirements
15
Chapter 4 Requirements engineering
Non-functional requirements implementation
◇ Non-functional requirements may affect the overall
architecture of a system rather than the individual
components.
▪ For example, to ensure that performance requirements are met,
you may have to organize the system to minimize
communications between components.
◇ A single non-functional requirement, such as a security
requirement, may generate a number of related functional
requirements that define system services that are
required.
▪ It may also generate requirements that restrict existing
requirements.
16
Chapter 4 Requirements engineering
Non-functional classifications
◇ Product requirements
▪ Requirements which specify that the delivered product must
behave in a particular way e.g. execution speed, reliability, etc.
◇ Organisational requirements
▪ Requirements which are a consequence of organisational policies
and procedures e.g. process standards used, implementation
requirements, etc.
◇ External requirements
▪ Requirements which arise from factors which are external to the
system and its development process e.g. interoperability
requirements, legislative requirements, etc.
17
Chapter 4 Requirements engineering
Examples of nonfunctional requirements in the
MHC-PMS
Product requirement
The MHC-PMS shall be available to all clinics during normal
working hours (Mon–Fri, 0830–17.30). Downtime within normal
working hours shall not exceed five seconds in any one day.
Organizational requirement

Users of the MHC-PMS system shall authenticate themselves
using their health authority identity card.
External requirement

The system shall implement patient privacy provisions as set out
in HStan-03-2006-priv.
18
Chapter 4 Requirements engineering
Goals and requirements
◇ Non-functional requirements may be very difficult to state
precisely and imprecise requirements may be difficult to
verify.
◇ Goal
▪ A general intention of the user such as ease of use.
◇ Verifiable non-functional requirement
▪ A statement using some measure that can be objectively tested.
◇ Goals are helpful to developers as they convey the
intentions of the system users.
19
Chapter 4 Requirements engineering
Usability requirements
◇ The system should be easy to use by medical staff and
should be organized in such a way that user errors are
minimized. (Goal)
◇ Medical staff shall be able to use all the system functions
after four hours of training. After this training, the average
number of errors made by experienced users shall not
exceed two per hour of system use. (Testable non-
functional requirement)
20
Chapter 4 Requirements engineering
Metrics for specifying nonfunctional
requirements
Property Measure
Speed Processed transactions/second
User/event response time
Screen refresh time
Size Mbytes
Number of ROM chips
Ease of use Training time
Number of help frames
Reliability Mean time to failure
Probability of unavailability
Rate of failure occurrence
Availability
Robustness Time to restart after failure
Percentage of events causing failure
Probability of data corruption on failure
Portability Percentage of target dependent statements
Number of target systems
21
Chapter 4 Requirements engineering
Domain requirements
◇ The system’s operational domain imposes requirements
on the system.
▪ For example, a train control system has to take into account the
braking characteristics in different weather conditions.
◇ Domain requirements be new functional requirements,
constraints on existing requirements or define specific
computations.
◇ If domain requirements are not satisfied, the system may
be unworkable.
22
Chapter 4 Requirements engineering
Train protection system
◇ This is a domain requirement for a train protection
system:
◇ The deceleration of the train shall be computed as:
▪ Dtrain = Dcontrol + Dgradient
▪ where Dgradient is 9.81ms2 * compensated gradient/alpha and
where the values of 9.81ms2 /alpha are known for different types
of train.
◇ It is difficult for a non-specialist to understand the
implications of this and how it interacts with other
requirements.
23
Chapter 4 Requirements engineering
Domain requirements problems
◇ Understandability
▪ Requirements are expressed in the language of the application
domain;
▪ This is often not understood by software engineers developing
the system.
◇ Implicitness
▪ Domain specialists understand the area so well that they do not
think of making the domain requirements explicit.
24
Chapter 4 Requirements engineering
Key points
◇ Requirements for a software system set out what the
system should do and define constraints on its operation
and implementation.
◇ Functional requirements are statements of the services
that the system must provide or are descriptions of how
some computations must be carried out.
◇ Non-functional requirements often constrain the system
being developed and the development process being
used.
◇ They often relate to the emergent properties of the
system and therefore apply to the system as a whole.
25

More Related Content

What's hot

Software requirement engineering
Software requirement engineeringSoftware requirement engineering
Software requirement engineering
Syed Zaid Irshad
 
Software Requirements engineering
Software Requirements engineeringSoftware Requirements engineering
Software Requirements engineering
Md. Shafiuzzaman Hira
 
Requirement Elicitation Techniques
Requirement Elicitation TechniquesRequirement Elicitation Techniques
Requirement Elicitation Techniques
Shwetha-BA
 
Requirements engineering
Requirements engineeringRequirements engineering
Requirements engineering
Ayaz Shariff
 
Requirement Analysis
Requirement AnalysisRequirement Analysis
Requirement Analysis
SADEED AMEEN
 
Requirements analysis and modeling
Requirements analysis and modelingRequirements analysis and modeling
Requirements analysis and modeling
Syed Zaid Irshad
 
Requirement analysis
Requirement analysisRequirement analysis
Requirement analysis
Sangeet Shah
 
Introspection. Software Requirement Elicitation Technique
Introspection. Software Requirement Elicitation TechniqueIntrospection. Software Requirement Elicitation Technique
Introspection. Software Requirement Elicitation Technique
Fahad Farooq
 
Software Requirement Elicitation Techniques http://www.imran.xyz
Software Requirement Elicitation Techniques http://www.imran.xyzSoftware Requirement Elicitation Techniques http://www.imran.xyz
Software Requirement Elicitation Techniques http://www.imran.xyz
Imran Hussain Khan
 
Requirement Analysis
Requirement AnalysisRequirement Analysis
Requirement AnalysisWebx
 
Requirement Engineering
Requirement EngineeringRequirement Engineering
Requirement Engineering
University of Haripur
 
Requirements engineering
Requirements engineeringRequirements engineering
Requirements engineeringvucevic
 
Requirement analysis
Requirement analysisRequirement analysis
Requirement analysis
Shyam Bahadur Sunari Magar
 
Software requirements engineering
Software requirements engineeringSoftware requirements engineering
Software requirements engineering
Dr. Hamdan Al-Sabri
 
Requirements Engineering
Requirements EngineeringRequirements Engineering
Visualizing non-functional requirements
Visualizing non-functional requirementsVisualizing non-functional requirements
Visualizing non-functional requirements
Neil Ernst
 
Requirement Analysis
Requirement AnalysisRequirement Analysis
Requirement Analysissslovepk
 
Requirements analysis
Requirements analysisRequirements analysis
Requirements analysis
asimnawaz54
 
Requirement analysis and specification, software engineering
Requirement analysis and specification, software engineeringRequirement analysis and specification, software engineering
Requirement analysis and specification, software engineering
Rupesh Vaishnav
 
Requirement analysis
Requirement analysisRequirement analysis
Requirement analysis
Jaipal Dhobale
 

What's hot (20)

Software requirement engineering
Software requirement engineeringSoftware requirement engineering
Software requirement engineering
 
Software Requirements engineering
Software Requirements engineeringSoftware Requirements engineering
Software Requirements engineering
 
Requirement Elicitation Techniques
Requirement Elicitation TechniquesRequirement Elicitation Techniques
Requirement Elicitation Techniques
 
Requirements engineering
Requirements engineeringRequirements engineering
Requirements engineering
 
Requirement Analysis
Requirement AnalysisRequirement Analysis
Requirement Analysis
 
Requirements analysis and modeling
Requirements analysis and modelingRequirements analysis and modeling
Requirements analysis and modeling
 
Requirement analysis
Requirement analysisRequirement analysis
Requirement analysis
 
Introspection. Software Requirement Elicitation Technique
Introspection. Software Requirement Elicitation TechniqueIntrospection. Software Requirement Elicitation Technique
Introspection. Software Requirement Elicitation Technique
 
Software Requirement Elicitation Techniques http://www.imran.xyz
Software Requirement Elicitation Techniques http://www.imran.xyzSoftware Requirement Elicitation Techniques http://www.imran.xyz
Software Requirement Elicitation Techniques http://www.imran.xyz
 
Requirement Analysis
Requirement AnalysisRequirement Analysis
Requirement Analysis
 
Requirement Engineering
Requirement EngineeringRequirement Engineering
Requirement Engineering
 
Requirements engineering
Requirements engineeringRequirements engineering
Requirements engineering
 
Requirement analysis
Requirement analysisRequirement analysis
Requirement analysis
 
Software requirements engineering
Software requirements engineeringSoftware requirements engineering
Software requirements engineering
 
Requirements Engineering
Requirements EngineeringRequirements Engineering
Requirements Engineering
 
Visualizing non-functional requirements
Visualizing non-functional requirementsVisualizing non-functional requirements
Visualizing non-functional requirements
 
Requirement Analysis
Requirement AnalysisRequirement Analysis
Requirement Analysis
 
Requirements analysis
Requirements analysisRequirements analysis
Requirements analysis
 
Requirement analysis and specification, software engineering
Requirement analysis and specification, software engineeringRequirement analysis and specification, software engineering
Requirement analysis and specification, software engineering
 
Requirement analysis
Requirement analysisRequirement analysis
Requirement analysis
 

Similar to Requirements Engineering - Lecture 1.pdf

soft eng chap 4.pdf
soft eng chap 4.pdfsoft eng chap 4.pdf
soft eng chap 4.pdf
kinzaeman043
 
requirement engineering chapter 4 .ppt slide
requirement engineering chapter 4 .ppt sliderequirement engineering chapter 4 .ppt slide
requirement engineering chapter 4 .ppt slide
rabia66khan66
 
requirement engineering chapter 4 .ppt slide
requirement engineering chapter 4 .ppt sliderequirement engineering chapter 4 .ppt slide
requirement engineering chapter 4 .ppt slide
rabia66khan66
 
Ch4
Ch4Ch4
Ch 4 software engineering
Ch 4 software engineeringCh 4 software engineering
Ch 4 software engineering
Mohammed Romi
 
Ian Sommerville, Software Engineering, 9th Edition Ch 4
Ian Sommerville,  Software Engineering, 9th Edition Ch 4Ian Sommerville,  Software Engineering, 9th Edition Ch 4
Ian Sommerville, Software Engineering, 9th Edition Ch 4
Mohammed Romi
 
Requirements engineering
Requirements engineeringRequirements engineering
Requirements engineering
Ashis Kumar Chanda
 
Software requirement and specification
Software requirement and specificationSoftware requirement and specification
Software requirement and specification
Aman Adhikari
 
Software requirement and specification
Software requirement and specificationSoftware requirement and specification
Software requirement and specification
Aman Adhikari
 
Ch4 Req Eng 1111111111111111111111111.pdf
Ch4 Req Eng 1111111111111111111111111.pdfCh4 Req Eng 1111111111111111111111111.pdf
Ch4 Req Eng 1111111111111111111111111.pdf
nada99848
 
software engineering Chapter4 Req .pptx
software engineering Chapter4 Req  .pptxsoftware engineering Chapter4 Req  .pptx
software engineering Chapter4 Req .pptx
nada99848
 
SE Chapter 4 - Software Requirements.pptx
SE Chapter 4 - Software  Requirements.pptxSE Chapter 4 - Software  Requirements.pptx
SE Chapter 4 - Software Requirements.pptx
Dibyesh1
 
Unit 2.ppt
Unit 2.pptUnit 2.ppt
Unit 2.ppt
MsRAMYACSE
 
Chapter 4 Requirement Engineering.pdf
Chapter 4 Requirement Engineering.pdfChapter 4 Requirement Engineering.pdf
Chapter 4 Requirement Engineering.pdf
HardikGupta400524
 
Ch4 - Req Eng
Ch4 - Req EngCh4 - Req Eng
Ch4 - Req Eng
Harsh Verdhan Raj
 
Ch4 req eng
Ch4 req engCh4 req eng
Requirements Engineering
Requirements EngineeringRequirements Engineering
Requirements Engineering
Ehsan Elahi
 
SEPM_MODULE 3.1 Req Eng.pptx
SEPM_MODULE 3.1 Req Eng.pptxSEPM_MODULE 3.1 Req Eng.pptx
SEPM_MODULE 3.1 Req Eng.pptx
mokshithaM1
 

Similar to Requirements Engineering - Lecture 1.pdf (20)

Ch4
Ch4Ch4
Ch4
 
soft eng chap 4.pdf
soft eng chap 4.pdfsoft eng chap 4.pdf
soft eng chap 4.pdf
 
requirement engineering chapter 4 .ppt slide
requirement engineering chapter 4 .ppt sliderequirement engineering chapter 4 .ppt slide
requirement engineering chapter 4 .ppt slide
 
requirement engineering chapter 4 .ppt slide
requirement engineering chapter 4 .ppt sliderequirement engineering chapter 4 .ppt slide
requirement engineering chapter 4 .ppt slide
 
Ch4
Ch4Ch4
Ch4
 
Ch4
Ch4Ch4
Ch4
 
Ch 4 software engineering
Ch 4 software engineeringCh 4 software engineering
Ch 4 software engineering
 
Ian Sommerville, Software Engineering, 9th Edition Ch 4
Ian Sommerville,  Software Engineering, 9th Edition Ch 4Ian Sommerville,  Software Engineering, 9th Edition Ch 4
Ian Sommerville, Software Engineering, 9th Edition Ch 4
 
Requirements engineering
Requirements engineeringRequirements engineering
Requirements engineering
 
Software requirement and specification
Software requirement and specificationSoftware requirement and specification
Software requirement and specification
 
Software requirement and specification
Software requirement and specificationSoftware requirement and specification
Software requirement and specification
 
Ch4 Req Eng 1111111111111111111111111.pdf
Ch4 Req Eng 1111111111111111111111111.pdfCh4 Req Eng 1111111111111111111111111.pdf
Ch4 Req Eng 1111111111111111111111111.pdf
 
software engineering Chapter4 Req .pptx
software engineering Chapter4 Req  .pptxsoftware engineering Chapter4 Req  .pptx
software engineering Chapter4 Req .pptx
 
SE Chapter 4 - Software Requirements.pptx
SE Chapter 4 - Software  Requirements.pptxSE Chapter 4 - Software  Requirements.pptx
SE Chapter 4 - Software Requirements.pptx
 
Unit 2.ppt
Unit 2.pptUnit 2.ppt
Unit 2.ppt
 
Chapter 4 Requirement Engineering.pdf
Chapter 4 Requirement Engineering.pdfChapter 4 Requirement Engineering.pdf
Chapter 4 Requirement Engineering.pdf
 
Ch4 - Req Eng
Ch4 - Req EngCh4 - Req Eng
Ch4 - Req Eng
 
Ch4 req eng
Ch4 req engCh4 req eng
Ch4 req eng
 
Requirements Engineering
Requirements EngineeringRequirements Engineering
Requirements Engineering
 
SEPM_MODULE 3.1 Req Eng.pptx
SEPM_MODULE 3.1 Req Eng.pptxSEPM_MODULE 3.1 Req Eng.pptx
SEPM_MODULE 3.1 Req Eng.pptx
 

Recently uploaded

Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024
Paco van Beckhoven
 
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Globus
 
Into the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdfInto the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdf
Ortus Solutions, Corp
 
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Shahin Sheidaei
 
Enterprise Resource Planning System in Telangana
Enterprise Resource Planning System in TelanganaEnterprise Resource Planning System in Telangana
Enterprise Resource Planning System in Telangana
NYGGS Automation Suite
 
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus
 
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdfDominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
AMB-Review
 
Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"
Donna Lenk
 
top nidhi software solution freedownload
top nidhi software solution freedownloadtop nidhi software solution freedownload
top nidhi software solution freedownload
vrstrong314
 
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, BetterWebinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
XfilesPro
 
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus
 
Graphic Design Crash Course for beginners
Graphic Design Crash Course for beginnersGraphic Design Crash Course for beginners
Graphic Design Crash Course for beginners
e20449
 
A Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdfA Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdf
kalichargn70th171
 
Cyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdfCyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdf
Cyanic lab
 
Prosigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology SolutionsProsigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology Solutions
Prosigns
 
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Mind IT Systems
 
How Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptxHow Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptx
wottaspaceseo
 
Using IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New ZealandUsing IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New Zealand
IES VE
 
Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume MontevideoVitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke
 
Quarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden ExtensionsQuarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden Extensions
Max Andersen
 

Recently uploaded (20)

Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024
 
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
 
Into the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdfInto the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdf
 
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
 
Enterprise Resource Planning System in Telangana
Enterprise Resource Planning System in TelanganaEnterprise Resource Planning System in Telangana
Enterprise Resource Planning System in Telangana
 
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024
 
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdfDominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
 
Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"
 
top nidhi software solution freedownload
top nidhi software solution freedownloadtop nidhi software solution freedownload
top nidhi software solution freedownload
 
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, BetterWebinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
 
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024
 
Graphic Design Crash Course for beginners
Graphic Design Crash Course for beginnersGraphic Design Crash Course for beginners
Graphic Design Crash Course for beginners
 
A Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdfA Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdf
 
Cyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdfCyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdf
 
Prosigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology SolutionsProsigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology Solutions
 
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
 
How Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptxHow Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptx
 
Using IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New ZealandUsing IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New Zealand
 
Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume MontevideoVitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume Montevideo
 
Quarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden ExtensionsQuarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden Extensions
 

Requirements Engineering - Lecture 1.pdf

  • 1. Chapter 4 Requirements engineering Chapter 4 – Requirements Engineering Lecture 1 1
  • 2. Chapter 4 Requirements engineering Topics covered ◇ Functional and non-functional requirements ◇ The software requirements document ◇ Requirements specification ◇ Requirements engineering processes ◇ Requirements elicitation and analysis ◇ Requirements validation ◇ Requirements management 2
  • 3. Chapter 4 Requirements engineering Requirements engineering ◇ The process of establishing the services that the customer requires from a system and the constraints under which it operates and is developed. ◇ The requirements themselves are the descriptions of the system services and constraints that are generated during the requirements engineering process. 3
  • 4. Chapter 4 Requirements engineering What is a requirement? ◇ It may range from a high-level abstract statement of a service or of a system constraint to a detailed mathematical functional specification. ◇ This is inevitable as requirements may serve a dual function ▪ May be the basis for a bid for a contract - therefore must be open to interpretation; ▪ May be the basis for the contract itself - therefore must be defined in detail; ▪ Both these statements may be called requirements. 4
  • 5. Chapter 4 Requirements engineering Requirements abstraction (Davis) “If a company wishes to let a contract for a large software development project, it must define its needs in a sufficiently abstract way that a solution is not pre-defined. The requirements must be written so that several contractors can bid for the contract, offering, perhaps, different ways of meeting the client organization’s needs. Once a contract has been awarded, the contractor must write a system definition for the client in more detail so that the client understands and can validate what the software will do. Both of these documents may be called the requirements document for the system.” 5
  • 6. Chapter 4 Requirements engineering Types of requirement ◇ User requirements ▪ Statements in natural language plus diagrams of the services the system provides and its operational constraints. Written for customers. ◇ System requirements ▪ A structured document setting out detailed descriptions of the system’s functions, services and operational constraints. Defines what should be implemented so may be part of a contract between client and contractor. 6
  • 7. Chapter 4 Requirements engineering User and system requirements 1. The MHC-PMS shall generate monthly management reports showing the cost of drugs prescribed by each clinic during that month. 1.1 On the last working day of each month, a summary of the drugs prescribed, their cost and the prescribing clinics shall be generated. 1.2 The system shall automatically generate the report for printing after 17.30 on the last working day of the month. 1.3 A report shall be created for each clinic and shall list the individual drug names, the total number of prescriptions, the number of doses prescribed and the total cost of the prescribed drugs. 1.4 If drugs are available in different dose units (e.g. 10mg, 20 mg, etc.) separate reports shall be created for each dose unit. 1.5 Access to all cost reports shall be restricted to authorized users listed on a management access control list. User requirement definition System requirements specification 7
  • 8. Chapter 4 Requirements engineering Readers of different types of requirements specification Client managers System end-users Client engineers Contractor managers System architects System end-users Client engineers System architects Software developers User requirements System requirements 8
  • 9. Chapter 4 Requirements engineering Functional and non-functional requirements ◇ Functional requirements ▪ Statements of services the system should provide, how the system should react to particular inputs and how the system should behave in particular situations. ▪ May state what the system should not do. ◇ Non-functional requirements ▪ Constraints on the services or functions offered by the system such as timing constraints, constraints on the development process, standards, etc. ▪ Often apply to the system as a whole rather than individual features or services. ◇ Domain requirements ▪ Constraints on the system from the domain of operation 9
  • 10. Chapter 4 Requirements engineering Functional requirements ◇ Describe functionality or system services. ◇ Depend on the type of software, expected users and the type of system where the software is used. ◇ Functional user requirements may be high-level statements of what the system should do. ◇ Functional system requirements should describe the system services in detail. 10
  • 11. Chapter 4 Requirements engineering Functional requirements for the MHC-PMS ◇ A user shall be able to search the appointments lists for all clinics. ◇ The system shall generate each day, for each clinic, a list of patients who are expected to attend appointments that day. ◇ Each staff member using the system shall be uniquely identified by his or her 8-digit employee number. 11
  • 12. Chapter 4 Requirements engineering Requirements imprecision ◇ Problems arise when requirements are not precisely stated. ◇ Ambiguous requirements may be interpreted in different ways by developers and users. ◇ Consider the term ‘search’ in requirement 1 ▪ User intention – search for a patient name across all appointments in all clinics; ▪ Developer interpretation – search for a patient name in an individual clinic. User chooses clinic then search. 12
  • 13. Chapter 4 Requirements engineering Requirements completeness and consistency ◇ In principle, requirements should be both complete and consistent. ◇ Complete ▪ They should include descriptions of all facilities required. ◇ Consistent ▪ There should be no conflicts or contradictions in the descriptions of the system facilities. ◇ In practice, it is impossible to produce a complete and consistent requirements document. 13
  • 14. Chapter 4 Requirements engineering Non-functional requirements ◇ These define system properties and constraints e.g. reliability, response time and storage requirements. Constraints are I/O device capability, system representations, etc. ◇ Process requirements may also be specified mandating a particular IDE, programming language or development method. ◇ Non-functional requirements may be more critical than functional requirements. If these are not met, the system may be useless. 14
  • 15. Chapter 4 Requirements engineering Types of nonfunctional requirement Performance requirements Space requirements Usability requirements Efficiency requirements Dependability requirements Security requirements Regulatory requirements Ethical requirements Legislative requirements Operational requirements Development requirements Environmental requirements Safety/security requirements Accounting requirements Product requirements Organizational requirements External requirements Non-functional requirements 15
  • 16. Chapter 4 Requirements engineering Non-functional requirements implementation ◇ Non-functional requirements may affect the overall architecture of a system rather than the individual components. ▪ For example, to ensure that performance requirements are met, you may have to organize the system to minimize communications between components. ◇ A single non-functional requirement, such as a security requirement, may generate a number of related functional requirements that define system services that are required. ▪ It may also generate requirements that restrict existing requirements. 16
  • 17. Chapter 4 Requirements engineering Non-functional classifications ◇ Product requirements ▪ Requirements which specify that the delivered product must behave in a particular way e.g. execution speed, reliability, etc. ◇ Organisational requirements ▪ Requirements which are a consequence of organisational policies and procedures e.g. process standards used, implementation requirements, etc. ◇ External requirements ▪ Requirements which arise from factors which are external to the system and its development process e.g. interoperability requirements, legislative requirements, etc. 17
  • 18. Chapter 4 Requirements engineering Examples of nonfunctional requirements in the MHC-PMS Product requirement The MHC-PMS shall be available to all clinics during normal working hours (Mon–Fri, 0830–17.30). Downtime within normal working hours shall not exceed five seconds in any one day. Organizational requirement
 Users of the MHC-PMS system shall authenticate themselves using their health authority identity card. External requirement
 The system shall implement patient privacy provisions as set out in HStan-03-2006-priv. 18
  • 19. Chapter 4 Requirements engineering Goals and requirements ◇ Non-functional requirements may be very difficult to state precisely and imprecise requirements may be difficult to verify. ◇ Goal ▪ A general intention of the user such as ease of use. ◇ Verifiable non-functional requirement ▪ A statement using some measure that can be objectively tested. ◇ Goals are helpful to developers as they convey the intentions of the system users. 19
  • 20. Chapter 4 Requirements engineering Usability requirements ◇ The system should be easy to use by medical staff and should be organized in such a way that user errors are minimized. (Goal) ◇ Medical staff shall be able to use all the system functions after four hours of training. After this training, the average number of errors made by experienced users shall not exceed two per hour of system use. (Testable non- functional requirement) 20
  • 21. Chapter 4 Requirements engineering Metrics for specifying nonfunctional requirements Property Measure Speed Processed transactions/second User/event response time Screen refresh time Size Mbytes Number of ROM chips Ease of use Training time Number of help frames Reliability Mean time to failure Probability of unavailability Rate of failure occurrence Availability Robustness Time to restart after failure Percentage of events causing failure Probability of data corruption on failure Portability Percentage of target dependent statements Number of target systems 21
  • 22. Chapter 4 Requirements engineering Domain requirements ◇ The system’s operational domain imposes requirements on the system. ▪ For example, a train control system has to take into account the braking characteristics in different weather conditions. ◇ Domain requirements be new functional requirements, constraints on existing requirements or define specific computations. ◇ If domain requirements are not satisfied, the system may be unworkable. 22
  • 23. Chapter 4 Requirements engineering Train protection system ◇ This is a domain requirement for a train protection system: ◇ The deceleration of the train shall be computed as: ▪ Dtrain = Dcontrol + Dgradient ▪ where Dgradient is 9.81ms2 * compensated gradient/alpha and where the values of 9.81ms2 /alpha are known for different types of train. ◇ It is difficult for a non-specialist to understand the implications of this and how it interacts with other requirements. 23
  • 24. Chapter 4 Requirements engineering Domain requirements problems ◇ Understandability ▪ Requirements are expressed in the language of the application domain; ▪ This is often not understood by software engineers developing the system. ◇ Implicitness ▪ Domain specialists understand the area so well that they do not think of making the domain requirements explicit. 24
  • 25. Chapter 4 Requirements engineering Key points ◇ Requirements for a software system set out what the system should do and define constraints on its operation and implementation. ◇ Functional requirements are statements of the services that the system must provide or are descriptions of how some computations must be carried out. ◇ Non-functional requirements often constrain the system being developed and the development process being used. ◇ They often relate to the emergent properties of the system and therefore apply to the system as a whole. 25