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

SDA-6 lecture number 6

Data structure and algorithm lecture number 6 for

Uploaded by

mhashir3052
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
7 views

SDA-6 lecture number 6

Data structure and algorithm lecture number 6 for

Uploaded by

mhashir3052
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 35

Introduction to UML

http://www.uml-diagrams.org/uml-25-diagrams.html

1
Overview

• What is UML?
• A brief history of UML and its origins.
• UML diagrams (Version 2.5)
• UML Modeling tools
• References

2
UML: Unified Modeling Language
• An industry-standard graphical language for
specifying, visualizing, constructing, and
documenting the artifacts of software systems,
as well as for business modeling.

• The UML uses mostly graphical notations to


express the OO analysis and design of
software projects.

• Simplifies the complex process of software


design
3
Why UML for Modeling?
• A diagram/picture = thousands words
• Uses graphical notation to communicate more
clearly than natural language (imprecise) and
code(too detailed).
• Makes it easier for programmers and software
architects to communicate.
• Helps acquire an overall view of a system.
• UML is not dependent on any one language or
technology.
• UML moves us from fragmentation to
standardization.
4
History
Year Version
Time 2013: UML 2.5 (Specs being finalised)
2012: UML 2.4.1 (current)
…….
2003: UML 2.0
2001: UML 1.4
1999: UML 1.3
1997: UML 1.0, 1.1
1996: UML 0.9 & 0.91
1995: Unified Method 0.8

Booch ‘93 OMT - 2


Jacobson ’s
OOSE

Booch ’91
(OOD) Rumbaugh's
OMT - 1
5
Three Amigos.
6
Structure diagram shows static structure of the system and its
parts on different abstraction and implementation levels and
how those parts are related to each other.
Structure diagrams are not utilizing time related concepts, do
not show the details of dynamic behavior.

STRUCTURE DIAGRAMS

7
Class diagram
• A static structure diagram which describes
structure of a system at the level
of classifiers (classes, interfaces, etc.).
• It shows some classifiers of the system,
subsystem or component, different relationships
between classifiers, their attributes, operations
and constraints.
• Some common types of class diagrams are:
– domain model diagram,
– System model diagram of implementation classes.

8
Package Diagram
• Package diagram is UML structure
diagram which shows structure of the
designed system at the level of packages.
• The following elements are typically drawn
in a package diagram:
– package, packageable element,
dependency, element import, package
import, package merge.

9
Package Diagram

10
Composite Structure Diagrams
Composite Structure Diagram could be used to show:
• internal structure of a classifier - internal
structure diagram,
• classifier interactions with environment
through ports,
• a behavior of a collaboration - collaboration use
diagram.
The term "structure" for this type of diagrams is
defined in UML as a composition of interconnected
elements, representing run-time instances
collaborating over communications links to achieve
some common objectives.
11
Collaboration Use Diagram

12
Network architecture diagrams

13
Behavior diagrams show the dynamic behavior of the objects in
a system, which can be described as a series of changes to the
system over time

BEHAVIOR DIAGRAMS

14
Use Case Diagram
• Use case diagrams are in fact twofold:
– they are both behavior diagrams, because they describe
behavior of the system describe a set of actions (use
cases) that some system or systems (subject) should or
can perform in collaboration with one or more external
users of the system (actors), and
– they are also structure diagrams - as a special case of
class diagrams where classifiers are restricted to be
either actors or use cases related to each other
with associations.
• UML 2.5 Specification moved use cases out of
behavior modeling to UML supplementary
concepts.
• Two kinds: Business use case and system use case
15
Business Use Case Diagrams

• Business use cases were introduced in Rational


Unified Process (RUP) to represent business
function, process, or activity performed in the
modeled business.
• A business actor represents a role played by some
person or system external to the modeled
business, and interacting with the business.
• Business use case should produce a result of
observable value to a business actor.

16
Business Use Case Diagrams

17
System Use Case Diagram

