0% found this document useful (0 votes)
10 views20 pages

Req Analysis

Software engineer slides. Best information

Uploaded by

moeezshehzad26
Copyright
© © All Rights Reserved
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
Download as ppt, pdf, or txt
0% found this document useful (0 votes)
10 views20 pages

Req Analysis

Software engineer slides. Best information

Uploaded by

moeezshehzad26
Copyright
© © All Rights Reserved
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
Download as ppt, pdf, or txt
Download as ppt, pdf, or txt
You are on page 1/ 20

Software Requirements


Descriptions and specifications of
a system

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 5 Slide 1


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

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 5 Slide 2


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

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 5 Slide 3


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.

Non-functional requirements
• constraints on the services or functions offered by the system such as
timing constraints, constraints on the development process, standards,
etc.

Domain requirements
• Requirements that come from the application domain of the system
and that reflect characteristics of that domain

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 5 Slide 4


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 but
functional system requirements should describe the
system services in detail

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 5 Slide 5


Examples of functional requirements

The user shall be able to search either all of the initial
set of databases or select a subset from it.

The system shall provide appropriate viewers for the
user to read documents in the document store.

Every order shall be allocated a unique identifier
(ORDER_ID) which the user shall be able to copy to
the account’s permanent storage area.

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 5 Slide 6


Non-functional requirements

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 CASE system, programming language or
development method

Non-functional requirements may be more critical than
functional requirements. If these are not met, the
system is useless

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 5 Slide 7


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.

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 5 Slide 8


Non-functional requirement types
Non-functional
requir ements

Product Or ganizational External


requir ements requir ements requirements

Ef ficiency Reliability Portability Interoperability Ethical


requir ements requir ements requirements requirements requirements

Usability Delivery Implementation Standards Legislative


requirements requirements requir ements requirements requirements

Performance Space Privacy Safety


requirements requir ements requirements requirements

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 5 Slide 9


Non-functional requirements examples

Product requirement
• 4.C.8 It shall be possible for all necessary communication between the
APSE and the user to be expressed in the standard Ada character set

Organisational requirement
• 9.3.2 The system development process and deliverable documents shall
conform to the process and deliverables defined in XYZCo-SP-STAN-95

External requirement
• 7.6.5 The system shall not disclose any personal information about
customers apart from their name and reference number to the operators of
the system

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 5 Slide 10


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

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 5 Slide 11


Examples

A system goal
• The system should be easy to use by experienced controllers and
should be organised in such a way that user errors are minimised.

A verifiable non-functional requirement
• Experienced controllers shall be able to use all the system functions
after a total of two hours training. After this training, the average
number of errors made by experienced users shall not exceed two per
day.

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 5 Slide 12


Requirements measures
Property Measure
Speed Processed transactions/second
User/Event response time
Screen refresh time
Size K Bytes
Number of RAM 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
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 5 Slide 13
Domain requirements

Derived from the application domain and describe
system characterisics and features that reflect the
domain

May be new functional requirements, constraints on
existing requirements or define specific computations

If domain requirements are not satisfied, the system
may be unworkable

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 5 Slide 14


Library system domain requirements

There shall be a standard user interface to all
databases which shall be based on the Z39.50
standard.

Because of copyright restrictions, some documents
must be deleted immediately on arrival. Depending on
the user’s requirements, these documents will either
be printed locally on the system server for manually
forwarding to the user or routed to a network printer.

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 5 Slide 15


Guidelines for writing requirements

Invent a standard format and use it for all
requirements

Use language in a consistent way. Use shall for
mandatory requirements, should for desirable
requirements

Use text highlighting to identify key parts of the
requirement

Avoid the use of computer jargon

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 5 Slide 16


IEEE requirements standard

Introduction

General description

Specific requirements

Appendices

Index

This is a generic structure that must be instantiated for
specific systems

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 5 Slide 17


Requirements document structure

Introduction

Glossary

User requirements definition

System architecture

System requirements specification

System models

System evolution

Appendices

Index

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 5 Slide 18


Key points

Requirements set out what the system should do and
define constraints on its operation and implementation

Functional requirements set out services the system
should provide

Non-functional requirements constrain the system
being developed or the development process

User requirements are high-level statements of what
the system should do

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 5 Slide 19


Key points

User requirements should be written in natural
language, tables and diagrams

System requirements are intended to communicate the
functions that the system should provide

System requirements may be written in structured
natural language, a PDL or in a formal language

A software requirements document is an agreed
statement of the system requirements

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 5 Slide 20

You might also like