Impact of Modification Made in Re-UCP on Software Effort Estimation

This research work evaluates the performance of Re-UCP model and compares the results with the UCP and e-UCP method of software effort estimation. In this research work, an attempt has been made to highlight the accuracy of results by using MRE (Magnitude of Relative Error), MMRE (Mean Magnitude Relative Error), MdMRE (Median of Magnitude Relative Error) tools to check the error rate and PRED (20) and PRED (10) method to find out the predictability of accuracy of Re-UCP software effort estimation method. The observations made from the results are based on the comparison of Re-UCP, e-UCP and UCP models of software effort estimation.


Introduction
Accurate software effort estimates are critical for better software project management in the software industry where the stress of getting better is usually very high on demand.However, different researchers have advocated for continuous improvement of software effort estimation after frequent time periods [1]- [8].The main aim of this research work is to evaluate the impact of modifications made to revised use-case-point method of software effort estimation.This research work is an effort to evaluate the performance of deviation in revised use-case point software estimation method in comparison to deviation in UCP and e-UCP methods of effort estimation model based on analysis of literature review and revised effort estimation model proposed by [4] for software effort estimation using use-case-point model [9]- [12].The revised use-case-model has been refined based on the refinements of UCP based models, inputs from software cost estimators, project managers, consultants and other technocrats actively engaged in effort estimation process in their corresponding organizations.This research work is an effort to validate revised use-case point model by using 14 software projects in order to estimate efforts which can show improved inclination in its behaviour and higher degree of acceptance with adaptability to improve the significance of its worth.
This research work is an effort to evaluate the results of the proposes effort estimation model inspired from the fundamentals of UCP, iUCP and e-UCP in order to estimate efforts which can show improved inclination in its behaviour and higher degree of acceptance with adaptability to improve the significance of its worth.The results of the newly designed model named as Re-UCP after comparing with the existing UCP and e-UCP are validated using MRE (Magnitude of Relative Error), MMRE (Mean Magnitude Relative Error) [13]- [15] and by measuring predictability using PRED (20) and PRED (10).

Use Case Points Method
The UCP method is the extension of Function Point method with the benefit of requirement analysis in the object-oriented process.It starts with measuring the functionality of the system based on the use case model in a count called Unadjusted Use Case Point (UUCP).The same technical factors are used as of Function Points.The UCPs shows an estimation of the size of the system which can be further mapped to man hours in order to calculate the effort required to develop a system [16] [17].Actors and use cases are classified into simple, Average and Complex categories according to their complexity and assigned some weight factors.
The unadjusted use case point UUCP is calculated using the following equation: where UAW is unadjusted actor weight and UUCW is unadjusted use-case weight.Finally the use case points UCP are calculated using the following equation: where UUCP is unadjusted use case point, TCF is technical complexity factor and EF is environmental complexity factor.
The number of parameters in TCF technical complexity factor is 14 and EF environmental complexity factor used in UCP method is 8 [3].
Further the effort is estimated by mapping the UCP with man-hours.
Effort UCP PHper UCP = * where PHper UCP is Person Hours per UCP.

Extended Use Case Point Method (e-UCP)
The extended use case point method (e-UCP) is a revised version of UCP method and was proposed by Kasi Perivasamy and Aditi Ghade in 2009 [14].The e-UCP model considers some additional information about the relationships between actors and use cases.The e-UCP is focused on internal details of a use case by including the use case narrative in effort estimation process of a software development project in the early stages of development.It starts with measuring the functionality of the system based on the use case model in a count called Unadjusted Use Case Point (UUCP).The technical factors and environmental factors used were similar as used in UCP method of effort estimation.The e-UCPs shows an estimation of the size of the system which can further be mapped to man-hours in order to calculate the effort required to develop the system [18]- [20].
The value of unadjusted use case points UUCP is calculated using the following equation: UUCP Use Case Weight Actor Weight Narratives Weight.

