Software Reuse Techniques: Adding Reuse to the System Development Process

List of Figures. List of Tables. Preface. Software Waste. Reusable Components. Reuse Benefits. Reuse Obstacles. Purpose of This Book. Structure of This Book. I. INTRODUCTION TO REUSE. 1. Reuse: A Different Software Paradigm. Reuse Object-Technology Partnership. Reuse Experiences. Deferring to the Second System. Bigger Is Better. Making an Investment in Reuse. Reuse Is No Accident. Informal Reuse. Reuse as a Discipline. Reuse Starting from Business Processes. Reuse-Driven Software Development Process. Reuse-Driven Software Development Process. The Price of Reuse. Class-Library Management. A Few Good Megaclasses. Taking Small Bites with Domain-Level Reuse. Reorganizing for Reuse. How to Succeed with Reuse. References. 2. Reuse in Context. Reuse-Driven Methods Are the Missing Key. How Reuse Changes the Software Process. Reuse Themes. Reuse Requirements. Reuse Views. Evolutionary, Not Revolutionary Change. Where Reuse Fits into the Software Process. Extending Strategic Systems Planning to Include Reuse. Extending the System Life Cycle to Include Reuse. First Be a Reuse Consumer. Consumer Reuse Mini Life Cycle. Reuse-Driven Project Reviews. Reuse Project Plan. Final Reuse Evaluation. Introducing Producer Reuse into the System Life Cycle. Domain Engineering. Placement of Domain Engineering in the Software Process. Observations about a Reuse-Driven Software Process. Summary. References. 3. Introduction to Reuse Techniques. Adding Reuse Techniques to Software Methods. Management Techniques. Corporate-Level Reuse Management Techniques. Project-Level Reuse Management Techniques. Consumer Reuse Techniques. Producer Reuse Techniques. Reuse Technique Presentation. II. REUSE TECHNIQUES. 4. Reuse Readiness Assessment. Overview. Purpose. Rationale. Critical Issues. Recommended Tools. Example. Example of the Executive Summary of a Reuse Assessment Report for the Company INVESTCO. Procedure. References. 5. Corporate Reuse Plan Creation. Overview. Purpose. Rationale. Critical Issues. Recommended Tools. Example. Initial Reuse Program Implementation Plan for the Company INVESTCO. Procedure References. 6. Organizing for Reuse. Overview. Purpose. Rationale. Critical Issues. Example. Telecommunications Company Begins Its Reuse Mission. Reuse Support Group. Start Small. Procedure. References. 7. Promoting Reuse. Overview. References. Purpose. Rationale. Critical Issues. Recommended Tools. Example. Midwest Insurance Company Aligns Reuse Strategy with Corporate Culture. Management Affirmation. Getting Reuse Acceptance. Reuse Assessment Survey. Procedure. References. 8. Project Reuse Plan Creation. Overview. Purpose. Rationale. Critical Issues. Recommended Tools. Procedure. Reference. 9. Reuse Cost/Benefit Analysis. Overview. Purpose. Rationale. Critical Issues. Recommended Tools. Example. A Financial Institution Begins Its Reuse Evolution. Reducing the Risk of Reuse Failure. Measuring Reuse Costs and Benefits. Procedure. References. 10. Project Reuse Evaluation. Overview. Purpose. Rationale. Critical Issues. Recommended Tools. Procedure. Reference. 11. Reuse Cost/Benefit Tracking. Overview. Purpose. Rationale. Critical Issues. Recommended Tools. Procedure. References. III. REUSE TECHNIQUES, CONSUMER TECHNIQUES. 12. Application Package Selection. Overview. Purpose. Rationale. Critical Issues. Recommended Tools. Example. Software License Contract. General Software Clauses. Software Specific Clauses. Procedure. References. 13. Selecting Reusable Components. Overview. Purpose. Rationale. Critical Issues. Recommended Tools. Procedure. References. 14. Redundancy Checking. Overview. Purpose. Rationale. Critical Issues. Recommended Tools. Example. Flow Graphs. Complexity Metrics. McCabe Metrics. Halstead Metrics. Procedure. References. 15. Identifying Candidate Reusable Components. Overview. Purpose. Rationale. Critical Issues. Recommended Tools. Example. UPS Strategy for Selecting Components to Create for Reuse. DST Systems-Strategy for Selecting Components to Create for Reuse. Insurance Group-Strategy for Selecting Components to Create for Reuse. Lucent Technologies-Strategy for Selecting Components to Create for Reuse. Procedure. References. IV. REUSE TECHNIQUES, PRODUCER REUSE TECHNIQUES. 16. Building a Reuse Library. Overview. Purpose. Rationale. Critical Issues. Recommended Tools. Example. Example of a Faceted Classification Scheme Based on Information Engineering. Example of a Faceted Classification Scheme for Object Oriented Development. Application Area. Procedure. References. 17. Configuration Management. Overview. Purpose. Rationale. Critical Issues. Example. Procedure. 18. Creating a Reusable Component. Overview. Purpose. Rationale. Critical Issues. Example. Procedure. References. 19. Domain Analysis. Overview. Purpose. Rationale. Critical Issues. Recommended Tools. Example. Domain Analysis Information Engineering Style. Steps of Domain Analysis. Business Area Analysis with Elements of Domain Analysis. Steps of Reuse-Driven Business Area Analysis. Procedure. References. Epilogue. The Good News and the Bad News. Answering the Basic Reuse Question. Glossary. Glossary of Terms. Index.