Software Reuse: Architecture, Process and Organization for Business Success

I Jacobson, M Griss, P Jonsson
Addison Wesley Longman, May 1997

For the cover, publishers summary, and sample chapters, see

Addison Wesley Longman summary of book

The book takes as its premise:

Systematic software reuse is the most effective way to significantly improve software development. Many organizations adopt object technology expecting significant reuse. Without an explicit reuse architecture and process, they will not succeed. Companies succeeding with reuse find that architecture, process, organization, culture, management and other non-technical factors are usually more critical than technology. This book describes HP's and Ericsson's software reuse practice and adoption experience, and a new systematic approach to component-based software engineering based on object-oriented business and system modeling. We discuss layered, modular, component-based architectures, and the systematic processes for defining and using these to achieve significant reuse.

We have built on the Unified Modeling Language (UML) and Ivar's OO Software Engineering methods to develop an appropriate reuse-oriented architecture. Various techniques, including patterns, OO frameworks, layering etc. can be used in conjunction with business engineering, domain engineering and system modeling to develop a robust system architecture that supports high-levels of reuse. Standard architectures and standard interoperability mechanisms go a long way towards effective product line reuse.

We use Ivar's OO Business Engineering model the reuse-oriented software processes and organization, and to effect a staged transition to a Reuse-driven Sofwtare Engineering Business as an incremental Business Process Reengineering. Organization guidelines, economic models, and metrics play a key role.


Table of contents
PART I - Introducing The Reuse Driven Software Engineering Business
Software Reuse Success Factors
Reuse-Driven Software Engineering Is A Business
PART II - Architectural Style
Object-Oriented Software Engineering
Application And Component Systems
Use Case Components
Layered Architecture
PART II - Processes
Object-Oriented Business Engineering
Business Model Of The Reuse Business
Application Family Engineering
Component System Engineering
Application System Engineering
PART IV - Organizing A Reuse Business
Transition To A Reuse Business
Managing A Reuse Business
A: Glossary
B: Annotated bibliography
C: UML and RSEB symbols used in this book
D: References