• Keine Ergebnisse gefunden

Estimating Software Estimating Software Maintenance Maintenance

N/A
N/A
Protected

Academic year: 2021

Aktie "Estimating Software Estimating Software Maintenance Maintenance"

Copied!
26
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Estimating Software Estimating Software

Maintenance Maintenance

Arun Mukhija

Arun Mukhija

(2)

Contents Contents

ÿÿ

What is Software Maintenance? What is Software Maintenance?

ÿÿ

Facts and Figures Facts and Figures

ÿÿ

Maintenance Activities and Costs Maintenance Activities and Costs

ÿÿ

Maintenance Estimation Models Maintenance Estimation Models

ÿÿ

Conclusion and Discussion Conclusion and Discussion

(3)

What is Software What is Software

Maintenance?

Maintenance?

(4)

ÿÿ

“ “ Changes that have to be made to Changes that have to be made to

computer programs after they have been computer programs after they have been

delivered to the customer or user.

delivered to the customer or user. ” ” * *

ÿÿ

Software maintenance includes: Software maintenance includes:

ll

Corrective maintenance Corrective maintenance

l

l

Adaptive maintenance Adaptive maintenance

ll

Perfective maintenance Perfective maintenance

ll

Enhancements ( Enhancements (

Although technically they are not aAlthough technically they are not a part of software maintenance but, being a post-release part of software maintenance but, being a post-release

activity, are often considered a part of it) activity, are often considered a part of it)

* Martin J. and McClure G.

* Martin J. and McClure G. Software Maintenance: The Problem and itsSoftware Maintenance: The Problem and its Solutions

Solutions, Prentice Hall (1983)., Prentice Hall (1983).

(5)

Facts and Figures

Facts and Figures

(6)

ÿÿ

Software maintenance costs around 50% Software maintenance costs around 50%

of total software life-cycle cost.

of total software life-cycle cost.

ÿÿ

But relatively little is known about the But relatively little is known about the software maintenance process and the software maintenance process and the

factors that influence its cost.

factors that influence its cost.

(7)

Software Development and Maintenance Software Development and Maintenance

Costs in Large Organizations

Costs in Large Organizations [Boehm81] [Boehm81]

0 20 40 60 80 100

Present of 10-year life-cycle costs

update and maintenance development

Gereral Telephone and Electronics

USAF Command and

control No.1

USAF command and control No.2

General Motors

(8)

Software Development and Maintenance Software Development and Maintenance

Costs in 487 Organizations

Costs in 487 Organizations [Boehm81] [Boehm81]

8 43

49

0 10 20 30 40 50 60

Maintenance Development Other

Percent of total software effort

(9)

Software Maintenance Production Function Software Maintenance Production Function

[Boehm81]

[Boehm81]

(10)

Distribution of Software Maintenance Effort Distribution of Software Maintenance Effort

[Boehm81]

[Boehm81]

12.4

9.3

17.4

6.2

41.8

5.5 4 3.4

0 10 20 30 40 50

Emergency program fixes Routine debuging Accommondate changings to input data, files Accommondate changings to hardware,OS Enhancements fro users Improve documentation Improve code efficiency Other

Percent of software maintenance effort

(11)

Distribution of User Enhancement Effort Distribution of User Enhancement Effort

[Boehm81]

[Boehm81]

40.8

27.1

10

5.6 6.4 10.1 0

5 10 15 20 25 30 35 40 45

New reports Added data for existing reports Reformatting existing reports Condensing existing reports Consolidating exsting reports Other

percent of user enhancement effort

(12)

Maintenance Activities Maintenance Activities

and Costs

and Costs

(13)

ÿÿ

Defect repairs Defect repairs

ll keep software in operational conditionkeep software in operational condition

ll costs absorbed by software suppliercosts absorbed by software supplier

ll low pre-release defect removal efficiency (~85%)low pre-release defect removal efficiency (~85%)

l

l productivity = 8 defect repairs per monthproductivity = 8 defect repairs per month

(can be higher with experienced personnel and defect-tracking tools etc.) (can be higher with experienced personnel and defect-tracking tools etc.)

Factors influencing defect repairs:

Factors influencing defect repairs:

ll Abeyant defects (10%) - Abeyant defects (10%) - based on unique combination ofbased on unique combination of events

events

ll Invalid defects (15%) - Invalid defects (15%) - misdiagnosed errorsmisdiagnosed errors

ll Bad fix injection (7%) - Bad fix injection (7%) - derivative errorsderivative errors

ll Duplicate defects - Duplicate defects - multiple complaints about the same errormultiple complaints about the same error

