2.1 The UML, Briefly Put

2.1 The UML, Briefly Put

With some sensitivity to the needs of the busy reader, I'll start with a shorthand version of a definition that can be used to consider the flavors and variations that will follow.

Briefly, the UML is a formally defined, object-oriented development notation. The formal definition is complete and consistent enough to qualify the UML as a type of language, but it is a formal one (as opposed to a natural language). The object-oriented aspect is a horse-and-cart situation; in many ways, the effort to specify the UML is to provide new ways to think about object-orientation itself.

The UML encompasses the entire scope of a typical development process from requirements to deployment planning. In addition, it offers the basis for documenting the releases of a software product and is the basis for a repository of critical knowledge about the domain.

It unifies the modeling approaches of the three key players in the area of contemporary software: Grady Booch, Jim Rumbaugh, and Ivar Jacobson (the self-described "Three Amigos" of Rational Software) and adds substantial chunks from a number of other major players who are currently active. It aims to provide a standard notation for modeling systems in particular, software-intensive systems where an object-oriented implementation is anticipated.

It is the first successful unification of its kind, not just in object-oriented development, but within the larger arena of information technology. Its status as a standard comes from the institutional imprimatur of the Object Management Group (OMG), an industry consortium and self-appointed standards body in the area of object technology.

UML is a standard modeling language, not a standard modeling method. It is independent of programming language and development techniques and processes. As a result, it is dependent for its usefulness on how it is implemented within a methodology and/or a development process.

On the other hand, UML allows (and perhaps encourages) tool and methodology/ process vendors to step up to the plate to support it, and it competes in providing features and services that will differentiate their product offerings. The notation standards envisage tool vendors having some flexibility in implementingthe specifics; the language itself assumes that modern tool software will be available to make it work.

Whatever the variations provided by the supporting vendors, UML allows users of whatever method, process, and tool set to communicate and interchange models by using a consistent set of model elements and concepts.

Finally, UML is collaboratively developed, extensible, scalable, and flexible and, most important, it is evolving. Nothing is carved in stone.



A UML Pattern Language
A UML Pattern Language (Software Engineering)
ISBN: 157870118X
EAN: 2147483647
Year: 2005
Pages: 100
Authors: Paul Evitts

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net