[06] Software Requirements
Transcript of [06] Software Requirements
-
8/12/2019 [06] Software Requirements
1/22
Software Engineering
Chapter 6
Software requirements
Ku-Yaw Chang
Assistant ProfessorDepartment of Computer Science and Information Engineering
Da-Yeh University
mailto:[email protected]:[email protected] -
8/12/2019 [06] Software Requirements
2/22
2Ku-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 functionaland non-functional software requirements
Understand how requirements may be
organized in a software requirements document
-
8/12/2019 [06] Software Requirements
3/22
3Ku-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
-
8/12/2019 [06] Software Requirements
4/22
4Ku-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
-
8/12/2019 [06] Software Requirements
5/22
5Ku-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
-
8/12/2019 [06] Software Requirements
6/22
6Ku-Yaw Chang Software Requirements
Preamble
System requirement definition1.1 On making a request for a document from LIBSYS, the
requestor shall be presented with a form that records details ofthe user and the request made.
1.2 LIBSYS request forms shall be stored on the system for fiveyears from the date of the request.
1.3 All LIBSYS request forms must be indexed by user, by thename of the material requested and by the supplier of therequest.
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 haveregistered with LIBSYS.
-
8/12/2019 [06] Software Requirements
7/22
7Ku-Yaw Chang Software Requirements
Readers of
different types of specification
User
requirements
Client managers
System end-users
Client engineers
Contractor managersSystem architects
Systemrequirements
System end-users
Client engineersSystem architects
Software developers
-
8/12/2019 [06] Software Requirements
8/22
8Ku-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
-
8/12/2019 [06] Software Requirements
9/22
9Ku-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 situationsNon-functional requirements Constraints on the services or functions offered by the
systemtiming constraints
constraints on the development process, standards, etc.Domain requirements From the application domain of the system and that
reflect characteristics of that domain
-
8/12/2019 [06] Software Requirements
10/22
10Ku-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 tothe accounts permanent storage area.
-
8/12/2019 [06] Software Requirements
11/22
11Ku-Yaw Chang Software Requirements
6.1.2 Non-functional requirements
Performance
requir e ments
Space
requir ements
Usability
re quir em ents
Effic iency
requir ements
Re lia bility
re quir em ents
Portab ility
requir e ments
Inter oper a bility
requir e ments
Ethical
requir ements
Legislative
requir e ments
Im plem enta tion
requir e ments
Sta ndar ds
requir e ments
Delivery
requir e ments
Safety
requir e ments
Privacy
requir ements
Product
re quir em ents
Org anisa tional
requir e ments
External
requir ements
Non-f unctiona l
requir e ments
-
8/12/2019 [06] Software Requirements
12/22
12Ku-Yaw Chang Software Requirements
Examples of
non-functional requirementsProduct requirement 8.1 The user interface for LIBSYS shall be
implemented as simple HTML without frames or javaapplets
Organizational requirement 9.3.2 The system development process and
deliverable documents shall conform to the processand 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 nameand library reference number to the library staff whouse the system.
-
8/12/2019 [06] Software Requirements
13/22
13Ku-Yaw Chang Software Requirements
Metrics for specifying
non-functional requirementsPrope rty Me asure
Speed Processed transactions/second
User/Event response time
Screen refresh time
Size M Bytes
Number of ROM chips
Ease of use Training timeNumber of help frames
Reliability Mean time to failure
Probability of unavailability
Rate of failure occurrence
Availability
Robustness T ime to restart after failure
Percentage of events causing failure
Probability of data corruption on failure
Portability Percent age of target dependent st atements
Number of target systems
-
8/12/2019 [06] Software Requirements
14/22
14Ku-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 documentsmust be deleted immediately on arrival. Depending onthe user requirements, these documents will either beprinted locally on the system server for manualforwarding to the user or routed to a network printer.
-
8/12/2019 [06] Software Requirements
15/22
15Ku-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
-
8/12/2019 [06] Software Requirements
16/22
16Ku-Yaw Chang Software Requirements
User requirements
Describe the functional and non-functional
requirements
Be understandable by system users without detailed
technical knowledgeShould
Simple language, simple tables and forms and
intuitive diagrams
Should not Software jargon, structured notations or formal
notations, system implementation
-
8/12/2019 [06] Software Requirements
17/22
17Ku-Yaw Chang Software Requirements
User requirements
Various problems
Lack of clarity
Requirements confusion
Requirements amalgamation
-
8/12/2019 [06] Software Requirements
18/22
18Ku-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 managersmay configure this system so that regular users
may receive discounted rates.
-
8/12/2019 [06] Software Requirements
19/22
19Ku-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
-
8/12/2019 [06] Software Requirements
20/22
20Ku-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
-
8/12/2019 [06] Software Requirements
21/22
21Ku-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
-
8/12/2019 [06] Software Requirements
22/22
22Ku-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