(14)

ÿÿ

Error-prone module removal Error-prone module removal

ll concentration of errors in particular modulesconcentration of errors in particular modules

ll common among large poorly-structured systemscommon among large poorly-structured systems

ll expensive to maintain, due to high bad fix injection rateexpensive to maintain, due to high bad fix injection rate

l

l 500% more expensive than normal modules500% more expensive than normal modules

ÿÿ

Customer support Customer support

ll interface between clients and defect repair teamsinterface between clients and defect repair teams

ll effort depends on number of userseffort depends on number of users

with phone contact, 1 customer support person for 150 userswith phone contact, 1 customer support person for 150 users

with electronic contact, 1 customer support person for 1000with electronic contact, 1 customer support person for 1000 users

users

(15)

ÿÿ

Code restructuring Code restructuring

ll done by automated tools to lower complexity levelsdone by automated tools to lower complexity levels

ll lowering complexity eases maintenancelowering complexity eases maintenance

ll precursor to other maintenance activitiesprecursor to other maintenance activities

ÿÿ

Migration across platforms Migration across platforms

l

l from one OS or hardware to anotherfrom one OS or hardware to another

ll with well-documented specifications,with well-documented specifications, migration speed = 50 FP per month migration speed = 50 FP per month

l

l with missing or obsolete specifications,with missing or obsolete specifications, migration speed = 5 FP per month migration speed = 5 FP per month

(16)

ÿÿ

Conversion to new architectures Conversion to new architectures

ll changes to interface or file structure of apps.changes to interface or file structure of apps.

ll quality of specifications affects productivityquality of specifications affects productivity

ll reverse engineering may need to be performed toreverse engineering may need to be performed to extract missing design info.

extract missing design info.

ÿÿ

Mandatory changes Mandatory changes

ll in response to changes in law or policyin response to changes in law or policy

ll involve high costs and tight schedulesinvolve high costs and tight schedules

ll difficult to predict in advancedifficult to predict in advance

(17)

ÿÿ

Performance optimization Performance optimization

ll to minimize delays in transactionsto minimize delays in transactions

ll improving performance at trouble spotsimproving performance at trouble spots

ÿÿ

Enhancements Enhancements

l

l adding new features as per user requestadding new features as per user request

l

l funded by userfunded by user

ll annual rate = 7% increase in FP total of an app.annual rate = 7% increase in FP total of an app.

ll high integration and testing costs for poorly structuredhigh integration and testing costs for poorly structured apps.

apps.

(18)

Maintenance Maintenance

Estimation Models

Estimation Models

(19)

ÿÿ

COCOMO Maintenance Model COCOMO Maintenance Model

for software maintenance effort estimation for software maintenance effort estimation

(MM) (MM)

AMAM

= (ACT)(MM) = (ACT)(MM)

DEVDEV

(MM)(MM)AMAM : annual maintenance effort in man-month : annual maintenance effort in man-month (MM)(MM)DEVDEV : development effort in man-month : development effort in man-month

ACT : annual change traffic (fraction of software that ACT : annual change traffic (fraction of software that

undergoes change during a year) undergoes change during a year)

For intermediate and detailed COCOMO, For intermediate and detailed COCOMO, (MM) (MM)

AMAM

= (EAF) = (EAF)

MM

(ACT)(MM) (ACT)(MM)

NOMNOM

(EAF)

(EAF)MM : maintenance effort adjustment factor : maintenance effort adjustment factor

(20)

ÿÿ

Maintenance/Development Cost Ratio Maintenance/Development Cost Ratio

(MM) (MM)

MM

= (M/D)(MM) = (M/D)(MM)

DEVDEV

(MM)(MM)MM : overall life-cycle maintenance effort in man-month : overall life-cycle maintenance effort in man-month (MM)(MM)DEVDEV : development effort in man-month : development effort in man-month

M/D : maintenance/development cost ratio M/D : maintenance/development cost ratio

Value of M/D ranges from 0.67 to 4.5, depending on Value of M/D ranges from 0.67 to 4.5, depending on

application type.

application type.

(21)

ÿÿ

Cards-per-person ratio Cards-per-person ratio

origin: number of cards each software person can maintain origin: number of cards each software person can maintain

(KDSI/FSP)

(KDSI/FSP)MM : KDSI maintained per full-time software person : KDSI maintained per full-time software person (KDSI)

(KDSI)DEVDEV (FSP)

(FSP)MM = --- = --- (KDSI/FSP) (KDSI/FSP)MM (FSP)

(FSP)MM : number of software maintenance personnel required : number of software maintenance personnel required (KDSI)

