Maintenance activities include all work carried out postdelivery
and should be distinguished from block
modifications which represent significant design and
development effort and supersede a previously released
software package. These maintenance activities can be
quite diverse, and it helps to identify exactly what postdelivery
activities are to be included in an estimate of
maintenance effort. Maintenance activities, once defined,
may be evaluated in a quite different light than when called
simply “maintenance”. Software maintenance is different
from hardware maintenance because software doesn't
physically wear out, but software often gets less useful with
age and it may be delivered with undiscovered flaws. In
addition to the undiscovered flaws, it is common that some
number of known defects pass from the development
organization to the maintenance group. This bow wave of
unclosed bugs is exacerbated when multiple versions of the
same deliverable exist simultaneously. Accurate estimation
of the effort required to maintain delivered software is aided
by the decomposition of the overall effort into the various
activities that make up the whole process.
In his book Software Engineering Economics, Barry Boehm
defines maintenance as the process of modifying existing
operational software while leaving its primary functions
intact. The definition includes the following types of
activity within the category of software maintenance:
• Redesign and redevelopment of smaller portions (less
than 50% new code) of an existing software product.
• Design and development of smaller interfacing software
packages which require some redesign (of less than 20%) of
the existing software product.
• Modification of the software product’s code,
documentation, or data base structure.
The definition excludes the following types of activity from
the category of software maintenance:
• Major redesign and redevelopment (more than 50% new
code) of a new software product performing substantially
the same functions.
• Design and development of a sizable (more than 20% of
the source instructions comprising the existing product)
interfacing software package which requires relatively little
redesign of the existing product
• Data processing system operations, data entry and
modification of values in the data base
IEEE and others generally identify four categories of
Software Maintenance efforts.
a) Correct - maintenance is a change made in order to
remove a fault
b) Adapt - maintenance is a change made in order to
become suited to a different condition
c) Perfect - maintenance is a change made in order to
improve
d) Enhance - maintenance is a change made to
forestall or reverse a deterioration
From the table below 8 it is obvious that maintenance
related to enhancement or perfection of a software product
is the largest single cost driver.
Maintenance activities include all work carried out postdeliveryand should be distinguished from blockmodifications which represent significant design anddevelopment effort and supersede a previously releasedsoftware package. These maintenance activities can bequite diverse, and it helps to identify exactly what postdeliveryactivities are to be included in an estimate ofmaintenance effort. Maintenance activities, once defined,may be evaluated in a quite different light than when calledsimply “maintenance”. Software maintenance is differentfrom hardware maintenance because software doesn'tphysically wear out, but software often gets less useful withage and it may be delivered with undiscovered flaws. Inaddition to the undiscovered flaws, it is common that somenumber of known defects pass from the developmentorganization to the maintenance group. This bow wave ofunclosed bugs is exacerbated when multiple versions of thesame deliverable exist simultaneously. Accurate estimationof the effort required to maintain delivered software is aidedby the decomposition of the overall effort into the variousactivities that make up the whole process.In his book Software Engineering Economics, Barry Boehmdefines maintenance as the process of modifying existingoperational software while leaving its primary functionsintact. The definition includes the following types ofactivity within the category of software maintenance:• Redesign and redevelopment of smaller portions (lessthan 50% new code) of an existing software product.• Design and development of smaller interfacing softwarepackages which require some redesign (of less than 20%) ofthe existing software product.• Modification of the software product’s code,documentation, or data base structure.The definition excludes the following types of activity fromthe category of software maintenance:• Major redesign and redevelopment (more than 50% newcode) of a new software product performing substantiallythe same functions.• Design and development of a sizable (more than 20% ofthe source instructions comprising the existing product)interfacing software package which requires relatively littleredesign of the existing product• Data processing system operations, data entry andmodification of values in the data baseIEEE and others generally identify four categories ofSoftware Maintenance efforts.a) Correct - maintenance is a change made in order toremove a faultb) Adapt - maintenance is a change made in order tobecome suited to a different conditionc) Perfect - maintenance is a change made in order toimproved) Enhance - maintenance is a change made toforestall or reverse a deteriorationFrom the table below 8 it is obvious that maintenancerelated to enhancement or perfection of a software productis the largest single cost driver.
การแปล กรุณารอสักครู่..