Вы находитесь на странице: 1из 2

2012 Third International Conference on Computer and Communication Technology

SRS Based Estimation of Software Maintenance Effort


Aprna Tripathi1, Bhuvnesh Kumar2, Ashish Sharma2, Dharmender Singh Kushwaha1
(rcs1051, dsk)@mnnit.ac.in, (kumar.bhuvnesh.cs, sharma.asb)@gmail.com

Abstract—Software maintenance effort estimation has always [5] discusses Constructive Cost Model (COCOMO) and
been a challenge for the software practitioners, as it consumes computes annual maintenance effort using software
about half of the overall development costs. The effort required development effort and annual change traffic. Leung [6]
to develop or maintain software depend on the complexity of discusses a method to estimate project effort using analogy.
yet to be developed software. The proposed measure estimates Sharma and Kushwaha [7] discuss the improved requirement
the requirement-based complexity based on SRS document of based complexity (IRBC). Gill and Kemerer [8] discuss the
yet to be developed software for systematic and early
cyclomatic complexity density and gives relation between
prediction of software maintenance effort using Software
productivity and size of the software system in source lines
Requirements Specifications (SRS) document of the proposed
software. The result obtained validates that, the proposed
of code.
maintenance measure is a comprehensive one and compares
III. COMPLEXITY COMPUTATION FROM IEEE:SRS
well with various other prevalent measures proposed in the
past. The computation of proposed maintenance effort
DOCUMENT
estimation involves least overhead as compared to others. It has been established that the complexity of the code
has a direct bearing on the amount of maintenance effort [5].
Keywords-requirement based complexity; requirement based For accurate and systematic estimation of maintenance
maintenance complexity; requirement based maintenance effort effort, this paper uses an improved requirement based
estimation complexity (IRBC) measure [7], which is derived based on
the recommendations of IEEE 830:1998 SRS document [1]
I. INTRODUCTION
and it is mathematically expressed as:
Software maintenance is a post development activity but IRBC = ((PC × PCA) + DCI + IFC + SFC) × SDLC
most of the times it consumes 40-70% of the overall Where IRBC = Improved Requirement Based
development costs [10]. This paper proposes a measure for Complexity; PC = Product Complexity; PCA = Personal
early estimation of software maintenance effort using Complexity Attributes; DCI = Design Constraints Imposed;
software requirements written based on recommendations of IFC = Interface Complexity; SFC = System Feature
IEEE 830-1998 document for the generation of SRS of the Complexity and SDLC = Software Deployment Location
proposed software. The attributes from SRS of the proposed Complexity.
software are captured to compute the improved requirement
based complexity as described in [7]. Since, an SRS acts as a IV. PROPOSED APPROACH FOR MAINTENANCE EFFORT
verifiable document [1], estimation of maintenance effort ESTIMATION
based on SRS will be systematic, less complex, faster and The effort required to repair a defect in analysis phase is
comprehensive one. Further, the maintenance effort much less than that in design or implementation phase. This
estimation proposals can be classified into three broad defect repair ratio increases heavily from analysis phase to
categories like model based maintenance effort estimation, implementation phase.
function-point based maintenance effort estimation and code Hence, it is advisable to invest more effort in early
based maintenance effort estimation. phases of software development life cycle to reduce the
The proposed measure considers software requirements maintenance costs. To move a step closer, the proposed
written in standard IEEE 830:1998 [1] format in order to maintenance effort estimation measure empirically estimates
obtain effective and precise result. Hence, the strength of the the software maintenance effort to reduce the maintenance
measure lies in computation of requirement based costs.
complexity from requirement engineering document prior to
estimation of software maintenance effort. Requirement Based Maintenance Complexity (RBMC)
IRBC [7] comprises of all the attributes that are sufficient
II. RELATED WORKS to compute function points [2] for any software. The function
During the last few decades, various models, methods point measure includes five parameters i.e. external input,
and techniques have been developed for the estimation of external output, interfaces, file and inquiry. In addition to the
software maintenance effort. The work presented in this parameters used by function point analysis (FPA) [2], there
paper is based on SRS. The paper also considers technical are certain other parameters also for any software
and environmental factors. F. Niessink and H. van Vliet [3] requirement. However, IRBC makes use of an exhaustive set
proposes a variant of the function-point analysis to remedy of parameters for its computation in order to compute the
some of its shortcomings. Albrecht [4] discusses the Requirement Based Maintenance Complexity (RBMC)
function-points calculation for size of the software. Boehm measure. To estimate RBMC, we require Value Adjustment

978-0-7695-4872-2/12 $26.00 © 2012 IEEE 154


