About this book

Most books about UML describe it almost in its entirety. Inevitably you're left with only a superficial knowledge of the range of UML elements, without a deep and intuitive understanding of how to apply UML as a whole to real world design problems. This book doesn't set out to cover all of UML, but instead pulls together those parts of UML with immediate practical relevance and presents them as part of a coherent process for using UML in your actual development projects.

This book is designed to be read while you work on a real project. After an initial review of the essentials of UML and the design process,  it begins with the modeling of a business system and its business processes, in this case an airport.  Then the IT system intended to serve that business process is described and analysed. Finally the integration of the system into the production environment is covered in detail.

The book can be used in two ways: it can be read through as a thorough grounding in how UML really works in practice; in addition it can be used as stand alone guide to that particular aspect of your own project. Both result in an intuitive understanding of how to actually use UML.

Publication date:
September 2005


Chapter 1. Introduction

I'm still confused, but on a much higher level.

Unified Modeling Language (UML) makes it possible to describe systems with words and pictures. It can be used to model a variety of systems: software systems, business systems, or any other system. Especially notable are the various graphical charts—use case diagrams with their stick figures or the widely used class diagrams. While these diagrams aren't fundamentally new, the worldwide unification of modeling languages is new with UML, which was standardized by the Object Management Group (OMG), an international association that promotes open standards for object-oriented applications (http://www.omg.org).

Most books about UML describe it almost in its entirety. However, our experience has shown that in reality there is often a lack of time, previous knowledge, or motivation to deal with the topic with the necessary intensity. In these cases, the material can't be completely understood and put into action. This book is meant for exactly these cases. We put together those parts of UML whose application has proven to be practical. With a little effort, anybody should be able to make use of UML.

There are several reasons to use UML as a modeling language:

  • The unification of terminology and the standardization of notation lead to a significant easing of communication for all parties involved. It facilitates the exchange of models between different departments or companies. Moreover, it eases the transfer of projects between project teams or project team members.

  • UML grows as the requirements for modeling grow. Because UML is a powerful modeling language, you can start with the development of simple models or model complex systems in great detail. If the basic functionality of UML is not sufficient, you can extend it through the use of stereotypes.

  • UML builds upon widely used and proven approaches. UML was not devised in an ivory tower but was developed mainly from real-world problems and existing modeling languages. This guarantees usability and real-life functionality.

  • UML is widely supported.

  • UML-based bids for software systems can be compared much more easily.

