Object-Oriented Analysis and Design Using UML
Objectives
In this session, you will learn to:
Identify the types of UML diagrams
Use Microsoft Visio to create UML diagrams
Identify the benefits, lifecycle, and best practices of RUP
Ver. 1.0 Slide 1 of 24
Object-Oriented Analysis and Design Using UML
Defining Deployment Diagrams
A deployment diagram shows the physical placement of
components in nodes over a network.
Ver. 1.0 Slide 2 of 24
Object-Oriented Analysis and Design Using UML
Defining Timing Diagrams
Timing diagrams are used to represent the changes in state
and value of one or more objects over a period of time.
Timing diagrams are often used to design embedded
software.
Timing diagrams are of two types:
Concise notation
Robust notation
Ver. 1.0 Slide 3 of 24
Object-Oriented Analysis and Design Using UML
Defining Timing Diagrams (Contd.)
Lifeline for Printer - Concise Notation
Printer Idle Receiving Data Printing Idle
Lifeline for Printer - Robust Notation
Printer
Idle
Receiving
Data
Printing
0 5 10 15 20 25 30 35 40 45 50 55 60
65
Ver. 1.0 Slide 4 of 24
Object-Oriented Analysis and Design Using UML
Defining Timing Diagrams (Contd.)
Lifelines in a robust notation can also be stacked as shown
in the following figure.
Printer
Idle
Receiving Data
Printing print
PC
Idle
Finish
Processing
Reporting
0 5 10 15 20 25 30 35 40 45 50 55 60 65
Ver. 1.0 Slide 5 of 24
Object-Oriented Analysis and Design Using UML
Defining Composite Structure Diagrams
A composite structure diagram represents the internal
structure and interaction points of a classifier.
Classifier refers to classes, objects, or interfaces.
Interaction points refer to the points within a classifier using
which the classifier interacts with other parts of the system.
Composite structure diagrams are used to explore run-time
instances of interconnected classifiers collaborating over
communications links.
A composite structure diagram is made up of several
elements, such as parts, ports, and interfaces.
Ver. 1.0 Slide 6 of 24
Object-Oriented Analysis and Design Using UML
Defining Composite Structure Diagrams (Contd.)
Parts in a Composite Structure diagram
Car
rear:Wheel(2) e:Engine
a:Axle
2 1
Ports and Interfaces in a Composite Structure diagram
Power Car
Engine
Gasoline
Ver. 1.0 Slide 7 of 24
Object-Oriented Analysis and Design Using UML
Defining Interaction Overview Diagrams
Interaction overview diagrams give an overview of
interaction diagrams. Interaction diagrams include the
following types of diagrams:
Sequence diagram
Communication diagram
Timing diagram
Interaction overview diagram
Interaction overview diagrams represent the logical
interaction between the interaction diagrams and the
process flows in between the set of interaction diagrams.
Ver. 1.0 Slide 8 of 24
Object-Oriented Analysis and Design Using UML
Defining Interaction Overview Diagrams (Contd.)
Example of Interaction
ref
Overview Diagram Issue Parts
Reorderlevel=False
ReorderLevel=True
sd
Inventory Deptt.
Suppl:Supplier
Places Order
Supplies Order
Ver. 1.0 Slide 9 of 24
Object-Oriented Analysis and Design Using UML
Associating UML Diagrams with UML Modeling Techniques
The four modeling techniques are:
Requirements modeling: Involves depicting the requirements
using use case diagrams.
Static modeling: Involves depicting the static constituents of
the software system using the class, object, and composite
structure diagrams.
Dynamic modeling: Involves depicting the behavior of static
constituents using the following diagrams:
Activity diagrams
State machine diagrams
Communication diagrams
Sequence diagrams
Interaction overview diagrams
Timing diagrams
Ver. 1.0 Slide 10 of 24
Object-Oriented Analysis and Design Using UML
Associating UML Diagrams with UML Modeling Techniques (Contd.)
Architectural modeling: Involves depicting the architecture of
the software system into multiple tiers, such as presentation,
business, and resource by using the following diagrams:
Package diagram
Component diagram
Deployment diagram
Ver. 1.0 Slide 11 of 24
Object-Oriented Analysis and Design Using UML
Just a minute
Which of the following UML diagrams is used for
requirement modeling?
1. Use case diagram
2. Class and Object diagram
3. State diagram
4. Component diagram
Answer:
Use Case diagram
Ver. 1.0 Slide 12 of 24
Object-Oriented Analysis and Design Using UML
Viewing a Software System Architecture
The architecture of a software system is defined as an
arrangement of the static and dynamic constituents in a
model.
The various views of a software system are:
Use case view: Indicates the functionalities that the system
offers to each stakeholder.
Design view: Focuses on the static and dynamic
representation of the system.
Process view: Represents various processes executing in a
system at a given instance of time.
Implementation view: Represents the physical system
including files and components required to assemble the
system.
Deployment view: Represents the hardware components on
which the software system will execute.
Ver. 1.0 Slide 13 of 24
Object-Oriented Analysis and Design Using UML
Just a minute
Which of the following views of a software system focuses
on the static and dynamic representation of the system?
1. Use Case view
2. Deployment view
3. Design view
4. Implementation view
Answer:
Design view
Ver. 1.0 Slide 14 of 24
Object-Oriented Analysis and Design Using UML
Identifying the Role of UML in SDLC
Diagrams developed using UML serve as key documents in
each phase of SDLC.
The following table lists the UML diagrams that the end
users can use in the requirement analysis phase:
Diagram Role of a Diagram in the Requirement Analysis Phase
Use case Depicts the various users of the system and how they are going
to use the system to meet the requirement objectives.
Class Depicts the classes and their dependencies for the primary
requirements of the system.
Sequence and Depicts the sequence of steps performed in a process.
Collaboration
Activity Depicts the specific activities that are required to understand the
functional requirements of the system.
Interaction Depicts how the various processes interact with each other.
Overview
Ver. 1.0 Slide 15 of 24
Object-Oriented Analysis and Design Using UML
Identifying the Role of UML in SDLC (Contd.)
The following table lists various UML diagrams that you can
use in the design phase:
Diagram Role of a Diagram in SDLC phase
Class Depicts the classes, their attributes and operations, and the
relationship between classes.
Sequence and Depicts the sequence of interactions between the various objects
Communication of the system.
Package Depicts the various classes that are grouped together depending
on their functionality.
Deployment Depicts the layout of the software components over the network.
State Depicts the state of an object on the occurrence of an event.
Component Depicts the components required for executing system.
Composite Depicts the internal structure and interaction points of the various
Structure classes, objects, and interfaces.
Interaction Depicts the interactions between the various interaction
Overview diagrams.
Ver. 1.0 Slide 16 of 24
Object-Oriented Analysis and Design Using UML
Identifying the Role of UML in SDLC (Contd.)
You use the use case diagram in the test phase.
The use case diagram depicts the test cases on the basis of
which the system is tested.
Ver. 1.0 Slide 17 of 24
Object-Oriented Analysis and Design Using UML
Introducing Visio as a UML Tool
Visio is a Microsoft tool that facilitates OOAD using UML.
It helps to create all the diagrams defined by UML.
Ver. 1.0 Slide 18 of 24
Object-Oriented Analysis and Design Using UML
Identifying Rational Unified Process (RUP)
RUP is a methodology developed by Rational Software
Corporation, a division of IBM.
It provides templates, examples, and tools that act as
mentors for all activities performed in the different phases of
software development process.
It is completely compatible with UML and is integrated with
the Rational suites of software development tools.
Ver. 1.0 Slide 19 of 24
Object-Oriented Analysis and Design Using UML
Benefits of RUP
Benefits of RUP are:
Enhances team productivity by providing team members with
easy access to a knowledge base.
Provides a guideline on how to effectively use UML.
Supports tools that automate large parts of the development
process.
Supports iterative process to software development.
Supports architecture-centric development process.
Allows customization of the process.
Ver. 1.0 Slide 20 of 24
Object-Oriented Analysis and Design Using UML
Life Cycle of RUP
Four phases of RUP life cycle are:
Inception
Elaboration
Construction
Transition
Ver. 1.0 Slide 21 of 24
Object-Oriented Analysis and Design Using UML
RUP Best Practices
Best practices defined by RUP for software development
process are:
Develop software iteratively
Manage requirements effectively
Use a component-based development approach
Visually model software
Verify the software quality
Control any changes to the software
Ver. 1.0 Slide 22 of 24
Object-Oriented Analysis and Design Using UML
Just a minute
Which of the following phases of RUP includes analyzing
the problem domain, developing project plan, and
eliminating highest possible risks?
1. Inception
2. Elaboration
3. Construction
4. Transition
Answer:
Elaboration
Ver. 1.0 Slide 23 of 24
Object-Oriented Analysis and Design Using UML
Summary
In this session, you learned that:
The thirteen UML diagrams are use case, class, object,
communication, sequence, state machine, activity, component,
deployment, timing, composite structure, Interaction overview,
and package.
The architecture of a software system can be viewed from the
different perspectives of the stakeholders.
UML diagrams are used in the analysis and design phases of
SDLC.
Visio is a tool that can be used to draw UML diagrams.
Rational Unified Process (RUP) is a software development
methodology developed by Rationale Software Corporation,
which is now a division of IBM. It is a process framework that
helps you to create and deploy software designed using UML.
Ver. 1.0 Slide 24 of 24