Software Effort and Cost Estimation is a very important activity that includes very uncertain elements. In the context of object-oriented software, traditional methods and metrics were extended to help managing this activity. Use Case Points (UCP) is a very well known metrics used for estimation of object-oriented systems. Use case models are used in Object-Oriented Analysis for capturing and describing the Functional-Requirements of a system. Several methods for estimating software development effort are based on attributes of a use case model. In this paper, we propose a mathematical model based on vectors to measure reusability of software design in terms of reusability of the use cases. Increasing reusability of the use case model would lead to decrease in development effort. Using the vector model, we propose an approach to measure Complexity Reduction Factor (CRF) which measures percentage decrease in effort and hence in cost with increasing reusability. This quantitative analysis of effort reduction with increased reusability would enable us in designing reusable and cost effective software much earlier in software development life cycle, right at the requirement engineering phase. We have used requirements of an Insurance system as a case study to illustrate our approach.
Read full abstract