Research Article
Multivariate Interpolation Model to Estimate the Effort Component of Software Projects
Department of Computer Engineering, Dagus University-Kadikoy-Acibadem, Istanbul, Turkey
Estimation of resources, cost and schedule for a software development effort requires experience, access to good historical information and the courage to commit to quantitative measures when qualitative data are all that exist (Pressman, 1992).
The importance of software cost estimation is well documented. Good estimation techniques serve as a basis for commnnication between software personnel and non-software personnel such as managers, sales people or even customers (Knafe, 1995).
As estimation model for computer software uses empirically derived formulas to predict data that are a required part of the software project planning step (Pressman, 1992).
Resource models consist of one or more empirically derived equations that predict effort (in person-months), project duration (in chronological months), or the other pertinent project data.
Basili (1980) described four classes of resources models:
• | Static single-variable models |
• | Static multi-variable models |
• | Dynamic multi-variable models |
• | Theoretical models |
The static singlevariable model takes the form:
where the resources could be effort, project duration, staff size or requisite lines of software documentation. The constants c1and c2 are derived from data collected from past projects. The basic version of the Constructive Cost Model or COCOMO is an example of a static single variable model.
Static multivariable model has the following form:
where e1 is the ith software characteristics and c21 c22 are empirically derived constants for the ith characteristics (Pressmarm, 1992)
A dynamic multivariate model projects resource requirements as a fnnction of time.
A theoretical approach to dynamic multivariable modeling hypothesizes a continuous resource expenditure curve and from it, derives equations that model the behavior of the resource. The Putnam Estimation Model is a theoretical dynamic multi-variable model. Some new models are proposed for software cost estimation. One of them is Peters and Ramanna Model based on an application of the Choquet integral (Peters and Rarnmana, 1996)
This is a form of multi-criteria decision-making where the numeric value computed by the Choquet integral is an expression of the degree of preference of one technology over another in developing a software system.
Neural Networks are another tool to develop software cost estimation models. Idri et al. (2002) proposed a new model for this. They have used the full purpose COCOMO 81 dataset to train and to test the network. The obtained accuracy of the network was acceptable.
SOFTWARE COST MODEL THAT IS USED IN TillS WORK
The following software cost model is used in present study:
Where E is effort, DL is Developed Lines and ME is methodology used in the software project. f is a nonlinear function in terms of DL and ME.
Multivariate interpolation method was used to find the interpolated values of DL and ME using a data set that contains E, DL and ME values obtained from past projects. This data set is taken from (Shin and Goel, 2000).
TWO DIMENSIONAL INTERPOLATION
The two dimensional function table is an array of functional values on a rectangular grid, (DLi, MEj) as shown in Fig. 1.
Double lagrange interpolation is to apply the lagrange interpolation method twice in two dimensions (Nakamura, 2002). Therefore, the interpolation uses all the data points in the table. Suppose the function table has M columns and N rows. The coordinates of the points are denoted by (DLM, MEN) and the functional values by fm,n Then, double Lagrange interpolation is given by
Where and are shape functions given by
Fig. 1: | Rectangular grid |
Recognize that (DL) (ME) is a two dimensional shape function that becomes zero at all the data points except at (DLm, MEn).
SIMULATION RESULTS
Applying the two variables (DL and ME) model mentioned above, the effort model surface as a function ofDL and :ME was obtained as shown Fig. 2.
In Fig. 3, the contours of the E = f(DL, ME) surface are shown.
From these figures, we can note that the effort values are increasing as DL increases. Also, there is a slight decrease in estimated effort with increasing values of methodology. Both of these trends are similar to the results of Shin and Goels who obtained the same figuers using radial basis function networks.
Fig. 2: | Surface of effort = f(DL, ME) |
Fig. 3: | Contours of surface of effort = f(DL, ME) |
The present results are not exactly same as results of Shin and Goels but similarities can be seen.
CONCLUSIONS AND FUTURE WORK
In this study, I have developed a two variables interpolation model for modeling empirical data in software engineering applications. If the required data is given, then model obtains the E = f (DL, :ME) surface and computes the values of this surface in the desireds points.
In future work, a GUI will be developed for the two variables interpolation model.