UML and the Unified Process

David D.M. Mason (Victoria University of Wellington. New Zealand. david.mason@vuw.ac.nz)

The Electronic Library

ISSN: 0264-0473

Article publication date: 1 February 2004

262

Keywords

Citation

Mason, D.D.M. (2004), "UML and the Unified Process", The Electronic Library, Vol. 22 No. 1, pp. 81-82. https://doi.org/10.1108/02640470410520177

Publisher

:

Emerald Group Publishing Limited

Copyright © 2004, Emerald Group Publishing Limited


UML is a modelling and system description language used by programmers to design new computer applications. A committee of rival methodology vendors created UML after long negotiation in the mid 1990s. Supporters of the model call the result a hybrid, while detractors call it a hodge‐podge. It was designed to overcome problems following on from the introduction of object‐oriented (OO) computer languages. These were different in nature from earlier languages, and the then current tools used to specify programs did not work well for OO programming. The result was the emergence of a plethora of confusing and competing modelling methods. UML was the compromise outcome. UML is promoted enthusiastically by the OO programming faction and taught in most university computer science departments. In this, it resembles the situation in the 1980s with Pascal, which had a devoted following in academia and was taught widely, but little used in industry.

UML stands for Unified Modelling Language; in reality it is anything but unified. UML aims to provide a seamless design environment starting from a high level abstract view of what the application is to do, going through layers of formalised stages which in turn define the data stores and specify the programs needed to create the full application in accordance with the original conception. However, it is really a collection of packaged tools, some using graphics and some text based that can be difficult to integrate and which still have arguments over formalised definition or syntax. As the editor says in the preface with a degree of understatement, “numerous practical difficulties have been detected in their use”.

This book is a collection of computer science research papers that address many of these practical difficulties, suggest extensions to the language, report on applications and offer the experience gained from case studies. There are 19 chapters in the book, each written independently, mostly by computer science academics. These come predominantly from universities in Europe, notably Norway, and a large number originate in Argentina, where the editor is based. This geographic spread has ensured a wide variety of viewpoints are found in the chapters.

The book is organised into seven topics covering: extensions and restrictions of UML and UP, business processes and modelling, semantics, mapping UML models onto other computer elements, software components of UML, profiles and security aspects. They are all substantial contributions (Chapter 8 is 70 pages in length), and the authors are given sufficient space to propound their ideas. As is typical with computer science texts most of the papers are highly technical and assume a strong background in UML and OO, although there is an excellent first chapter which gives an overview of where UML is today, and the issues facing its adoption and evolution. In addition many of the chapters look at specific aspects of integrating UML with other models and standards, whose appeal will necessarily be limited to readers working in those areas. This is therefore a book for the specialist to dip into, rather than a student text or handbook.

Overall, the quality of the contributions is very high, and the subject matter timely and up to date. This book is welcome addition to the debate on the methodologies and design processes needed for today’s programming conditions.

Related articles