What is Unified Modeling Language (Unified Modeling Language)? - Definition from WhatIs.com

Definition

Unified Modeling Language (Unified Modeling Language)

UML (Unified Modeling Language) is a standard notation for the modeling of real-world objects as a first step in developing an object-oriented design methodology. Its notation is derived from and unifies the notations of three object-oriented design and analysis methodologies:

  • Grady Booch's methodology for describing a set of objects and their relationships
  • James Rumbaugh's Object-Modeling Technique (OMT)
  • Ivar Jacobson's approach which includes a use case methodology

Other ideas also contributed to UML, which was the result of a work effort by Booch, Rumbaugh, Jacobson, and others to combine their ideas, working under the sponsorship of Rational Software. UML has been fostered and now is an accepted standard of the Object Management Group (OMG), which is also the home of Common Object Request Broker Architecture (CORBA), the leading industry standard for distributed object programming. Vendors of computer-aided software engineering (CASE) products are now supporting UML and it has been endorsed by almost every maker of software development products , including IBM and Microsoft (for its Visual Basic environment).

Martin Fowler, in his book UML Distilled, observes that, although UML is a notation system enabling people to communicate about a model, it is developed from methodologies that also describe the processes in developing and using the model. While there is no one accepted process, the contributors to UML all describe somewhat similar approaches and these are usually described along with tutorials about UML itself.

Among the concepts of modeling that UML specifies how to describe are: class (of objects), object, association, responsibility, activity, interface, use case, package, sequence, collaboration, and state. Fowler's book provides a good introduction to UML. Booch, Rumbaugh, and Jacobson all have or soon will have published the "offficial" set of books on UML.

Contributor(s): Alex Shnitman
This was last updated in December 2010
Editorial Director: Margaret Rouse

Email Alerts

Register now to receive SearchSoftwareQuality.com-related news, tips and more, delivered to your inbox.
By submitting you agree to receive email from TechTarget and its partners. If you reside outside of the United States, you consent to having your personal data transferred to and processed in the United States. Privacy

Dig Deeper

  • How traceability benefits the software development lifecycle

    Read expert Scott Sehlhorst’s explanation to learn how traceability of requirements improves visibility into building the right product as well as building the product right.

  • Software development: CAST study identifies massive technical debt

    A recent study conducted by CAST used their Application Intelligence Platform to evaluate the structural quality of 365 million lines of code. In this interview with CAST’s chief scientist Dr. Bill Curtis, he discusses the study and what IT decision makers can do about technical debt.

  • How useful is code coverage?

    In this first of a two-part series about code coverage, software consultant Mike Kelly explains code coverage and gives a specific example of how code coverage was calculated on a small program using the tool rcov for Ruby.

Do you have something to add to this definition? Let us know.

Send your comments to techterms@whatis.com