Object Oriented Design and Development
- Software development, object oriented design, prototyping,
quality assurance, software tools.
- Release 0.2, 10 December 1998
- Author: Kurt Fedra
- Oskarsson, Ö, and Glass, R.L. (1996)
- An ISO 9000 Approach to Building Quality Software.
274 pp., Prentice Hall, NJ, USA, ISBN 0-13-228925-3.
- Rumbaugh,et al., (1991)
- Object Oriented Modelling and Design.
Prentice Hall, NJ, USA. ISBN 0-13-629841-9.
- Booch, G. (1991)
- Object Oriented Design with Applications.
Benjamin/Cummings, California, USA. ISBN 0-8053-0091-0.
- Shlaer, S, and Mellor, S. (1988)
- Object oriented systems analysis.
Modelling the world in data. Yourdon Press, NJ, USA. ISBN 0-13-622940-7
Object Oriented Design Methodology
Object oriented design and development is based on models organized around
real-world concepts. The fundamental construct is the Object, which
combined both data structure and behaviour in a single entity.
Definition and language use varies. Rumbaugh (1989) refers to
classification as objects with the same data structures (attributes) and
behaviour (operations) grouped into a class. Shlaer-Mellor (1990) uses the
term object to be the abstraction of like things, and refers to individual
objects as instances. However, OOD can conveniently be described as including,
or using, the following concepts:
denotes the essential characteristics of an object that
distinguishes it from all other kinds of objects.
is the process of hiding all the details of an object that do not contribute
to it's characteristics.
is the property of a system that can be decomposed into a set of strongly
cohesive and loosely coupled modules.
is the ranking or ordering of abstractions. Two kinds of hierarchical
relationships are important here:
Aggregation i.e., is part of ... and
Inheritance i.e., is a kind of ....
is the enforcement of the class of an object such that objects of different
types may not be interchanged.
is the property that distinguishes an active object which has its own thread
of control from an inactive one, which does not.
is the property of an object through which it's existence transcends time
(i.e., the object continues to exist after its creator ceases to exist) and/or
space (the object's location moves from the one in which it was created).
While we will primarily use Rumbaugh OMT to guide the development
methodology, we will adopt the terminology of Shlaer-Mellor for Objects,
classes, and instances.
The choice of approach is based on the main characteristics of ECOSIM, which
include research orientation and a high degree of innovation, a heterogeneous
and distributed development team, approximate user specifications from a
diverse user group, and the pre-competitive nature of the product.
The main characteristics of the Rumbaugh OMT approach include:
stresses readability and expressive power
informal and flexible, based on recommendations
focus on adding additional detail to OO analysis models to achieve OO
relies on coding for implementation
assumes OO design and implementation
ecourages iteration and prototyping during OOA
common notation for OO analysis and OO design
does not require simulation of (life cycle) models
combines top-down and bottom up approach with most-difficult-first
(middle-out approach of rapid prototyping)
well proven for commercial, event driven (OO/C++) software products
appropriate for interactive (event driven) GUI software
support for common analysis design and implementation notation and language
implementation though coding (prototyping) cycles
more informal, middle-out life cycle.