Introduction: Software Reuse and Software Engineering, Concepts and Terms, Software Reuse products, Software Reuse processes, Software Reuse paradigms.

State of the Art and the Practice: Software Reuse Management, Software Reuse Techniques, Aspects of Software Reuse: Organizational Aspects, Technical Aspects and Economic Aspects.

Organizational Aspects: Software Reuse organizations, support services, Institutionalizing Reuse.


Domain Engineering: Building reusable assets, Domain Analysis: Domain scoping, Domain versus Application requirements, Anatomy of a domain component, Domain Analysis methods and tools.


Programming Paradigm and Reusability: Usability Attributes, Representation and Modeling Paradigms, Abstraction and Composition in development paradigm.

Object-Oriented Domain Engineering: Abstraction and Parameterization Techniques in Object Orientation, Composition Techniques in Object Orientation.

Application Engineering: Component Storage and Retrieval, Reusable Asset Integration.
Software Reuse Technologies: Component Based Software Engineering, COTS based development, Software Reuse Metrics, Tools for Reusability, Software Reuse Cost Estimation, Software Reuse Return on Investment.


Recommended Books

  1. Reuse Based Software Engineering Techniques, Organization and Control by Hafedh Mili, Ali Mili, Sherif Yacoub and Edward Addy, John Wiley (2002).
  2. The Three Rs of Software Automation: Re-engineering, Repository, Reusability by Carma McClure, Prentice Hall (1992).
  3. McClure, Carma L. Software reuse techniques: adding reuse to the system development process /: Prentice Hall (1997).
  4. Poulin, Jeffrey S. Measuring software reuse: principles, practices, and economic models / Jeffrey S. Poulin. Reading, Mass.: Addison-Wesley (1996).