Reusability In Software Development Effort Estimation Accounting Essay

Published:

ABSTRACT

Software development effort estimation is the process of predicting the realistic effort required to develop and maintain projects based on incomplete and uncertain input. Effort estimation techniques are proved that they are unreliable, inaccurate and unpredictable. Accurate and reliable effort estimation is a challenging task in software engineering. Effort estimates may be used as input to project management plans, project budget estimates, better resource planning and scheduling, investment analysis, pricing and bidding processes. The important point in effort estimation is to predict the reliable resources for project needs. The two major problems in software development effort estimations are 1) High effort estimation 2) Low effort estimation. The low effort estimation may leads to problems such as poor project management, deliveries postponement, budget overruns and poor software quality. The too high effort estimation may leads to lost business opportunities and failing to make efficient use of resources. However, still the effort estimation is not matured or standardized for reliable estimation.

Lady using a tablet
Lady using a tablet

Professional

Essay Writers

Lady Using Tablet

Get your grade
or your money back

using our Essay Writing Service!

Essay Writing Service

This research work focuses on the reusability in software development effort estimation. Generally, software reuse play major role in developing quality software and increase productivity. Lots of tools and technologies support software reusability in the recent years. Software reuse saves the software effort and improves productivity. This work proposed a new effort estimation model called COREANN (COCOMO Reusability in Effort estimation based on ANN model). COREANN modify COCOMO II Reusability metric and utilize Artificial Neural Network (ANN) with enhanced RPROP for accurate effort estimation and final effort is optimized with the heuristic optimization algorithm such as Simulated Annealing (SA) algorithm.

As the software development process supports more reusability in terms of code, analysis, design, testing and documentation, but these are not reflected in most of the effort estimation models. This leads to inaccuracies in effort estimation. COCOMO II is one of the mostly used software effort estimation model in software industry. The reusability in COCOMO II yields better results but it is unreliable and inaccurate. Another difficulty in COCOMO II is to find the values of size parameters. To overcome these problems, this research focused on two components of COCOMO II model. First, instead of using RUSE cost driver, three new reuse cost drivers are introduced such as Reuse Veryhigh Level Language (RVLL), Required Integrator for Product Reuse (RIPR), Reuse Application Generator (RAPG). Second, three cost drivers such as PEXE, AEXE, LTEX are combined into single cost driver Personnel Experience (PLEX) in order to reduce the project cost. This modified COCOMO II effort estimation is accurate and reliable. Finally, this accuracy level is more improved with the help of ANN and optimization techniques.

ANN is the machine learning technique which is used to improve the performance of network that fits on COCOMO II. Usually, ANN Resilient BackPropagation (RPROP) is well suited for all categorizes of projects. So the proposed model is implemented using ANN with Enhanced RPROP algorithm. The proposed model provides better accuracy for effort estimation and reduces error level. The proposed model is trained with one of the heuristic optimization algorithm such as Simulated Annealing algorithm. Finally, the performance is evaluated using the proposed model for the set of software projects. The evaluation criteria are applied for the comparison of proposed model performance with the existing COCOMO II model. Evaluation criteria are Magnitude of Relative Error (MRE), Mean Magnitude of Relative Error (MMRE) and PRED(p) for evaluation of software cost estimation. The results show that the use of proposed COREANN model effort estimation is reliable, accuracy and predictable.

LIST OF ABBREVIATIONS

S.NO

TERM

ABBREVIATION

1

AA

Assessment and Assimilation

2

AAF

Adaption Adjustment Factor

3

AAM

Adaption Adjustment Modifier

4

ACAP

Analyst Capability

5

AEXE

Application Experience

6

AM

Algorithmic Models

7

ANN

Artificial Neural Network

8

AT

Percentage of code Automatically Generated

9

BP

Back Propogation

10

CBD

Component-Based Development

11

COTS

Commercial-Off-The-Shelf

12

CM

Code Modification

13

COCOMO

COnstructive COst MOdel

14

COREANN

COcomo Reusability in Effort estimation based on ANN model

15

CPLX

Lady using a tablet
Lady using a tablet

Comprehensive

Writing Services

Lady Using Tablet

Plagiarism-free
Always on Time

Marked to Standard

Order Now

Product Complexity

16

DM

Design Modification

17

EAF

Effort Adjustment Factor

