Professional Documents
Culture Documents
Monarchi y Puhr, 1992
Monarchi y Puhr, 1992
D a v i d E. M o n a r c h i and Gret(:hen I. O u h r
T h e authors assume the reader roots, the different OO approaches proaches. They also suggest a "syn-
has a basic understanding o f object- are not particularly well inte- ergistic" methodology which blends
oriented concepts and the object grated." In short, there are volumes function- and object-oriented tech-
paradigm in general. (Excellent dis- o f information on OOAD, but niques during specific phases of
cussions and definitions of the ob- there is a lack o f mechanisms or development. These different
ject paradigm are contained in the frameworks for synthesizing or methodologies provide a useful
first section [5] and in [29].) We use evaluating the work that has been classification, which may assist re-
"class" to mean a collection o f done. This article addresses that searchers and practitioners in eval-
things with common attributes and/ void. uating the various OO methodolo-
or behavior; "instance" to mean a Mrdalj [20] recognizes a "need gies and techniques. However, this
realization of a class (one of the for collection, classification and classification only considers one
things in a class), and "object" to evaluation of the available material" aspect of OO methodologies, the
mean either a class or an instance and his bibliography is a collection degree to which (and the manner in
(as in Smalltalk). o f 83 references which, taken to- which) function- and object-
There is a great deal of current gether, represent much of the re- oriented approaches are incorpo-
literature on object-oriented (OO) search on object-oriented systems rated.
systems development. But there is, development. He does not, how- This article develops a frame-
as yet, little consensus or standardi- ever, provide a classification or work for evaluating and comparing
zation among these new develop- evaluation of the research identi- current object-oriented analysis
ment techniques. At one extreme fied. Ladden [16] discusses several and design (OOAD) research. The
are "pure" thoroughbred OO de- factors to consider in developing an framework will serve as a basis for
velopment techniques, encompass- object-based methodology and assimilating various pieces of re-
ing OO analysis, design and/or specifies an object-based design search into a cohesive and complete
implementation [11]. They involve process. These factors are not O O A D methodology. The objec-
new notations and approaches that meant to be a complete listing o f tives of this article are: 1) to identify
are different from more traditional the essential ingredients in OO sys- critical components in a "complete
function- or data-oriented model- tems development; they are simply and cohesive" O O A D methodol-
ing techniques. At the other ex- desirable characteristics o f an object ogy; 2) to evaluate current O O A D
treme are approaches that are methodology. Ladden does not in- approaches and representations
termed "object-oriented," but vestigate to what extent existing based on these components; and 3)
which seem to be little more than research addresses his factors or to identify strong and weak areas in
new words applied to old concepts. complies with his design process. O O A D research.
In between are various analysis and Henderson-Sellers and Constantine
design techniques, many overlap- [11] outline several systems devel- Research Review
ping in scope and/or conflicting in opment methodologies and strate- The existing research can be di-
approach. Notations that blend ob- gies which incorporate object- vided into three broad categories:
ject-orientation with process, data orientation to varying degrees. 1) processes only; 2) representa-
and other modeling techniques They mention the OO thorough- tions only; and 3) processes and
may be poorly integrated and bal- bred approach, as well as two hy- representations. The first category,
anced with each other. As Iivari brid methodologies, which combine processes, refers to procedural
[13] notes, "Despite their common function- and object-oriented ap- methods for performing object-
BackgrOund Problem
Various systems development Domain
methodologies have evolved, corre- Representation
sponding to different systems life
cycles, such as the traditional water-
design
fall model [23] and the fountain Solution Domain
model [12]. Despite individual dif- Representation
ferences in the models and their
variations, they all have compo-
nents corresponding to analysis,
design, and implementation. In this
article, we do not specifically ad-
dress implementation or physical
design; we will focus on analysis
and logical design for object-
oriented systems.
Analysis involves problem defini- F i g u r e 1. The relationship between analysis and design
tion/modeling and design focuses reflected in the overlapping stages oper continues defining relation-
on solution specification/modeling in Henderson-Sellers and Edwards' ships, behavior and communica-
[7, 8, 30]. Systems design trans- fountain model [12]. tion, he or she finds new classes
forms the problem representation Some authors present only O O A and/or redefines existing classes.
into a solution representation. methods (e.g., [17, 26]). Most of Table 2 lists the steps or activities
Figure 1 depicts the relationship these analysis methods emphasize in OO analysis and/or design that
between analysis and design. T h e modeling the problem domain, or various authors have proposed.
problem and solution domain rep- "universe of discourse" [13]. They One common theme is that the
resentations are different and are concerned with abstracting rel- problem domain objects must
smaller than the real-world prob- evant objects form the problem somehow be identified, and their
lem. And the solution domain in- domain, defining the objects' struc- meaning defined. This process is a
cludes everything in the problem ture and behavior, and determin- part of all the O O A techniques re-
domain, plus any additional con- ing the objects' interrelationships. viewed and some of the OOD
structs required by the solution. For A goal of O O A is to model the se- methods as well. Beyond object
example, the user interface is typi- mantics of the problem, in terms of identification, though, there is little
cally part of the solution to a prob- distinct but related objects. agreement on what other functions
lem, rather than a part of the prob- Other authors focus on OOD are involved in OOAD.
lem itself. (e.g., [5, 19]) rather than OOA. Although there is no standardi-
Colter [8] and Pressman [23] de- They assume that relevant problem zation across existing OOAD meth-
scribe a n u m b e r of analysis and domain objects have been identi- ods, the definitions of analysis and
design methodology characteristics. fied. They model the details of each design can be used to distinguish
These characteristics can be sum- object's behavior and the interob- O O A from OOD. Analysis deals
marized, extended and applied to ject communications (messages) with the problem domain, and de-
the object arena. OOAD compo- necessary to meet system require- sign with the solution domain;
nents include: ments. O O D also involves reexam- OOA focuses on problem domain
(1) An OOA process: A general- ining the problem domain classes-- objects and O O D on solution do-
domain analysis technique (i.e., an refining, extending or reorganizing main objects. Figure 2 shows a clas-
analysis procedure, the "how to's"); t h e m - - t o improve reusability and sification of problem and solution
(2) An OOD process: A solution do- take advantage of inheritance. domain objects which are discussed
main modeling technique (includ- In general, the OO analyst may in the following paragraphs.
ing the specification of interface be more concerned with the struc- Problem-domain objects repre-
objects and other solution domain ture of objects and the OO designer sent things or concepts used in de-
objects discussed later in this sec- with the dynamic behavior of ob- scribing the problem (rather than
tion); jects. But even this is not necessarily the solution). We call them seman-
(3) OOAD representations: For struc- true. Coad and Yourdon [7] men- tic objects because they have mean-
ture, function and control at differ- tion state-transition diagrams and ing in the problem domain. For
ent levels of abstraction (the macro other dynamic representations as example, an order entry system
and micro layers are two key ab- part of OOA, whereas Booch [5] might have semantic classes such as
straction levels); and discusses dynamic views of the sys- Customer, Order, Item and Employee.
(4) An OOAD complexity abstraction tem in OOD. Rumbaugh et al. [24] T h e solution domain includes, but
and management mechanism: For par- use separate structural, dynamic is not limited to, the semantic ob-
titioning the problem and manag- and functional representations jects. During analysis, the focus is
ing the complexity of the system. during both analysis and design. on representing the problem, iden-
Kappers [15] notation, which is tifying abstractions that are mean-
OOA or OOD based on two dynamic models, state ingful given the system require-
Using these criteria to e v a h a t e cur- transition diagrams and predicate ments and specifications. During
rent OOAD techniques may be dif- transition nets, integrates static design, the emphasis is on defining
ficult because of the blurred dis- structure and dynamic behavior a solution. T h e semantic classes
tinction between analysis and into one design model. may be extended during analysis or
design in the object paradigm. T h e To further complicate the issue, design, as useful abstractions are
first two criteria indicate that prob- the analysis and design stages in discovered. In the order entry ex-
lem domain analysis is distinct and OO development are frequently ample, an abstract class Person may
separate from solution domain de- comingled. Many authors (e.g., be created as the superclass of Cus-
sign. It is, however, difficult to find [29]) espouse an iterative develop- tomer and Employee.
a clear distinction in the OOAD re- ment strategy in which objects Other kinds of solution-domain
search. In particular, it is difficult are identified and defined, and re- objects include: interface, applica-
to determine where O O A ends and lationships and communication tion, and base/utility objects. Inter-
OOD begins. This phenomena is patterns are specified. As the devel- face objects are associated with the
OOAD C o m p o n e n t s
Table 3 lists critical components in
OOAD. These components are
based on the combined Colter/
Pressman criteria with the exten-
sions and additions discussed in this
section. Many of these components
can be generalized to apply to any
Solution Domain methodology, but Table 3 presents
them as they apply to the object
paradigm.
There are static (structural) and
dynamic (control) considerations in
F i g u r e 2. Problem and solution do- objects. Base/utility objects are com- each of the four major areas de-
main objects ponents that are application-inde- fined in Table 3. For example,
pendent. The main characteristic of items (1)(a) and (1)(b) address
user interface. They are not di- base/utility objects is that they are structure, while item (1)(c) consid-
rectly a part of the problem do- application- and domain-indepen- ers control. Figure 3 depicts the
main; instead they represent the dent. Examples of base objects are structural aspects of Table 3 in
users' view(s) of the semantic ob- collections (strings, arrays, etc.) and more detail. In particular, Figure 3
jects. Application objects can be numbers; an example of a utility shows the relationship between the
thought of as the drivers or control object is the debugger window in identification and placement pro-
mechanisms for the system. They Smalhalk. cesses (items (1)(a) and (b)) as they
are objects that start the application In summary, the boundary be- apply to both problem- and solu-
and perhaps control the sequencing tween OOA and O d D is inconsist- tion-domain objects.
of high-level functions. In proce- ently defined in the literature. The processes in Figure 3 are the
dural languages, this corresponds Some processes used by one author same for both the problem space
to the main module. In d O devel- during OOA may be included in and the solution space, but they dif-
opment, the application class may another author's O d D technique. fer in the kinds of objects used. The
do nothing more than drive a menu In fact, most of the O d D processes problem space is defined during
or initiate message-passing to other are the same as (or are a superset OOA in terms of semantic objects
ered. It is interesting to note that object; it may be a new object which objects, as mentioned earlier, may
identifying attributes has not been simply has a window and a text edi- be viewed as the drivers of a partic-
addressed as often as behavior. A tor as components. This implies a ular application. Application ob-
reason for this is that an object can different kind of class structure. We jects are different from semantic
be viewed as an encapsulation of could not find any practical guide- classes; they are probably not
both structure and behavior which lines to determine where to place a things, concepts, roles, or devices
can be accessed only via its inter- new class in situations like this. which could be identified during
face. Therefore, some authors (e.g., problem-domain analysis. Applica-
[6, 29]) feel that it is not important Observations on OOD Processes tion objects are also different from
to specify attribute names, or any (refer to section [2] of Table 4) interface objects, which are essen-
object internals--the external spec- OOD involves the same processes tially views o f the semantic classes.
ification of the object (its interface) used during analysis, applied to dif- An application object is not a kind
is sufficient. ferent kinds of objects. O u r division of interface object, although it may
We agree that objects are encap- of objects into semantic, interface, use an interface object (e.g., a main
sulations of data and behavior and application, and base/utility is not a application window). Application
that they have an interface to other widely accepted division. There- objects are also different from base/
objects. At a conceptual level, how- fore, we might expect that few au- utility objects; they are not applica-
ever, the characteristics (attributes) thors have addressed these specific tion-independent. Application ob-
of an object are an important, inte- categories o f objects. Several au- jects are somewhat like function
gral aspect of that object's semantic thors, however, describe objects objects described by [25] in that
definition. For example, name and that fit our definition of base/utility they are best defined by what they
social security number seem natural, objects. Wirfs-Brock et al. [29], for do rather than what they are. Appli-
logical properties of an employee. example, describe component ob- cation objects may not have a state
They should be modeled as part of jects, black boxes that can be reused that persists over time; typically,
the employee object's structure. in many systems. Bulman [6] dis- they have only behavior. For these
While identifying classes, attri- cusses new abstract data types reasons, we consider application
butes and behavior has been fairly (ADTs) which may be identified classes separately from semantic,
thoroughly covered, placing them during design and added to the sys- interface, and base/utility classes.
has been largely neglected. Most tem library. He states that ADTs Another activity in OOD is refin-
research in placement has been may be discovered as designers see ing classes. This involves examining
done with respect to methods. T h e a need for a new kind of data struc- the class structure for opportunities
Law o f Demeter [18], for example, ture and that the original design to abstract c o m m o n behavior and
provides some valuable operational should be examined to see if objects attributes. It also involves making
rules for placing methods and re- can be added as reusable "compo- sure the classes are complete and
stricting the messages a method can nents." This is the only guideline correct in their design. Are there
send. Other O O A D research, how- we located for finding base/utility methods missing? Are the methods
ever, includes overly simplistic rules classes. and attributes in the proper place?
or rules based on mappings from User interfaces are a prevalent Considerable work has been
data-flow diagrams to behavior in and integral part of systems devel- done on refining classes, particu-
objects (e.g., [2] and [17]). Another opment today and should be a part larly with regard to finding better
problem is that placing methods in of any software analysis and design abstractions (classes), creating
the appropriate classes implies that methodology. Surprisingly, inter- deeper hierarchies, and refining or
the classes have already been placed face objects are rarely addressed adding methods. Bulman [6] points
correctly (again refer to the Law of unless the system being modeled is out that abstractions and better hi-
Demeter). T h e heuristics o f placing one in which the interface objects erarchies can be discovered as we
classes, however, are weak, itera- are part of the problem domain examine other classes, looking for
tive, and often nonoperational. (automated teller machines, for c o m m o n features and/or behavior.
Meyer [19] provides an example of example) Iivari [13] recognizes the He also suggests several questions
a window-oriented text editor, absence of interface objects in other to ask when deciding if a class's
which can be placed as a subclass of analysis methods and includes them behavior is adequate (complete).
a class window, a class text editor, or in his framework for identifying For example, are there other be-
both, or neither. Is a window- objects. A few other authors men- haviors that make sense for an ob-
oriented text editor a special kind tion that user interfaces are an ele- ject but which have not been in-
of window, or text editor, or both? ment o f systems, but they offer little cluded because they were not in the
I f it is any of these, a generalization in the way of identifying or model- requirements specification? Is there
structure is appropriate. On the ing interface objects. an inverse (undo) operation, or a
other hand, the new object may not Application objects are rarely complementary operation which is
be a specialization of an existing discussed in the literature. These an appropriate addition to an ob-
PROCESS AND
REPRESENTATION
1. OOA PROCESS
Problem Domain Analysis
(a) Identification of:
Semantic classes X X x x x X x x X x
Attributes X X x X
Behavior X X X X X X X X X
Relationships:
Generalization X X X X X X
Aggregation X X X
Other X X
(b) Placement of:
Classes X X
Attributes X
Behavior X X X X X X X X
(c) Specification of:
Dynamic behavior X X X
(i.e., message passing)
2. OOD PROCESS
Solution Domain Design
(a) Identification of:
Interface classes X X
Application classes
Base/utility classes X X X
(b) Optimization o f classes X X X X X
3. REPRESENTATIONS
(a) static View
Objects x x x X X x x X X X
Attributes X X X X X X X X
Behavior X X X X X X X X X X
Relationships:
Generalization X X X X x x X X x
Aggregation X X X X X
Other X X X
(b) Dynamic View
Communication X X X X X X
Control/Timing X X X X x x
(c) Constraints
On structure X X X X
On dynamic behavior X X X
4. COMPLEXITY MGT.
(a) For structural complexity X X X X X
(b) For behavioral complexity
(c) Representation of:
Static structure X X
Dynamic behavior
A marked cell indicates that the issue is addressed; a blank cell indicates that it is not. The table does not grade the research on how well the issues are handled; it simply identifies
consideration of a topic.
REPRESENTATION PROCESS
ONLY ONLY
Shlaer Wlrfs- BeCk and Cunning- Page- Wasser- Henderson- JOhnson Scharen-
and Brock Ackroyd Cunning- ham Jones man Sellers and and berg and
Mellor et al. & Daum ham and BeCk et al. et al. WilSOn Bulman Constantine Foote Dunsmore
X X X X X
X X X X X
X X X X
X
X
X X
X X X
X
X X
i
X X X X X X X X
X X X X
X X X X X X X X
X X X X X X
X X X X
X X X X X
X X
X X X
X
i
X X X
X
13 15 5 3 4 5 8 5 7 3 5 6
model object structure, functional- diagrams and predicate transition Table 5 lists the key OOAD
ity and dynamic behavior. nets. Another example is Nierstrasz strengths and weaknesses identified
The combinative approach mod- et al.'s [21] component-oriented and discussed in this article.
els separate views of a system using software development (COSD)
traditional techniques. Rumbaugh which is object-oriented with a pri-
Future Research
et al. [24] and Shlaer and Mellor mary emphasis on reusable frame-
This section discusses four direc-
[26] are in this category. They have works and components.
tions for future research: 1) defin-
processes and representations for
The "pure" object-oriented ap- ing and integrating various abstrac-
structural, dynamic and functional
proach describes work done, for tion levels and views of a system in
modeling. The structural represen-
example, by [4, 5, 29]. These au- OOAD; 2) developing evaluative
tations are derived from database
thors approach software design models for the results of OOAD;
modeling and ERDs in particular,
using an object-oriented perspec- 3) identifying typologies of objects,
even though the notation is new.
tive. They focus on modeling the behavior, and relationship to use
The dynamic model consists of
objects in the problem domain, during OOAD; and 4) specifying a
state-transition diagrams. The
their protocols, and their commu- typology of OOAD approaches.
functional model resembles data-
nication and relationships with Each of these items is discussed
flow diagrams.
other objects. Each object has re- briefly in the following subsections.
These three models are generally
sponsibilities, collaborators, and
independent of one another, and
relationships with other objects in
they capture different aspects of Layers a n d V i e w s
the system. These techniques do
the system. However, these combi- There is an effort among OOAD
not require a translation process as
native approaches deteriorate when researchers to model several views
do the combination approaches.
they try to integrate the different of a system. For example, struc-
They do, however, need a complex-
views into an object-oriented de- tural, functional, and control views
ity management mechanism to per-
sign. The structural model gener- can be modeled. There also is work
mit viewing the design at varying
ally includes objects, attributes, and on building higher levels of abstrac-
levels of detail (as in data-flow dia-
relationships, but not behavior tion than objects, such as Coad and
grams) or from various perspec-
(e.g., [26]). A major problem is Yourdon's subjects and Wirfs-
tives (as in the combination ap-
mapping the data-flow processes Brock et al.'s subsystems. What is
proaches).
from the functional (DFD) model, missing, however, is a clear defini-
and the events and activities from The representation for OOAD is tion of what layers and views are
the dynamic (STD) model into be- still incomplete and is not standard- important for representing and
havior of particular objects in the ized. A great deal of research ad- designing a system, and a means of
object model. dresses micro- (i.e., object- ) level integrating and balancing them.
Bailin [3], Gorman and static and dynamic representations; As can be seen from section (4) of
Choobineh [10], Henderson-Sellers much less work has been done on Table 4, relatively few of the
and Constantine [11], and Kappel macro-level static and dynamic nota- OOAD approaches include mecha-
[15] provide adaptive approaches. tions (particularly macro-level dy- nisms for managing the complexity
These authors blend existing pro- namic notations). of a large design. A solution to this
cesses and representations with an
object-oriented perspective. For
T u b l e S.
example, traditional data-flow dia- Strengths and Weaknesses of Current OOAD Research
grams and other function-oriented
representations can be used in a STRENGTHS WEAKNESSES
new context--representing an ob- • Identifying semantic classes • Identifying interface, application
and system classes
ject's functionality rather than the • Identifying attributes and behavior • Determining when an attribute,
system's functionality [11]. Bailin's relationship or behavior
technique uses entity data-flow dia- should be a class
• Placing methods (Law of Demeter) • Placing classes
grams, which are DFDs whose • Identifying and representing • Identifying and representing
functions are associated with spe- generalization and other kinds of relationships
cific objects or entities. Gorman and aggregation structures
• Maintaining consistent and correct
Choobineh's object-oriented entity semantics for relationships
relationship model extends the en- • Representing static views • Representing dynamic views
(structure) (message passing,
tity-relationship and semantic data control,...)
models to include behavior model- • Integrating static and dynamic
ing. Kappel's object/behavior models
• Maintaining consistent levels of
model, as noted earlier, is an object- abstraction/g ranularlty
oriented version of state transition
problem may be to define various Prescriptive models specify the in which circumstances. Intuitively,
"abstraction layers" of the system. steps or procedures for developing it seems that the combinative ap-
The top, or macro, layer(s) should an analysis or design; evaluative proach is the least desirable, be-
communicate the system structure, models measure the quality of an cause it is more complex than the
function and control, and would be analysis or design. A number of others. It tries to combine the struc-
developed during requirements authors (e.g., [5, 14, 29])discuss tured and object-oriented para-
specification and analysis. T h e bot- qualities or characteristics which digms, but many of the fundamen-
tom, or micro, layer should repre- are desirable in an OO design. But tal concepts of these paradigms are
sent the objects' structure, func- many of the characteristics are conflicting. It also seems, however,
tionality, and control and would be vague, difficult to define and diffi- that structured techniques and con-
developed during analysis and/or cult to measure. Designs that are cepts do have a place in object-
object design. Any intermediate reusable are considered "good," but oriented systems development.
layers should provide a smooth what is "good" and what constitutes Structured techniques may best be
transition from the macro to micro reusability? A design should be applied in the context of designing
view. T h e bottom layers will have measured along at least two dimen- the behavior of an object, rather
much more detail and the top lay- sions, the technical and semantic than the behavior or functionality
ers will be much broader in scope. dimensions. T h e technical dimen- of the entire system [11]. Whether
A model that synthesizes the sion should address software engi- and how different modeling tech-
static and dynamic features of a sys- neering issues such as the amount niques should be blended into
tem at various levels o f abstraction of coupling and cohesion among O O A D is a hotly debated question
may be the most important need in objects in a design. T h e semantic which has not been adequately an-
O O A D research. For example'., con- dimension should assess whether swered in the research.
sider Rumbaugh et al.'s [24] Object the design is a good semantic model
Modeling Technique. It includes an of the problem and solution spaces. Summary
object diagram, data-flow diagrams In other words, how closely does Object-oriented systems develop-
and state-transition diagrams. the design reflect the mental model ment is a popular topic in both aca-
These diagrams, taken together, which the users, analysts and devel- demia and industry these d a y s - - s o
represent three different, impor- opers have of the situation? popular, in fact, that it is difficult to
tant views of the system. However, stay abreast o f all the research and
they are not well integrated. It is Typologies of Classes, Behavior, literature being published on ob-
difficult to recognize how an object, and Relationships ject-oriented analysis, object-
behavior or attribute in the object This article presented a typology of oriented design and object-oriented
model relates to a data flow or data- classes (semantic, interface, applica- programming. This article has at-
flow process in the functional tion, and base/utility). Another ty- tempted to bring some order to the
model or to an event or state in the pology has been presented by [13]. collection o f current O O A D re-
dynamic model. These three dia- Behavior classifications are men- search by building a framework for
grams also represent different ab- tioned by [7, 24]; various categories comparing O O A D research. This
straction levels--the object model of relationships (e.g., generalization framework includes the critical
depicts micro-level structure, and and aggregation) are discussed in components of an O O A D method-
the dynamic model portrays micro- the O O A D research. Most of these ology, which are based on O O ex-
level states and transitions, while typologies, however, are incom- tensions to Colter's [8] and Press-
the functional model describes plete. Research is needed to extend man's [23] work. In Table 4, 24
macro-level functionality. Tile dif- existing classifications or to develop O O A D processes and/or represen-
ferent levels of granularity make it new ones, to integrate them, and to tations are mapped to this frame-
difficult to integrate or synthesize test their completeness and useful- work. Observations are made with
the separate models. ness. Existing typologies should be respect to this comparison, and
compared to see what characteris- strengths and weaknesses in O O A D
Evaluative Models for OOAD tics are redundant. T h e remaining research are identified. Possible
Another direction for future re- characteristics could then be directions for future research in
search is in developing evaluation treated as different dimensions on O O A D were mentioned, based on
models for OOAD. Presently, the which to classify classes, and so on. the review of existing research. []
O O A D models are prescriptive
rather than evaluative in nature.* Typology of 00AD Approaches
References
This article discussed three ap- 1. Ackroyd, M. and Daum, D. Graphi-
*This section refers mostly to designs, since proaches to OOAD: combinative, cal notation for object-oriented de-
there is already some work on defining what adaptive and pure. An area for fu-
constitutes a good design (e.g., [8]). However,
sign and programming. J. Object-
evaluative models are also needed for analy- ture research is to determine which Oriented Program 3, .5 (Jan. 1991),
sis. of these approaches is "better" and 18-28.
2. Alabiso, B. Transformation of data 17. Lee, S. and Carver, D.L. Object- CR Categories and Subject Descrip-
flow analysis models to object- oriented analysis and specification: tors: D.2.1 [Software]: Software Engi-
oriented design. In Proceedings of A knowledge base approach. J. Ob- neeriixg--requirements/specifications;
OOPSLA '88 Conference (San Diego, ject-Oriented Program. (Jan. 1991), D.2.10 [Software]: Software Engi-
Calif., Sept. 1988), 335-353. 35-43. neering-design; 1.6.0 [Computing
3. Bailin, S.C. An object-oriented re- 18. Lieberherr, K., Holland, I., and Methodologies]: Simulation and Mod-
quirements specification method. Riel, A. Object-oriented program- eling-general; 1.6.3 [Computing Meth-
Commun. ACM 32, 5 (May 1989), ming: An objective sense of style. In odologies]: Simulation and Modeling--
608-623. Proceedings of OOPSLA '88 Confer- applications; K.6.3 [Computing
4. Beck, K. and Cummingham, W. A ence (San Diego, Calif., Sept. 1988), Milieux]: Management of Computing
laboratory for teaching object- pp. 323-334. and Information Systems--software
oriented thinking. In Proceedings of 19. Meyer, B. Object-Oriented Software management; K.6.4 [Computing
OOPSLA '89 Conference (New Orle- Construction. Prentice Hall, Engle- Milieux]: Management of Computing
ans, La., Sept. 1989), pp. 1-6. wood Cliffs, N.J., 1988. and Information Systems--system man-
5. Booch, G. Object-OrientedDesign with 20. Mrdalj, S. Bibliography of object- agement
Applications. Benjamin/Cummings, oriented system development. ACM
1991. SIGSOFT Softw. Eng. Not. 15, 5
6. Bulman, D. Refining candidate ob- (1990), 60-63. General Terms: Design, Methodology
jects. Comput. Language (Jan. 1991), 21. Nierstrasz, O., Gibbs, S. and Additional Key Words and Phrases:
30-39. Tsichritzis, D. Component-oriented Analysis, Modeling
7. Coad, P. and Yourdon, E. Object- software development. Commun.
Oriented Design. Prentice Hall, En- ACM 35, 9 (Sept. 1992).
glewood Cliffs, N.J., 1991. 22. Page-Jones, M., Constantine, L.L.
8. Colter, M.A. A comparative exami- and Weiss, S. Modeling object- About the Authors:
nation of systems analysis tech- oriented systems: The uniform ob- DAVID E. MONARCHI is an associate
niques. MIS Q. (Mar. 1984), 51-66. ject notation. Comput. Language professor in information systems at the
9. Cunningham, W. and Beck, K. A (Oct. 1990), 70-87. University of Colorado at Boulder. Cur-
diagram for object-oriented pro- 23. Pressman, R.S. Software Engineering: rent research interests include object-
grams, In Proceedings of OOPSLA "86 A Practitioner'sApproach. Second ed., oriented systems, data modeling, and
Conference. (Portland, Ore., Sept. McGraw-Hill, 1987. knowledge representation.
1986), pp 39-43. 24. Rumbaugh, J., Blaha, M., Premer-
10. Gorman, K. and Choobineh, J. The lani, W., Eddy, F. and Lorensen, W.
object-oriented entity-relationship Object-oriented modeling and design.
model (OOERM). J. Manage. Inf. Prentice Hall, Englewood Cliffs,
GRETCHEN I. PUHR is a Ph.D stu-
Syst. 7, 3, 41-65. N.J., 1991.
dent in Information Systems at the Uni-
11. Henderson-Sellers, B. and Con-
25, Scharenberg, M.E. and Dunsmore, versity of Colorado at Boulder. Current
stantine, L.L. Object-oriented de-
H.E. Evolution of classes and ob- research interests include object-
velopment and functional decom-
jects during object-oriented design oriented analysis and design, and evalu-
position. J. Object-OrientedProg. 33,
and programming.J. Object-Oriented ative models (including metrics) for
9 (1991), 11-17.
Program. (Jan. 1991), 30-34. analysis and design.
12. Henderson-Sellers, B. and Ed-
wards, J.M. The object-oriented 26. Shlaer, S. and Mellor, S.J. Object-
systems life cycle. Commun. ACM 33, Oriented SystemsAnalysis: Modeling the
9 (Sept. 1990), 142-169. World in Data. Prentice Hall, 1988. Authors' Present Address: University
13. Iivari, J. Object-oriented informa-
27, Wasserman, A.I., Pircher, P.A. and of Colorado, School of Business and
tions systems analysis: A framework
Muller, R.J. The object-oriented Administration, Campus Box 419,
for object identification. IEEE
structured design notation for soft- Boulder, Colorado, 80309-0419; email:
Trans. (1991), 205-218.
ware design representation. IEEE {monarchi_d, puhr_g}@cubldr.colora
14. Johnson, R.E. and Foote, B. De-
signing reusable classes. J. Object-
Comput. (Mar. 1990), 50-62. do.edu
Oriented Program. 1, 2 (June/July 28. Wilson, D. Class diagrams: A tool
1988), 22-35. for design, documentation, and
15. Kappel, G. Using an object-oriented teaching. J. Object-OrientedProgram. Permission to copy without fee all or part of
diagram technique for the design of (Jan./Feb. 1990), 38-44. this material is granted provided that the
information systems. Dynamic copies are not made or distributed for direct
Modelling of Information Systems. 29. Wirfs-Brock, R.J., Wilkerson, B. commercial advantage, the ACM copyright
H,G. Sol and K.M. van Hee Eds. and Wiener, L. Designing Object- notice and the title of the publication and its
Elsevier Science Publishers B.V., Oriented Software. Prentice Hall, date appear, and notice is given that copying
1991, 121 164. Englewood Cliffs, N.J., 1990. is by permission of the Association for
16. Ladden, R.M. A survey of issues to 30. Yourdon, E. and Constantine, L.L. Computing Machine W, To copy otherwise, or
to republish, requires a fee and/or specific
be considered in the development Structured Design: Fundamentals of a permission.
of an object-oriented development Discipline of Computer Program and
methodology in Ada. Ada Letters 9, 2 Systems. Prentice Hall, Englewood
(Mar./Apr. 1989), 78-88. Cliffs, N.J., 1979. © ACM 0002-0782/92/0900-035$1.50
C O M M U N I C A T I O N S OF THE ACM/September1992/Vo1.35,No.9 47