TechWhirl (TECHWR-L) is a resource for technical writing and technical communications professionals of all experience levels and in all industries to share their experiences and acquire information.
For two decades, technical communicators have turned to TechWhirl to ask and answer questions about the always-changing world of technical communications, such as tools, skills, career paths, methodologies, and emerging industries. The TechWhirl Archives and magazine, created for, by and about technical writers, offer a wealth of knowledge to everyone with an interest in any aspect of technical communications.
Objects of Desire
A Primer on Object Oriented Technology
By: Mark S. Merkow, CCP
=09These days it=B9s nearly impossible to pick up any technology-rela=
ted=20
book or journal and miss seeing extensive coverage of Object-Oriented=
=20
Technology (OOT). We=B9ve become inundated with ads and articles for=
=20
products claiming to be object-this or object-that, when, in reality,=
=20
Object-Orientation is meaningful only when it=B9s used in the context=
of=20
software development techniques.
=09It would be a real tragedy if the hype surrounding Object-Orientat=
ion=20
relegates it to just-another 90=B9s buzzword or technology du-jour, w=
hen=20
in fact, it=B9s the most promising software development approach to c=
ome=20
around in 20 years. =20
=09The value and appeal of Object-Orientation rests in its ability to=
=20
model a system and in its reusability. However, mysteries present=
=20
barriers to acceptance by both seasoned computing professionals and=
=20
non-technical business managers and users. =20
Object-Orientation represents a radical departure from traditional=
=20
software development techniques. Traditional software development=
=20
techniques create a representation of the functions within a process.=
=20
Development occurs in phases =AD from analysis through design to=20
implementation, and separate sets of tools are needed for each phase.
Using Object-Orientation, a designer creates a library of objects=
=20
consisting of the behaviors (what an object does) and associated=20
attributes (what an object knows). These objects may be used over and=
=20
over without changes, and a common set of notation and tools can be=
=20
used throughout all phases of development.
Once the bulk of business systems are implemented using=20
Object-Oriented approaches, the process of software development=20
becomes a matter of reassembling components into new structures that=
=20
provide new services that can, in turn, be reused later.
=09Using traditional approaches to systems development, this feat cou=
ld=20
never be accomplished. Data may be accessed by any function that need=
s=20
it, so all functions must know precisely how the data is organized an=
d=20
how to navigate through it. If data structures change, each and ever=
y=20
function that acts upon that data must be modified accordingly.
=09Under an Object-Oriented approach, shared public data areas are=
=20
eliminated. Objects communicate through message passing mechanisms=
=20
rather than sharing common variables. =20
An object is a package of all of the functions necessary to maintain=
=20
data, along with an interface to handle messages from other objects.=
=20
How an object performs its functions is irrelevant to other objects.=
=20
If, In fact, the method of performing a function changes, no other=
=20
object will even realize that it changed since the interface remains=
=20
consistent. In this way, changes that would otherwise affect many=
=20
parts of a traditionally developed system are localized into a single=
=20
point when Object-Oriented techniques are used.
Object-Oriented Modeling
=09The Object-Oriented approach uses the same organizational model th=
at=20
humans naturally use to manage complexity. This model consists of =
=20
three methods of thinking:
=09=80 Differentiation of experience into particular objects and thei=
r=20
attributes. For example, when people distinguish between a tree and=
=20
its size or proximity to other objects;
=09=80 Distinction between whole parts and component parts. For =
=09=09 =20
example, contrasting a tree with its branches, leaves, and buds;
=09=80 Formation of and distinction between classes of objects.For =
=09=09 =20
example, distinguishing a class of trees from a class of rocks.
Because Object-Oriented technology mimics human language and thought=
=20
processes, it removes the burden of technical jargon. A non-technica=
l=20
person could look at an Object-Oriented model and immediately see=
=20
what=B9s happening. The trick is to view how a process operates base=
d=20
upon the viewpoints of the affected components, rather than by=20
defining what functions are necessary to create an artificial=20
representation of what occurs within the system.
Management Implications of Object-Oriented Approaches
=09Because an Object-Oriented approach presents a radical shift from=
=20
traditional methods, several management concerns are raised. =20
Traditional development efforts progress through each phase (analysis=
,=20
design, coding, testing, etc.) without reverting back to previously=
=20
completed phases. This model, however, does not work well with=20
Object-Oriented techniques. Management should relax rigorous=20
scheduling demands in favor of a reiterative development approach to=
=20
fully realize the potential of reusability.
=09New roles in developer teams must also be created. An Object Ment=
or=20
is needed to ensure consistent use of the methodology and to help=
=20
developers work through problems. There=B9s also a need for a Class=
=20
Librarian who is able to determine which previously built components=
=20
are suitable for reuse, as well as to maintain object integrity.
=09Perhaps the key element in adopting an Object-Oriented approach is=
=20
allowing employees adequate time and resources to learn the=20
techniques, as well as encouraging them to try new ways without=20
threatening their positions or their futures.
Trends in Object-Orientation
=09Computer industry forces are legitimizing and proliferating=20
Object-Oriented techniques. IBM recently announced a framework for=
=20
using Object-Oriented technology within the entire line of IBM=20
systems, from mainframes to microcomputers. Next Corporation=B9s=
=20
NEXTStep, Microsoft Corporation=B9s Cairo version of Windows, and=
=20
Taligent Corporation=B9s PINK operating system are beginning to show =
up=20
in more and more computers and provide rich sets of tools to develop=
=20
new applications through reusable class libraries of common system=
=20
components. Integrated developer tools are also showing up regularly=
,=20
along with promises of reducing development effort by orders of=20
magnitude. As the Object-Oriented Data Base Management Systems=20
(OODBMS) market continues to mature and industry-wide standards are=
=20
developed, the rapid proliferation of new applications is certain to=
=20
follow.
=09Object-orientation is becoming the norm in software development, a=
nd=20
managers and professionals in America=B9s corporations need a basic=
=20
understanding of it. As Hugo once said, =B3There=B9s one thing stron=
ger=20
than all the armies in the world, and that is an idea whose time has=
=20
come.=B2
Copyright 1994
Mark S. Merkow, CCP
Printed in October 1994
The Computer Journal
Cheryl Cooper, Editor