18

EJ

Expert Judgment

19

EM

Effort Multipliers

20

FLEX

Development Flexibility

21

GQM

Goal/Question/Metric

22

IM

Integration Modification

23

KSLOC

Thousands of Source Lines of Code

24

LTEX

Language and Tool Experience

25

ML

Machine Language

26

MMRE

Mean Magnitude of Relative Error

27

MRE

Magnitude of Relative Error

28

NOP

New Object Points

29

PCAP

Programmer Capability

30

PCON

Personnel Continuity

31

PEXE

Platform Experience

32

PLEX

Personnel Experience

33

PM

Person Months

34

PMAT

Process Maturity

35

PREC

Precedentedness

36

PRED

Percentage of Prediction

37

PROD

Productivity Rate

38

PVOL

Platform Volatility

39

RAPG

Reuse Application Generator

40

RCPX

Product Reliability and Complexity

41

RELY

Required Software Reliability

42

RESL

Architecture/Risk Resolution

43

REVL

Requirements volatility

44

RIPR

Requeried Integrator for Product Reuse

45

RPROP

Resilient Back Propagation

46

RUSE

Required Reuse

47

RVLL

Reuse Veryhigh Level Languauge

48

SA

Simulated Annealing

49

SCED

Schedule

50

SF

Scale Factors

51

SLIM

Software Lifecycle Model

52

STOR

Storage Constraint

53

SU

Software Understandability

54

UNFM

Unfamiliarity of programmer with the code

LIST OF TABLES

S.NO

TABLE NAME

PAGE NO

1

Table 1 - COREANN Cost Drivers

2

Table 2 - Comparison of Effort Estimation

3

Table 3 - Comparison of Effort Estimation Results in MRE

LIST OF FIGURES

S.NO

FIGURE NAME

PAGE NO

1

Figure 1 - Basic model of ANN

2

Figure 2 - Comparison of Effort Estimation

3

Figure 3 - Comparison of Effort Estimation Results in MRE

INDEX

CHAPTER - I

INTRODUCTION

OBJECTIVES

PROBLEM STATEMENT

CONTRIBUTIONS

ORGANIZATION OF THESIS

CHAPTER - II

LITERATURE REVIEW

2.1 EXPERT JUDGMENT

2.2 ALGORITHMIC MODELS

2.2.1 COCOMO MODEL

2.2.1.1 COCOMO II MODEL

2.2.2 SLIM MODEL

2.3 MACHINE LEARNING

2.3.1 ARTIFICIAL NEURAL NETWORK

2.3.1.1 BASIC MODEL OF ANN

2.4 OPTIMIZATION TECHNIQUE

CHAPTER - III

3.1 PROPOSED MODEL - COREANN

3.1.1 INTRODUCTION OF NEW METRICS

3.1.2 METRICS DEFINITION METHODOLOGY

3.1.3 THEORETICAL AND EMPRICAL VALIDATIONS

3.1.4 IMPLEMENTING ANN MODEL

3.1.4.1 ENHANCED RPROP

3.1.5 OPTIMIZATION BY SIMULATED ANNEALING

3.1.6 IMPACT OF REUSABLITY ON COREANN EFFORT ESTIMATION

CHAPTER - IV

4.1 EXPERIMENTAL RESULTS

4.2 PERFORMANCE AND EVALUATION CRITERIA

CHAPTER - V

5.1 CONCLUSION AND FUTURE WORK

CHAPTER - I

1.1 INTRODUCTION

Software effort estimation is one of the most critical and complex task in software engineering, but it is an inevitable activity in the software development processes. Over the last three decades, a growing trend has been observed in using variety of software effort estimation models in diversified software development processes. Along with this tremendous growth, it is also realized that the essentiality of all these models in estimating the software development costs and preparing the schedules more quickly and easily in the anticipated environments. Although a great amount of research time and money have been invested to improving accuracy of the various estimation models. Due to the inherent uncertainty in software development projects such as complex and dynamic interaction factors, change of requirements, intrinsic software complexity, pressure on standardization and lack of software data, it is unrealistic to expect very accurate effort estimation of software development processes[1]. Many software projects were failed because of exceeding their original estimates. A Recent surveys on effort estimation reports stated that 60-80 percent of software projects encounter effort overruns. Effort overruns usually lead to cost overruns and missed schedule. This would cause lack of productivity or loss of business [2]. The most significant goal in software development effort estimation is to exactly predict the amount of required resources before the commencement of the project. Many estimation models are used to prove accuracy but none of them have able to prove that it was accuracy in all cases of software applications. [3]

