An objective methodology for early software size estimation

Mahesh Kumar Rathi, Purdue University

Abstract

Proper management of software projects requires an objective assessment of the resources required to complete these projects within budget and on time. Since software cost has now become a predominant determinant of system cost, models for software cost/effort estimation are becoming more widely used. Most of these effort estimation models include project size as one of the most important parameters. Thus, methods for the early estimation of software size are becoming increasingly important. There has recently been a surge of activity to develop methodologies for arriving at a software size estimate. Using current estimation techniques, early size estimation is of comparable difficulty to early effort estimation. In this thesis, an early size estimation approach based on a count of unique variables, which are identifiable before or during the software design stage, is presented. This approach is derived from the assumption that software can be constructed in a structured way such that most data structures can be developed (and hence unique variables identified) before or during the software design stage. To support our research in early size estimation, we have collected data on many projects which have recently been completed. We have developed several models based on the count of unique variables. Our early size estimation models have performed quite well on the data bases available to us. We have analyzed over 2,500 programs written in COBOL, FORTRAN, and C. The size estimates produced by our models, at the program specification stage, are within 25% of the actual values for over 90% of the programs. We have also shown in this thesis that the time at which an estimate becomes available is of critical importance. There is a compromise between timeliness and accuracy. We show that software size can be estimated, with reasonable accuracy, at the specification and design stages. The specification and design stages provide the best compromise between timeliness and accuracy. Estimating size at the requirement stage would be too early (i.e., useful but not accurate) and estimating it at the coding stage would be too late (i.e., accurate but not useful). Our research was conducted both in a university setting, where small, one-person software development projects are the norm, and in an industrial setting, where we analyzed some large multi-person software development projects. This research has shown that the unique variables can be counted at the specification and design stages and that they can help significantly in early software size and effort estimation.

Degree

Ph.D.

Advisors

Conte, Purdue University.

Subject Area

Computer science

Off-Campus Purdue Users:
To access this dissertation, please log in to our
proxy server
.

Share

COinS