= + +
Finally the extended use case points e-UCP are calculated using the following equation: where UUCP is unadjusted use case point, TCF is technical complexity factor and EF is environmental complexity factor.The number of parameters in TCF technical complexity factor is 14 and EF environmental complexity factor used in e-UCP method is 8.
Further the effort is estimated by mapping the UCP with man-hours.

Effort e-UCP PHper UCP = *
where PHper UCP is Person Hours per UCP.
In the UCP model of effort estimation actors were classified in 3 categories and in e-UCP actors were classified into 7 categories.The use-case classification in case of UCP was 3 while as in e-UCP the categorization of use-cases was 4. The e-UCP model of effort estimation included the use-case narrative which did not exist in UCP effort estimation method.

Revised Use Case Point Method (Re-UCP)
In Re-UCP model [4] the functionality of the system is measured by calculating all the use case points in the system.The functionality of the system is estimated by the collective impact of corresponding factors associated with actors of the system, behaviour of use case, impact of environment and role of technical complexity factors for a software project.
In Re-UCP actors, use-cases, environmental and other technical factors are further categorised to associate a particular impact factor on the specific use-case activity rather than functionality of the system.Unlike UCP or e-UCP wherein either actor or use case is divided into simple, average, or complex with some weight strategy, Re-UCP uses different categorization of actor and use-cases [4].Actors in Re-UCP are categorised into simple, average, complex and critical categories with weight 1, 2, 3 and 4 respectively.The categorization of actors along with their corresponding weight is given in Table 1.
Total Unadjusted Actor weight UAW is calculated using the following equation: ( )

UAW
No. of actors their respective weight factors .

= Σ *
The use-cases are also categorized into simple, average, complex and critical categories and the detailed description of use-cases with their corresponding weighting factor [4] is given in Table 2.
Total Unadjusted use-case weight UUCW is calculated using the following equation: ( )

UUCW
No. of Use cases their respective weight factors .

= Σ *
The values of UAW and UUCW are used to calculate Unadjusted Use Case Points UUCP using the following equation: UUCP UAW UUCW.

= +
The revised use case points are calculated as  In order to estimate the overall use case points of the system to be developed some other factors like environmental and technical complexity parameters need to be considered.The technical complexity factor is represented as TCF and environmental complexity factor as ECF.All the technical factors from T1 to T14 are multiplied by their corresponding weight factor as described in the Table 3 and the summation of all calculated values is the calculated value of technical complexity factor (TCF).
TF subsequently is used to obtain the value of the Technical Complexity Factor (TCF).
( ) All the environmental complexity factors from E1 to E9 are multiplied by their corresponding weight factor as described in the Table 4 and the summation of all calculated values is the value of environmental complexity factor (ECF).

Results and Discussion
The percentage of deviation is calculated by subtracting actual effort from estimated effort and the result is the deviation which can be positive or negative.Positive deviation explains that the estimated effort is greater than actual effort whereas negative deviation explains that the estimated effort is lesser than actual effort.The datarelated to percentage of deviation of estimated efforts from actual efforts in case of UCP, e-UCP and Re-UCP methods of software effort estimation is given in Table 5.
The graphical representation of the percentage of deviation using UCP, e-UCP and Re-UCP methods against the actual effort estimation is given in Figure 1.The projects P4, P5 and P7 have higher value for deviation than e-UCP but better than UCP.However, the deviation from the accurate estimate has shown improvements in case of Re-UCP method of software effort estimation proposed.The projects P1, P2, P3, P6 and P8 through P14 have performed better in comparison with the UCP and e-UCP method of effort estimation.In most of the cases across all projects from P1 to P14 there is lesser deviation either positive or negative calculated using Re-UCP software effort estimation methods when compared to UCP and e-UCP method of effort estimation.