Lady using a tablet
Lady using a tablet

This Essay is

a Student's Work

Lady Using Tablet

This essay has been submitted by a student. This is not an example of the work written by our professional essay writers.

Examples of our work

Software reuse has been given great importance in software development for decades. Software reuse is the systematic practice of developing software from the similarities in requirements, architecture and domain between applications that can be exploited to achieve substantial benefits in productivity, quality and business performance. Software reuse has benefits such as reduced effort, improved productivity, decreased time-to-market and decreased cost. There are different forms of reusable assets: software design, component libraries, COTS (Commercial-Off-The-Shelf) components, modules in a domain-specific framework, software architectures and their components forming a product family, project and test documents. Component-Based Development (CBD) provides techniques for the decomposition of a system into independent parts conforming to a component model, thereafter composition of systems from pre-built components. CBD advocates the acquisition and integration of reusable components. Components are more coarse-grained than objects, which may be an advantage in retrieving and assembly, and they conform to a component model, which facilitates composition. Several tools and technologies are developed for software reuse and CBD. The impact of these technologies on software quality, schedule or cost is very high. This research work addresses the significance of reusability in effort estimation and formulates new metrics for reusability to determine the reliable and accurate effort estimates.

1.2 OBJECTIVES

The aim of the proposed model is to improve the accuracy and predictable of software effort using reusability in software development.

To analyze the accuracy and predictability of reusability in COCOMO II and check the validity of reuse cost drivers for better performance.

To develop new effort estimation model based on COCOMO II and ANN models for better accuracy.

To formulate and validate the new model COREANN by modifying COCOMO II cost drivers and ANN with enhanced RPROP algorithm.

To optimize the estimated effort using Simulated Annealing algorithm.

To analyze the effectiveness of the proposed model by validating the effort with COCOMO II and Magnitude of Relative Error (MRE), Mean Magnitude of Relative Error (MMRE) and PRED(p) for evaluation of software cost estimation.

1.3 PROBLEM STATEMENT

Reusability in software development effort estimation is possible only the COCOMO model effort estimation. Reusability in COCOMO II concedes the better execution but it also treacherous. Finally, to get the effort in COCOMO II are unreliable and unpredictable. In COCOMO II based on ANN model is reduced an errors in effort but it also not render accurate effort estimation. So overcome these problems to introduce some reuse cost drivers in COCOMO II based on ANN model with enhanced RPROP. And to estimate the optimal parameters for software effort using simulated annealing algorithm. This new proposed model is called a COREANN .

1.4 CONTRIBUTIONS

To overcome these existing system problems to follow two ways in proposed COCOMO model. First, instead of RUSE cost driver to introduce three new reuse cost drivers such as Reuse Veryhigh Level Language (RVLL), Required Integrator for Product Reuse (RIPR), Reuse Application Generator (RAPG). These cost drivers are increased reusability in software effort and to reduce the cost in software development. Using this proposed model COREANN, to evaluate the software effort accurate and reliable. But to improve this accuracy and to reduce an errors in effort with the help of Artificial Neural Networks (ANN) technique. Finally, to estimate the optimum solution of the proposed model using Simulated Annealing algorithm.

1.5 ORGANIZATION OF THESIS

The rest of the paper contains as follows : Chapter II presents the Literature Review of the research work. In this chapter a brief description of various methods for cost & effort estimation categories and optimization technique. Chapter III describes the architecture of the proposed model with enhanced RPROP and SA algorithm. Chapter IV presents the experimental results for COREANN and COCOMO II. Finally, Chapter V concludes the research work and yields the conclusion & future work

CHAPTER - II

LITERATURE REVIEW

2.1 EXPERT JUDGMENT (EJ)

2.2 ALGORITHMIC MODELS (AM)

2.3 MACHINE LEARNING (ML)

2.4 OPTIMIZATION TECHNIQUE

At an early stage in a project's life cycle permit the development organizations and project managers are manage the resources effectively. In last 30 years, various methods for cost and effort estimation have been proposed in three categories:

