Design Methods for Reactive Systems: Yourdon, Statemate, and the UML

The Unified Modeling Language (UML) is a collection of diagram techniques adopted by the Object Management Group (OMG) in 1997 as standard notation for object-oriented software designs. The UML was to bring an end to the enormous diversity of notation used in many different object-oriented methods. The initiative to defining the UML was taken by Booch, Rumbaugh, and Jacobson. The version finally adopted by the OMG, however, was defined by a large group of people from many different companies, and at the time of writing the standard is still being updated and, in addition, many variants are being defined.
The UML itself is not a method, but a collection of techniques found in many different object-oriented analysis and design methods that have been proposed since about 1990. The intention is that the UML can be used in these and other object-oriented methods. Different methods will find different uses for these techniques, and some methods will not use all UML techniques. This chapter discusses a lightweight version of the major UML techniques. Section 22.1 gives an overview of all UML notations and explains why they are not all treated here. Section 22.2 shows how to use activity diagrams for workflow modeling. Section 22.3 discusses static structure diagrams, which are an extension of ERDs used to represent a decomposition of the SuD in software objects. Section 22.4 explains how the behavior notations discussed earlier in this book can be used to specify object behavior. Section 22.5 then shows how to use communication...