ISO/IEC 14764:1999
(Main)Information technology — Software maintenance
Information technology — Software maintenance
Technologies de l'information — Maintenance du logiciel
General Information
Relations
Standards Content (Sample)
INTERNATIONAL ISO/IEC
STANDARD 14764
First edition
1999-11-15
Information technology — Software
maintenance
Technologies de l'information — Maintenance du logiciel
Reference number
ISO/IEC 14764:1999(E)
©
ISO/IEC 1999
---------------------- Page: 1 ----------------------
ISO/IEC 14764:1999(E)
PDF disclaimer
This PDF file may contain embedded typefaces. In accordance with Adobe's licensing policy, this file may be printed or viewed but shall not
be edited unless the typefaces which are embedded are licensed to and installed on the computer performing the editing. In downloading
this file, parties accept therein the responsibility of not infringing Adobe's licensing policy. The ISO Central Secretariat accepts no liability in
this area.
Adobe is a trademark of Adobe Systems Incorporated.
Details of the software products used to create this PDF file can be found in the General Info relative to the file; the PDF-creation
parameters were optimized for printing. Every care has been taken to ensure that the file is suitable for use by ISO member bodies. In the
unlikely event that a problem relating to it is found, please inform the Central Secretariat at the address given below.
© ISO/IEC 1999
All rights reserved. Unless otherwise specified, no part of this publication may be reproduced or utilized in any form or by any means, electronic
or mechanical, including photocopying and microfilm, without permission in writing from either ISO at the address below or ISO's member body
in the country of the requester.
ISO copyright office
Case postale 56 � CH-1211 Geneva 20
Tel. + 41 22 749 01 11
Fax + 41 22 734 10 79
E-mail copyright@iso.ch
Web www.iso.ch
Printed in Switzerland
ii © ISO/IEC 1999 – All rights reserved
---------------------- Page: 2 ----------------------
© ISO/IEC
ISO/IEC 14764:1999(E)
Contents
Foreword. vi
Introduction . vii
1 Scope . 1
1.1 Purpose. 1
1.2 Field of application . 1
1.3 Limitations. 2
2 Conformance. 2
3 Normative references . 2
4 Terms and definitions. 3
4.1 Adaptive maintenance. 3
4.2 Baseline . 3
4.3 Corrective maintenance . 3
4.4 Maintainability Plan . 3
4.5 Maintenance enhancement . 3
4.6 Maintenance Plan. 3
4.7 Maintenance Process . 4
4.8 Maintenance programme . 4
4.9 Modification Request (MR). 4
4.10 Perfective maintenance . 4
4.11 Preventive maintenance . 4
4.12 Problem Report (PR) . 5
4.13 Software Engineering Environment (SEE). 5
4.14 Software Test Environment (STE). 5
4.15 Software transition . 5
5 Application of this International Standard. 5
5.1 Maintenance process . 5
iii
---------------------- Page: 3 ----------------------
© ISO/IEC
ISO/IEC 14764:1999(E)
5.2 Organization of this International Standard.5
6 Implementation considerations.6
6.1 Introduction.6
6.2 Types of maintenance.6
6.3 Arrangements for maintenance .7
6.4 Tools for maintenance .7
6.5 Software measurement.8
6.6 Documentation of process .8
6.7 Early involvement in development .8
6.8 Maintainability.8
6.8.1 Maintainability and the development process.9
6.8.2 Maintainability and specific activities in the development process.10
6.9 Software transition .11
6.10 Documentation.11
7 Software maintenance strategy .11
7.1 Introduction.11
7.2 The maintenance concept.12
7.2.1 Scope.12
7.2.2 Tailoring of the process.12
7.2.3 Designation of who will provide maintenance.12
7.2.4 Estimate of maintenance costs.13
7.3 Maintenance planning .13
7.3.1 Introduction.13
7.3.2 The maintenance plan.13
7.3.3 Guidelines for a maintenance plan.14
7.4 Resource analysis .16
7.4.1 Personnel resources.16
7.4.2 Environment resources .16
7.4.3 Financial resources.16
8 Maintenance processes .17
iv
---------------------- Page: 4 ----------------------
© ISO/IEC
ISO/IEC 14764:1999(E)
8.1 Process implementation . 18
8.1.1 Inputs. 18
8.1.2 Tasks . 19
8.1.3 Controls. 20
8.1.4 Support. 20
8.1.5 Outputs. 20
8.2 Problem and modification analysis. 21
8.2.1 Inputs. 21
8.2.2 Tasks. 21
8.2.3 Controls. 23
8.2.4 Support. 23
8.2.5 Outputs. 24
8.3 Modification implementation . 24
8.3.1 Inputs. 24
8.3.2 Tasks. 25
8.3.3 Controls. 25
8.3.4 Support. 25
8.3.5 Outputs. 26
8.4 Maintenance review/acceptance . 26
8.4.1 Inputs. 26
8.4.2 Tasks. 26
8.4.3 Controls. 27
8.4.4 Support. 27
8.4.5 Outputs. 27
8.5 Migration. 28
8.5.1 Inputs. 28
8.5.2 Tasks. 28
8.5.3 Controls. 31
8.5.4 Support. 31
v
---------------------- Page: 5 ----------------------
© ISO/IEC
ISO/IEC 14764:1999(E)
8.5.5 Outputs.31
8.6 Software retirement.32
8.6.1 Inputs .32
8.6.2 Tasks .32
8.6.3 Controls .34
8.6.4 Support .34
8.6.5 Outputs .34
Annex A (informative) Cross-reference between ISO/IEC FDIS 14764 and ISO/IEC 12207 .36
Bibliography.38
Figures
Figure 1 Modification Request.4
Figure 2 Maintenance Process .18
vi
---------------------- Page: 6 ----------------------
©
ISO/IEC
ISO/IEC 14764:1999(E)
Foreword
ISO (the International Organization for Standardization) and IEC (the International Electrotechnical Commission)
form the specialized system for worldwide standardization. National bodies that are members of ISO or IEC
participate in the development of International Standards through technical committees established by the
respective organization to deal with particular fields of technical activity. ISO and IEC technical committees
collaborate in fields of mutual interest. Other international organizations, governmental and non-governmental, in
liaison with ISO and IEC, also take part in the work.
International Standards are drafted in accordance with the rules given in the ISO/IEC Directives, Part 3.
In the field of information technology, ISO and IEC have established a joint technical committee, ISO/IEC JTC 1.
Draft International Standards adopted by the joint technical committee are circulated to national bodies for voting.
Publication as an International Standard requires approval by at least 75 % of the national bodies casting a vote.
International Standard ISO/IEC 14764 was prepared by Joint Technical Committee ISO/IEC JTC 1,
Information
technology, Subcommittee SC 7, Software engineering.
Annex A of this International Standard is for information only.
vii
---------------------- Page: 7 ----------------------
© ISO/IEC
ISO/IEC 14764:1999(E)
Introduction
This International Standard clarifies requirements for the Software Maintenance Process. Software Maintenance is a
primary process in the life cycle of a software product, as described in ISO/IEC 12207, “Information Technology -
Software - Part 1: Software life cycle processes.” The Maintenance Process contains the activities and tasks of the
maintainer. This International Standard is part of the ISO/IEC 12207 family of documents and provides guidance.
This International Standard elaborates the Maintenance Process contained in ISO/IEC 12207. The only mandatory
clauses in this International Standard come from ISO/IEC 12207. The mandatory clauses contain shalls and each
shall from ISO/IEC 12207 that is duplicated in this International Standard is boxed. The related ISO/IEC 12207 clause
number is listed after the boxed ISO/IEC 12207 shalls.
In many projects, especially those having a long life, software maintenance will almost certainly be an important
project consideration.
Due to product cost and time-frame constraints, as well as not following the best practices of ISO/IEC 12207,
software is often delivered in an imperfect state. It is then necessary to be able to correct faults that are found during
operation. It is frequently necessary to make improvements to the software to meet changed user requirements.
Software maintenance may be a significant portion of life cycle costs.
This International Standard addresses readers who are familiar with Software Maintenance. It is recommended that
readers who are unfamiliar with Software Maintenance study textbooks or obtain training before applying this
International Standard.
Software Maintenance may be performed by a combination of software tools, methods and techniques. This
International Standard does not specify how to implement or perform the activities and tasks in the Software
Maintenance Process since this is agreement and organizationally dependent. The Software Maintenance
requirements remain the same irrespective of the tools by which Software Maintenance is implemented.
Clause 1 provides the scope. Clause 2 provides conformance information. Clause 3 provides normative references.
Clause 4 provides terms and definintions. Clause 5 provides the application of this International Standard. Clause 6
provides implementation considerations for the maintenance process. Clause 7 provides the software maintenance
stragegy. Clause 8 provides the details of the maintenance process. Annex A provides a cross reference between
clauses in this International Standard and ISO/IEC 12207.
A major contributor to this International Standard was IEC/TC 56.
viii
---------------------- Page: 8 ----------------------
© ISO/IEC
ISO/IEC 14764:1999(E)
the modification of a software product after delivery to detect and correct latent faults in the software product before
they become effective faults
4.12
Problem Report (PR)
a term used to identify and describe problems detected in a software product
4.13
Software Engineering Environment (SEE)
the set of automated tools, firmware devices, and hardware necessary to perform the software engineering effort
NOTE The automated tools may include but are not limited to compilers, assemblers, linkers, loaders operating systems,
debuggers, simulators, emulators, test tools, documentation tools, and database management systems.
4.14
Software Test Environment (STE)
the facilities, hardware, software, firmware, procedures, and documentation needed to perform qualification, and
possibly other, testing of software
NOTE Elements may include but are not limited to simulators, code analyzers, test case generators, and path analyzers, and
may also include elements used in the software engineering environment. [MIL-HDBK-347]
4.15
software transition
a controlled and coordinated sequence of actions wherein software development passes from the organization
performing initial software development to the organization performing software maintenance.
5 Application of this International Standard
This clause presents the Maintenance Process that is required to maintain software products.
5.1 Maintenance process
Software Maintenance is one of the five primary life cycle processes that may be performed during the life cycle of
software (ISO/IEC 12207). The Acquisition and Supply primary life cycle processes of ISO/IEC 12207 may initiate the
Process Implementation activity of the Software Maintenance primary life cycle process through an agreement or
contract. The Operation primary life cycle process of ISO/IEC 12207 may initiate the Software Maintenance life cycle
process through submission of a Modification Request or Problem Report. The Software Maintenance primary life
cycle process invokes the Development primary life cycle process of ISO/IEC 12207. The supporting processes of
Documentation, Configuration Management, Quality Assurance, Verification, Validation, Joint Review, Audit, and
Problem Resolution of ISO/IEC 12207 are used by the Software Maintenance life cycle process.
The organizational life cycle processes of ISO/IEC 12207 consist of four processes. The Management,
Infrastructure, and Training organizational life cycle processes of ISO/IEC 12207 are employed by the maintainer
when initiating each maintenance project. The Improvement Process of ISO/IEC 12207 is invoked to effect software
maintenance process improvement.
Tailoring of this International Standard is addressed in ISO/IEC 12207. Tailoring is appropriate for non-routine events
such as emergency maintenance.
5
---------------------- Page: 9 ----------------------
© ISO/IEC
ISO/IEC 14764:1999(E)
5.2 Organization of this International Standard
These clauses that follow are presented in the order that Maintainers should address them.
Clause 6 provides implementation considerations, and issues to be considered when planning for maintenance.
Clause 7 then provides comprehensive planning information. Clause 8 provides the details of the Maintenance
Process including tasks and task-steps needed to implement the Maintenance Process.
6 Implementation considerations
6.1 Introduction
The software maintenance life cycle process begins with process implementation where planning for maintenance is
performed and ends with the retirement of the software product. It includes modification of code and documentation
due to a problem or need for improvement. The objective of the Maintenance Process is to modify an existing
software product while preserving its integrity. The following provides implementation considerations.
The Maintenance Process is needed because software products undergo change over the life cycle. If the software
product is developed using Computer-Aided Software Engineering (CASE) tools, maintenance is still needed. CASE
tools facilitate maintenance but do not eliminate the requirement for maintenance. If no application code is
developed, i.e., the software product consists solely of off-the-shelf products, maintenance may still be required.
Maintenance of off-the-shelf software products by the acquirer or supplier will usually involve modification of the
interfaces, both data and operational, to the product.
Consideration should be given to implicit requirements and constraints imposed on the original developer.
Circumstances may have changed and some of the original requirements may no longer be applicable.
During execution of the Development, Operations, and Maintenance processes of ISO/IEC 12207, any problems
detected are recorded and monitored by the Problem Resolution process of ISO/IEC 12207. Modification Requests
(MRs) or Problem Reports (PRs) are submitted. Often, these are referred to as change requests. The Problem
Resolution process of ISO/IEC 12207 analyzes and resolves problems. It also determines if an MR/PR is a problem
or an enhancement. The Configuration Management (CM) process of ISO/IEC 12207 records and reports the status
of Modification Requests (MRs)/Problem Reports (PRs). The Configuration Control activity of the CM process then
decides whether to approve the request. Approved MRs/PRs are then implemented by calling the Maintenance
Process.
Maintenance may also be required regardless of the development life cycle model (e.g., incremental, waterfall,
evolutionary) or the approach used in development (e.g., Rapid Application, prototype, mock-up). For example, upon
release of a new build increment, development continues but maintenance may be required for the installed
increment.
The Maintenance Process may consume a significant portion of life cycle costs. Analysis of the types of maintenance
performed helps to provide an understanding of the costs.
6.2 Types of maintenance
Corrective maintenance refers to changes necessitated by actual errors in a software product. If the software product
does not meet its requirements, corrective maintenance is performed
Preventive Maintenance refers to the changes necessitated by detecting potential errors in a software product.
Preventive Maintenance is commonly performed on software products which have safety or prevention of loss of life
as a concern.
Adaptive and Perfective changes are enhancements to a software product. These changes are those that were not in
the design specifications or the released software. Adaptive changes are those changes necessary to accommodate
a changing environment. Adaptive changes include changes to implement new system interface requirements, new
system requirements, or new hardware requirements. Perfective changes improve the software product's
6
---------------------- Page: 10 ----------------------
© ISO/IEC
ISO/IEC 14764:1999(E)
performance or maintainability. A perfective change might entail providing new functionality improvements for users
or reverse engineering to create maintenance documentation that did not exist previously or to change existing
documentation.
Software maintenance requires change to an existing structure or system, i.e., software modifications are introduced
into an existing architecture and must allow for constraints imposed by the design structure. Thus, enhancements in
the form of adaptive and perfective maintenance, are often very costly and time consuming. Enhancements may
consume a significant portion of maintenance costs.
6
...
Questions, Comments and Discussion
Ask us and Technical Secretary will try to provide an answer. You can facilitate discussion about the standard in here.