0% found this document useful (0 votes)
37 views

Software Requirements: Descriptions and Specifications of A System

The document discusses software requirements and the requirements engineering process. It defines what requirements are, including functional and non-functional requirements. It also describes different types of stakeholders who use requirements documents and how requirements are specified using natural language, forms, and interfaces. Requirements documents are used to plan system development and define what the system should do at a high level.
Copyright
© © All Rights Reserved
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
37 views

Software Requirements: Descriptions and Specifications of A System

The document discusses software requirements and the requirements engineering process. It defines what requirements are, including functional and non-functional requirements. It also describes different types of stakeholders who use requirements documents and how requirements are specified using natural language, forms, and interfaces. Requirements documents are used to plan system development and define what the system should do at a high level.
Copyright
© © All Rights Reserved
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 23

Software Requirements


Descriptions and specifications of
a system
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
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
Enduring and volatile requirements

Enduring requirements. Stable requirements derived
from the core activity of the customer organisation.
E.g. a hospital will always have doctors, nurses, etc.
May be derived from domain models

Volatile requirements. Requirements which change
during development or when the system is in use. In a
hospital, requirements derived from health-care policy
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
services. Written as a contract between client and contractor

Software specification
• A detailed software description which can serve as a basis for a design
or implementation. Written for developers
Definitions and specifications
Requirements definition

1. The software must provide a means of repr esenting and


1. accessing external files created by other tools.

Requirements specification

1.1 The user should be provided with facilities to define the type of
1.2 external files.
1.2 Each external file type may have an associated tool which may be
1.2 applied to the file.
1.3 Each external file type may be represented as a specific icon on
1.2 the user’s display.
1.4 Facilities should be provided for the icon repr esenting an
1.2 external file type to be defined by the user.
1.5 When a user selects an icon repr esenting an external file, the
1.2 effect of that selection is to apply the tool associated with the type of
1.2 the external file to the file represented by the selected icon.
Requirements readers
Client managers
System end-users
User requirements Client engineers
Contractor managers
System architects

System end-users
Client engineers
System requirements
System architects
Software developers

Client engineers (perhaps)


Software design
System architects
specification
Software developers
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
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
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.
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
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.
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
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
User requirements

Should describe functional and non-functional
requirements so that they are understandable by
system users who don’t have detailed technical
knowledge

User requirements are defined using natural language,
tables and diagrams
Problems with natural language

Lack of clarity
• Precision is difficult without making the document difficult to read

Requirements confusion
• Functional and non-functional requirements tend to be mixed-up

Requirements amalgamation
• Several different requirements may be expressed together
Form-based specifications

Definition of the function or entity

Description of inputs and where they come from

Description of outputs and where they go to

Indication of other entities required

Pre and post conditions (if appropriate)

The side effects (if any)
Interface specification

Most systems must operate with other systems and the
operating interfaces must be specified as part of the
requirements

Three types of interface may have to be defined
• Procedural interfaces
• Data structures that are exchanged
• Data representations

Formal notations are an effective technique for
interface specification
The requirements document

The requirements document is the official statement
of what is required of the system developers

Should include both a definition and a specification of
requirements

It is NOT a design document. As far as possible, it
should set of WHAT the system should do rather than
HOW it should do it
Specify the requirements and
read them to check that they
System customers meet their needs. They
specify changes to the
requirements

Use the requirements


Managers document to plan a bid for
the system and to plan the
system development process

Use the requirements to


System engineers understand what system is to
be developed

System test Use the requirements to


engineers develop validation tests for
the system

Users of a
System Use the requirements to help
understand the system and
requirements
maintenance
engineers the relationships between its document
parts
The requirements engineering process
Feasibility Requirements
study elicitation and
analysis
Requir ements
specification
Feasibility Requirements
report validation
System
models
User and system
requirements

Requirements
document
IEEE requirements standard

Introduction

General description

Specific requirements

Appendices

Index

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

Introduction

Glossary

User requirements definition

System architecture

System requirements specification

System models

System evolution

Appendices

Index

You might also like