Académique Documents
Professionnel Documents
Culture Documents
Introduction to
OOAD and UML
Objectives
Object Oriented
Analysis and Design
(OOA&D)
Object oriented Analysis and Design refers to
SDLC
Object Oriented
Analysis (OOA)
Modeling
Introduction to UML
SDLC Phases-1
SDLC Phases-2
10
SDLC Phases-4
11
SDLC Phases-6
Software Construction
Actual construction (coding) of the programs
System Testing
Actual software code construction
Unit Testing: White Box testing
Independent Unit Testing
12
SDLC Phases-8
System Testing
After the programs are tested individually, the system as a whole
needs to be tested.
All the software modules are integrated and tested to ensure that
they do not fail i.e. it will run according to specifications as
mentioned in requirement specification document and in the way
the users expected it to.
Special test data is prepared as input for processing and the
results are examined to find out any deviations from the desired
results.
13
SDLC Phases-9
System Implementation
Developed system is deployed at the users site for use
User personnel are trained
The data files needed by the system are constructed
System Maintenance
Due to environmental changes, the software may turn obsolete and it may
call for modifications and enhancements for its effective use.
The activity of system maintenance may vary depending on the scale of
modifications and enhancements.
14
Model
15
16
Introduction to UML
17
Application in Software
Development Life Cycle
18
UML Overview
19
4+1 view
20
21
Component
22
Summary
23
UML:
An Introduction
Contents
Why model ?
Principles of modeling
What is UML ?
Introduction to UML
25
Why Model ?
Introduction to UML
26
Principles of Modeling
Introduction to UML
27
What is UML ?
Introduction to UML
28
What is UML?
Pretty pictures.
UML is not process. (That is, it doesnt tell you how to do
things, only what you should do.)
29
Introduction to UML
29
Introduction to UML
30
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
31
Accounts
System
Process
Order
Introduction to UML
32
Notation:
eventManager
DML_Parser.C
Introduction to UML
33
Notation:
PrintServer
Introduction to UML
34
Behavioral Things
The verbs of UML models; usually the dynamic
parts of the system in question.
Parse
Introduction to UML
35
Notation:
Engine
Idling
Introduction to UML
36
Grouping Things
The organisational part of the UML model; provides a
higher level of abstraction (granularity).
Notation:
Accounts
Department
Introduction to UML
37
Annotational Things
The explanatory part of the UML model; adds
information/meaning to the model elements.
Notation:
Introduction to UML
38
Relationships
Articulates the meaning of the links between things.
Introduction to UML
39
Relationships (contd.)
Introduction to UML
40
Relationships (contd.)
Introduction to UML
41
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
42
More on Diagrams...
Introduction to UML
43
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
44
More on Diagrams...
Introduction to UML
45
Dimensions...
. . .of Software Architecture
Structural Implementation
View View
Class Diagrams
Object Diagrams
Component Diagrams
User View
Use Case
Diagrams
Sequence Diagrams
Deployment Diagrams
Collaboration Diagrams
Statechart Diagrams
Activity Diagrams
Behavioral Environment
View View
CDAC (Formerly NCST)
Introduction to UML
46
Rules
Introduction to UML
47
Common Mechanisms
Introduction to UML
48
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
49
UML syntax, 2
50
Introduction to UML
50
UML syntax, 3
Introduction to UML
51
52
Introduction to UML
52
53
Introduction to UML
53
54
Introduction to UML
54
55
Introduction to UML
55
56
Introduction to UML
56
57
Introduction to UML
57
Introduction to UML
58
Introduction to UML
59
UML pitfalls, 1
Introduction to UML
60
Introduction to UML
61
Class diagram
perspective
Class diagrams can make sense at three distinct
levels, or perspectives:
Introduction to UML
62
63
Introduction to UML
63
Introduction to UML
64
Notation:
Package
Name
Class Name
<<Interface>>
Interface Name
65
Introduction to UML
65
Relationships
Notation:
Association
Aggregation
Inheritance
Dependency
Realize
66
Introduction to UML
66
67
Introduction to UML
67
Package Relationships
68
Introduction to UML
68
Multiplicity Indicators
Exactly one
0..*
Zero or more
1..*
One or more
0..1
Zero or one
2..7
Specified range
69
Introduction to UML
69
Multiplicity Indicators
70
Introduction to UML
70
Sequence Diagrams
71
Introduction to UML
72
Sequence diagram
example
73
Introduction to UML
73
More on UML...
UML is a modeling language for visualising,
specifying, constructing and documenting the
artifacts(pieces) of software systems.
Visualising - a picture is worth a thousand
words; a graphical unambiguously
communicates the overall view of the system
(problem-domain).
Introduction to UML
74
Introduction to UML
75
76
Introduction to UML
76
77
Introduction to UML
77
78
Introduction to UML
78
79
Introduction to UML
79
More on UML...
Specifying - UML provides the means to model
precisely, unambiguously and completely, the
system in question.
Introduction to UML
80
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
CDAC (Formerly NCST)
Introduction to UML
81
Stereotypes
Introduction to UML
82
Tagged Values
Introduction to UML
83
Constraints
Can apply to any element in the model attributes of a class, relationship, etc.
Notation: { incomplete, disjoint }
Introduction to UML
84
Summary
Introduction to UML
85
Summary
Introduction to UML
86
Summary
Introduction to UML
87
Summary
Introduction to UML
88
Summary
Introduction to UML
89
Summary
Introduction to UML
90
References
The Unified Modeling Language User
Guide
Grady Booch, James Rumbaugh, Ivar Jacobson
Addison-Wesley (International Student Edition)
UML Distilled
Martin Fowler (with Kendall Scott)
Addison-Wesley
Model Elements
Class
Use case
name
Component Name
Attributes
Operations
Dependency
Generalization
Association
Aggregation
(a form of Association)
92
UML in Brief
93