This book is based on UML version 2.0, as adopted by the Object Management Group ("OMG Unified Modeling Language: Superstructure, Version 2.0, Revised Final Adopted Specification, October 2004", from http://www.omg.org).

At the time this book was printed, standardization of UML was not fully completed. However, subsequent changes to UML 2.0 will not affect the simplified approach that our book presents.

Our book was written for computer scientists and for people involved in the development process of IT systems, such as analysts, decision makers, users, and experts. It shows how, with UML, simple models of business processes and specification models can be created and read with little effort. Our experience with projects showed that:

  • Often only components of a model are created.

  • Most of the time the entire system is not modeled.

  • Very little time is spent on training in modeling language and methodology.

  • In short: modeling is not given much priority.

Certainly a few projects use the complete UML model appropriately. However, the bulk of all projects use UML or other modeling languages, modeling tools, and modeling methods to only a small degree, if at all. While enthusiasm and motivation are strong at the beginning of the project, modeling and documentation of the modeling results are often the first to fall victim to the increasing time pressure as the deadline approaches.

Unfortunately, we cannot change that. Considering these circumstances, we have tried to portray a much-simplified picture of UML, in order to make it possible to use UML more efficiently and appropriately with only a small investment of time.

Experience shows that mastering only a few elements of UML leads to better results than the superficial knowledge of many UML elements. So we have selected some of these elements for you—subjectively, of course. We have not even mentioned many elements of UML, and explain others in a very simplified manner. Even though that is not always how it was originally intended, it does reflect our practical experience.

With its changes and extensions, UML 2.0 supports the modeling of business processes much better. The increased size of UML 2.0's vocabulary shows that it's no longer sufficient to define only certain elements of the language, but also necessary to define the use of UML in specialized fields, such as, system integration or data warehousing.

In this book we have emphasized these aspects through the use of profiles, while defining the language elements (vocabulary/terminology) of UML 2.0. We will refer to these profiles at the appropriate places throughout this book.

We have structured this book so that it can be read while working on a project. We begin with the modeling of a business system and its business processes in Chapter 3, Modeling Business Systems. Then we go on to specify an IT system that is to be embedded into the business system (Chapter 4, Modeling IT Systems) and lastly describe the integration of the IT system into its environment (Chapter 5, Modeling for System Integration). These three chapters are independent entities. You can read only those chapters that you require for your project. But in any case, you should first read Chapter 2, Basic Principles and Background, where we introduce the case study. This chapter also explains several basic terms and concepts that the following chapters build on.

We use a case study throughout this book to convey the theoretical knowledge about UML. This case study serves the sole purpose of illustrating UML, since much can be explained and understood through the use of examples rather than abstract definitions. The reader is supposed to get a 'feel' for UML. Of course it is not possible to use every diagram and every piece of documentation of the entire case study: that would have been well beyond the scope of this book and is not necessary for the comprehension of UML. The case study—passenger services at the fictional UML Airport—does not always accurately represent real passenger services: we have simplified it in parts. However, this does not have a negative effect on understanding UML.

This book does not assume any prior knowledge of UML or object-oriented programming. However, a basic understanding of the development of IT systems is expected.

At this point, we especially want to thank the friendly employees of Unique Zurich Airport, who helped us with patience and competence to understand the technical details of our case study. We thank everyone who helped with the creation and revision of this book. In particular, we want to thank the editor of our German edition, Judith Stevens-Lemoine, and her team at Galileo for their competent and friendly attention. We also found helpful the critical comments and suggestions from our readers, and our colleagues at Integratio and KnowGravity. Last, but not least, we want to thank everyone who bought a copy of the first two German editions of UML 2.0 in Action: A Project-Based Tutorial. Thanks to you, this revised version was made possible.

Henriette and Philippe Baumann and Patrick Grässle.

About the Authors

  • Henriette Baumann

    Henriette Baumann is the co-founder and board member of integratio GmbH (http://www.integratio.com), based in Zurich. Henriette studied Informatics and Economics and was involved in software development and engineering since the mid-eighties, particularly with the transformation of business requirements in software systems. In 1998, she started with UML business modeling and has used UML in several projects. Today her main focus is on project management and consulting for business analysis, business requirements engineering, and business specifications based on UML, especially for financial service companies.

    Contact Henriette Baumann

    Browse publications by this author
  • Patrick Grassle

    Patrick Grässle is the co-founder and board member of KnowGravity Inc. (http://www.knowgravity.com) in Zürich, a leading supplier of MDA and Business Rules know-how. Patrick studied Informatics and Economics at the University of Zürich. In 1986, he built his first model of an IT system using structured analysis and did not stop modeling since then. He has applied UML in many projects. He used and consulted structured and object-oriented methods for system specification. In the nineties, he helped develop the first localized UML trainings in Switzerland. The UML-based 'Model Driven Architecture' and the 'Business Rules Approach' absorb his main interest nowadays, but he is still doing UML training and consulting.

    Contact Patrick Grassle

    Browse publications by this author
  • Philippe Baumann

    Philippe Baumann is co-founder and member of the board of integratio GmbH (http://www.integratio.com), based in Zurich. Philippe studied Informatics at the University of Hagen (D) and was involved in software development and application integration since the mid-eighties. In 1998, he started with UML, and its usage in system integration and electronic data interchange between companies. Today he is the project manager and consultant for technical aspects and implementation of software integration using UML. He is also active in the field of implementation and integration of Open Source business software such as ERP and CRM.

    Contact Philippe Baumann

    Browse publications by this author

Latest Reviews

(5 reviews total)
I will teach the SW modelling and this book will be my first information source
Il formato pdf dei libri è ottimo se li devi guardare su più dispositivi.
Even though this release is about UML 2.0(current version is 2.5) is very practical and useful I encourage the author to update the book to the current UML Release.
UML 2.0 in Action: A project-based tutorial
Unlock this book and the full library FREE for 7 days
Start now