DOI 10.1109/ICCCT.2012.38
Factors (VAF) pertaining to the maintenance activity. The KNCSLOC
ten VAFs are divided into three categories based on different RBMEE = PM
Productivity
perspectives viz. people, product and process. The VAF of a
software maintenance project is represented [9] as:
V. RESULTS AND VALIDATION
3 k
scores×Wf Wg
VAF= ¦[¦ (
100
)×(
100
)] The result obtained for ten different SRSs shown in
figure establishes that the maintenance effort computation in
group=1 factors=1
Where Wg and Wf are the weighting values of each person-months by the proposed approach is more realistic.
characteristic group and their factors, respectively. Scores Belady-Lehman (PM) Boehm (PM)
are measured by the software maintenance project manager Schaefer (PM) SMPEEM (PM)
and vary from 0 (the lowest degree) to 5 (the highest degree). AMEffMo (PM) Function Point (PM)

Maintenance Effort in Person-months


Since every attribute of IRBC is functionally dependent 1
0.9
on VAFs. Hence, we propose requirement based 0.8
0.7
maintenance complexity (RBMC) as a product of IRBC and 0.6
0.5
VAF. This is expressed as: 0.4
RBMC = IRBC × VAF 0.3
0.2
Now, the obtained RBMC is equivalent to the functional 0.1
0
size of the system, the size in terms of lines of code can be
1 2 3 4 5 6 7 8 9 10
computed easily from [10]. Finally, we can compute the No. of Programs
maintenance effort for yet to be developed software.
Figure 1. Overall comparison between RBMEE V/s other measures.
Requirement Based Maintenance Effort Estimation
(RBMEE) VI. CONCLUSION
In order to compute maintenance effort for the proposed The proposed work computes the requirement based
software, we first compute size and productivity in terms of maintenance effort estimate based on IEEE Std 830-1998 of
kilo lines of code (KLOC). Since RBMC is equivalent to the requirement engineering document, soon after freezing the
functional size of the system. Hence, size in terms of kilo requirements. The robustness of the proposed measure is
lines of code (KNCSLOC) [18] is represented as: evaluated by comparing it with different established and
RBMC × Size prevalent measures of maintenance effort estimation.
KNCSLOC =
1000 REFERENCES
Where KNCSLOC is the size of the software system in
[1] Software Engineering Standards Committee of the IEEE Computer
Kilo Lines of Code (KLOC) and Size is described as size of Society, “IEEE Recommended Practice for Software Requirements
language in which the proposed software is to be developed Specifications,” IEEE Inc. NY, USA, 1998.
[18]. KNCSLOC is a significant factor that rests on the fact [2] Symons C. R., “Function Point Analysis: Difficulties and
that since the developer has code to understand, but Improvements,” IEEE Transactions on Software Engineering, Vol.14,
maintaining that code would be more difficult. Hence, the No.1, pp. 2-11, Jan. 1988.
productivity directly depends upon the size of the software [3] Niessink F. and van Vliet H., “Predicting Maintenance Effort with
system and can be obtained from [8], is expressed as: Function Points,” In M. J. Harrold and G. Visaggio, editors,
International Conference on Software Maintenance, pages 32-39,
Productivity = 5.52 + 0.346 × KNCSLOC Bari, Italy, October 1-3, 1997.
Where Productivity is the maintenance team productivity [4] Albrecht A. J., “Measuring Application Development Productivity,”
in KLOC/PM. Proceedings SHARE/GUIDE IBM Applications Development
Now, in order to compute software maintenance effort Symposium, Monterey, CA., pages 83-92, Oct 14-17, 1979.
for the proposed software, it is necessary to know the two [5] Boehm B. W., “Software Engineering Economics,” Prentice-Hall:
significant parameters, first, the prior knowledge of the size Englewood Cliffs NJ, 1981; 767.
of the system in KNCSLOC and second, the productivity of [6] Leung, H.K.N, “Estimating maintenance effort by analogy,”
Empirical Software Engineering, 7(2), 157-175, 2002.
the maintenance team. Hence in this direction, we have
[7] Sharma A., Kushwaha D.S., “Complexity Measure based on
already derived the contributing measures i.e. KNCSLOC, Requirement Engineering Document and its Validation,” Int’l Conf.
for the size of the system in KLOC and Productivity, for the on Computer & Communication Technology, 2010, pp. 608-615.
estimation of maintenance team productivity. The [8] Gill G. K., Kemerer C. F., “Cyclomatic Complexity Density and
maintenance effort and the productivity have an inverse Software Maintenance Productivity,” IEEE Transactions on Software
relationship with each other. Hence, the maintenance effort Engineering, Vol. 17, No. 12, December 1991.
can be defined as the ratio of size and productivity of the [9] Ahn Y., Suh J., Kim S. and Kim H., “The Software Maintenance
proposed software. The requirement based maintenance Project Effort Estimation Model based on Function Points,” J. Softw.
Maint. Evol. : Res. Pract. 2003; 15 : 71-85.
effort estimate (RBMEE) in person-months (PM) for the
proposed software is expressed as: [10] Aggrawal K. K. and Singh Y., Software Engineering, 4th Edition,
New Age International.

155

Вам также может понравиться