UML  «Prev  Next»
Lesson 1

Introduction to the Unified Modeling Language

Unified Modeling Language (UML) is a standardized modeling language in the field of software engineering. The standard is managed by the Object Management Group. UML includes a set of graphic notation techniques to create visual models of software-intensive systems.
The whole software development industry has been explosive, partly due to the nature of software itself, a revolution driven by worldwide business growth and competition.

Establishing standards

For those of us responsible for delivering these revolutionary business solutions, the challenge is daunting. As part of an industry that is itself so volatile, every week there are new developments that threaten to make our current skills and experience obsolete.
The software industry is very young. Unlike similar trades such as mechanical or electrical engineering, software engineering has not yet established itself as a formal discipline. Standards and methods remain illusory.
As a result of this, most study is focused on programming rather than engineering, gravitating toward the tangible and away from the abstract.

A necessary step

This need for a mature and maturing industry is behind the drive for the UML and other related standards. Our industry needs a framework for measurable and proven engineering techniques. The UML is not a panacea for software industry ills. It is, however, one of the necessary steps in the right direction. This course will help you understand what this step is and how the UML can deliver solutions that will help you succeed.

UML Origins

The Unified Modeling Language or UML, is a method used to specify all aspects of a software system. UML prescribes syntax for describing the structures of classes, components, programs, and software systems. UML also describes the interactions between these items. While the Unified Process relies heavily on UML, UML was developed separately from it. UML was designed to be used with any iterative software development process.
The object-oriented movement began with the introduction of Smalltalk in the early 1980s. By the late 1980s, work had begun on developing methods and notations to describe object-oriented software systems. By the early 1990s, a wide variety of object- oriented development methods existed, each with its own notation and modeling language. While working at Rational Software Corp., developers Booch, Jacobson and Rumbaugh created UML in an attempt to unify the notations each had created earlier. In November 1997, the Object Management Group (OMG) adopted UML as a standard.

UML Notation

UML is a notation that resulted from the unification of OMT (Object Modeling Technique [Rumbaugh et al., 1991]), Booch [Booch, 1994], and OOSE (Object-Oriented Software Engineering [Jacobson et al., 1992]). UML has also been influenced by other object-oriented notations, such as those introduced by Mellor and Shlaer [Mellor & Shlaer, 1998], Coad and Yourdon [Coad et al., 1995], Wirfs-Brock [Wirfs-Brock et al., 1990], and Martin and Odell [Martin & Odell, 1992].

UML Module Objectives

After completing this module, you will be able to:
  1. Explain why the UML was created
  2. Define what is and is not included in the UML specification
  3. Describe how the UML is being refined and extended
  4. Define the four views into the software development process: the use case view, the logical view, the component view, and the deployment view
In the next lesson, the history behind the UML specification will be discussed.