Pss 0502
Pss 0502
Pss 0502
March 1995
Guide
to the
user requirements
definition
phase
Prepared by:
ESA Board for Software
Standardisation and Control
(BSSC)
ii
1. DOCUMENT TITLE: ESA PSS-05-01 Guide to the user requirements definition phase
2. ISSUE
3. REVISION
4. DATE
1991
First issue
1995
iii
TABLE OF CONTENTS
CHAPTER 1 INTRODUCTION..................................................................................1
1.1 PURPOSE ................................................................................................................. 1
1.2 OVERVIEW................................................................................................................ 1
CHAPTER 2 THE USER REQUIREMENTS DEFINITION PHASE...........................3
2.1 INTRODUCTION...................................................................................................... 3
2.2 CAPTURE OF USER REQUIREMENTS .................................................................. 3
2.3 DETERMINATION OF OPERATIONAL ENVIRONMENT ........................................ 4
2.4 SPECIFICATION OF USER REQUIREMENTS........................................................ 5
2.4.1 Capability requirements.................................................................................... 5
2.4.1.1 Capacity.................................................................................................. 6
2.4.1.2 Speed ................................................................................................... 6
2.4.1.3 Accuracy ................................................................................................. 7
2.4.2 Constraint requirements ................................................................................... 7
2.4.2.1 Communications interfaces ................................................................... 7
2.4.2.2 Hardware interfaces ............................................................................... 8
2.4.2.3 Software interfaces................................................................................. 8
2.4.2.4 Human-Computer Interaction ................................................................ 8
2.4.2.5 Adaptability ............................................................................................. 8
2.4.2.6 Availability ............................................................................................... 9
2.4.2.7 Portability ................................................................................................ 9
2.4.2.8 Security .................................................................................................10
2.4.2.9 Safety .................................................................................................10
2.4.2.10 Standards ...........................................................................................10
2.4.2.11 Resources...........................................................................................11
2.4.2.12 Timescales...........................................................................................11
2.5 ACCEPTANCE TEST PLANNING...........................................................................11
2.6 PLANNING THE SOFTWARE REQUIREMENTS DEFINITION PHASE ................11
2.7 THE USER REQUIREMENTS REVIEW..................................................................12
CHAPTER 3 METHODS FOR USER REQUIREMENTS DEFINITION...................13
3.1 INTRODUCTION....................................................................................................13
3.2 METHODS FOR USER REQUIREMENTS CAPTURE ..........................................13
3.2.1 Interviews and surveys ....................................................................................13
3.2.2 Studies of existing software.............................................................................13
3.2.3 Study of system requirements ........................................................................13
3.2.4 Feasibility studies ............................................................................................14
3.2.5 Prototyping
.................................................................................................14
3.3 METHODS FOR REQUIREMENTS SPECIFICATION...........................................14
3.3.1 Natural language ............................................................................................14
iv
PREFACE
This document is one of a series of guides to software engineering produced by
the Board for Software Standardisation and Control (BSSC), of the European Space
Agency. The guides contain advisory material for software developers conforming to
ESA's Software Engineering Standards, ESA PSS-05-0. They have been compiled from
discussions with software engineers, research of the software engineering literature,
and experience gained from the application of the Software Engineering Standards in
projects.
Levels one and two of the document tree at the time of writing are shown in
Figure 1. This guide, identified by the shaded box, provides guidance about
implementing the mandatory requirements for the user requirements definition phase
described in the top level document ESA PSS-05-0.
Level 1
ESA
Software
Engineering
Standards
PSS-05-0
Level 2
Guide to the
Software Engineering
Standards
PSS-05-01
Guide to the
User Requirements
Definition Phase
PSS-05-02 UR Guide
PSS-05-03 SR Guide
PSS-05-04 AD Guide
PSS-05-05 DD Guide
PSS-05-06 TR Guide
PSS-05-07 OM Guide
Guide to
Software Project
Management
PSS-05-08 SPM Guide
PSS-05-09 SCM Guide
PSS-05-10 SVV Guide
PSS-05-11 SQA Guide
vi
The BSSC wishes to thank Jon Fairclough for his assistance in the development
of the Standards and Guides, and to all those software engineers in ESA and Industry
who have made contributions.
Requests for clarifications, change proposals or any other comment concerning
this guide should be addressed to:
BSSC/ESOC Secretariat
Attention of Mr C Mazza
ESOC
Robert Bosch Strasse 5
D-64293 Darmstadt
Germany
BSSC/ESTEC Secretariat
Attention of Mr B Melton
ESTEC
Postbus 299
NL-2200 AG Noordwijk
The Netherlands
CHAPTER 1
INTRODUCTION
1.1
PURPOSE
ESA PSS-05-0 describes the software engineering standards to be
applied for all deliverable software implemented for the European Space
Agency (ESA), either in house or by industry [Ref 1].
ESA PSS-05-0 defines a preliminary phase to the software
development life cycle called the
User Requirements Definition Phase' (UR
phase). Activities and products are examined in the
UR review' (UR/R) at the
end of the phase.
The UR phase can be called the
problem definition phase' of the life
cycle. The phase refines an idea about a task to be performed using
computing equipment, into a definition of what is expected from the
computer system.
This document provides a definition of what user requirements are,
suggests how they can be captured and gives guidelines on how they
should be stated in a URD. This guide should be read by all active
participants in the user requirements phase, i.e. initiators, user
representatives, software project managers and authors and reviewers of
the URD.
1.2
OVERVIEW
Chapter 2 discusses the UR phase. Chapters 3 and 4 discuss
methods and tools for user requirements definition. Chapter 5 describes
how to write the URD, in particular how to fill out the document template.
Chapter 6 summarises the life cycle management activities, which are
discussed at greater length in other guides.
All the mandatory practices in ESA PSS-05-0 relevant to the UR
phase are repeated in this document. The identifier of the practice is added
in parentheses to mark a repetition. This document contains no new
mandatory practices.
CHAPTER 2
THE USER REQUIREMENTS DEFINITION PHASE
2.1
INTRODUCTION
The UR phase can be called the
concept' or
problem definition'
phase of the ESA PSS-05-0 life cycle. User requirements often follow directly
from a spontaneous idea or thought. Even so, wide agreement and
understanding of the user requirements is more likely if these guidelines are
applied. The definition of user requirements is an iterative process.
User requirements are documented in the User Requirements
Document (URD). The URD gives the user's view of the problem, not the
developer's. A URD may have to go through several revisions before it is
acceptable to everyone.
The main outputs of the UR phase are the:
User Requirements Document (URD);
Software Project Management Plan for the SR phase (SPMP/SR);
Software Configuration Management Plan for the SR phase (SCMP/SR);
Software Verification and Validation Plan for the SR Phase (SVVP/SR);
Software Quality Assurance Plan for the AD phase (SQAP/SR);
Acceptance Test Plan (SVVP/AT).
2.2
2.4.1
Capability requirements
Capability requirements describe the process to be supported by
software. Simply stated, they describe
what' the users want to do.
A capability requirement should define an operation, or sequence
of related operations, that the software will be able to perform. If the
sequence contains more than approximately five related operations, the
capability requirement should be split.
The operations should be organised to describe the overall process
from start to finish. Where there are many operations to describe, it is
recommended that they are grouped hierarchically to help manage the
complexity.
Operations may be routine, (e.g. normal tasks) or non-routine (e.g.
error handling, interruptions). Non-routine operations may be grouped
separately from those related to the normal processing.
In the Software Requirements Definition Phase, capability
requirements will be analysed to produce a set of functional requirements. If
duplication of capability requirements occurs, the analyst may be able to
replace them with a single functional requirement. A single function may
support a process at many different times, therefore a function can map to
many capability requirements.
Capacity
The capacity attribute states
how much' of a capability is needed at
any moment in time. Each capability requirement should be attached with a
quantitative measure of the capacity required. For example the:
number of users to be supported;
number of terminals to be supported;
number of satellites that can be controlled simultaneously;
amount of data to be stored.
2.4.1.2
Speed
The speed attribute states how fast the complete operation, or
sequence of operations, is to be performed. Each capability requirement
should be attached with a quantitative measure of the speed required. There
are various ways to do this, for example the:
number of operations done per unit time interval;
time taken to perform an operation.
For example:
95% of the transactions shall be processed in less
than 1 second', is acceptable whilst,
95% of the transactions will be done as
soon as possible' is not.
Note that a system may react quickly to a command but take quite
a long time to complete the operations requested. Such
response'
requirements should be stated as HCI requirements.
2.4.1.3
Accuracy
The accuracy of an operation is measured by the difference
between what is intended and what happens when it is carried out.
Examples are:
the accuracy of accounting reports shall be one accounting unit';
the program shall predict the satellite's altitude to within 10 metres,
seven days in advance'.
Accuracy attributes should take account of both systematic errors
and random errors.
2.4.2
Constraint requirements
Constraint requirements place restrictions on how the user
requirements are to be met. The user may place constraints on the software
related to interfaces, quality, resources and timescales.
Users may constrain how communication is done with other
systems, what hardware is to be used, what software it has to be
compatible with, and how it must interact with human operators. These are
all interface constraints.
An interface is a shared boundary between two systems; it may be
defined in terms of what is exchanged across the boundary.
Interfaces are important kinds of constraints. The user may define
external interfaces (i.e. state how interactions with other systems must be
done) but should leave the developers to define the internal interfaces (i.e. to
state how software components will interact with each other).
Users may constrain the quality required of the final product. Typical
quality characteristics are: adaptability, availability, portability, security and
safety.
2.4.2.1
Communications interfaces
A communications interface requirement may specify the networks
and network protocols to be used. Performance attributes of the interface
may be specified (e.g. data rate).
The ISO reference model for Open Systems Interconnection, with its
seven layers of abstraction, can be used for describing communications
Hardware interfaces
A hardware interface requirement specifies all or part of the
computer hardware the software is to execute on. This may be done by
stating the make and model of the device, physical limitations (e.g. size,
weight), performance (e.g. speed, memory), qualifications (e.g. project
approved, space qualified) and also perhaps whether any hardware
selected has to be derated (e.g. for operation at altitude). Environmental
considerations that affect the selection of hardware may be stated (e.g
humidity, temperature and pressure).
2.4.2.3
Software interfaces
A software interface requirement specifies whether the software is to
be compatible with other software (e.g other applications, compilers,
operating systems, programming languages and database management
systems).
2.4.2.4
Human-Computer Interaction
A Human-Computer Interaction (HCI) requirement may specify any
aspect of the user interface. This may include a statement about style (e.g.
command language, menu system, icons), format (e.g. report content and
layout), messages (e.g. brief, exhaustive) and responsiveness (e.g. time
taken to respond to command). The hardware at the user interface (e.g.
colour display and mouse) may be included either as an HCI requirement or
as a hardware interface requirement.
2.4.2.5
Adaptability
Adaptability measures how easily a system copes with requirements
changes. Adaptable (or flexible) systems are likely to live longer, although
the extra design work needed may be extensive, especially for optimising
modularity. An example of an adaptability requirement is:
it shall be possible
to add new commands without retesting existing commands'.
In the operations and maintenance phase the software may
undergo continuous adaptation as the user requirements are modified by
experience.
Availability
Availability measures the ability of a system to be used during its
intended periods of its operation. Availability requirements may specify:
mean and minimum capacity available (e.g. all terminals);
start and end times of availability (e.g. from 0900 to 1730 daily);
time period for averaging availability (e.g. 1 year).
Examples of availability requirements are:
the user shall be provided with 98% average availability over 1 year
during working hours and never less than 50% of working hours in any
one week';
all essential capabilities shall be at least 98% available in any 48 hour
period and at least 75% available in every 3 hour period'.
When a system is unavailable, some, or even all, of its capabilities
cannot be used. A loss of capability is called a
failure' and is caused by one
or more
faults'. The average time between the occurrence of faults internal
to the software (i.e.
bugs') measures the
reliability' of the software. The
average time taken to fix such faults measures its
maintainability'. A system
may also become unavailable due to external factors (e.g. loss of input
service).
Users only need to state their availability requirements. The
availability requirements are decomposed into specific reliability and
maintainability requirements in the SR phase.
2.4.2.7
Portability
Software portability is measured by the ease that it can be moved
from one environment to another. Portable software tends to be long lived,
but more code may have to be written and performance requirements may
be more difficult to meet. An example of a portability requirement is:
the
software shall be portable between environments X and Y'.
Portability can be measured in terms of the number of lines of code
and/or the number of modules that do not have to be changed to port the
10
Security
A system may need to be secured against threats to its
confidentiality, integrity and availability. For example, a user may request that
unauthorised users be unable to use the system, or that no single event
such as a fire should cause the loss of more than 1 week's information. The
user should describe threats that the system needs to be protected against,
e.g. virus intrusions, hackers, fires, computer breakdowns.
The security of a system can be described in terms of the ownership
of, and rights of access to, the capabilities of the system.
A secure system protects users from their own errors as well as the
malicious interference, or illegal activities, of unauthorised users.
2.4.2.9
Safety
The consequences of software failure should be made clear to
developers. Safety requirements define the needs of users to be protected
against potential problems such as hardware or software faults. They may
define scenarios that the system should handle safely (e.g.
the system
should ensure that no data is lost when a power failure occurs')
2.4.2.10
Standards
Standards requirements normally
documents that define the standard.
reference
the
applicable
11
Resources
The resources available for producing and operating the software
are a constraint on the design. If this information is available then it should
be stated in the Software Project Management Plan in terms of one or more
of financial, manpower and material limits. As with any other product, the
quality and sophistication of a software product are limited by the resources
that are put into building it.
Resource requirements may include specifications of the computer
resources available (e.g. main memory). They may define the minimum
hardware that the system must run on (e.g. a 486 PC with 4 Mbytes of
memory). Care should be taken to include only the necessary resource
constraints.
2.4.2.12
Timescales
A constraint on the design of the software may be the acceptable
timescales for its development and production. Requirements for the
achievement of specific life cycle milestones may be stated in the Software
Project Management Plan.
2.5
2.6
12
13
CHAPTER 3
METHODS FOR USER REQUIREMENTS DEFINITION
3.1
INTRODUCTION
This chapter discusses methods for user requirements capture and
specification in current use. Methods can be combined to suit the needs of
a particular project.
3.2
3.2.1
3.2.2
3.2.3
14
3.2.4
Feasibility studies
A feasibility study is the analysis and design of the principal features
of a system. The amount of detail in the design will not normally allow its
implementation, but may show whether implementation is possible.
3.2.5
Prototyping
A prototype is a
concrete executable model of selected aspects of
a proposed system' [Ref 5]. If requirements are unclear or incomplete, it can
be useful to develop a prototype based on tentative requirements to explore
what the user requirements really are. This is called
exploratory prototyping'.
Hands-on experience can be an excellent way of deciding what is really
wanted.
3.3
3.3.1
Natural language
The obvious way to express a requirement is to use natural
language (e.g. English). Natural language is rich and accessible but
inconsistency and ambiguity are more likely. For example, the statement:
3.3.2
Mathematical formalism
Mathematical formulae should be described or referenced in the
URD where they clarify the statement of requirement. All symbols used in an
expression should be defined or referenced.
3.3.3
Structured English
Structured English is a specification language that makes use of a
limited vocabulary and a limited syntax [Ref 7]. The vocabulary of Structured
English consists only of:
imperative English language verbs;
15
Condition:
IF SAMPLE IS OF NOMINAL QUALITY THEN
CALIBRATE SAMPLE
ELSE
STORE BAD SAMPLE
Repetition:
FOR EACH SAMPLE
GET POINTING DIRECTION AT TIME OF SAMPLE
STORE POINTING DIRECTION WITH SAMPLE
Tables
Tables are an effective method for describing requirements
completely and concisely. Used extensively in later phases, they can
summarise relationships more effectively than a plain text description.
3.3.5
16
3.3.6
Timelines
Timelines can describe sequences of operations that software must
perform, especially if there is a real-time aspect or processing schedule.
They convey a sense of interval more powerfully than a text description.
3.3.7
Context diagrams
A context diagram contains
one bubble, representing the
system, and dataflow arrows,
showing the inputs and outputs.
Context diagrams show external
interfaces.
TC
TM
Targets
Selection
Criteria
Ground System
Images
Bad TM
17
CHAPTER 4
TOOLS FOR USER REQUIREMENTS DEFINITION
4.1
INTRODUCTION
This chapter discusses tools for user requirements capture and
specification. Tools can be combined to suit the needs of a particular
project.
4.2
4.3
4.3.1
18
Document production
A word processor or text processor should be used for producing a
document. Tools for the creation of paragraphs, sections, headers, footers,
tables of contents and indexes all facilitate the production of a document. A
spell checker is desirable. An outliner may be found useful for creation of
sub-headings, for viewing the document at different levels of detail and for
rearranging the document. The ability to handle diagrams is very important.
Documents invariably go through many drafts as they are created,
reviewed and modified. Revised drafts should include change bars.
Document comparison programs, which can mark changed text
automatically, are invaluable for easing the review process.
Tools for communal preparation of documents are beginning to be
available, allowing many authors to comment and add to a single document
in a controlled manner.
19
CHAPTER 5
THE USER REQUIREMENTS DOCUMENT
5.1
INTRODUCTION
The URD is a mandatory output of the UR phase (UR10) and must
always be produced before the software project is started (UR11). The URD
must:
provide a general description of what the user wants to perform with the
software system (UR12);
contain all the known user requirements (UR13);
describe the operations the user wants to perform with the software
system (UR14);
define all the constraints that the user wishes to impose on any solution
(UR15);
describe the external interfaces to the software system or reference
them in ICDs that exist or are to be written (UR16).
The size and content of the URD should reflect the complexity of the
problem and the degree of expertise and understanding shared by the
initiator, users, URD author and software developer.
The URD needs to state the problem as completely and accurately
as possible. The cost of changing the user requirements increases rapidly
as the project proceeds through the life cycle.
When software is transferred to users after development,
acceptance tests are held to determine whether it meets the user
requirements. The URD should be detailed enough to allow the definition of
acceptance tests.
The URD should be a balanced statement of the problem and
should avoid over-constraining the solution. If the software described in the
URD is a part of a larger system (i.e. it is a subsystem), then the URD may
replace the descriptive information with references to higher level
documents. The purpose of the software, however, should always be clear
from the URD.
ESA PSS-05-0 defines the minimum required documents for a
software project and the URD has a definite role to play in this
documentation scheme. URD authors should not go beyond the bounds of
that role.
20
STYLE
The style of a URD should be plain and concise. The URD should
be clear, consistent and modifiable. Wherever possible, requirements should
be stated in quantitative terms to increase their verifiability.
5.2.1
Clarity
A URD is
clear' if each requirement is unambiguous and
understandable to project participants. A requirement is unambiguous if it
has only one interpretation. To be understandable, the language used in a
URD should be shared by all project participants and should be as simple
as possible.
Each requirement should be stated in a single sentence.
Justifications and explanations of a requirement should be clearly separated
from the requirement itself.
Clarity is enhanced by grouping related requirements together. The
capability requirements in a group should be structured to reflect any
temporal or causal relationships between them. Groups containing more
than about ten requirements should be broken down into sub-groups.
Subgroups should be organised hierarchically. Structuring the user
requirements is one of the most important ways of making them
understandable.
5.2.2
Consistency
A URD is consistent if no requirements conflict. Using different
terms for what is really the same thing, or specifying two incompatible
qualities, are examples of lack of consistency.
21
Modifiability
A URD is modifiable if any necessary requirements changes can be
documented easily, completely, and consistently.
A URD contains redundancy if there are duplicating or overlapping
requirements. Redundancy itself is not an error, and redundancy can help to
make a URD more readable, but a problem arises when the URD is
updated. If a requirement is stated in two places, and a change is made in
only one place, the URD will be inconsistent. When redundancy or
overlapping is necessary, the URD should include cross-references to make
it modifiable.
The removal of redundancy can lead to errors. Consider the
situation of two similar requirements from separate users being combined. A
change of mind on the part of one user may result in the removal of the
combined requirement. The requirement of the other user has been lost, and
this is an error. Source attributes should be retained when merging
requirements to show who needs to be consulted before an update is made.
5.3
EVOLUTION
Changes to the URD are the user's responsibility. The URD should
be put under change control by the initiator at soon as it is first issued. The
document change control procedure described in ESA PSS-05-0 Issue 2,
Part 2, Section 3.2.3.2.1 is recommended. This requires that a change
history be kept.
New user requirements may be added and existing user
requirements may be modified or deleted. If anyone wants to change the
user requirements after the UR phase, the users should update the URD and
resubmit it to the UR/R board for approval. Note that in the OM phase, the
Software Review Board (SRB) replaces the UR/R board.
The initiator of the project should monitor the trend in the
occurrence of new user requirements. An upward trend signals that the
software is unlikely to be successful.
22
5.4
RESPONSIBILITY
The definition of the user requirements must be the responsibility of
the user (UR01). This means that the URD must be written by the users, or
someone appointed by them. The expertise of software engineers, hardware
engineers and operations personnel should be used to help define and
review the user requirements.
Typically the capability requirements are generated by the people
who will use the system, while the constraint requirements may come from
either hardware, software, communications or quality assurance experts.
Human-computer interfaces are normally best defined by a joint effort of
users and developers, ideally through prototypes.
In a system development, some of the user requirements for the
software come from the System Requirements Document. The preferred
approach is to refer to system requirements in the URD. Alternatively,
relevant requirements can be extracted from the System Requirements
Document, perhaps reformulated, and then inserted in the URD. This
approach may pose problems from a change control point of view, but may
also be the only possible alternative when the system requirements are not
clearly identifiable or when the requirements applicable to the software
components are embedded in other requirements.
It should never be assumed that all the user requirements can be
derived from system requirements. Other techniques for capturing user
requirements should always be considered (see Chapter 2). In other cases
there could be multiple user groups, each having their own set of
requirements. A single URD, with sections compiled by the different groups,
or multiple URDs, one for each group, are both possible ways of
documenting the user requirements.
In summary, there is no single scheme for producing a URD.
Nevertheless:
responsibilities should be clearly defined before URD production is
started;
the real users of the system are responsible for determining the
capability requirements (UR01);
the software engineers to be in charge of the development should take
part in the URD creation process so that they can advise the users on
the real practicalities of requirements, point out the potential of existing
software and technology, and possibly develop prototypes.
23
MEDIUM
It is usually assumed that the URD is a paper document. There is no
reason why the URD should not be distributed electronically to participants
with the necessary equipment.
5.6
CONTENT
The URD should be compiled according to the table of contents
provided in Appendix C of ESA PSS-05-0. This table of contents is derived
from ANSI/IEEE Std 830-1984
Software Requirements Specifications' [Ref
3].
Section 1 should briefly describe the purpose and scope of the
software and provide an overview of the rest of the document. Section 2
should provide a general description of the world the software operates in.
While rigour is not necessary, a clear physical picture should emerge.
Section 3 should provide the formal requirements, upon which the
acceptability of the software will be judged. Large URDs (forty pages or
more) should contain an index.
References should be given where appropriate. A URD should not
refer to documents that follow it in the ESA PSS-05-0 life cycle. A URD
should contain no TBDs by the time of the User Requirements Review.
ESA PSS-05-0 recommends the following table of contents for a
URD:
Service Information:
a - Abstract
b - Table of Contents
c - Document Status Sheet
d - Document Change records made since last issue
24
1 INTRODUCTION
1.1 Purpose
1.2 Scope
1.3 Definitions, acronyms and abbreviations
1.4 References
1.5 Overview
2 GENERAL DESCRIPTION
2.1 Product perspective
2.2 General capabilities1
2.3 General constraints
2.4 User characteristics
2.5 Operational environment
2.6 Assumptions and dependencies
3 SPECIFIC REQUIREMENTS
3.1 Capability requirements
3.2 Constraint requirements
Material unsuitable for the above contents list should be inserted in
additional appendices. If there is no material for a section then the phrase
URD/1 INTRODUCTION
This section should provide an overview of the entire document and
a description of the scope of the software.
5.6.1.1
5.6.1.2
1 This section has been inserted after ESA PSS-05-0 Issue 2 was published. Other Generral Description sections have been
reordered.
25
(2) explain what the proposed software will do (and will not do, if
necessary);
(3) describe relevant benefits, objectives, and goals as precisely as
possible;
(4) be consistent with similar statements in higher-level specifications, if
they exist.
5.6.1.3
5.6.1.4
URD/1.4 References
This section should provide a complete list of all the applicable and
reference documents, identified by title, author and date. Each document
should be marked as applicable or reference. If appropriate, report number,
journal name and publishing organisation should be included.
5.6.1.5
URD/1.5 Overview
This section should:
(1) describe what the rest of the URD contains;
(2) explain how the URD is organised.
5.6.2
5.6.2.1
26
5.6.2.2
5.6.2.3
5.6.2.4
5.6.2.5
27
5.6.3
28
29
30
31
CHAPTER 6
LIFE CYCLE MANAGEMENT ACTIVITIES
6.1
INTRODUCTION
Plans of SR phase activities must be drawn up in the UR phase.
These plans cover project management, configuration management,
verification and validation, quality assurance and acceptance tests.
6.2
32
6.3
6.4
6.5
6.6
33
34
A-1
APPENDIX A
GLOSSARY
A.1
LIST OF TERMS
Except for the definitions listed below, the definitions of all terms
used in this document conform to the definitions provided in or referenced
by ESA PSS-05-0.
Capability requirement
A capability requirement describes an operation, or sequence of related
operations, that the software must be able to perform.
Constraint requirement
A constraint requirement restricts the way the software is implemented,
without altering or describing the capabilities of the software.
Initiator
The person, or group of people, who originates a project and is responsible
for accepting its products.
Language
A symbolic method of expressing information. Symbols convey meaning
and are used according to convention.
Outliner
A word processing program that allows the viewing of the section headings
in isolation from the rest of the text.
Risk
The amount of uncertainty in being able to satisfy a requirement.
A-2
A.2
LIST OF ACRONYMS
AD
ANSI
AT
BSSC
DD
ESA
OM
PSS
SCM
SCMP
SPM
SPMP
SQA
SQAP
SR
SRB
SVV
SVVP
TBC
TBD
TR
UR
UR/R
Architectural Design
American National Standards Institute
Acceptance Tests
Board for Software Standardisation and Control
Detailed Design and production
European Space Agency
Operations and Maintenance
Procedures, Specifications and Standards
Software Configuration Management
Software Configuration Management Plan
Software Project Management
Software Project Management Plan
Software Quality Assurance
Software Quality Assurance Plan
Software Requirements
Software Review Board
Software Verification and Validation
Software Verification and Validation Plan
To Be Confirmed
To Be Defined
Transfer
User Requirements
User Requirements Review
B-1
APPENDIX B
REFERENCES
1.
2.
3.
4.
IEEE Standard for Software Reviews and Audits, IEEE Std 1028-1988.
5.
6.
7.
8.
9.
B-2
C-1
APPENDIX C
UR PHASE MANDATORY PRACTICES
This appendix is repeated from ESA PSS-05-0, appendix D.2.
UR01
The definition of the user requirements shall be the responsibility of the user.
UR02
UR03
UR04
UR05
UR06
UR07
UR08
The outputs of the UR phase shall be formally reviewed during the User
Requirements Review.
UR09
UR10
UR11
UR12
The URD shall provide a general description of what the user expects the
software to do.
UR13
UR14
The URD shall describe the operations the user wants to perform with the
software system.
UR15
The URD shall define all the constraints that the user wishes to impose upon
any solution.
UR16
The URD shall describe the external interfaces to the software system or
reference them in ICDs that exist or are to be written.
C-2
APPENDIX D
INDEX
response requirement, 6
safety, 7, 10
SCM42, 32
SCM43, 32
SCMP/SR, 3, 32
security, 7, 10, 28
Software interfaces, 8
Software Project Management Plan, 11
Speed, 6, 28
SPM02, 31
SPM03, 31
SPM04, 31
SPMP, 10, 11
SPMP/SR, 3, 20, 31
SQA03, 32
SQA04, 32
SQA05, 32
SQAP/SR, 3
SRB, 21
stability, 31
Standards, 10
Structured English, 14
Study, 13
survey, 13
SVV09, 32
SVV10, 32
SVV11, 33
SVVP/AT, 3
SVVP/SR, 3, 32
System Requirements Document, 22
TBC, 27
TBD, 23
Timescales, 11
Tool, 18
UR01, 22
UR02, 27
UR03, 27
UR04, 27
UR05, 27
UR06, 27
UR07, 28
UR08, 12
UR09, 27
UR10, 19
UR11, 19
D-1
D-2
UR12, 19
UR13, 19
UR14, 19
UR15, 19
UR16, 19
URD, 3, 19
Validation, 11, 31
verification, 31