Pentti Virtanen - the abstract of the thesis for PhD

Virtanen, Pentti

Measuring and Improving Component-Based Software Development

ISBN: 952-12-1137-7

TUCS dissertation number: 45

Abstract

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.