Home Contact Us Français Search Site Map
UML
What is the Unified Modeling Language?
 
In software engineering, the Unified Modeling Language (UML) is a non-proprietary specification language for object modeling. UML is a general-purpose modeling language that includes a standardized graphical notation used to create an abstract model of a system, referred to as a UML model. UML is extendable as it offers a profile mechanism for customization. If a concept is not present, it can be introduced by defining a stereotype. The semantics of extension by profiles has been improved with the UML 2.0 major revision.

UML is officially defined at the Object Management Group (OMG) by the UML metamodel – a Meta-Object Facility metamodel (MOF). Like other MOF-based specifications, the UML metamodel and UML models may be serialized in XMI. While UML was designed to specify, visualize, construct, and document software-intensive systems, UML is not restricted to modeling software. UML is also used for business process modeling, systems engineering modeling, and representing organizational structures.

UML has been a catalyst for the evolution of model-driven technologies, such as Model Driven Engineering (MDE), and Model Driven Architecture. By establishing an industry consensus on a graphic notation to represent common concepts like classes, components, generalization, aggregation, and behaviours, UML has allowed software developers to concentrate more on design and architecture.

UML models may be automatically transformed to other representations (e.g. Java) by means of QVT-like transformation languages, supported by OMG.

History

In the mid nineties there were two popular object-oriented modeling approaches: Rumbaugh's OMT, which was better for object-oriented analysis (OOA), and Grady Booch's Booch method, which was better for object-oriented design (OOD). Together Rumbaugh and Booch attempted to reconcile their two approaches and started work on a Unified Method.

 
 
 
  Whitepapers
Architected Approach for Microsoft.NET Development
Business Alignment Working with Requirements
Business Process Modeling
Select Perspective and the Microsoft Solutions Framework
Service Orientation Architecture and Model Driven Architecture
Supporting the OMG's Model Driven Architecture
UML for Components and Process Control
Understanding Requirements
  Movies
Model Driven Architecture Introduction
Select Component Factory integration with Microsoft Visual Studio
Select Solution for .NET
Select Solution for MDA
  Products
Select Architect
Select Solution Factory
Select Solution for Microsoft .NET
Select Solution for MDA
 
 

They were soon assisted in their efforts by Ivar Jacobson, the creator of the OOSE method. The three methodologists were collectively referred to as the Three Amigos, since they were well known to argue frequently with each other regarding methodological preferences.

In 1996 the Three Amigos decided that a Unified Modeling Language was more viable than a Unified Method, and redirected their efforts to respond to the OMG Request for Proposal (RFP) for an object modeling language¹.

Under the technical leadership of the Three Amigos, an international consortium called the UML Partners was organized in 1996 to complete the Unified Modeling Language (UML) specification, and propose it as a response to the OMG RFP. The UML Partners' UML 1.0 specification draft was proposed to the OMG in January 1997. During the same month the UML Partners formed a Semantics Task Force, chaired by Cris Kobryn and administered by Ed Eykholt, to finalize the semantics of the specification and integrate it with other standardization efforts. The result of this work, UML 1.1, was submitted to the OMG in August 1997 and adopted by the OMG in November 1997.²

As a modeling notation, the influence of the OMT notation dominates (e.g., using rectangles for classes and objects). Though the Booch "cloud" notation was dropped, the Booch capability to specify lower-level design detail was embraced. The use case notation from Objectory and the component notation from Booch were integrated with the rest of the notation, but the semantic integration was relatively weak in UML 1.1, and was not really fixed until the UML 2.0 major revision.

Concepts from many other OO methods were also loosely integrated with UML with the intent that UML would support all OO methods. UML is useful in a variety of engineering problems, from single process, single user applications to concurrent, distributed systems, making UML rich but large.

Methods

UML is not a method by itself; however, it was designed to be compatible with the leading object-oriented software development methods of its time (for example OMT, Booch, Objectory). Since UML has evolved, some of these methods have been recast to take advantage of the new notation (for example OMT), and new methods have been created based on UML, such as Select Perspective and the Rational Unified Process (RUP).

Modeling

