Object-Oriented Design

The text uses the Booch (1991) methodology to illustrate object-oriented design. The result of object-oriented analysis is translated into time-event diagrams, Booch diagrams, message communications, service objects, and process diagrams. Collectively, they constitute a set of holistic specifications to effectively allocate functionality over program modules at the lowest level and multiprocessor configurations at the highest level.

The Booch notation has been unified with other object-oriented notations (Rumbaugh and Jacobsen) into Unified Modeling Language (UML). In Unit 10, we will look at another example of object-oriented analysis and design using the UML notation. Therefore, you may skim this chapter to gain familiarity with OOD, which you will apply in Unit 10.

Automated Support Tools for Object-Oriented Design

There are a vast number of object-oriented CASE tools that have all come on the market in the last few years. Some are more complete in life cycle coverage than others. Some environments, such as 001 Tool Suite, cover most of a development life cycle, in this case, from analysis through code generation. Some tools, such as ObjectView, are more object-based than object-oriented. Some, like Software Through Pictures, try to shield the user from code altogether by sophisticated graphics that generate objects for that environment. Their existence attests to the object revolution that is beginning to be felt in business organizations.

TABLE 12-9 Automated Support Tools for Object-Oriented Design

Product  Company Technique
001 Tool Suite  Hamilton Technologies, Inc.  Full life cycle multiuser OOA, OOD, and code generation tool for C or Ada 
Actor  Symantec Cupertino, CA  OOD environment for client/server applications. Links to C and SQL databases. 
Aide-De-Camp  Software Maintenance and Development Systems Concord, MA  Configuration management software with support for OO languages.
BOCS  Berard Software Engineering, Inc.  Berard object and class specification 
C/Spot/Run  Procase, Corp. Santa Clara, CA  Interactive, GUI environment for C language development on Sun, HP, and Apollo hardware 
Design/1XO, Design/IDEF, Design/OA  Meta Software Corp. Data and behavior modeling expressed in 00 C-language tool 
DSEE, HP /Softbench  Apollo/Hew lett -Packard Palo Alto, CA  Integrated CASE Product Supporting 00 Analysis 
Excelerator  Index Tech. Cambridge, MA  State-transition diagram Matrix graph (RTS) 
IPSYS OONRD Tool Suite  IPSYS Software  Shlaer-Mellor OOA and Recursive Design 
Object View  Knowledge Ware Atlanta, GA  Application prototyping software using 4GL or SQL code
Object Vision  Borland International Scotts Valley, CA  Visual application development system 
ObjectMaker  Mark V Systems  Full life cycle structured analysis using Ward-Mellor extensions tool with code generation for Ada, C, and C++ 
OMTool, OMT/SQL  GE Advanced Concepts Center  OOA and OOD with schema compilation compatible with Oracle, Ingres, and Sybase
ProMod  Promod, Inc. Lake Forest, CA Control flow diagram
State-transition diagram
Module networks
Function networks
Smalltalk/V  Digitalk Los Angeles, CA  32-bit Smalltalk for OS/2 hardware 
Software Backplane Cohesion  Atherton Technology!Digital Equipment Corporation Maynard, MA  Integrated CASE Product Supporting OO Analysis
Software Thru Pictures  Interactive Dev. Env. San Francisco, CA  Control flow State-transition diagram
Teamwork  CADRE Tech. Inc. Providence, RI  DFD Control flow State-transition diagram Process activation table 
Telon  Pansophic Systems, Inc. Lisle, IL  State-transition diagram Code generation 
Treed4C, Tree4Fortran, Tree4Pascal, TreeSoftl  1 Software Engineering Camarillo, CA  Program code reengineering products for Sun hardware 
Visible Analyst Visible Systems Corp. Newton, MA  State-transition diagram
vs Designer  Visual Software Inc. Santa Clara, CA  Booch diagram