Expert Judgment (EJ)

Algorithmic Models (AM)

Machine Learning (ML)

In earlier period, some researchers found that using more than one technique can reduce risk of reliability and improve the accuracy and predictions. Further, using more than one method may avoid the loss of useful information that other methods can provide. [4][5]

So, using a combination of method seems to be a solution for providing more trustable decisions in software effort estimation. According to some survey a combination of individual methods has rarely been used to estimate software effort. However it has been implemented successfully in other scientific fields. [3][6][7]

2.1 EXPERT JUDGMENT (EJ)

In algorithmic models, Expert judgment is an effective estimating tool on its own or as an adjusting factor. The means of deriving an estimate are not denotative by applying EJ. Therefore difficult to repeat [4].

2.2 ALGORITHMIC MODELS (AM)

Algorithmic models are used to maintain the relationship between effort and one/more project characteristics. The main "cost driver" used in such a model is usually some notion of size. AM need calibration or to be adjusted to local circumstances. Examples of AM are the COCOMO and the SLIM models [4].

2.2.1 COCOMO MODEL

COCOMO was originally published in 1981 (COCOMO 81), and became one of most popular parametric cost estimation models of the 1980s [8]. It is combining two type of methods such as parametric estimation equation and weighting method. Based on the estimated instructions, the effort is calculated by the attempted quality and the productivity factors. COCOMO is based on the traditional topdown programming and focus on the number of instructions. It is constituted of three levels [4]:

1)Basic COCOMO:

By means of parametric estimation equations, the estimate effort and duration are calculated on the basis of the estimated DSI. The breakdown to phases is realized in percentages. In this connection it is differentiated according to system types such as organic-batch, semidetached-on-line, embedded-real-time and project sizes[4]. The basic COCOMO model computes effort as function of program size, and it is same as single variable method [9].

Effort =a*sizeb

Where a and b are the set of values depending on the complexity of software. For the organic type of projects a=2.4, b=1.05, semi-detached type of projects a=3.0, b=1.12, Embedded type of projects a=3.6, b=1.2 [9].

2)Intermediate COCOMO:

The estimation equations are now taking into consideration 15 influence factors; these are product attributes, computer attributes, personnel attributes and project attributes. The degree of influence is categorized as very low, low, normal, high, very high, extra high[4]. An intermediate COCOMO model effort is calculated using a function of program size and set of cost drivers or effort multipliers [9].

Effort = (a*sizeb)*EAF

where a and b are the set of values depending on the complexity of software and EAF (Effort Adjustment Factor) which is calculated using 15 cost drivers. Each cost driver is rated from ordinal scale ranging from low to high. For the organic type of projects a=3.2, b=1.05, semi-detached type of projects a=3.0, b=1.12, Embedded type of projects a=2.8, b=1.2 [9].

3)Detailed COCOMO:

In this detailed COCOMO the breakdown to phases is not recognized in percentages but by means of influence factors allocated to the phases. Also, it's separated according to the three levels of the product hierarchy. product-related influence factors are now taken into the matching estimation equations [4]. In detailed COCOMO the effort is calculated as function of program size and a set of cost drivers given according to each phase of software life cycle. The phases used in detailed COCOMO are requirements planning and product design, detailed design, code and unit test, and integration testing [9].

Effort = (a*sizeb)*EAF*sum(Wi).

The life cycle activities like requirement planning, system design, detailed design, code and unit testing, integration and testing. In all above three models the factors a and b are depend on the development mode [9].

2.2.1.1 COCOMO II MODEL

COCOMO II was published initially in the annals of software engineering in 1995 with three sub models; an application-composition model, an early design model and a post-architecture model. COCOMO II has, as an input, a set of seventeen Effort Multipliers (EM) or cost drivers which are used to adjust the nominal effort (PM) to reflect the software product being developed [8].

1) The Application Composition Model

It uses object points for sizing rather than the size of the code. The initial size measure is determined by counting the number of screens, reports and the third generation components that will be used in application [9].

Effort = NOP/PROD

Where NOP (New Object Points) = (object points)*(100-%reuse)/100, PROD (Productivity Rate)=NOP/PersonMonths[9].

2) The Early Design Model

It uses to evaluate alternative software system architectures where unadjusted function point is used for sizing [9].

Effort = a*KLOC*EAF

