The UML Profile for Framework Architectures

Chapter 2. UML essentials for framework documentation

A number of object-oriented modeling languages, such as those described by Rumbaugh et al. (1994), Coleman et al. (1994), Booch (1994), and Jacobson (1993), were defined in the early 1990s. In a determined and difficult effort, some of the best features of these modeling techniques have been merged into the UML published by OMG.[1] Furthermore, many CASE[2] tool vendors have adopted the UML as their standard notation.

[1] The UML 1.4 standard is currently (September 2001) a final draft and is mainly a consolidation of its predecessor, UML specification 1.3.

[2] CASE is an acronym for Computer Aided Software Engineering. Its basic idea is to use sophisticated tools to assist the development process. So far, many CASE tools have used their own notations.

This chapter presents the notational elements of UML diagrams that will be used throughout the book: class, object, and sequence diagrams. We don't discuss all the features of these diagrams but focus on the features that are of particular interest for framework development and adaptation. Thus, this chapter is not meant as yet another introduction to UML; instead, it focuses on a subset of UML notational elements that have proven useful for framework development and adaptation. Usually, this set of notational elements suffices to model frameworks. This does not mean that the other UML elements might not be used. In particular, package diagrams are helpful in the context of UML tools for structuring a class model into subsystems, and thus into subdiagrams. For a detailed and complete overview of UML, you are referred to the technical recommendation published by OMG (2001), or the books of D'Souza and Wills (1998), Booch et al. (1998), and Rumbaugh et al. (1998). A number of detailed and sophisticated technical and methodical issues is dealt with in the UML conference series published by B zivin and Muller (1999), France and Rumpe (1999), and Evans et al. (2000).

Категории