Title: Introduction to UML
1Introduction to UML
- By
- Prof. Aiman Hanna
- Department of Computer Science, Concordia
University, - Montreal, Canada
2What is UML?
- It is a notation that is a set of diagrams and
diagram elements that may be arranged to describe
the design of a software system. - UML is not a process, nor is it a method
comprising a notation and a process. - The OMG specification states
- The Unified Modeling Language (UML) is a
graphical language for visualizing, specifying,
constructing, and documenting the artifacts of a
software-intensive system. The UML offers a
standard way to write a system's blueprints,
including conceptual things such as business
processes and system functions as well as
concrete things such as programming language
statements, database schemas, and reusable
software components."
3Why use UML?
- In a software context, formal design becomes
increasingly important as the size and complexity
of the software grows. - UML provides facilities for visualizing,
specifying, constructing, and documenting the
software this will likely increase the success
chances of the software and possibly
significantly reduces its cost.
4Why UML, is there something else?
- The complexity and nature of different software
vary tremendously. As a result it is unlikely
that single set of notation be the best when
representing any software. - UML however claims to be a universal notation
that is suitable for all problems. - After practically (and intensively) utilizing
UML, you might be able to judge whether or not
this claim holds.
5History of UML
- In the beginning, there were three principal
methods - The Booch method, devised by Grady Booch,
- Object-oriented Modeling Technique (OMT), devised
by Jim Rumbaugh, - Object-oriented Software Engineering (also known
as Objectory), devised by Ivar Jacobson. - The three methods had many ideas on common, yet
different notation for expressing those ideas
(for example, OMT classes were represented by
rectangle boxes, whereas in Booch methods they
were represented as cloud shapes). Other ideas
were introduced only by one or the other of the
three methods. - UML combined the best bits of all three with a
common notation.
6History of UML
- In terms of time, here is the history
- 1994 Jim Rumbaugh left General Electric to join
Grady Booch ar Rational Software, so as to merge
their methods and achieve standardization across
the industry. - 1995 Booch and Rumbaugh published version 8 of
the Unified method. Rational Software buys
Objectory and Ivar Jacobson joins the company. - 1997 Booch, Rumbaugh and Jacobson release
(through Rational) a proposal of version 1 of
UML. - 1997 UML version 1.1 was adopted by The Object
Management Group (OMG), a non-profit
organization, previously best known for the CORBA
standard. It is advisable that you visit
www.omg.org for much more information on UML.
7Few Notes Possibly Negative!
- A diagramming notation should be as simple as
possible. UML is very complex. The notation
summary is relatively big and consists of many
sections. - Due to its diagram complexity, it is not easy to
use hand-writing for UML representation. One must
use some other software, such as MS-Visio, in
order to draw UML diagrams. - Due to its complexity, a significant amount of
time, and an intensive amount of work, may be
needed before becoming familiar with UML.
8Types of UML diagrams
- Each UML diagram is designed to let developers
and customers view a software system from a
different perspective and in varying degrees of
abstraction. UML diagrams commonly created in
visual modeling tools such as Describe include
Use Case Diagram Displays the relationship among actors and use cases.
Class Diagram Models class structure and contents using design elements such as classes, packages and objects. It also displays relationships such as containment, inheritance, associations and others.
State Diagram Displays the sequences of states that an object of an interaction goes through during its life in response to received stimuli, together with its responses and actions.
9Types of UML diagrams
Collaboration Diagram Displays an interaction organized around the objects and their links to one another. Numbers are used to show the sequence of messages.
Activity Diagram Displays a special state diagram where most of the states are action states and most of the transitions are triggered by completion of the actions in the source states. This diagram focuses on flows driven by internal processing.
10Types of UML diagrams
Component Diagram Displays the high level packaged structure of the code itself. Dependencies among components are shown, including source code components, binary code components, and executable components. Some components exist at compile time, at link time, at run times well as at more than one time.
Deployment Diagram Displays the configuration of run-time processing elements and the software components, processes, and objects that live on them. Software component instances represent run-time manifestations of code units.
11Useful UML Links Tutorilas
- There is a mass of useful UML resources and
tutorials in the Internet, here are few of them
- http//www.omg.org
- http//www.holub.com/goodies/uml/index.html
- http//www.smartdraw.com/resources/centers/uml/uml
.htm - http//www.sparxsystems.com.au/UML_Tutorial.htm