Introduction

One trend in reuse has been a shift in interest from library issues to issues involved in the acquisition of reusable assets. I recently surveyed engineers and managers from some of the SPC member companies about which reuse issues they felt were most crucial to their companies. The results showed that factors related to the creation of reusable assets–design, domain analysis, and re-engineering–were perceived to be most important[2].

Based on this information, and my perception of problems in the reuse area, I am beginning a project to identify and test principles for the design of reusable components. The approach is to identify and organize such principles–the more abstract being applicable to more objects. The scope of the study will be all lifecycle objects. The study is based on the assumptions that (1) reuse design principles exist for many different languages and environments, (2) that commonalities exist between the principles in those environments, and (3) that more general principles can be abstracted from these lower level common principles.