(KDSI)DEVDEV : size of software in KDSI : size of software in KDSI Value of (KDSI/FSP)

Value of (KDSI/FSP)MM ranges from 3 to 132, depending on ranges from 3 to 132, depending on application type.

application type.

The annual maintenance effort (MM)

The annual maintenance effort (MM)AMAM is then simply is then simply (MM)(MM) = 12 (FSP) = 12 (FSP)

(22)

ÿÿ

Maintenance Productivity Ratio Maintenance Productivity Ratio

(DSI)

(DSI)MOD/YRMOD/YR = (ACT)(DSI) = (ACT)(DSI)DEVDEV

(DSI)(DSI)MOD/YRMOD/YR (MM)(MM)AMAM = --- = ---

(DSI/MM)

(DSI/MM)MODMOD

(DSI(DSI)MOD/YR)MOD/YR : number of source instructions modified per year : number of source instructions modified per year (DSI)

(DSI)DEVDEV : size of software in source instructions : size of software in source instructions (MM)(MM)AMAM : annual maintenance effort in man-month : annual maintenance effort in man-month

ACT : annual change traffic ACT : annual change traffic

(DSI/MM)

(DSI/MM)MODMOD : maintenance productivity ratio (number of source : maintenance productivity ratio (number of source instructions modified per man-month of maintenance effort) instructions modified per man-month of maintenance effort) Average value of ACT is 0.092 and of (DSI/MM)

Average value of ACT is 0.092 and of (DSI/MM)MODMOD is 241, is 241,

(23)

Conclusion and Conclusion and

Discussion

Discussion

(24)

ÿÿ

“ “ Software processes must produce software that Software processes must produce software that can be gracefully evolved at reasonable costs.

can be gracefully evolved at reasonable costs.

The choice of software architecture significantly The choice of software architecture significantly influences modifiability and hence maintainability.

influences modifiability and hence maintainability. ” ” * *

ÿÿ

Estimating maintenance is complex because of Estimating maintenance is complex because of the relationship between base application and the relationship between base application and changes being made. Moreover predicting

changes being made. Moreover predicting adaptive maintenance and enhancements in adaptive maintenance and enhancements in advance is very difficult.

advance is very difficult.

* Richard D. Stutzke.

* Richard D. Stutzke. Software Estimating Technology: A Survey”Software Estimating Technology: A Survey”,, CrossTalk (1996).

CrossTalk (1996).

(25)

References References

ÿÿ

[Jones98] Jones T.C. [Jones98] Jones T.C. “ “ Estimating Software Estimating Software Costs

Costs ”, ” , McGraw Hill (1998). McGraw Hill (1998).

ÿÿ

[Boehm81] Boehm B. [Boehm81] Boehm B. “ “ Software Engineering Software Engineering Economics

Economics ” ” , , Prentice Hall (1981). Prentice Hall (1981).

(26)

Referenzen

ÄHNLICHE DOKUMENTE

Diese Erscheinung kann dadurch völlig beseitigt werden, daß man während des Durchsaugens von Luft durch den Apparat nach erfolgter Füllung ein kleines Wassertröpfchen durch die

Zu diesem Zwecke zieht man sich auf einem etwas größeren Blatt Papier zwei parallele, 5 mm voneinander entfernte Linien, legt darüber das Platinblech so, daß seine Längsmitte

Mit der Linken schiebt man bei annähernd horizontaler Lage des Ganzen und nachdem man die weite Mündung des Rohres zum Schutze gegen hineinfallende Eisenteilchen mit einem

Durch Herstellung einer dickwandigen langen Kapillare, was bei dieser kleinen Röhrendimension besondersleicht gelingt, schließt man das offene Ende der Bombe und läßt diese Stelle

Darauf bringt man ein winziges Bäuschchen frisch ausgeglühten.. Gooch-Tiegelasbestes und drückt ihn mit dem Glasstab gegen die Silberwolle. Er dient lediglich dazu, diese vor

schieben, wobei sie von drei Metallfedern gehalten wird. Diese Gasometerglocke besteht im wesentlichen aus einer 20 mm im Durchmesser messenden, 200 mm langen Glasröhre, in

Der röhrenförmige Absorptionsapparat, an dessen einem Endesich so wie früher eine Vorkammer mit einer Länge von 10—12 mm und ein Ansatzröhr- chen mit zwei kapillaren

An dem einen Endeist die Röhre zu einer dickwandigen Spitze ausgezogen, deren Lumen höchstens einen halben Millimeter betragen soll. Der Zweck dieser feinen Öffnung ist, dem