18
Information Flow Diagrams
• Information flow diagram is UML behavior
diagram which shows exchange of information
between system entities at some high levels of
abstraction.
• Information flows may be useful to describe
circulation of information through a system by
representing aspects of models not yet fully
specified or with less details. Useful for
architectural modeling.
• Information flows do not specify the nature of the
information, mechanisms by which it is conveyed,
sequences of exchange, or any control conditions.
19
Information Flow Diagrams

20
Activity Diagrams
• Activity diagram is UML behavior diagram which
shows flow of control or object flow with
emphasis on the sequence and conditions of the
flow.
• The actions coordinated by activity models can be
initiated because other actions finish executing,
because objects and data become available, or
because some events external to the flow occur.
• The following nodes and edges are typically drawn
on UML activity diagrams:
– activity, partition, action, object, control, activity edge.

21
Business Flow - Process Order Example

22
State Machine Diagrams
• State machine diagram is a behavior
diagram which shows discrete behavior of a part
of designed system through finite state
transitions.
• State machine diagrams can also be used to
express the usage protocol of part of a system.
• Two kinds of state machines defined in UML
2.4 are:
– behavioral state machine, and
– protocol state machine.
• Behavioral state machine is subclassed by
protocol state machine
23
Behavioral state machine diagram
Example - Bank ATM

24
Interaction diagrams

• Interaction diagrams include several


different types of diagrams:
– sequence diagrams,
– interaction overview diagrams,
– communication diagrams, (known
as collaboration diagrams in UML 1.x)
– timing diagrams.

25
Sequence Diagrams
• Sequence diagram is the most common kind
of interaction diagram, which focuses on
the message interchange between a number
of lifelines.
• Sequence diagram describes an interaction by
focusing on the sequence of messages that are
exchanged, along with their corresponding
occurrence specifications on the lifelines.
• The following nodes and edges are typically drawn
in a UML sequence diagram:
– lifeline, execution specification, message, combined
fragment, interaction use, state invariant continuation
destruction occurrence.
26
Communication Diagrams

• Communication diagram (called collaboration


diagram in UML 1.x) is an interaction
diagram which shows interactions between
objects and/or parts(represented as lifelines)
using sequenced messages in a free-form
arrangement.
• Communication diagram corresponds (could be
converted to/from or replaced by) to
simple sequence diagram.

27
Communication Diagrams

• Instance of A sends • Instance of A sends


draw() message to draw() messages
instance of B, and concurrently to
after that B sends instance of B and to
paint() to C. instance of C

28
Communication Diagram
Example
Timing Diagrams

• Timing diagrams are UML interaction


diagrams used to show interactions when a
primary purpose of the diagram is to reason
about time.
• Timing diagrams focus on conditions changing
within and among lifelines along a linear time axis.

30
Timing Diagrams
• Timing Diagram Example - Stages of Alzheimer’s
Disease

31
Each UML diagram has a contents area.
As an option, some diagrams may also have a frame (shown as
rectangle) with frame heading.

UML ELEMENT FRAMES

32
UML Modeling Tools
• Rational Rose (www.rational.com) by IBM
• UML Studio 7.1 ( http://www.pragsoft.com/) by
Pragsoft Corporation
Capable of handling very large models (tens of
thousands of classes). Educational License US$ 125.00;
Freeware version.
• Microsoft Visio
• Dia: open source, much like visio.
(http://www.gnome.org/projects/dia/)
• ArgoUML (Open Source; written in java )
(http://www.apple.com/downloads/macosx/development_
tools/argouml.html )
• Others
(http://www.objectsbydesign.com/tools/umltools_byCom
pany.html )

33
Reference
1. UML Distilled: A Brief Guide to the Standard Object Modeling Language
Martin Fowler, Kendall Scott

2. Practical UML --- A Hands-On Introduction for Developers


http://www.togethersoft.com/services/practical_guides/umlonlinecourse/

3. OO Concepts in UML. Dr. David A. Workman, School of EE and CS.


UCF.

4. Software Engineering Principles and Practice. Second Edition;


Hans van Vliet.

5. UML 2 Tool kit (OMG 2004)

6. The Unified Modeling Language User Guide SECOND EDITION


By Grady Booch, James Rumbaugh, Ivar Jacobson
6.

34
Thank You!

35

You might also like