Chapter 9. Extension Mechanisms
This chapter introduces the Unified Modeling
Language's extension mechanisms, which allow for
extending the language. I discuss how to extend the language using
stereotypes, apply the extensions, capture characteristics of model
elements using properties, and package extensions using profiles.
As discussed in Chapter 1, a
language enables us to communicate about a
subject, including requirements and the system that satisfies those
requirements—for example, the requirements of the project
management system that I have been discussing in the book. An
extensible language allows us to define new concepts, much like
introducing new words and extending the vocabulary of a natural
language. For example, rather than have every effort relating to a
project management system define the concept of a project, I can
extend the UML to incorporate a definition of what a project is,
which may be reused by all these other efforts. Also, rather than
have every effort relating to a project management system define the
relationship between a project and the things that make up a project,
I can extend the UML to incorporate a definition of a relationship
between a project and the things that make up a project, which may be
reused by all these other efforts. Each effort can then specialize
these definitions as necessary. For instance, one effort may involve
software development projects such as developing an information or
technology system, while another effort may involve infrastructure
projects such as installing client machines, server machines, and
other software. This capability to extend the UML is valuable for
creating standardized collections of UML elements that may be reused.
Therefore, whenever you find yourself and other people using the same
or similar concepts and relationships, as well as reusing these
concepts and relationships, you should consider whether you could
extend the UML to incorporate these concepts and relationships so
that they can be more readily standardized and reused.
|