29.11.2014 Views

Smalltalk and Object Orientation: an Introduction - Free

Smalltalk and Object Orientation: an Introduction - Free

Smalltalk and Object Orientation: an Introduction - Free

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!