Professional Documents
Culture Documents
An Introduction
Contents
Why model ?
Principles of modeling
What is UML ?
Introduction to UML
Why Model ?
Introduction to UML
Importance of Modeling
Models help us
to visualize a system as it is or as we want it
to be.
to specify the structure or behavior of a
system.
in providing a template that guides us in
constructing a system.
in providing documenting the decisions we
have made.
CS 3300 Object-
Object-Oriented
Introduction to UML
Principles of Modeling
Introduction to UML
Object-Oriented Modeling
Object oriented
Objects or classes
CS 3300 Object-
Object-Oriented
Introduction to UML
What is UML ?
Introduction to UML
What is UML?
CS 3300 Object-
Object-Oriented
Introduction to UML
More on UML...
UML is a modeling language for visualising,
specifying, constructing and documenting the
artifacts of software systems.
Visualising - a picture is worth a thousand
words; a graphical notation articulates and
unambiguously communicates the overall view
of the system (problem-domain).
Introduction to UML
More on UML...
Specifying - UML provides the means to model
precisely, unambiguously and completely, the
system in question.
Introduction to UML
10
More on UML...
Documenting - every software
project involves a lot of documentation from the inception phase to the
deliverables.
Documentation is
(among others) for:
Requirements
Design
Tests
Introduction to UML
11
Building Blocks
Things
Relationships
Diagrams
Rules
Common Mechanisms
Specifications
Adornments
Common Divisions
Extensibility Mechanisms
Introduction to UML
12
Things
Structural
Behavioral
Grouping
Annotational
Relationships
Diagrams
Class Diagram
Object Diagram
Use Case Diagram
Behaviour Diagram
Implementation Diagram
Dependency
Association
Generalisation
Realization
Introduction to UML
13
Structural Things
The nouns of UML models; usually the static
parts of the system in question.
Class - an abstraction of a set of things in the problemdomain that have similar properties and/or functionality.
Notation:
customer
Introduction to UML
14
Accounts
System
Process
Order
Introduction to UML
15
eventManager
DML_Parser.C
Introduction to UML
16
Notation:
PrintServer
Introduction to UML
17
Behavioral Things
The verbs of UML models; usually the dynamic
parts of the system in question.
Parse
Introduction to UML
18
Engine
Idling
Introduction to UML
19
Grouping Things
The organisational part of the UML model; provides a
higher level of abstraction (granularity).
Notation:
Accounts
Department
Introduction to UML
20
Annotational Things
The explanatory part of the UML model; adds
information/meaning to the model elements.
Notation:
Introduction to UML
21
Relationships
Articulates the meaning of the links between things.
Introduction to UML
22
Relationships (contd.)
Introduction to UML
23
Relationships (contd.)
Introduction to UML
24
Diagrams
The graphical presentation of the model. Represented
as a connected graph - vertices (things) connected by
arcs (relationships).
UML includes nine diagrams - each capturing a
different dimension of a software-system architecture.
Class Diagram
Object Diagram
Use Case Diagram
Sequence Diagram
Collaboration Diagram
Statechart Diagram
Activity Diagram
Component Diagram
Deployment Diagram
Introduction to UML
25
More on Diagrams...
Introduction to UML
26
Student
- firstName
: String
1
+ main (args :
String[])
100
- lastName : String
- homeAddress :
Address
- schoolAddress :
Address
+ toString() : String
Address
- streetAddress :
String
- city : String
- state : String
- zipCode : long
+ toString() : String
CDAC (Formerly NCST)
Introduction to UML
27
27
Introduction to UML
28
Introduction to UML
29
More on Diagrams...
Sequence Diagram - models the flow of control by timeordering; depicts the interaction between various objects by
of messages passed, with a temporal dimension to it.
Introduction to UML
30
Sequence Diagram
Introduction to UML
31
Introduction to UML
32
Introduction to UML
33
More on Diagrams...
Introduction to UML
34
Introduction to UML
35
COMPONENT DIAGRAM
EXAMPLE
Introduction to UML
36
Deployment diagram ex
Introduction to UML
37
Rules
Introduction to UML
38
Introduction to UML
39/31
39
Introduction to UML
40/31
40
Introduction to UML
41/31
41
Adornments
Adorn the model - i.e., enhance the model. Adds to
the meaning and/or semantics of the element to
which it pertains.
Notes are the mechanism provided by UML for
adorning a model:
Introduction to UML
42
Introduction to UML
43/31
43
Common Divisions
Introduction to UML
44
Contd.
Introduction to UML
45
Introduction to UML
46/31
46
Stereotypes
Introduction to UML
47
Tagged Values
Introduction to UML
48
Constraints
Can apply to any element in the model attributes of a class, relationship, etc.
Notation: { incomplete, disjoint }
Introduction to UML
49
ARCHITECTURE
Visualizing ,Specifying ,Constructing and
Documenting a software system demands that
the system can be viewed in different
perspectives.
Architecture is the set of significant decisions
about:
-The organisation of a software system
-The Selection of the structural elements and
their interfaces by which the system is
composed.
CDAC (Formerly NCST)
Introduction to UML
50
Architecture.
Introduction to UML
51/31
51
.Architecture
The 4 +1 views architecture, Fig. 1.13 [Arlow & Neustadt 2005]
Introduction to UML
52/31
52
Architecture centric
Introduction to UML
53/31
53
SDLC
Introduction to UML
54/31
54
Introduction to UML
55/31
55