AventaLogo07

Object Oriented
Design

imagestrip0302

Object-oriented Design

Object-oriented Design (OOD) is the development a model of a software system in terms of the objects described in a specification. While it is possible to base an OOD on the specifications produced by traditional analysis, an intermediate step would be conversion into an OOA-based specification. It is therefore assumed (and highly desirable) that the specifications on which an OOD is to be based are produced by OOA techniques.

OOD builds on the products developed during Object-Oriented Analysis (OOA) by refining candidate objects into classes, defining message protocols for all objects, defining data structures and procedures, and mapping these into an object-oriented programming language (OOPL).

Several OOD methods (Booch, Shlaer-Mellor, Buhr, Rumbaugh) describe these operations on objects, although none is an accepted industry standard. Analysis and design are closer to each other in the object-oriented approach than in structured analysis and design.

For this reason, similar notations are often used during analysis and the early stages of design. However, OOD requires the specification of concepts non-existent in analysis, such as the types of the attributes of a class, or the logic of its methods.

Design can be thought of in two phases. The first, called high-level design, deals with the decomposition of the system into large, complex objects.

The second phase is called low-level design. In this phase, attributes and methods are specified at the level of individual objects.

This is also where a project can realise most of the reuse of object-oriented products, since it is possible to guide the design so that lower-level objects correspond exactly to those in existing object libraries or to develop objects with reuse potential. As in OOA, the OOD artifacts are represented using CASE tools with object-oriented terminology.

See also Object-oriented Programming.

This feature together with the discussions on OOSD/OOA/OOP are available as an Acrobat pdf for download.

[Carnegie Mellon, Software Engineering Institute]

 


Copyright Aventa Automation 2005
If you have difficulty viewing this page with your browser please E-mail support@aventa.com.au