Introduction To UML
Introduction To UML
Introduction To UML
Introduction to UML
SWE 214 (071) Introduction to UML Slide 2
Overview
What is Modeling?
What is UML?
A brief history of UML
Understanding the basics of UML
UML diagrams
UML Modeling tools
SWE 214 (071) Introduction to UML Slide 3
Modeling
Models are abstractions that portray the essentials of a complex
problem or structure by filtering out nonessential details.
Describing a system at a high level of abstraction
A model of the system
Used for requirements and specifications
Models help us organize, visualize, understand, and create
complex things.
Is it necessary to model software systems?
SWE 214 (071) Introduction to UML Slide 4
What is Visual Modeling?
Visual modeling is a way of thinking about problems
using models organized around real-world ideas.
Models are useful for
Understanding problems
Communicating with everyone involved with the project
(customer, domain expert, analyst, designers, etc.)
Modeling enterprises
Preparing documentation
Designing programs and databases
SWE 214 (071) Introduction to UML Slide 5
Object Oriented Modeling
SWE 214 (071) Introduction to UML Slide 6
What is UML?
UML stands for Unified Modeling Language
It is an industry-standard graphical language for
specifying, visualizing, constructing, and
documenting the artifacts of an object-oriented
system under development.
The UML uses mostly graphical notations to
express the OO analysis and design of software
projects.
Simplifies the complex process of software design
SWE 214 (071) Introduction to UML Slide 7
Why UML for Modeling
Use graphical notation to communicate more
clearly than natural language (imprecise) and
code(too detailed).
Help acquire an overall view of a system.
UML is not dependent on any one language or
technology.
UML moves us from fragmentation to
standardization.
SWE 214 (071) Introduction to UML Slide 8
History of the UML
In 1990s, many different methodologies, along with their
own set of notations, were introduced to the market
Object Modeling Technique (OMT) (James Rumbaugh)
Grady Booch
Object-oriented software engineering (OOSE) (Ivar Jacobson)
Method war
e.g. is a class a cloud or rectangle?
UML
De facto standard
SWE 214 (071) Introduction to UML Slide 9
SWE 214 (071) Introduction to UML Slide 10
The Unified Modeling Language
Several different notations for describing object-oriented
designs were proposed in the 1980s and 1990s.
The Unified Modelling Language is an integration of
these notations.
It describes notations for a number of different models
that may be produced during OO analysis and design.
It is now a de facto standard for OO modelling.
SWE 214 (071) Introduction to UML Slide 11
Object communication
Conceptually, objects communicate by
message passing.
Messages
The name of the service requested by the calling object;
Copies of the information required to execute the service
and the name of a holder for the result of the service.
In practice, messages are often implemented
by procedure calls
Name = procedure name;
Information = parameter list.
SWE 214 (071) Introduction to UML Slide 12
UML Diagrams
Use case diagram
Sequence diagram
Collaboration diagram
State diagram
Class diagram
Object diagram
Component diagram
Deployment diagram
Activity diagram
SWE 214 (071) Introduction to UML Slide 13
Use Case Diagram
Used for describing a set of user scenarios
Mainly used for capturing user requirements
Work like a contract between end user and software
developers
SWE 214 (071) Introduction to UML Slide 14
Use Case Diagram
SWE 214 (071) Introduction to UML Slide 15
Class diagram
Used for describing structure and behavior in the use
cases
Provide a conceptual model of the system in terms of
entities and their relationships
Used for requirement capture, end-user interaction
Detailed class diagrams are used for developers
SWE 214 (071) Introduction to UML Slide 16
Class diagram
SWE 214 (071) Introduction to UML Slide 17
Good Practice: CRC Card
(Class Responsibility Collaborator)
Benefits: It is easy to describe how classes work by
moving cards around; allows to quickly consider
alternatives.
SWE 214 (071) Introduction to UML Slide 18
Sequence diagram
Sequence diagrams demonstrate the behavior of objects in
a use case by describing the objects and the messages they
pass.
The horizontal dimension shows the objects participating
in the interaction.
The vertical arrangement of messages indicates their
order.
SWE 214 (071) Introduction to UML Slide 19
Sequence diagram
SWE 214 (071) Introduction to UML Slide 20
State diagram
State Diagrams show the sequences of states an object
goes through during its life cycle in response to stimuli,
together with its responses and actions; an abstraction
of all possible behaviors.
SWE 214 (071) Introduction to UML Slide 21
UML Modeling Tools
Rational Rose (www.rational.com) by IBM
TogetherSoft Control Center, Borland
(http://www.borland.com/together/index.html)
ArgoUML (free software) (http://argouml.tigris.org/ )
OpenSource; written in java
Others
(http://www.objectsbydesign.com/tools/umltools_byCom
pany.html )
SWE 214 (071) Introduction to UML Slide 22
Reference
1. UML Distilled: A Brief Guide to the Standard Object
Modeling Language Martin Fowler, Kendall Scott
2. IBM Rational http://www-
306.ibm.com/software/rational/uml/
3. Practical UML --- A Hands-On Introduction for Developers
http://www.togethersoft.com/services/practical_guides/umlonl
inecourse/
4. Software Engineering Principles and Practice. Second
Edition; Hans van Vliet.