Introduction to UML

advertisement
Introduction to UML
By:
Prof. Aiman Hanna
Department of Computer Science,
Concordia University,
Montreal, Canada
What 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."
2
Why 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.
3
Why 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.
4
History 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.
5
History 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.
6
Few 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 handwriting 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.
7
Types 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.
8
Types 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.
9
Types 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.
10
Useful 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
11
Download