You are on page 1of 29

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

You might also like