Sie sind auf Seite 1von 22

Software Engineering

Chapter 6
Software requirements
Ku-Yaw Chang
canseco@mail.dyu.edu.tw

Assistant Professor
Department of Computer Science and Information Engineering
Da-Yeh University
2 Ku-Yaw Chang Software Requirements
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
3 Ku-Yaw Chang Software Requirements
Preamble
Requirements
Descriptions of the services provided by the system
and its operational constraints
Requirements engineering (RE)
The process of finding out, analyzing, documenting
and checking these services and constraints
4 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
5 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
6 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.
7 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
8 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
9 Ku-Yaw Chang Software Requirements
6.1 Functional and non-functional
requirements
Functional 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
Constraints on the services or functions offered by the
system
timing constraints
constraints on the development process, standards, etc.
Domain requirements
From the application domain of the system and that
reflect characteristics of that domain
10 Ku-Yaw Chang Software Requirements
6.1.1 Functional requirements
Examples for a university library system called
LIBSYS
1. The user shall be able to search either all of the initial
set of databases or select a subset from it.
2. The system shall provide appropriate viewers for the
user to read documents in the document store.
3. Every order shall be allocated a unique identifier
(ORDER_ID), which the user shall be able to copy to
the accounts permanent storage area.
11 Ku-Yaw Chang Software Requirements
6.1.2 Non-functional requirements
Performance
requir ements
Space
requir ements
Usability
requir ements
Efficiency
requir ements
Reliability
requir ements
Portability
requir ements
Inter oper ability
requir ements
Ethical
requir ements
Legisla tive
requir ements
Implementa tion
requir ements
Standar ds
requir ements
Delivery
requir ements
Safety
requir ements
Privacy
requir ements
Product
requir ements
Organisational
requir ements
External
requir ements
Non-functional
requir ements
12 Ku-Yaw Chang Software Requirements
Examples of
non-functional requirements
Product requirement
8.1 The user interface for LIBSYS shall be
implemented as simple HTML without frames or java
applets
Organizational 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
10.6 The system shall not disclose any personal
information about system users apart from their name
and library reference number to the library staff who
use the system.
13 Ku-Yaw Chang Software Requirements
Metrics for specifying
non-functional requirements
Property Measure
Speed Processed transactions/second
User/Event response time
Screen refresh time
Size M Byt es
Number of ROM chips
Ease of use Training time
Number of help frames
Reliability Mean t ime to failure
Probability of unavailability
Rat e of failure occurrence
Availability
Robustness Time to rest art after failure
Percent age of events causing failure
Probability of dat a corruption on failure
Portability Percent age of target dependent st atements
Number of target systems
14 Ku-Yaw Chang Software Requirements
6.1.3 Domain requirements
Be derived from the application domain
Not from the specific needs of system users
Reflect fundamentals of the application domain
Examples
There shall be a standard user interface to all
databases that shall be based on the Z39.50 standard.
Because of copyright restrictions, some documents
must be deleted immediately on arrival. Depending on
the user requirements, these documents will either be
printed locally on the system server for manual
forwarding to the user or routed to a network printer.
15 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
16 Ku-Yaw Chang Software Requirements
User requirements
Describe the functional and non-functional
requirements
Be understandable by system users without detailed
technical knowledge
Should
Simple language, simple tables and forms and
intuitive diagrams
Should not
Software jargon, structured notations or formal
notations, system implementation
17 Ku-Yaw Chang Software Requirements
User requirements
Various problems
Lack of clarity
Requirements confusion
Requirements amalgamation
18 Ku-Yaw Chang Software Requirements
A user requirement for
an accounting system in LIBSYS
4.5
LIBSYS shall provide a financial accounting
system that maintains records of all payments
made by users of the system. System managers
may configure this system so that regular users
may receive discounted rates.
19 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
20 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
21 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
22 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

Das könnte Ihnen auch gefallen