In this paper we analyze statistically the efforts for C++ program
modification which is needed by a given requirement change during
the prototyping development of a certain GUI application. In the
analysis we consider both C++ program $P$ to be updated and the
resultant C++ program $P'$, and discuss the correlation between the
values {\bf M}$(P)$ of the Object-Oriented metrics obtained from $P$
and the efforts {\bf E}$(P')$ needed to produce $P'$. According to
the definitions of {\bf M}$(P)$ and {\bf E}$(P')$, we present two
approaches in this paper.
In the first approach, we take {\bf M}$(P)$ as the value obtained by
applying the metrics to the whole source code $P$ and {\bf E}$(P')$
as the lines of codes({\bf LOC}) that are actually modified or
created, respectively. However, the experimental result cannot show
strong correlation between {\bf M}$(P)$ and {\bf E}$(P')$.
Based on the analysis results of the first approach, we propose the
second approach to consider the object-oriented properties more
directly. The analysis process consists of following three steps:
1) take only the classes in $P$, classify them according to the MVC
paradigm originally for Smalltalk their functions, and then evaluate
{\bf M}$(P)$ for the classified classes, 2) in order to evaluate the
efforts for code modification, define {\bf E}$(P')$ as the heuristic
value which is calculated empirically from the numbers of methods
and members created or modified, and 3) analyze the relationship
between the values of {\bf M}$(P)$ on the classified classes in $P$
and the values of {\bf E}$(P')$ on the source codes in $P'$. From
the experimental result, we can prove there exists a high
correlation between them.