0% found this document useful (0 votes)
93 views

Lecture 4 - Introduction To UML

This document discusses the Unified Modeling Language (UML). UML is a graphical language used to visualize, specify, construct and document software systems. It provides standard modeling diagrams and allows developers to model systems before writing code. The document outlines the basic UML diagrams including use case diagrams, class diagrams, sequence diagrams, and state diagrams. It also categorizes UML diagrams into structure, behavioral, and interaction diagrams and provides examples of each type.

Uploaded by

Mariya Iqbal
Copyright
© © All Rights Reserved
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
93 views

Lecture 4 - Introduction To UML

This document discusses the Unified Modeling Language (UML). UML is a graphical language used to visualize, specify, construct and document software systems. It provides standard modeling diagrams and allows developers to model systems before writing code. The document outlines the basic UML diagrams including use case diagrams, class diagrams, sequence diagrams, and state diagrams. It also categorizes UML diagrams into structure, behavioral, and interaction diagrams and provides examples of each type.

Uploaded by

Mariya Iqbal
Copyright
© © All Rights Reserved
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 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