1. Introduction
One of the key factors for improving quality, productivity and consequently reducing costs in software development is the adoption of software reuse – the process of creating software systems from existing software rather than building them from scratch [1]. Several research activities have been done describing techniques, methods and processes in software reuse area [2] and different efforts have been made to apply the concepts of this area in practice with successful results [3], including big companies such as Hewlett-Packard and Bosch.