case diagrams) in order to identify all impacted ele-
ments. Secondly, we show how this information can
be used with UCP and COCOMO II to estimate the
effort in terms of work hours. (Note that our tracea-
bility approach applies to any method of effort esti-
mation.)
More specifically, our approach exploits intra and
inter UML diagrams dependencies to identify the af-
fected elements. It explicitly encodes the intra and in-
ter diagram semantic and syntactic dependencies and
integrates them into a model dependency graph
(MDG) to identify the affected elements at any mod-
elling level. Thanks to the model dependency graph,
for instance, when a change occurs in a design dia-
gram (class or sequence diagrams), affected elements
in a use case diagram can be determined in order to
be able to apply the effort estimation methods.
The remainder of this paper is organized as fol-
lows: Section 2 first overviews the steps in the UCP
and COCOMOII methods. Section 3 shows how the
model dependency graph integrating various UML
diagrams can be used to identify all elements affected
by a change at any modelling level. Section 4 illus-
trates the application of COCOMOII and UCP
through an example. Section 5 concludes with a sum-
mary of the presented work and a highlight of its ex-
tensions.
2 EFFORT ESTIMATE
METHODS: AN OVERVIEW
In this section, we first overview the most known ef-
fort estimation methods which are adapted to
changes: the Use Case Point (UCP) method (Karner,
1993) and the COnstructive Cost MOdel II
(COCOMOII) (Boehm, 2000). Secondly, we discuss
those change impact analysis approaches that calcu-
late the effort needed to handle a change.
2.1 Change Effort Estimation using
COCOMO II
COCOMO (Boehm, 2000) was first introduced by
Barry Boehm in 1981. It takes software size and a set
of factors as input and it estimates effort in person-
months according to equation (1):
PM = A* size
E
* П EM
i
(1)
where:
A = 2.94 for COCOMO II.2000;
the size is in Kilo Source Lines Of Code (KSLOC).
It is derived from estimating the size of software
modules that will constitute the application pro-
gram. It can also be estimated from unadjusted
function points (UFP) converted to SLOC
(Boehm, 2000) (Kama et al., 2013);
the exponent E is an aggregation of five scale fac-
tors (SF) that account for the relative economies or
diseconomies of scale encountered for software
projects of different sizes:
E=B+0.01 *
∑
SFj
with B = 0.91 for COCOMO II.2000; and
the effort multipliers (EM
i
) are used to adjust the
nominal effort, person-months, to reflect the soft-
ware product under development. For instance, the
Required Software Reliability (RELY) is the
measure of the extent to which the software must
perform its intended function over a period of time.
If the effect of a software failure is only a slight
inconvenience, then RELY is very low.
All the input parameters of the software cost esti-
mate model need to be consistent and available in the
early stages of a software project. However, very little
may be known about the size of the product to be de-
veloped, the nature of the target platform, the nature
of the personnel to be involved in the project, or the
detailed specificities of the process to be used.
Kama et al., (Kama et al., 2013) developed a new
change effort estimation model based on
COCOMOII. This contribution integrates the change
impact analysis technique SPD-CIF (Kama, 2011)
and COCOMO II effort estimation technique. Based
on the traceability between requirement, design arte-
facts and classes, the impact analysis is performed. To
estimate the change effort for a given change, the
modified, added, and canceled KSLOCs are deter-
mined. Weights are assigned to change types (addi-
tion, modification, cancellation). To calculate the
change effort for every change type, the constant A
(in equation (1)) is replaced by the weight of the
change type and the size is replaced by the amount of
changed (added, modified or cancelled) KSLOCs. Fi-
nally, the effort in person/months of every change
type is summed to obtain the overall change effort.
The change type’s weights are not justified. In addi-
tion, the effort of the deletion is subtracted from the
total effort (weight equals -1) which is not true in
terms of development since a deleted element incurs
changes in the models and hence effort to update
them.
2.2 Change Effort Estimation using
UCP
Introduced in 1993 by Karner (Karner, 1993), the Use
ICSOFT-EA2015-10thInternationalConferenceonSoftwareEngineeringandApplications
302