Where a is set to 2.45, EAF is calculated as in original COCOMO model using seven cost drivers (RCPX, RUSE, PDIF, PERS, PREX, FCIL, SCED). RUSE: Reuse is consider as one factor, but it is a major factor for effort estimation [9].

3) The Post Architecture Model

It is used throughout the maintenance and actual development of a product. The post architecture model lets in a set of 5 scale factors and 17 cost drivers [9].

Effort=(a*sizeb )*EAF

Where a=2.55 and b is calculated as b=1.01+0.01*SUM(wi), wi= sum of weighted factors [9].

2.2.2 SLIM MODEL

Larry Putnam of Quantitative Software Management developed The Software Lifecycle Model (SLIM) in 1970's.[9] SLIM is based on the concept of Norden-Rayleigh curve which represents manpower as a function of time. The software equation for SLIM is defined as follows:[9]

S= E * (Effort)1/3 * td4/3

Where td is the software delivery time, E is the environment factor that reflects the development capability, which can be derived from historical data using the software equation[9]. The size S is in LOC and the Effort is in person-year. Another important relation is[9]

Effort = D0 * td3

Where D0 is a parameter called manpower build-up which ranges from 8 (entirely new software with many interfaces) to 27 (rebuilt software)[9]. Combining the above equation with the software equation, we obtain the power function form:[9]

Effort = (D04/7*E-9/7)*S9/7 and

td =(D0 -1/7*E-3/7)*S3/7

SLIM is widely used in practice for large projects (more than 70 KDLOC) and SLIM is a software tool based on this model for cost estimation and manpower scheduling[9].

2.3 MACHINE LEARNING (ML)

Machine learning techniques have been used as a substitute to EJ and AM. Examples include fuzzy logic models, regression trees, neural networks, and case based reasoning. [4]

2.3.1 ARTIFICIAL NEURAL NETWORK

ANN's are usually formed from many hundreds or thousands of simple processing units, connected in parallel and feeding forward in several layers. In a biological neural network, the memory is believed to be stored in the strength of interconnections between the layers of neurons. Using neural network terminology, the strength or influence of an interconnection is known as its weight. ANN borrows from this theory and utilizes variable interconnections weights between layers of simulated neurons [10].

ANN's were proposed early in 1960's, but they received little attention until mid 80's. Prior to that time, it was not generally possible to train networks having more than two layers. These early two layers networks were usually limited to expressing linear relationships between binary input and output characters. Unfortunately, the real world is analog and doesn't lend itself to a simple binary model. The real break through in ANN research came with the discovery of the back propagation method [10].

Because of fast and inexpensive personal computers availability, the interest in ANN's has blossomed. The basic motive of the development of the neural network was to make the computers to do the things, which a human being cannot do. Therefore, ANN is an attempt to simulate a human brain. Hence, the ANN architecture can be easily compared with the human brain [10].

2.3.1.1 BASIC MODEL OF ANN

Serious efforts to create a model of a neuron have been underway during the last 100 years, and remarkable progress has been made. Neural connections are significantly fewer and similar than the connections in the brains. The basic model of ANN is as shown in Figure. This is the combination of perceptron as discussed earlier which forms the Artificial Neural Network which is actually practiced [10].

Figure 1 - Basic model of ANN

Input Layer Hidden Layer Output Layer

An idea consists in the use of a model that maps COCOMO model to a neural network with minimal number of layers and nodes to increase the performance of the network. The neural network that we have used to predict the software development effort is the single layer feed forward neural network with the identity function at both the input and output units. Two different learning algorithms back propagation and RPROP are used to train the network to find the best learning algorithm. BP is used only for small size of projects. But RPROP is used for all kind of projects. To use COCOMO dataset to train and to test the network and it was observed that the neural network model with RPROP provided significantly better cost estimations than the estimation done using COCOMO model [11][12][13][14].

2.4 OPTIMIZATION TECHNIQUE

Simulated annealing (SA) is a random-search technique for determine the optimum solution in software project; In 1983 SA was developed for dealing with highly nonlinear problems. An important characteristic of the SA algorithm is that it does not require specialist knowledge about how to solve a particular problem. This makes the algorithm generic in the sense that it can be used in a variety of optimization problems without change the basic structure of the computation. There are two important criteria for SA: Selection of Neighbor and Cooling schemes. Accuracy and optimization of SA depends on these two criteria. In Neighboring Solution, collection of all the optimal and non-optimal solutions is called Solution Space. During annealing process, algorithm randomly selects any solution from these Solution space.[15]