Impact of Scalability on Technical Complexity Factor
The impact of "Scalability" as a new parameter in technical complexity factor was evaluated based on the comparison between the TCF value calculated with scalability as 14th parameter and TCF value calculated by excluding scalability parameter from TCF.The result of the comparison is given in Figure 2. The TCF value   calculated using scalability as one of the parameter is higher than the TCF value calculated by excluding scalability parameter.
The "Revised use case points Re-UCP" calculated using the proposed method with inclusion of scalability was higher than the value of Re-UCP calculated by excluding scalability parameter.The resultant of the comparison is given in Figure 3.The higher value of Re-UCP here signifies that if scalability has more importance in a software development process then extra efforts will be required for the software development process which will be able to handle increased workload by repeatedly applying a cost-effective strategy for extending a system's capacity.
The "Efforts" calculated using TCF value which included scalability parameter was compared with the efforts calculated using TCF value which did not include scalability parameter and the result of the same is given in Figure 4.This implies if the scalability is of top priority and needs to be implemented while developing the software project then the efforts required for completion of the software development process will incur more cost.However, if the scalability of the software to be developed is not of any concern then the efforts required to develop the software will be lesser in comparison with the need for scalability.

Impact of Project-Methodology on ECF
The impact of project-methodology as a new parameter in environmental complexity factor was evaluated by comparing the ECF value calculated with project-methodology as 09th parameter with ECF value calculated by  excluding project-methodology parameter from ECF.The result of the comparison is given in Figure 5.The ECF value calculated using project-methodology as one of the parameter was lesser than the ECF value calculated by excluding project-methodology parameter.The revised use case points Re-UCP calculated using the proposed method with inclusion of project-methodology was lower than the value of Re-UCP calculated by excluding project-methodology parameter.The resultant of the comparison is given in Figure 6.
The "Efforts" calculated using ECF value which included project-methodology parameter was compared with the efforts calculated using ECF value which did not include project-methodology parameter and the result of the same is given in Figure 7.This implies if the project-methodology selected for the development of a software project is an appropriate approach then the efforts required will be lesser.However, if the project-methodology selected for the development of a software project is not an appropriate then the efforts required for the development of the software project will be higher.Therefore, it is very important to select project-methodology which is optimal for the software development project in order to manage software projects effectively and efficiently.
In project P1 and P3 the estimated effort is greater than the efforts obtained by either of the three effort estimation methods.In projects P2, P6 to P14 the estimated effort is less than the efforts acquired by either of these specified methods.Among the fourteen projects the efforts obtained in nine projects by Re-UCP is less than the   efforts estimated using UCP and e-UCP methods.In projects P1, P2, P3, P6, P8 to P14 the estimated deviation by using Re-UCP method is very less as compared to UCP and e-UCP and the estimated efforts by the same method obtained are almost significant with the actual efforts.

Evaluation
In order to evaluate accuracy of estimated efforts using a software effort estimation method different tools and techniques are available to ensure that the quality of results.In this research work combination of MRE (Magni-  20) is used to evaluate the performance of proposed software estimation method Re-UCP and the results have been compared with the UCP and e-UCP methods to find out a suitable effort estimation method for estimating efforts in early stages of software development.
There are several criterions to evaluate predictions of estimates and in order to evaluate the UCP, e-UCP and Re-UCP Magnitude Relative Error (MRE) is calculated for each project as given below in Table 6.The MRE is calculated using the following equation for all the projects P1 through P14.

