ISBN : 978-81-963532-2-3 (E-Book) Fig.25.2:Maintenanceprocessmodel2 SoftwareReengineering Software reengineering isa combination of two consecutive processesi.e. software reverseengineeringand softwareforward engineeringasshown inthe fig.25.2. Estimationofapproximatemaintenancecost It is well known that maintenance efforts require about 60% of the total life cycle cost for atypical software product. However, maintenance costs vary widely from one application domainto another. For embedded systems, the maintenance cost can be as much as 2 to 4 times thedevelopmentcost. Boehm[1981]proposedaformulaforestimatingmaintenancecostsaspartofhisCOCOMOcost estimation model.Boehm’smaintenancecost estimation is made in termsofaquantitycalled the Annual Change Traffic (ACT). Boehm defined ACT as the fraction of a softwareproduct’s source instructions which undergo change during a typical year either through additionordeletion. ACT= KLOCadded+KLOC deleted KLOCtotal where,KLOCaddedisthetotalkilolines ofsourcecodeaddedduringmaintenance. KLOCdeletedisthe total kilolines ofsourcecodedeletedduringmaintenance. Thus, the code that is changed, should be counted in both the code added and the code deleted.The annual change traffic (ACT) is multiplied with the total development cost to arrive at themaintenance cost: maintenance cost=ACT ×developmentcost. Most maintenance cost estimation models, however, yield only approximate results because theydo not take into account several factors such as experience level of the engineers, and familiarityofthe engineerswith the product, hardwarerequirements, softwarecomplexity, etc. 118 Software Engineering Keerthana P, Manasa KN, Ganga D Bengal
124 Publizr Home