=Paper=
{{Paper
|id=Vol-2207/IWSM_Mensura_2018_paper_5
|storemode=property
|title=A Study of the Correlation between Functional Size Measures and Object-oriented Measures
|pdfUrl=https://ceur-ws.org/Vol-2207/IWSM_Mensura_2018_paper_5.pdf
|volume=Vol-2207
|authors=Luigi Lavazza,Geng Liu
|dblpUrl=https://dblp.org/rec/conf/iwsm/LavazzaL18
}}
==A Study of the Correlation between Functional Size Measures and Object-oriented Measures==
A Study of the Correlation between Functional
Size Measures and Object-oriented Measures
from UML Requirements Models?
Luigi Lavazza1[0000−0002−5226−4337] and Geng Liu2[0000−0003−4686−0834]
1
Università degli Studi dell’Insubria, Varese, Italy luigi.lavazza@uninsubria.it
2
Hangzhou Dianzi University, Hangzhou, Zhejiang, China
liugeng@hdu.edu.cn
Abstract. Background. Functional size measurement methods aim at
measuring the size of functional user requirements of software applica-
tions. Functional user requirements can be represented via different no-
tations, including UML diagrams.
Objectives. In this paper, the relationship between functional size mea-
sures (namely IFPUG Function Points and COSMIC Function Points)
and object-oriented measures of UML diagrams representing functional
requirements are investigated.
Method. A set of functional requirement specifications was modeled via
UML diagrams. The functional size measures of user requirements were
derived via the standard IFPUG and COSMIC processes; the correspond-
ing UML models were measured using a set of object-oriented metrics
that are applicable to UML models representing requirements. Func-
tional size measures were then compared to object-oriented measures.
Results. Statistically significant linear regression models were found. It
was also found that object-oriented measures of UML requirements mod-
els can be used to estimate functional size measures with good accuracy.
Conclusions. The obtained results suggest that object-oriented measures
–which tools can automatically extract from UML models– provide in-
dications concerning requirements size that are substantially equivalent
to those provided by functional size measures.
Keywords: Functional Size Measures · COSMIC · Function Point Anal-
ysis · Object-oriented measures · UML measures.
1 Introduction
Functional Size Measurement (FSM) methods [2, 13, 15, 8] aim at measuring the
size of functional user requirements of software applications. Being available in
the early phases of development, these measures are widely used to estimate the
effort required to develop software applications.
?
This work was partly supported by the “Fondo di ricerca d’Ateneo” funded by the
Università degli Studi dell’Insubria.
54
L. Lavazza, G. Liu
Organizations that develop software are thus interested in FSM processes
that are reliable, rapid and cheap, and that fit well in software development
processes.
There are several different ways for organizing functional size measurement
activities. The usual process starts from Functional User Requirements (FUR),
which are generally expressed via a set of heterogeneous documents, such as data
flow diagrams, Entity/Relationship diagrams, tables, formulas, text, etc. The
FUR are examined by a measurer (usually a certified one), who has to identify
the elements on which FSM is based. The elements to be considered are specified
in the official manuals of the method being used: the IFPUG counting manual
for Function Point Analysis [13] and the COSMIC manual for the COSMIC
method [8]. Once the elements mentioned in the manuals have been identified,
the counting is fairly easy.
Fig. 1. The traditional functional size measurement processes.
The process (Fig. 1) is entirely manual, being carried out by the (certified)
measurer. This fact has a few negative consequences. First, the process is slow.
FPA performed by a certified function point consultant proceeds at a relatively
slow pace: between 400 and 600 function points (FP) per day, according to
Capers Jones [18], between 200 and 300 function points per day according to
experts from Total Metrics [38]. Consequently, measuring the size of a moderately
large application can take too long, if cost estimation is needed urgently. Second,
the process is expensive, since the process takes some time and the work time of
certified counters is expensive. Finally, the measurement has proved to be prone
to some variability. Empirical data show that different counters can yield quite
different measures of the same set of software requirements, even in the same
organization [20]: a 30% variance was observed within an organization, while the
observed difference was even greater across organizations [30]. Even according to
the IFPUG, the difference between counts yielded by different certified experts
for the same application may be around 10% [6].
The problems described above are not specific of FPA. In principle, using the
COSMIC FSM method involves similar problems (although with quantitatively
different effects).
An alternative process can be carried out when FUR are specified using
UML (Fig. 2). In fact, in object-oriented development processes, requirements
are often modeled via UML diagrams. In this way, two advantages are achieved:
1) requirements are modeled via a well defined set of diagrams, which are written
in a standard and expressive language, 2) the transition from the requirements
55
IWSM/Mensura’18, September 18–20, 2018, Beijing, China
specification phase to the design phase is smooth. In such conditions, the UML
diagrams representing FUR are the input of the FSM process.
Fig. 2. Functional size measurement applied to UML models of FUR.
Several researchers addressed the problem of applying FSM methods to UML
requirements specifications, as we report in Section 6. Unfortunately, these meth-
ods are applied to UML built according to whatever analysis methodology or
point of view, so that the suitability of UML models for FSM is not guaranteed:
models could omit some piece of essential information required by the count-
ing rules, or could provide information at the wrong granularity level. In these
cases the measurer has to integrate and adjust the available information: in
practice, UML models become just another type of artifact in the (usually al-
ready crowded) set of documents used to specify user requirements. UML models
that do not provide the correct information required by FPA open the door to
subjectivity.
The need for a clear representation of FUR, upon which carrying out the
measurement, is widely mentioned. Even the IFPUG newsletter mentioned this
issue: “As Function Points are counted based on the requirements, then it may
be possible to identify a standardized structure for capturing requirements which
will facilitate in identifying the FP context entities” [34].
To overcome the problems described above, the process described in Fig. 3
was proposed: UML models are built having FSM rules in mind, so that the re-
sulting models provide exactly the information required for FSM [24].
“Measurement-oriented” UML models can be derived from the heterogeneous set
of documents that describe the FUR, or from non-measurement-oriented UML
models that specify the FUR. In the former case, defining the measurement-
oriented UML models can be relatively expensive, while in the latter case the
UML to UML transformation is generally easy.
As highlighted in Fig. 3, once the measurement-oriented UML models are
available, performing the measurement is easy, so that even an inexperienced
measurer can carry out the measurement rapidly and correctly [9]. It could
even be possible to automate the derivation of functional size measures from
measurement-oriented UML models.
Several types of object-oriented measures have been proposed, including sim-
ple structural measures (like the number of classes, number of methods, etc.) as
56
L. Lavazza, G. Liu
Fig. 3. FSM process based on Measurement-oriented models.
well as sophisticated measures (like the well-known suite by Chidamber and
Kemerer [7]). A few tools are available to automatically derive several object-
oriented measures from UML models. Such tools can be applied to functional
size measurement-oriented UML models –which are in first place UML models–
to obtain “regular” (i.e., not functional) measures (Fig. 4).
Fig. 4. Object-oriented measurement of FMS-oriented models.
The possibility of automatically deriving measures from UML models as
shown in Fig. 4 leads to the following research questions:
RQ1 Are functional size measures and object-oriented measures of FSM-oriented
UML models correlated? I.e., do the processes depicted in Fig. 3 and Fig. 4
yield correlated measures?
RQ2 If the answer to RQ1 is positive, what are the object-oriented measures
that are correlated to functional size measures? More specifically: are FSM-
oriented UML models needed, or do UML models built according to the usual
object-oriented analysis practices [35] provide measures that are correlated
to functional size measures?
In RQ1 and RQ2, we not only look for evidence of statistically significant cor-
relations, we also look for regression models that fit sufficiently well to support
57
IWSM/Mensura’18, September 18–20, 2018, Beijing, China
accurate estimation of functional size measures based on a small set of object-
oriented measures.
If the answer to RQ1 is positive, once you get a software model that is compli-
ant with the FSM standards, object-oriented measures provide information that
is equivalent to functional size measures, as far as sizing is concerned. There-
fore, we could use the process described in Fig. 4 instead of any of the processes
described in Fig. 1, Fig. 2 or Fig. 3.
If the answer to RQ2 is positive, there would be evidence that the measures
of the FUR expressed as UML models built according to regular OO analysis
practices [35] provide size information that is essentially equivalent to what is
achieved via much longer and more expensive functional size measurement pro-
cesses. This result would have important practical consequences in development
environments that use UML, since measures that represent adequately the size
of functional requirements could be achieved as a byproduct of the normal de-
velopment activities (as shown in Fig. 5) at no additional costs (except possibly
the cost of the UML measurement tool). Note that the work flow represented
in the top part of Figure 5 is the regular object-oriented development: we have
just added the automated measurement of UML requirements models.
Fig. 5. Object-oriented measurement of UML requirements models as a byproduct of
the regular development process.
This paper describes an empirical study aiming at answering the research
questions defined above.
The paper is structured as follows. Section 2 describes the empirical study.
The results of the statistical analyses are given in Section 3 and discussed in
Section 4. Section 5 discusses the threats to the validity of the study, while
Section 6 accounts for related work. Finally Section 7 draws some conclusions
and outlines future work.
2 The Empirical Study
The empirical study was organized as follows:
1. We collected a set of UML models of software applications’ FUR. The set is
sufficiently large to support statistical analysis.
58
L. Lavazza, G. Liu
2. Functional size measures (both IFPUG FP and COSMIC FP) were derived
from the FUR expressed via UML models. In this phase, the fact that FUR
were expressed via UML is irrelevant: standard FSM processes were used,
and measurers looked for the required elements (e.g., elementary processes
and data movements) in the proper UML diagrams.
3. We used the SDmetrics tool [41] to get OO measures of UML models.
4. Possible correlations between the measures obtained at steps 2 and 3 were
studied, using statistical methods, as described in Section 3.
Steps 1 and 2 were carried out as described in Fig. 3; all the applications’
FUR were modeled and measured by a PhD student with the supervision of an
expert. Step 3 was carried out as described in Fig. 4.
Our dataset includes the measures of 15 software applications: 7 applications
were defined by students of a software project management course and were
table game playing applications; 3 miscellaneous applications proposed in the
literature for illustrating FSM principles and problems; a small information sys-
tem defined to explain FSM to students; a tool to support measuring functional
size according to multiple standards [25]; 3 open source project planning and
measurement applications.
Descriptive statistics of the measured projects are given in Table 1.
Table 1. Descriptive statistics of the analyzed projects.
COSMIC FP IFPUG UFP Num. classes Num. methods Num. use cases
Mean 93 114 9.1 32 85
st. dev. 28 29 4.4 14 26
Median 86 107 8 33 75
Min 50 73 3 13 38
Max 154 163 17 65 128
Object-oriented measures were obtained via the SDmetrics tool. After a brief
survey of the available tools, we selected SDMetrics as the most complete, ma-
ture, usable, and easily available tool [41]. SDMetrics accepts as input XMI
files and is able to measure several UML diagrams, including those providing
the information needed for functional size measurement-oriented modeling. Af-
ter the quite straightforward initial configuration of the tool, measurement was
performed automatically.
Not all the measures provided by SDmetrics are relevant for our purposes:
for instance, several SDmetrics measures are meant to represent the quality of
OO design. Therefore, among the many measures supported by SDmetrics, we
chose only those most likely related to the properties considered by functional
size measurement. They are:
– Num Class: The total number of classes in the model.
– Num Attr: The total number of attributes in the model.
– Num Met: The total number of methods in the model.
59
IWSM/Mensura’18, September 18–20, 2018, Beijing, China
– AvMetperClass: The average number of methods per class.
– AvAttperClass: The average number of attributes per class.
– Num UseCase: The total number of Use cases (measured from use case dia-
grams).
– Num Msgs: The total number of messages in sequence diagrams.
– AvMsgsperClass: The average number of messages (from sequence diagrams)
per class.
– AvMsgsperSD: The average number of messages (from sequence diagrams)
per sequence diagram.
It is important noticing that in our UML models, we used functional size mea-
surement criteria to identify use cases. Specifically, we have one use case for each
IFPUG elementary process or COSMIC functional process. This makes our use
cases and the related measures completely different from and not comparable to
other measures based on the notion of use case, like use case points [19].
Sequence diagrams are used to describe the dynamic behavior of use cases,
hence of IFPUG elementary process or COSMIC functional process. Therefore,
AvMsgsperSD indicates the average number of messages per process.
Statistical analysis was carried out according to commonly accepted rules
and conditions. So, we set a 0.05 statistical significance threshold throughout
the paper, as is customary in Empirical Software Engineering studies. We used
standard statistical significance tests when studying the statistical dependence
between variables with Kendall’s tau, and Spearman’s rho and when building
OLS regression models. Outliers were identified according to Cook’s distance.
3 Analysis and Results
We looked for statistical models that could account for possible relationships
between OO measures and the measure of functional size. To this end, we used
Ordinary Least Square (OLS) linear regression.
We looked for models with one or two independent variables. We could not
use more than two independent variables, because –given the size of the dataset–
we would have risked overfitting.
3.1 Models of Object-oriented Measures vs. Functional Size
Measures
We found that the measure of functional size expressed in Function Points is
statistically related to several (sets of) object-oriented measures. The statisti-
cally significant models found are given in Table 2, together with the adjusted
R2 and the number of outliers that were eliminated from the dataset to derive
the model.
The analysis performed to evaluate the correlation between object-oriented
measures and IFPUG measures was repeated for COSMIC measures.
Also in this case we found fairly good correlations : the statistically significant
models found are given in Table 3.
60
L. Lavazza, G. Liu
Table 2. Summary of Significant OLS models found for IFPUG FP.
Model Adj. R2 #Outl.
FP = 36.5 + 1.4 Num Messages 0.75 0
FP = 3.8 + 1.04 Num Attr + 3.9 Num UseCase 0.82 1
FP = 14.5 + 1.106 Num Met + 3.5 Num UseCase 0.85 1
FP = 21 + 2.4 Num UseCase + 0.87 Num Messages 0.84 1
Table 3. Summary of Significant OLS models found for COSMIC FP.
Model Adj. R2 #Outl.
CFP = 18.9 + 1.4 Num Messages 0.64 1
CFP = 7.1 + 2.4 Num UseCase + 0.78 Num Messages 0.65 0
CFP = -28.4 + 1.34 Num Messages + 5.2 AvMessagesperClass 0.67 1
3.2 Evaluation of Models’ Accuracy
To evaluate how well models based on object-oriented measures estimate func-
tional size measures, we needed to avoid the risks connected with using accuracy
statistic like the Mean Magnitude of Relative Errors (MMRE), which has been
shown to be flawed, in that it is a biased estimator of central tendency of the
residuals of a prediction system because it is an asymmetric measure [21][11][32].
Instead P of MMRE, we used the Mean Absolute Residual (MAR) [37]:
M AR = n1 i=1..n |yi − ŷi |, where yi and ŷi are the ith actual and estimated
value of interest, in our case, the actual and estimated functional size of the ith
software application. Unlike MMRE, MAR is not biased, as discussed in [37].
When a new estimation model P is proposed, it is necessary to verify if it is a
“good enough” model. To establish if P satisfies minimum accuracy conditions,
we compare the proposed model with a “baseline” model, which requires little
or no knowledge of the phenomena being estimated. To stay on the safe side, we
used two baseline models: the random model and the constant model [37, 26].
When no obvious baseline model exists, Shepperd and MacDonell suggest to
use as a reference model random estimation, based solely on the known (actual)
values of previously measured applications. A random estimation ŷi is obtained
by picking at random yj , with j 6= i. Of course, in this way there are n–1 possible
estimates for yi ; therefore, to compute the MAR of the random model rnd we
need to average all these possible values. Shepperd and MacDonell suggest to
make a large number of random estimates (e.g., 1000), and then take the mean
M ARrnd . Langdon et al. showed that this is not necessary, since the average of
the random estimates can be computed exactly [22].
Shepperd and MacDonell observed also that the value of the 5% quantile of
the random estimate MARs can be interpreted like α for conventional statistical
inference, that is, any accuracy value that is better than this threshold has a
less than one in twenty chance of being a random occurrence. Accordingly, the
MAR of model P , M ARP , should be compared with the 5% quantile of the
random estimate MARs, rather than with M ARrnd , to be reasonably sure that
P is actually more accurate than rnd.
61
IWSM/Mensura’18, September 18–20, 2018, Beijing, China
Lavazza and Morasca [26] observed that the comparison with random es-
timation is not always effective in supporting the evidence that P is a good
estimation model. Instead, they proposed to use a “constant model” (const),
where the estimate of the size of the ith applicationP is given by the average of
1
the sizes of the other applications; that is, ŷi = n−1 j∈Y −{yi } yj .
In conclusion, to consider the models given in Tables 2 and 3 acceptable, we
need that the MAR of the given model is less than both the 5% quantile of the
random estimate MARs and M ARconst .
When considering IFPUG FP measures, with our dataset, the 5% quantile of
the random estimate MARs is 28.3 FP and M ARconst =26 FP. Hence, we shall
accept models of functional size expressed in FP that feature MAR < 26 FP.
Table 4. MARs of models of IFPUG FP size.
Model MAR
Num Messages 13.5
Num Attr, Num UseCase 14.1
Num Met, Num UseCase 11.0
Num UseCase, Num Messages 11.8
Table 4 reports the MARs computed for the FP models given in Table 2.
The estimates used for computing the MARs were obtained via a typical leave-
one-out procedure, that is, given an application A from our dataset, an OLS
linear model was obtained based on the applications from the dataset excluding
A, and the resulting model was used to estimate the size of A.
It is easy to see that all the models’ MARs are substantially smaller than 26
FP, hence all the found models are acceptable.
We now need to check that the absolute errors of the models found are
actually smaller than the errors of the constant model. We use the the Wilcoxon
Signed Rank test to test the following Null Hypothesis: “The absolute errors
yielded by a model P are not less than those provided by the constant model”.
We use the Wilcoxon Signed Rank test because it can be safely applied also
to not normally distributed data, since it makes no assumptions about data
distributions. The Wilcoxon Signed Rank test rejected the null hypothesis for
all the models found.
When considering COSMIC measures, with our dataset, the 5% quantile of
the random estimate MARs is 23.5 CFP and M ARconst =21.6 CFP. Hence, we
shall accept models of functional size expressed in CFP that feature MAR<21.6
CFP.
Table 5 reports the MARs computed for the FP models given in Table 3.
It can be noticed that the model based on the number of messages does not
perform better than the constant model, the MARs of the two models being
very close. All the other models’ MARs are substantially smaller than 21.6 CFP,
hence these models should be considered acceptable. However, when applying
the Wilcoxon Signed Rank test to absolute errors, we found that only the model
62
L. Lavazza, G. Liu
Table 5. MARs of models found for COSMIC size.
Model variables MAR
Num Messages 21.7
Num UseCase, Num Messages 12.8
Num Messages, AvMessagesperClass 15.5
based on the number of use cases and the number of messages provides absolute
residuals that are smaller than the constant model’s.
4 Discussion of Results
A first quite interesting result is that object-oriented measures appear better
correlated to IFPUG FP measures than to COSMIC measures. However, in both
cases we found reasonably accurate models, which appear suitable for practical
usage. In fact, if you consider that the difference between functional measures
yielded by different certified experts for the same application may be around
10% [6], estimates based on UML measures –which feature MAR slightly greater
than 10%– appear quite good.
Another interesting observation is that for both IFPUG and COSMIC mea-
sures, the number of use cases and the number of messages appear to be the
measures of UML models that have more predictive power with respect to func-
tional size measures. It is not surprising that the number of use cases is correlated
with the functional size; in fact, in measurement-oriented UML models, use cases
are used to represent elementary or functional processes, which are a fundamen-
tal concept in functional size measurement. As to the number of messages, we
must remember that messages in UML sequence diagram represent phenomena
that are conceptually very close to COSMIC data movements, which are the base
functional component of the COSMIC size measure. Messages play a primary
role in IFPUG measurement as well: DET that cross the system boundaries are
message arguments, and FTR are sources or destinations of messages.
On the basis of these observations, RQ1 (“Are the functional size measures
and object-oriented measures of FSM-oriented UML models correlated?”) can
be given a positive answer, in that a small set of object-oriented measures ap-
pears quite well correlated to functional size measures via OLS linear regression
models.
Concerning RQ2 (“What are the object-oriented measures that are correlated
to functional size measures? More specifically: are FSM-oriented UML models
needed to get such measures, or could UML models built according to the usual
object-oriented analysis practices [35] provide such measures?”), all the statis-
tically significant models found are based on the number of use cases and the
number of messages. Actually, models using these variables can be used to pre-
dict functional size measures quite accurately. So, the first part of the answer
is that the number of use cases and the number of messages appear very well
correlated to functional size measures.
63
IWSM/Mensura’18, September 18–20, 2018, Beijing, China
Now, we have to consider that the number of use cases and the number of
messages depend on the way the measured UML model is built. In fact, the
scope and the level of details of use cases depends on the modeling ‘style’. Sim-
ilarly, the number of messages depends on what sequence diagrams are built,
and how detailed they are. We made the variability of these measure close to
zero by setting strict rules on how use cases are identified (they match func-
tional/elementary processes) and imposing that a sequence diagram is built for
every use case.
So the second part of the answer to RQ2 is that a few object-oriented mea-
sures from UML models built according to rigorous principles correlate with
functional size measures; on the contrary, we have no evidence that measures
that can be collected from every UML model –like the number of attributes, the
number of methods and their class averages, etc.– correlate with functional size
measures.
5 Threats to Validity
Like with any other correlational study, the threats to the validity of our study
need to be assessed, along with the actions that have been undertaken to mitigate
them.
5.1 Threats to internal validity
The limited size of the dataset may be a first threat to internal validity. Despite
the relatively small number of data points, we still filtered out outliers, to make
sure that the results are not unduly influenced by a very small number of high-
leverage points, even though this further reduced the cardinality of the samples.
Very few data points of the analyzed dataset proved to be outliers, though.
5.2 Threats to external validity
The dataset used in the study may not be representative of the entire universe
of software applications. The relatively small size of the sample may make the
models we found of limited external validity.
5.3 Threats to construct validity
In principle, the inherent subjectivity of FSM methods is a first main construct
validity threat. In fact, different measurers could compute different sizes for the
projects in our sample; this would lead to different correlations. However, it
has been showed [9] that model-based measurement is less prone to subjectivity
than FSM carried out according to traditional practices; therefore, we are quite
confident that the variability of measures does not appreciably affect our results.
We also note that the tool we used counts messages only when they con-
cern instances of classes in sequence diagrams, while our models also contains
64
L. Lavazza, G. Liu
instances of components that send or receive messages. We tried to correct this
issues, but the number of messages used in the analysis is still only a good ap-
proximation of the actual number of messages that appear in sequence diagrams
(i.e., in elementary/functional processes).
6 Related Work
Several researchers addressed the issue of deriving functional size measures from
UML models. For instance, measurement procedures that are compliant with
FPA are defined in [28, 10, 39, 33, 40, 1]. The aim of the mentioned papers is to
propose a correct interpretation of the FPA measurement principles and rules
in the object oriented context, thus facilitating the application of FPA and im-
proving its performances in object-oriented development processes.
Unfortunately, these methods suffer from a relevant drawback: they propose
counting practices that are applied to a UML model after it has been built
according to whatever analysis methodology or point of view (as in Fig. 2).
Therefore, correctness and completeness of UML models with respect to FPA
are not guaranteed, since the models were built without having FPA in mind. In
the worst cases, the counting rules are just not applicable because the model lacks
some piece of essential information required by the counting rules. Of course, the
lacking information has to be provided in some way, e.g. “the person performing
the count [...] has been requested to [...] integrate the information which may be
available [in UML diagrams] using interviews or other documentation.” [14].
To base functional measurement on UML diagrams, the information provided
by the latter must be well defined and univocally understood; to this end, UML
models should be formalized (or semi-formalized, at a minimum). Several schol-
ars recommend that the object of measurement should be formalized [39, 12].
Jones Capers even states that “... from a technical point of view, it is feasible to
automatically obtain a functional point (or other measure) from the demand, if
the demand is represented by a structured language, HIPO, use case, CRC, or
UML” [17].
Based on the precise mapping relationship between the functional elements
and the UML structures, UML models have the ability of expressing the infor-
mation needed by FPA and COSMIC measurement methods [24, 23].
A first UML based measurement procedure and tool were developed for Func-
tion Point Analysis (with a few simplifications) by Uemura et al. [39]. Improve-
ments were proposed by Živkovič et al. [43].
The usage of UML as a notation to model the applications to be measured
is fairly common in the COSMIC community. A survey of such approaches was
published by Marı́n et al. [31]. One of the first among such techniques is due
to Bévo et al. [5]. They map COSMIC concepts on a few UML diagrams: use
cases, sequence diagrams, and classes. However, triggering events are not repre-
sented with UML concepts. A tool named Metric Xpert supports the automatic
application of the measurement procedure [4]. The experimental application of
65
IWSM/Mensura’18, September 18–20, 2018, Beijing, China
the tool showed that it is able to produce measures that differ between 11% and
33% from measures obtained by experts.
The techniques proposed to derive COSMIC measures from UML models
suffer from the problem mentioned above for FPA applied to UML models: for
instance, Bévo observed that counting based on scenarios could give a much
larger functional size then counting based on use cases. The problem, recognized
later by Jenner [16] is that UML models can represent requirements at vari-
ous levels of abstraction. As a solution, Jenner proposed using UML sequence
diagram as the primary diagram to count COSMIC FP.
Levesque et al. also applied the COSMIC method to measure functional size
from use case diagrams and sequence diagrams, with data movements mapped
to messages in UML sequence diagrams [29].
Lavazza and Robiolo used measures from UML sequence diagrams in conjunc-
tion with functional size measures for effort estimation [27]. Sellami et al. further
developed this idea: they used measures from UML models to complement COS-
MIC size measures, to derive more accurate effort estimation model [36]. In these
models, measures of the structure of the sequence diagram account for data ma-
nipulations, which are not thoroughly represented by COSMIC measures.
Bagriyanik and Karahoca [3] proposed to automatically measure the func-
tional size of software by using an ontology that formalizes the information
created during the requirements engineering process.
Researchers also investigated the relationship between UML measures and
code size: Zhou et al. found that measures from UML class diagrams and objec-
tive class points metric (an object-oriented version of functional size measures)
are able to accurately predict source code size of object-oriented systems [42].
However, to our knowledge, nobody published studies of the correlation be-
tween object-oriented measures of UML models of FUR and functional size mea-
sures derived from the same UML models.
7 Conclusions
Performing functional size measurement according to the traditional process
(Fig. 1) is expensive and prone to variability, because of requirement misinter-
pretations and measurement errors by human measurers.
Many software developers use UML, hence they are interested in basing func-
tional size measurement on UML models. More precisely, they are interested in
integrating FSM in the development process, and possibly in making FSM less
expensive and less subject to variability. To this end, several approaches to ex-
tracting both IFPUG and COSMIC size measures from UML were proposed
(Fig. 2).
Unfortunately, basing FSM on models that were built without having FSM
in mind is not straightforward, since the models often do not provide the in-
formation required by FSM methods. A solution to this problem involves a two
phases process [24, 23]:
66
L. Lavazza, G. Liu
1. First, UML models are built, taking care of incorporating all the information
required by FSM. So, IFPUG elementary processes and COSMIC functional
processes are represented as use cases or as operations of the interface of-
fered by system component; data are modeled via component or class di-
agrams, and the details of processes are modeled via sequence diagrams.
Organizations that already use UML for requirements modeling can derive
measurement-oriented models quickly and at little additional cost.
2. Then, the measurement is carried out entirely on the basis of models. Iden-
tifying the elements to be counted in diagrams and computing the measures
is straightforward, so that even an inexperienced measurer can carry out the
measurement rapidly and correctly [9].
Measurement-oriented modeling and model-based measurement are meant to let
organizations that already use UML extend the usage of UML models to FSM as
well. No certified counter is necessary for FSM: this makes the procedure easier
and cheaper to apply. Also the variability of measures is decreased [9].
Our empirical study showed that there is a correlation between object-oriented
measures of UML models –which can be computed automatically– and functional
size measures. This fact suggests that in principle object-oriented measures of
UML models can be used to estimate functional size measures.
Using object-oriented measures of UML models involves two important ad-
vantages: measurement is automatic (so it can be performed at virtually no
cost) and it is not subject to any variability. However, building measurement-
oriented models requires some effort, even if FUR are already represented via
UML models (typically, built according to traditional object-oriented analysis
methodology).
Additional research is necessary to support the conclusions reported in this
paper. In particular, a larger dataset would be needed. So, our plans for future
work include collecting data from additional software applications. Moreover,
we have to consider that the most common and relevant application of FUR
measures is in effort estimation. We need to find data that include development
effort measures, to verify whether effort estimation models based on object-
oriented measures are more or less accurate than effort estimation models based
on functional size measures.
References
1. Abrahao, S., Insfran, E.: A metamodeling approach to estimate software size from
requirements specifications. In: Software Engineering and Advanced Applications,
2008. SEAA’08. 34th Euromicro Conference. pp. 465–475. IEEE (2008)
2. Albrecht, A.J.: Measuring application development productivity. In: Proc. of IBM
Applic. Dev. Joint SHARE/GUIDE Symposium, Monterey, CA, 1979. pp. 83–92
(1979)
3. Bagriyanik, S., Karahoca, A.: Automated cosmic function point measurement using
a requirements engineering ontology. Information and Software Technology 72,
189–203 (2016)
67
IWSM/Mensura’18, September 18–20, 2018, Beijing, China
4. Bévo, V.: Analyse et formalisation ontologique des procédures de mesure associées
aux méthodes de mesure de la taille fonctionnelle des logiciels: de nouvelles per-
spectives pour la mesure. Ph.D. thesis, UQAM, Montréal (2005)
5. Bévo, V., Lévesque, G., Abran, A.: Application de la methode FFP a partir dune
specification selon la notation UML: Compte rendu des premiers essais dapplication
et questions. In: 9th IWSM, Lac Supérieur, Canada (1999)
6. Buglione, L.: Misurare il software 3/ed. Franco Angeli Editore, Milan (2008)
7. Chidamber, S.R., Kemerer, C.F.: A metrics suite for object oriented design. IEEE
Transactions on software engineering 20(6), 476–493 (1994)
8. COSMIC – Common Software Measurement International Consortium: The COS-
MIC Functional Size Measurement Method - version 4.0.2 Measurement Manual
(December 2017)
9. Del Bianco, V., Gentile, C., Lavazza, L.: An evaluation of function point counting
based on measurement-oriented models. In: EASE (2008)
10. Fetcke, T., Abran, A., Nguyen, T.H.: Function point analysis for the oo-jacobson
method: a mapping approach (1998)
11. Foss, T., Stensrud, E., Kitchenham, B., Myrtveit, I.: A simulation study of the
model evaluation criterion MMRE. IEEE Transactions on Software Engineering
29(11), 985–995 (2003)
12. Galorath, D.D., Ferens, D.V., Fischrnan, L.: Automated Software Sizing From
Use Case Points and Requirements Repositories. In: 18th International Forum on
COCOMO and Software Cost Modeling (2003)
13. International Function Point Users Group: Function Point Counting Practices
Manual - Release 4.3.1 (January 2010)
14. Iorio, T.: IFPUG Function Point analysis in a UML framework. Proceedings of
SMEF 2004 (2004)
15. ISO: ISO/IEC 20926: 2003, Software engineering – IFPUG 4.1 Unadjusted func-
tional size measurement method – Counting Practices Manual (2003)
16. Jenner, M.: Cosmic-ffp and uml: Estimation of the size of a system specified in
uml–problems of granularity. In: Fourth European Conference Soft. Measurement
and ICT Control. pp. 173–184 (2001)
17. Jones, C.: Estimating software costs: Bringing realism to estimating. McGraw-Hill
Companies New York (2007)
18. Jones, C.: A new business model for function point metrics (2008),
http://www.itmpi.org/assets/base/images/itmpi/privaterooms/capersjones/
FunctPtBusModel2008.pdf
19. Karner, G.: Resource estimation for objectory projects. Objective Systems SF AB
17 (1993)
20. Kitchenham, B.: Counterpoint: the problem with function points. IEEE software
14(2), 29 (1997)
21. Kitchenham, B.A., Pickard, L.M., MacDonell, S.G., Shepperd, M.J.: What accu-
racy statistics really measure. IEE Proceedings-Software 148(3), 81–85 (2001)
22. Langdon, W.B., Dolado, J., Sarro, F., Harman, M.: Exact mean absolute error
of baseline predictor, MARP0. Information and Software Technology 73, 16–18
(2016)
23. Lavazza, L., Del Bianco, V.: A case study in cosmic functional size measurement:
The rice cooker revisited. In: International Workshop on Software Measurement.
pp. 101–121. Springer (2009)
24. Lavazza, L., Del Bianco, V., Garavaglia, C.: Model-based functional size mea-
surement. In: Proceedings of the Second ACM-IEEE international symposium on
Empirical software engineering and measurement. pp. 100–109. ACM (2008)
68
L. Lavazza, G. Liu
25. Lavazza, L., Del Bianco, V., Liu, G.: Analytical convertibility of functional size
measures: a tool-based approach. In: Joint 22nd IWSM and 7th MENSURA. pp.
160–169. IEEE (2012)
26. Lavazza, L., Morasca, S.: On the evaluation of effort estimation models. In: Pro-
ceedings of the 21st International Conference on Evaluation and Assessment in
Software Engineering. pp. 41–50. ACM (2017)
27. Lavazza, L., Robiolo, G.: Introducing the evaluation of complexity in functional
size measurement: a uml-based approach. In: Proceedings of the 2010 ACM-IEEE
International Symposium on Empirical Software Engineering and Measurement.
p. 25. ACM (2010)
28. Lehne, O.: Experience report: function points counting of object oriented analy-
sis and design based on the ooram method. In: Conference on Object-Oriented
Programming Systems, Languages, and Applications (OOPSLA’97) (1997)
29. Levesque, G., Bevo, V., Cao, D.T.: Estimating software size with uml models. In:
Proceedings of the 2008 C 3 S 2 E conference. pp. 81–87. ACM (2008)
30. Low, G.C., Jeffery, D.R.: Function points in the estimation and evaluation of the
software process. IEEE Transactions on Software Engineering 16(1), 64–71 (1990)
31. Marı́n, B., Giachetti, G., Pastor, O.: Measurement of functional size in conceptual
models: A survey of measurement procedures based on cosmic. In: Software Process
and Product Measurement, pp. 170–183. Springer (2008)
32. Myrtveit, I., Stensrud, E., Shepperd, M.: Reliability and validity in comparative
studies of software prediction models. IEEE Transactions on Software Engineering
31(5), 380–391 (2005)
33. Oudshoorn, R.: Application of functional size measurement on requirements in
uml. Ir.-degree Thesis, University of Twente (June 2005)(partly in Dutch) (2005)
34. Radford, P.: The Future of Function Points? IFPUG Metric View (July/August
2013)
35. Rumbaugh, J., Blaha, M., Premerlani, W., Eddy, F., Lorensen, W.E., et al.: Object-
oriented modeling and design, vol. 199. Prentice-hall Englewood Cliffs, NJ (1991)
36. Sellami, A., Hakim, H., Abran, A., Ben-Abdallah, H.: A measurement method for
sizing the structure of uml sequence diagrams. Information and Software Technol-
ogy 59, 222–232 (2015)
37. Shepperd, M., MacDonell, S.: Evaluating prediction systems in software project
estimation. Information and Software Technology 54(8), 820–827 (2012)
38. Total Metrics: Methods for Software Sizing – How to Decide which
Method to Use (August 2007), http://www.totalmetrics.com/function-point-
resources/downloads/R185 Why-use-Function-Points.pdf
39. Uemura, T., Kusumoto, S., Inoue, K.: Function-point analysis using design speci-
fications based on the Unified Modelling Language. Journal of Software: Evolution
and Process 13(4), 223–243 (2001)
40. Van Den Berg, K., Dekkers, T., Oudshoorn, R.: Functional size measurement ap-
plied to uml-based user requirements. In: Proceedings of the 2nd Software Mea-
surement European Forum (SMEF2005) (2005)
41. Wüst, J.: SDMetrics: The software design metrics tool for UML (2005)
42. Zhou, Y., Yang, Y., Xu, B., Leung, H., Zhou, X.: Source code size estimation
approaches for object-oriented systems from uml class diagrams: A comparative
study. Information and Software Technology 56(2), 220–237 (2014)
43. Živkovič, A., Rozman, I., Heričko, M.: Automated software size estimation based
on function points using uml models. Information and Software Technology 47(13),
881–890 (2005)
69