MRE actual effort estimated effort actual effort − =
All the MRE values are used to find out the value of MMRE Mean Magnitude of Relative Error and is calculated as: The MMRE (Mean Magnitude Relative Error) is calculated to indicate the relative amount by which the estimated effort is an under-estimate or over-estimate in comparison to the actual estimate.MMRE is used in most of the research work as evaluation criterion due to its independent-of-units characteristic which means that MMRE is independent of units of estimated effort like person-hours, person-months or man-hours etc. MMRE is a meaningful tool used to summarize statistics and is very important in evaluating a software effort estimation model.The MMRE values for UCP, e-UCP and Re-UCP are graphically shown in Figure 8.
The Median Magnitude Relative Error MdMRE for UCP, e-UCP and Re-UCP is given in Figure 9. PRED(x) is simply the percentage of estimates that are within x% of the actual efforts.Therefore, PRED (10) will be the percentage of estimated that are within 10% of the actual efforts and the graph for PRED (10) of UCP, e-UCP and Re-UCP is given in Figure 10.
PRED (20) will be the percentage of estimated that are within 20% of the actual efforts and the graph for PRED (20) of UCP, e-UCP and Re-UCP is given in Figure 11.The Mean Absolute Error helps to understand the distribution of MRE values.The MAE for UCP, e-UCP and Re-UCP software effort estimation models is given in Figure 12.The distribution from the Figure 12 justifies the improved results in Re-UCP in comparison with UCP and e-UCP method of effort estimation for software projects in early stages of development.
Means of estimated efforts for UCP, e-UCP and Re-UCP is given in Figure 13.Standard Deviation of estimated efforts for Re-UCP for UCP, e-UCP and Re-UCP is given in Figure 14.
Comparison of variance of estimated efforts for UCP, e-UCP and Re-UCP is given in Figure 15.The graphical representation of mean, standard deviation and variance of efforts for all software projects P1 through P14 given in Figure 13 through Figure 15 shows the better performance of Re-UCP model in comparison with UCP and e-UCP models of effort estimation for software development projects in the early stages of development.
Means of deviation from actual efforts for UCP, e-UCP and Re-UCP is given in Figure 16.Standard Deviation of deviation from actual efforts for UCP, e-UCP and Re-UCP is given in Figure 17.
Variance of deviation from actual efforts for "Re-UCP" for UCP, e-UCP and Re-UCP is given in Figure 18.
The graphical representation of mean, standard deviation and variance of deviation from actual estimation for all software projects P1 through P14 given in Figure 16 through Figure 18 reiterates the better performance of Re-UCP model in comparison with UCP and e-UCP models of effort estimation for software development projects in the early stages of development.

Conclusions
The deviation percentage calculated using Re-UCP justifies the improved performance of Re-UCP method of software effort estimation in comparison with UCP and e-UCP methods of software effort estimation.The observations from the different software projects show the impact of including scalability as the 14th parameter and project-methodology as the 9th parameter of technical complexity factors respectively.
In order to validate the findings from the research work, the results were validated using MRE (magnitude of relative error) for each project using UCP, e-UCP and Re-UCP models of software effort estimation.The MMRE (mean magnitude relative error) also strengthened the observation of improved performance in use case of Re-UCP.The analysis of results was further validated by applying predictability 20% & 10%, the observations from PRED (20) and PRED (10).With the rapid change in nature of software development process and increase in complexity of nature of software projects, it is very important to carry out continuous refinements of effort estimation model for maintaining consistency and accuracy of estimated efforts.

Proposal for Future Work
The validation process for Re-UCP needs to be carried out for large scale different software projects in order to increase acceptability.The future research needs to be carried out to enhance the advantages of Re-UCP for large-sized software projects across vertical and horizontals.

Figure 1 .
Figure 1.Actual efforts and deviations using UCP, e-UCP and Re-UCP.

Figure 2 .
Figure 2. Impact of scalability on TCF.

Figure 4 .
Figure 4. Impact of scalability on efforts.

Figure 5 .
Figure 5. Impact of project-methodology on ECF.

Figure 6 .
Figure 6.Impact of project-methodology on Re-UCP.

Figure 7 .
Figure 7. Impact of project-methodology on efforts.
Error), MMRE (Mean Magnitude of Relative Error) and PRED (

Table 1 .
Actor type and respective weight.

Table 2 .
Use case type and respective weight.

Table 3 .
Technical complexity factor and weight.

Table 4 .
Environmental complexity factor and weight.

Table 5 .
Percentage of deviation from actual estimated efforts for UCP, e-UCP and Re-UCP methods.

Table 6 .
MRE values for UCP, e-UCP and Re-UCP.