Evolutionary algorithms, simulated annealing and tabu search are widely used heuristic algorithms for combinatorial optimization. The term evolutionary algorithm is used to refer to any probabilistic algorithm whose design is inspired by evolutionary mechanisms found in biological species [16][17].

One of the best heuristic algorithms is simulated annealing (SA) algorithm. SA feats an analogy between the path in which a metal cools and freezes into a minimum energy crystalline structure and the search for a minimum in a more general system. In the optimization process, the solution randomly walks in its neighborhood with a probability determined by Metropolis principle while the system temperature decreases slowly; when the annealing temperature is closing zero, the solution stays at the global best solution in a high probability [16][18].

In software projects, Simulated Annealing algorithm can be used to estimate the optimal parameters of the effort components. The upper and lower bounds of the search space should be considerately given by designer or be cited from other reference papers, if possible. Generally speaking, if a larger search space is built, it would be more time of computations and convergence of search may become very slow. Conversely, if the search space is set too small, the optimal parameters probably could not been found [16].

CHAPTER - III

3.1 PROPOSED MODEL - COREANN

The aim of this research is to develop the proposed COCOMO II based on ANN model using reusability to predict the effort more accurately and reliability. In COCOMO II, to find the values of size parameters are difficult. But proposed model COREANN is providing the best result for estimating size using instead of RUSE cost driver, to introduce three new reuse cost drivers..

The proposed model COREANN Effort Estimation formula is given below,

.

------------------ 1

[ Non - Linear Equation ]

Where,

------------------ 2

In proposed model COREANN, Scale Factors are same as the COCOMO II model scale factors such as PREC, FLEX, RESL, TEAM, PMAT.

------------------ 3

------------------ 4

-------5

Where,

PM = Person Month

EMi = Effort Multipliers (Cost Drivers)

SFj = Scale Factors.

REVL = Requirements volatility

KSLOC= Thousands of Source Lines of Code

AT = Percentage of code Automatically Generated.

AAM = Adaption Adjustment Modifier

AA = Assessment and Assimilation

AAF = Adaption Adjustment Factor

SU = Software Understandability

UNFM = Unfamiliarity of programmer with the code

IM = Integration Modification

Table 1 - COREANN Cost Drivers

Product reliability and complexity

RELY, DATA, CPLX, DOCU

Required reuse

RVLL, RIPR, RAPG

Platform difficulty

TIME, STOR, PVOL

Personnel capability

ACAP, PCAP, PCON

Personnel experience

PLEX

Facilities

TOOL, SITE

Required Development Schedule

SCED

To combine the three cost drivers such as PEXE, AEXE, LTEX into single cost driver Personnel Experience (PLEX) for reducing software cost.

3.1.1 INTRODUCTION OF NEW METRICS

Instead of RUSE metric, to introduce three new reuse metrics are ,

RVLL(Reuse Very high Level Language)

RIPR(Required Integrator for Product Reuse)

RAPG(Reuse Application Generator)

3.1.2 METRICS DEFINITION METHODOLOGY

These new cost drivers are defined under GQM Methodology. GQM means Goal/Question/Metric. Goal is defined as every metric must have a valuable goal. Question is defined as every goal must be answered by given questions and the questions are clearly addressed by the goal. Metric is defined as the perfect answer for the given questions. It part of the given goal [19].

GOAL OF THIS PROPOSED MODEL:

Object: Product, Resource.

Purpose: Prediction, improve

Focus: Effort

Viewpoint: Project Manager

Environment: 20 Projects Datasets

QUESTIONS:

Q:1) How the integration of product would reduce both cost and effort of the project?

Q:2) Is the integration giving accurate result?

Q:3) Is reusability needed?

Q:4) How the reusability in effort estimation increase accuracy and productivity?

Q:5) Is reuse of high level language increase accuracy in effort estimation?

Q:6) How the staff skills can be used to reduce cost?

Q:7) How errors affecting projects?

Q:8) What is the impact of interface in effort estimation accuracy?

METRICS:

For Q:1, Q:2.

