UML and Scala
The Unified Modeling Language (UML) is part of a development to merge (unify) the concepts in the Booch, Objectory and OMT methods (Jacobson et al. (1998); Booch et al. 1996). The method is still under development (and has taken a low profile recently), h
- PDF / 1,092,203 Bytes
- 28 Pages / 439.37 x 666.14 pts Page_size
- 54 Downloads / 219 Views
UML and Scala
3.1
Introduction
The Unified Modeling Language (UML) is part of a development to merge (unify) the concepts in the Booch, Objectory and OMT methods (Jacobson et al. (1998); Booch et al. 1996). The method is still under development (and has taken a low profile recently), however the notation underlying this method is nearing completion. This notation is now the focus of the current work of Booch, Rumbaugh and Jacobson and is receiving a great deal of interest. Microsoft Corporation, Hewlett Packard, Oracle, and Texas Instruments have all endorsed the UML. UML is a third generation object oriented modeling language (Rational 1996) which adapts and extends the published notations used in the works of Booch, Rumbaugh and Jacobson (Booch 1994; Rumbaugh et al. 1991; Jacobson et al. 1992) and is influenced by many others such as Fusion (Coleman et al. 1994), Harel’s statecharts (Harel et al. 1987; Harel 1988) and CORBA (Ben-Natan 1995), as illustrated in Fig. 3.1. UML is intended to form a single, common, widely useable modelling language for a range of object oriented design methods (including Booch, Objectory and OMT). It is also intended that it should be applicable in a wide range of applications and domains. It should be equally applicable to client–server applications and to real-time control applications. The justification for UML is that different organizations, applications and domains require (and use) different design methods. An organization may develop its own methods or modify other methods through experience. Different parts of the same organization may use different methods. The notation that they use acts as a language to communicate the ideas represented in part (or all) of the design. For example, the production of shrink-wrapped, off-the-shelf software is different from the creation of one-off bespoke software. However, a software company may carry out both activities. Such an organization may well wish to exchange ideas, designs, or parts of a design amongst its departments or operational units.
J. Hunt, Scala Design Patterns: Patterns for Practical Reuse and Design, DOI 10.1007/978-3-319-02192-8_3, © Springer International Publishing Switzerland 2013
23
3
24 Fig. 3.1 The influences on the UML notation
UML and Scala
OMT Booch
Objectory
UML Corba, OLE/ COM
Fusion
Harel
Java Applets
This kind of exchange relies on the availability of a common language; UML provides such a language. The Object Management Group (OMG) manages UML and provides for the standardisation process surrounding UML. This is an on going process with a number of versions of UML now ratified. For the latest information on the UML (and other developments on the unification front) see the Rational Software Corporation’s Web site (http://www.rational.com). This chapter provides a brief introduction to the UML and considers its applicability to Scala. It considers how the UML represents the classes, objects, relationships and attributes in an object-oriented system. It also considers sequence and collaboratio
Data Loading...