In the name of Allah, the Beneficent, the Merciful
Software Analysis & Design
Patterns (CS-744)
Dr. Muhammad Bilal Bashir
Lecture 04:
- Unified Modeling Language (UML)
2
Unified Modeling Language (UML)
“Owning a hammer doesn’t make one an
architect”
•Knowing an object-oriented language (such as
Java) is a necessary but insufficient first step to
create object oriented systems
•Knowing how to "think in objects" is critical
3
What is UML?
• UML (Unified Modeling Language)
▫ “A graphical language for visualizing,
specifying, constructing and documenting the
artifacts of a software intensive system”
[Booch]
▫ Nonproprietary standard for modeling
software systems – OMG
4
What is UML?
• Current Version: UML 2.5.1
▫ For details https://www.omg.org/spec/UML/2.5.1/
• UML Tools
▫ Rational (IBM)
▫ Together (Borland)
▫ Visual Architect (business processes, BCD)
▫ Open Source tools:
▫ ArgoUML
▫ StarUML
5
UML is for Visual Modeling - A picture is worth a
thousand words!
• Captures Business Processes from enterprise
information systems to distributed web-based
applications Business Process
Sales Places Order
Representative Customer
Fulfills Order
Items
Ships via
6
UML - Basic Diagrams
• 80-20 rule: Pareto principle
▫ 80% of your profits come from 20% of your
customers
▫ 80% of software problems are caused by 20% of
bugs
▫ 80% of users only use 20% of software features
• We can model 80% of the problems by
using about 20% UML
• We will mainly cover those 20%
7
UML - Basic Diagrams
• Use case diagrams
• Describe the functional behavior of the system as seen
by the user
• Class diagrams
• Describe the static structure of the system: Classes,
attributes, associations
• Sequence diagrams
• Describe dynamic behavior between objects of system
• State diagrams
• Describe the dynamic behavior of an individual object
8
An Example
• A "dice game" in which software simulates a
player rolling two dice
• If the total is seven, he wins; otherwise, he loses
9
Define Use Cases
• Play a Dice Game use case: Player requests to
roll the dice. System presents results: If the dice face
value totals seven, player wins; otherwise, player loses
Dice Game
Play a Dice
Game
Player
10
Classifications of UML Diagrams
• Three classifications of UML diagrams:
1. Structure diagrams. A type of diagrams that
depict the elements of a specification that are
irrespective of time.
2. Behavioral diagrams. A type of diagrams
that depict behavioral features of a system or
business process.
3. Interaction diagrams. A subset of behavior
diagrams which emphasize object interactions.
11
Structure Diagrams
• Class Diagram
• Object Diagram
• Component Diagram
• Composite Diagram
• Package Diagram
• Deployment Diagram
12
Class Diagram
13
Object Diagram
14
Component Diagram
15
Composite Diagram
16
Package Diagram
17
Deployment Diagram
18
Behavioral Diagrams
• Use Case Diagram
• Activity Diagram
• Statechart Diagram
• Interaction Diagram
19
Use Case Diagram
20
Activity Diagram
21
Statechart Diagram
22
Interaction Diagrams
• Sequence Diagram
• Communication Diagram
• Timing Diagram
• Interaction Overview Diagram
23
Sequence Diagram
24
Communication Diagram
25
Timing Diagram
26
Interaction Overview Diagram
27
The UML is NOT
• A visual programming language, but a
visual modeling language
• A tool or repository specification, but a
modeling language specification
• A process, but enables processes
28
Extensibility of UML
• Stereotypes
▫ Allows to define a new kind of model element
based on an existing one
▫ Basically adds extra semantics
29
Any Questions?
Summary