The integration of existing product would improve productivity and give high quality of software products.

For Q:3, Q:4, Q:5.

By the reference of 20 projects re-use of high-level languages reduce personnel costs, reduce user frustrations, and more quickly satisfy user information needs within their domain of applicability. Overall these offer an extremely attractive option for significantly improving software productivity.

For Q:6.

The overall software development skills and abilities which our team as a whole on average brings to the product integration task as well as experience with the specific application, platform, language and tool.

For Q:7, Q:8.

Application generator addressed several system-oriented component-compatibility issues such as component interface conventions, data structuring and program controlled and error- handling conventions. So, Reusable of application generator can reduce errors and control programs in order to improve the productivity of software products.

These answers are very useful to define three new reuse metrics properly.

3.1.3 THEORETICAL AND EMPIRICAL VALIDATIONS

These new cost drivers are properly validated with the help of Theoretical (Internal) validation and Empirical (External) validation[20].The important of theoretical validation is to measure the asses of metric intensions using with DISTANCE framework and the empirical validation is gathering the information about the metrics using survey method By using 20 Projects datasets form company dataset, to validate the EAF of proposed model. By adjusting the value of cost drivers, will yield better result than past projects. Thus the proposed model validated by empirical validation.[21][22].

3.1.4 IMPLEMENTING ANN MODEL

COCOMO II effort estimation equation 1 should be transform non linear model to linear model by applying natural logarithm on both sides, after that implementing to ANN model with Enhanced RPROP.

In(PM) = In(A) + 0.91 * In(SIZE) + SF1 * 0.01 * In(SIZE) + ………. + SF5 * 0.01 * In(SIZE) + In(EM1) + In(EM2) + ……… + In(EM17) --------------- 6

[ Linear Equation ]

OPest =WT0 + WT1 * IP1 + WT2 * IP2 + …+ WT6 * IP6 + WT7 * IP7 +…+ WT23 * IP23

----------------------- 7

[ ANN Based Model For Effort Estimation]

Where

OPest = In(PM)

IP1 = 0.91 * In(SIZE)

IP2 = SF1 * In(SIZE),………., IP6 = SF5 * In(SIZE)

IP7 = In(EM1),………,IP23 = In(EM17)

WT0 = In(A)

WT1 = 1,…………., WT23 = 1

IP1 to IP23 => Inputs

OPest => Output

WT0 => Bias

WT1 …… WT23 => Weights (Initial Value is 1)

Actual observed effort is compared with this estimated effort. The difference between these values are the error in the effort. It should be minimized.

3.1.4.1 ENHANCED RPROP ALGORITHM

In begininig of the algorithm, declared the initial values of the enhanced RPROP algorithm parameters perfectly.

3.1.5 OPTIMIZATION BY SIMULATED ANNEALING

In proposed model COREANN, Simulated Annealing Algorithm is used to estimate the optimal parameters of the software development effort. The given solution method is helped to get optimal values of effort:

Where,

EffortM = Measured Value of Effort,

EffortC = Computed Value of Effort according to the model used.

SIMULATED ANNEALING ALGORITHM

1. Let X := initial config

2. Let E := Eval(X)

3. Let i = random move from the

moveset

4. Let Ei := Eval(move(X,i))

5. If E < Ei then

X := move(X,i)

E := Ei

Else with some probability,

accept the move even though

things get worse:

X := move(X,i)

E := Ei

6. Goto 3 unless bored

The optimum solution for the proposed model using Simulated Annealing Algorithm will be shown in future report.

3.1.6 IMPACT OF REUSABILITY ON COREANN EFFORT ESTIMATION

This research work focuses on the reusability in software development effort estimation. Usually, software reuse play major role in developing quality software and increase productivity. Software reuse saves the software effort and improves productivity. In this proposed COREANN model, to change the COCOMO II reusability cost driver into three new reuse cost drivers and using black box reuse methodology. So no need to change the design and code of existing model. This software reusability concept preserves the effort estimation and improves effort accuracy level. Finally, cost of the software development is also diminishing with the help of this reusability on COREANN

CHAPTER - IV

4.1 EXPERIMENTAL RESULTS

The proposed COREANN model is trained with ANN using COCOMOII dataset for 20 projects and tested with the validation data. The estimated result is comparing with COCOMO II.

Table 2 - Comparison of Effort Estimation

