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.

Object-Oriented Design Activities

Develop Package Specifications and Prototype

Guidelines for Package Specifications and Prototyping 

At this point in the design, the functions to be performed are translated into package specifications for translation into program code. A package is an encapsulated definition that contains both data and process specifications that define an execute unit. The data might be defined in the form of a class, class/object, or object, with specific attributes and identification. There may be one or more processes in a package; they result in individual module specifications and are independently executed under the control of service objects. 

Packages have both public and private parts which are specified. The public package part identifies the data and processes to the application without any indication of how they are physically implemented. The private package part defines the physical implementation. If there are polymorphic definitions of a function, each version of the function is defined separately, and the control mechanism for interpreting the message and activating the appropriate function is defined. Service objects should be used for this interpretation and activation if at all possible. 

The steps to package specification are: 

1. Review the diagram/list set. 

2. Redraw a subset of Booch diagrams, one per processor in the process diagram, to depict objects and processes by processor. 

3. Document packages. 

4. Design physical database if not already designed. 

5. Develop pseudocode specifications for all processes and messaging handling routines.

ABC Video package specifications are not created for this step as it is beyond the scope of this text.