Framework-Based Software Development in C++, 1st edition

  • Gregory F. Rogers

Unfortunately, this item is not available in your country.



Class frameworks are the software commodities of the future—Learn a methodology today to develop them for tomorrow!

The growth of standards in the software industry is enabling designers to more effectively use the Object Paradigm to create reusable solutions for common business problems. These designers, however, must use a radically different development methodology—the methodology you'll learn from this book.

First you'll come to understand what class frameworks are and the software standards—STL, CORBA, and ODMG-93—on which they are built. Then you'll discover how to develop requirements for a framework by performing domain analysis.

Next you'll learn how to develop a framework with:

  • A design standard consisting of a pattern catalog.
  • Framework design metrics for quality assurance.
  • Procedures for pattern selection, documentation, and testing.
  • Guidelines for the role of management in the development process.

Two case studies illustrate the methodology being applied to the development of a horizontal and a vertical framework. When you've mastered the concepts in Framework-Based Software Development in C++, you'll be prepared to develop a repository of reusable software that is based on open standards and off-the-shelf products. This will make your software organization far more competitive. If you are a software entrepreneur, it could also make you far more profitable.

Table of contents



1. Overview of Methodology.

What Is a Framework? What Are the Benefits of Using Frameworks? What Is the Difference Between a Horizontal and Vertical Framework? What Is Framework-Based Software Development? What Is the Object Infrastructure?

2. The Standard Template Library (STL).

Getting Started with STL. The Design of STL. Using the string Class. Using STL Container Classes. Adding Your Own Generic Algorithms.

3. Common Object Request Broker Architecture (CORBA).

High-Level Overview. The Marriage Between the WWW and CORBA. Using an ORB-An Informal Description. Using an ORB-The Detailed Steps. CORBA and Frameworks. The Impact of CORBA on Modeling Notation. An Example: Event Notification. Common Object Services.

4. ODMG-93: An Object Database Standard.

High-Level Overview. The Role of Object Databases in Frameworks. The Impact of Object Databases on Modeling Notation. Using an ODMG-Compliant Object Database with C++. Example Application Using CORBA and ODMG-93: Security Alarm Reporting.


5. Domain Analysis.

Steps in Domain Analysis. An Example Domain Analysis for “Mail Order”.

6. Framework Design Standard.

Introduction to Design Patterns. Catalog of Design Patterns. Design Rules.

7. Framework Design Metrics.

Inheritance Depth Metric. Inheritance Width Metric. Size Metrics. Framework Reusefulness Metric.

8. Framework Development Procedures.

Designing a Framework. Implementing a Framework. Testing a Framework. Preparing User Documentation.

9. Framework Development Strategies.

Creating a Framework Industry. Reengineering the Development Organization. Putting Together an Application Development Team. Putting Together an Infrastructure Group. Evaluating an Off-the-Shelf Framework. The Economics of In-house Framework Development. Setting Up the Ideal Development Environment. The Project Plan for Developing a Framework. Red Flags.


10. A Horizontal Framework for Workflow.

Facet Analysis: Workflow. Design of the Workflow Framework. Implementation of the Workflow Framework.

11. A Framework for Monitoring Financial Risk.

Domain Analysis: Financial Risk Monitoring. Design of the Risk Monitoring Framework.

APPENDIX A: STL Lint Program.

APPENDIX B: Notation.



Published by Pearson (January 31st 1997) - Copyright © 1997