Project

Unique Id

Actual Effort

Estimating Effort (PM) Using

COCOMO II

COREANN

1

205

117.6

212

2

211

117.6

189

3

40

31.2

34

4

24

36

27.3

5

43

25.2

49

6

15

8.4

5.2

7

9

10.8

15.2

8

36

25.2

43.9

9

277

352.8

261

10

95

72

108.5

11

67

72

121.3

12

39

24

27.4

13

255

360

276

14

77

36

85

15

288

215

292

16

345

360

322

17

398

360

417

18

299

324

319

19

102

60

92

20

76

48

63

Figure 2 - Effort Estimation Comparison

-50

0

50

100

150

200

250

300

350

400

450

Project Unique ID

PM

Actual Effort

COCOMO II

COREANN

Actual Effort

205

211

40

24

43

15

9

36

277

95

67

39

255

77

288

345

398

299

102

76

COCOMO II

117.6

117.6

31.2

36

25.2

8.4

10.8

25.2

352.8

72

72

24

360

36

215

360

360

324

60

48

COREANN

212

189

34

27.3

49

5.2

15.2

43.9

261

108.5

121.3

27.4

276

85

292

322

417

319

92

63

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

4.2 PERFORMANCE AND EVALUATION CRITERIA

There are 20 projects will be used from company database for testing those dataset applying in proposed COREANN model. The following evaluation criterion is used to assess and compare the performance of the proposed model with existing Cocomo II Model.

A common criterion for the evaluation of cost estimation model is the magnitude of relative error (MRE), and mean magnitude of relative error (MMRE). MRE is defined as [11]

And Mean Magnitude of Relative Error (MMRE) for N projects is defined as [11]

Next to calculate the PRED (p) value. If lower MRE & MMRE and higher PRED(25), the software estimation model effort are more accuracy and predictable than other models [11] [23][24].

where K is the number of projects where MRE is less than or equal to p ( normally p value is 25%).[25]

Table 3 - Comparison of Effort Estimation Results In MRE

Project

Unique Id

MRE Using

COCOMO II

COREANN

1

42.63

3.41

2

44.27

10.43

3

22

15

4

50

13.75

5

41.39

13.95

6

44

65.33

7

20

68.89

8

30

21.94

9

27.36

5.78

10

24.21

14.21

11

7.46

81.04

12

38.46

29.74

13

41.18

8.235

14

53.25

10.39

15

25.35

1.39

16

4.35

6.67

17

9.55

4.77

18

8.361

6.69

19

41.18

9.80

20

36.84

17.11

MMRECOCOMO = 30.592 PRED(25)COCOMO = 35.00

MMRECOREANN = 20.426 PRED(25)COREANN = 80.00

0

10

20

30

40

50

60

70

80

90

MRE

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

Project Unique ID

Figure 3 - MRE Comparison

COCOMO II

COREANN

While comparing results of COCOMO II and COREANN, it is clearly shown that the proposed model COREANN works better than COCOMO II. That is, the COREANN model is estimated lower MRE & MMRE and higher PRED(25) than the COCOMO II model. So the prediction accuracy of COREANN is high.

CHAPTER - V

5.1 CONCLUSION AND FUTURE WORK

Now a days, almost no model can estimate the software effort with more accuracy and predictable. In this research work, proved the software effort estimation of COREANN are more accuracy,predictable and reliable.Because reusability methodology is used in the COREANN model. That is, instead of RUSE costdriver, to introduce three new reuse cost drivers in proposed model. Normally, COREANN is based on ANN model with Simulated Annealing optimization technique. So an errors of effort estimation are reduced using ANN model. It's also useful for forecasting effort in all kind (small and large size) of projects. Finally, to determine the optimum solution for proposed model using simulated annealing technique.

By using evaluation criteria, To compare the performance of COREANN with the COCOMO II effort. In performance and evaluation criteria section, to show the values of MRE, MMRE and PRED(25) for COREANN & COCOMO II. Based on these computation, clearly to prove the performance of COREANN effort estimation is much better than COCOMO II. Because MRE & MMRE values of COREANN is lower than COCOMO II and PRED(25) value of COREANN is higher than COCOMO II. In future, to compare the proposed model with all other contributing effort estimation models and to prove the proposed model estimation will much better than all other estimations.