Pentti Virtanen - the abstract of the thesis for PhD
TUCS dissertation number: 45Abstract
Component Reuse Metrics (CRM) is a new approach to estimating the effort of component-based software development. A product structure describes a software system which is made of reused components. The history data of projects is stored in a repository. The average effort of the components is used to calculate the baseline effort of the forthcoming project. The characteristics of the project and human effects are assessed and used to correct the baseline effort in the CRM-calculations. The effect of the changes in the project takes into account differences between the planned product and the final product. The process effect includes the impact of process changes between the new project and the projects in the repository. The team effect estimates the effort which the team members spend in their mutual communication. The expectation value of additional effort due to project risks is calculated in the risk effect. The human effects are the skill effect and the motivation effect. CRM equations calculate the efforts of tasks in the project to be estimated. The assessment of the estimation method and current practices was done using a survey and by case studies in companies that tested CRM. CRM is closely related to the second main contribution in this thesis, namely new approaches to improving productivity in software development. The criteria for reusability are understandability, ease to find, adaptability and trustworthiness. The strategy for reusability is to combine components that are based on generic abstractions. Separate generalization-specialization-structures to both functions and traditional objects are used to improve adaptability. An analogy from natural languages, a new concept, verb classes, is introduced. An example is included to demonstrate the feasibility of this approach.