Automating reuse support in a small company
Software engineering has been facing a crisis for several years now - there is more demand for new software than there is ability to supply. Software reuse is a potential way to tackle the problems caused by the software crisis with its promises of increased productivity and cheaper development costs. Several software reuse successes have been reported, but these have been predominantly in large, well structured companies. However, there are numerous smaller companies that could also benefit from reuse if it were made available to them. This thesis addresses these issues by implementing a reuse programme in a small company. An incremental approach to reuse introduction is adopted, following the Seven Steps to Success, and 'lightweight' processes are recommended to support the reuse programme. A prototype tool set, ReThree- C++, was developed to automate support for the reuse programme. The results of the case study are presented. The reuse programme was successful, with benefits to the company including both increased speed of production and financial gains from selling reusable components. The challenges faced are also identified. Details of the tool set giving automated support for reuse are also presented. The tool set is an approach to reuse repository control which also integrates information abstraction from C++ source code to generate class hierarchy charts and software documentation automatically. It helps developers store, retrieve, understand and use reusable components. The usefulness of the tool set is shown with an experiment and as part of the case study. The purpose of the thesis is to show that small companies can implement reuse, and that the method presented supports the introduction of a reuse programme. It concludes that although challenges were faced, great benefits can be gained by using the method with automated support for reuse in a small company.