Académique Documents
Professionnel Documents
Culture Documents
Chapter 6
Software requirements
Ku-Yaw Chang
canseco@mail.dyu.edu.tw
Assistant Professor
Department of Computer Science and Information Engineering
Da-Yeh University
Objectives
Understand the concepts of user requirements
and system requirements and why these
requirements should be written in different ways
Understand the differences between functional
and non-functional software requirements
Understand how requirements may be organized
in a software requirements document
Ku-Yaw Chang
Software Requirements
Preamble
Requirements
Ku-Yaw Chang
Software Requirements
Preamble
Different level of descriptions
User requirements
Statements of what services the system is expected to
provide and the constraints under which it must operate
In a natural language plus diagrams
System requirements
Set out the systems functions, services and operational
constraints in detail
Should be precise, also called functional specification
Define exactly what is to be implemented
Ku-Yaw Chang
Software Requirements
Preamble
User requirement definition
1. LIBSYS shall keep track of all data required
by copyright licensing agencies in the UK and
elsewhere
Ku-Yaw Chang
Software Requirements
Preamble
System requirement definition
1.1 On making a request for a document from LIBSYS, the
requestor shall be presented with a form that records details of
the user and the request made.
1.2 LIBSYS request forms shall be stored on the system for five
years from the date of the request.
1.3 All LIBSYS request forms must be indexed by user, by the
name of the material requested and by the supplier of the
request.
1.4 LIBSYS shall maintain a log of all requests that have been
made to the system.
1.5 For material where authors lending rights apply, loan details
shall be sent monthly to copyright licensing agencies that have
registered with LIBSYS.
Ku-Yaw Chang
Software Requirements
Readers of
different types of specification
User
requirements
Client managers
System end-users
Client engineers
Contractor managers
System architects
System
requirements
System end-users
Client engineers
System architects
Software developers
Ku-Yaw Chang
Software Requirements
Contents
6.1 Functional and non-functional requirements
6.2 User requirements
6.3 System requirements
6.4 Interface specification
6.5 The software requirements document
6.6 Exercises
Ku-Yaw Chang
Software Requirements
Statements of services
the system should provide
how the system should react to particular inputs
how the system should behave in particular situations
Non-functional requirements
Domain requirements
Ku-Yaw Chang
Software Requirements
Ku-Yaw Chang
Software Requirements
10
Product
requirements
Efficiency
requirements
Reliability
requirements
Usability
requirements
Performance
requirements
Ku-Yaw Chang
Organisational
requirements
Portability
requirements
Delivery
requirements
External
requirements
Interoperability
requirements
Implementation
requirements
Space
requirements
Ethical
requirements
Standards
requirements
Pri vacy
requirements
Software Requirements
11
Legislative
requirements
Safety
requirements
Examples of
non-functional requirements
Product requirement
Organizational requirement
External requirement
Ku-Yaw Chang
Software Requirements
12
Measure
Speed
Processed transactions/second
User/Event response time
Screen refresh time
Size
M Bytes
Number of ROM chips
Ease of use
Training time
Number of help frames
Reliability
Robustness
Portability
Ku-Yaw Chang
Software Requirements
13
Ku-Yaw Chang
Software Requirements
14
Contents
6.1 Functional and non-functional requirements
6.2 User requirements
6.3 System requirements
6.4 Interface specification
6.5 The software requirements document
6.6 Exercises
Ku-Yaw Chang
Software Requirements
15
User requirements
Describe the functional and non-functional
requirements
Should
Should not
Ku-Yaw Chang
Software Requirements
16
User requirements
Various problems
Lack of clarity
Requirements confusion
Requirements amalgamation
Ku-Yaw Chang
Software Requirements
17
Ku-Yaw Chang
Software Requirements
18
Contents
6.1 Functional and non-functional requirements
6.2 User requirements
6.3 System requirements
6.4 Interface specification
6.5 The software requirements document
6.6 Exercises
Ku-Yaw Chang
Software Requirements
19
Contents
6.1 Functional and non-functional requirements
6.2 User requirements
6.3 System requirements
6.4 Interface specification
6.5 The software requirements document
6.6 Exercises
Ku-Yaw Chang
Software Requirements
20
Contents
6.1 Functional and non-functional requirements
6.2 User requirements
6.3 System requirements
6.4 Interface specification
6.5 The software requirements document
6.6 Exercises
Ku-Yaw Chang
Software Requirements
21
Contents
6.1 Functional and non-functional requirements
6.2 User requirements
6.3 System requirements
6.4 Interface specification
6.5 The software requirements document
6.6 Exercises
Ku-Yaw Chang
Software Requirements
22