Smalltalk and Object Orientation: an Introduction - Free
Smalltalk and Object Orientation: an Introduction - Free
Smalltalk and Object Orientation: an Introduction - Free
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
17. The Unified Modeling L<strong>an</strong>guage<br />
17.1 <strong>Introduction</strong><br />
The Unified Modeling L<strong>an</strong>guage (or UML for short) is part of a development being carried out to<br />
merge the concepts in the Booch, <strong>Object</strong>ory <strong><strong>an</strong>d</strong> OMT methods [Booch <strong><strong>an</strong>d</strong> Rumbaugh 1995, Booch et<br />
al 1996]. This effort has bee n termed the unification or the Unified Method. The method is still under<br />
development (<strong><strong>an</strong>d</strong> has taken a much lower profile recently) however the notation underlying this method<br />
is nearing completion. This notation has now become the focus of Booch, Rumbaugh <strong><strong>an</strong>d</strong> Jacobsons’<br />
current work <strong><strong>an</strong>d</strong> is receiving a great deal of interest. For example, Microsoft Corporation, Hewlett<br />
Packard, Oracle, Texas Instruments have all endorsed the UML.<br />
The UML is a third generation object -oriented modeling l<strong>an</strong>guage [Rational 1996] which adapts <strong><strong>an</strong>d</strong><br />
extends the published notations used in the works of Booch, Rumbaugh <strong><strong>an</strong>d</strong> Jacobson [Booch 1994,<br />
Rumbaugh et al 1991, Jacobson et al 1992] as well as being influenced by m<strong>an</strong>y others (such as Fusion<br />
[Colem<strong>an</strong> et al 1994], Harel’s statecharts [Harel et al 1987; Harel 1988] <strong><strong>an</strong>d</strong> CORBA [Ben -Nat<strong>an</strong><br />
1995], see Figure 17.1). It is intended that the UML will form a single, common, widely usable<br />
modeling l<strong>an</strong>guage for a r<strong>an</strong>ge of object oriented design methods (includ ing Booch, <strong>Object</strong>ory <strong><strong>an</strong>d</strong><br />
OMT). It is also intended that it should be applicable in a wide r<strong>an</strong>ge of applications <strong><strong>an</strong>d</strong> domains.<br />
Therefore it should be equally applicable to client -server applications as it is to real -time control<br />
applications.<br />
OMT<br />
Booch<br />
<strong>Object</strong>ory<br />
Fusion<br />
UML<br />
Corba, OLE/<br />
COM<br />
Harel<br />
Java Applets<br />
Figure 17.1: The influences on the UML notation<br />
Part of the justifications for this is that different org<strong>an</strong>izations, applications <strong><strong>an</strong>d</strong> domains require<br />
(<strong><strong>an</strong>d</strong> use) different design methods. In m<strong>an</strong>y cases org<strong>an</strong>izations have developed their own methods or<br />
have modified other methods through experience. In some cases different parts of the same<br />
org<strong>an</strong>izations may use different methods. The result is that the notation used acts as a l<strong>an</strong>guage in which<br />
ideas represented in part (or all) of the design are expressed <strong><strong>an</strong>d</strong> communicated. For example, the<br />
production of shrink wrapped, off the shelf software, is different from the creation of one off bespoke<br />
software. However both activities may be carried out by a software comp<strong>an</strong>y. Such <strong>an</strong> org<strong>an</strong>ization may<br />
well wish to exch<strong>an</strong>ge ideas, designs or parts of designs amongst its various departments or operational<br />
units. This kind of exch<strong>an</strong>ge relies on the availability of a common l<strong>an</strong>guage - UML provides such a<br />
l<strong>an</strong>guage.<br />
At present the UML is in draft form [Booch et al 1996], however it is being presented to the OMG<br />
(<strong>Object</strong> M<strong>an</strong>agement Group) in the hope that it will be accepted as a st<strong><strong>an</strong>d</strong>ard (this is <strong>an</strong> on going<br />
process <strong><strong>an</strong>d</strong> is part of the OMG’s call for information on obje ct-oriented methods). For the latest<br />
information on the UML (as well as <strong>an</strong>y other developments on the unification front) see the Rational<br />
Software Corporation’s web site (http://www.rational.com).<br />
This chapter provides a brief introduction to the UML but o mits m<strong>an</strong>y of the details. For further<br />
information on the UML please see version 1.0 of the UML documentation set. There is also a series of<br />
books on the UML including a Reference M<strong>an</strong>ual, a User Guide as well as a process book (which at the<br />
time of writing were still in the pipe line) that should be referenced for more information.<br />
137