It is important to distinguish between the UML model and the set of diagrams of a system. A diagram is a partial graphical representation of a system's model. The model also contains a "semantic backplane" — textual documentation such as written use cases that drive the model elements and diagrams.

There are three prominent parts of a system's model:

 
 
Functional Model
Showcases the functionality of the system from the user's Point of View.
Includes Use case diagrams.
Object Model
Showcases the structure and substructure of the system using objects, attributes, operations, and associations.
Includes Class Diagrams.
Dynamic Model
Showcases the internal behaviour of the system.
Includes Sequence Diagrams, Activity Diagrams and State Machine Diagrams.
 
 

Diagrams

In UML 2.0 there are 13 types of diagrams. To understand them, it is sometimes useful to categorize them hierarchically.

 
 
Structure Diagrams
  Emphasize what things must be in the system being modeled:
Class diagram
Component diagram
Composite structure diagram
Deployment diagram
Object diagram
Package diagram
Behavior Diagrams
  Emphasize what must happen in the system being modeled:
Activity diagram
State Machine diagram
Use case diagram
Interaction Diagrams
  Emphasize the flow of control and data among the things in the system being modeled:
Collaboration (UML 1.x)/Communication diagram (UML 2.0)
Interaction overview diagram (UML 2.0)
Sequence diagram
UML Timing Diagram (UML 2.0)
 
 

UML does not restrict UML element types to a certain diagram type. In general, every UML element may appear on almost all types of diagrams. This flexibility has been partially restricted in UML 2.0.

In keeping with the tradition of engineering drawings, a comment or note explaining usage, constraint, or intent is always allowed in a UML diagram.

Concepts

UML uses the following concepts:

 
 
For Structure
Actor
Attribute
Class
Component
Interface
Object
Package
For Behavior
Activity
Event
Message
Method
Operation
State
Use Case
For Relationships
Aggregation
Association
Composition
Depends
Generalization (or Inheritance)
Other Concepts
Stereotype. It qualifies the symbol it is attached to
Multiplicity notation
Role
 
 
 
 
 
  References
  Information is taken in whole, or in part, from Wikipedia, The Free Encyclopedia - which is a fully independent knowledge resource that has no affiliation with Select Business Solution. As a result, Select Business Solutions takes no responsibility for the accuracy. If you believe the information is wrong, please contact us and we will investigate.
¹ OMG. Object Analysis & Design RFP-1. Retrieved on 2006-07-02
² UML Specification v. 1.1 (OMG document ad/97-08-11)
Ambler, Scott William (2004). The Object Primer: Agile Model Driven Development with UML 2. Cambridge University Press.
Chonoles, Michael Jesse, James A. Schardt (2003). UML 2 for Dummies. Wiley Publishing.
Coad, Peter, Eric Lefebvre; Jeff De Luca (1999). Java Modeling In Color With UML: Enterprise Components and Process. Prentice Hall.
Fowler, Martin. UML Distilled: A Brief Guide to the Standard Object Modeling Language, 3rd ed., Addison-Wesley.
Gooch, Tom. History of UML.
acobson, Ivar, Grady Booch; James Rumbaugh (1998). The Unified Software Development Process. Addison Wesley Longman.
Martin, Robert Cecil (2003). UML for Java Programmers. Prentice Hall.
Noran, Ovidiu S.. Business Modelling: UML vs. IDEF (PDF).
Penker, Magnus, Hans-Erik Eriksson (2000). Business Modeling with UML. John Wiley & Sons.
Henderson Sellers, Brian (2006). about UML profiles. Springer Verlag. MoDELS'2006 Conference, Genova.
 
 

Learn More

To find out more about how Select Business Solutions can help you Contact Us today.
 
 
 
 
 

CMMI and Component Based Development Modeling tools available for free trial
About Us
Customers
Downloads
Learning Zone
News & Events
Partners
Products
Services
Solutions
Support
Webcasts
Industry Links

Analysis and Design
Business Intelligence
Component Reuse
Process Maturity
SD Library
Books

 

 


About Us | Customers | Downloads | Learning Zone | News & Events | Partners | Products | Services | Solutions | Support | Webcasts | Industry Links  
Copyright 2006, Select Business Solutions, Inc. All rights reserved.