Rajthilak S
End user
Project Manager
System Engineer
Developer
Tester
Maintainer
Multidimensional Reality
Many Stakeholders
Models
Modeling is the designing of software applications before coding.
Models are the higher level of abstraction of the System.
A model plays the analogous role in software development that blueprints and
other plans (site maps, elevations, physical models) play in the building of a
skyscraper.
Modeling is the only way to visualize the design and check it against
What is UML?
Evolution of UML
Design(OOA&D).
unifies the notations used by three amigos(Grady Booch, Ivar
Basic OO Terms
A model is an abstraction of the underlying problem.
The domain is the actual world from which the problem comes.
Models consist of objects that interact by sending each other messages.
Objects have things they know (attributes) and things they can do (behaviors
or operations).
Use
Case
Use
Case
Sequence
Diagrams
Diagrams
Diagrams
Scenario
Scenario
Collaboration
Diagrams
Diagrams
Diagrams
Scenario
Scenario
Statechart
Diagrams
Diagrams
Diagrams
Use
Case
Use
UseCase
Case
Diagrams
Diagrams
Diagrams
State
State
Class
Diagrams
Diagrams
Diagrams
Models
Activity
Diagrams
State
State
Object
Diagrams
Diagrams
Diagrams
State
State
Component
Diagrams
Diagrams
Diagrams
Component
Component
Diagrams
Deployment
Diagrams
Diagrams
Construct
Description
use case
actor
system
boundary
Introduction to UML
Syntax
U seC aseN am e
A c to rN a m e
Construct
Description
Syntax
association
Introduction to UML
<<extend>>
Construct
Description
include
Introduction to UML
Syntax
<<include>>
Include Relationship
The behavior of the inclusion use case is common to two or more use cases.
The result of the behavior that the inclusion use case specifies, not the behavior itself,
is important to the base use case.
Introduction to UML
CLASS DIAGRAM
Structural overview of a system by showing its classes and the relationships
among them
Static diagrams
Static relations:
Associations
Subtypes
Static structure:
Attributes
Operations
CLASS DIAGRAM
Access
public
private
protected
Class Operations
An operation is the implementation of a service that can be requested from any
Class-Association
Associations are structural relationships where instances (objects) of one class
associated with another object, both objects are aware of each other (navigation
is bidirectional by default).
Binary association connects exactly two classes.
The most common association is just a connection between classes.
association.
Each association has two association ends; each end is attached to one of the
classes in the association. An end can be explicitly named with a label. This
label is called a role name (association ends are often called roles).
Reflexive Associations
A class has an association to itself.
Directory
0..1
parent
0..*
File
Class Navigability
A navigability arrow on an association shows which direction the association
transports
Car
Person
passenger
Default of 1 (1: 1)
transports
Car
Person
passenger
0 or 1: 0..1
transports
Car
Person
passenger
transports
1..*
Car
Person
passenger
transports
2..5
Car
Person
passenger
Class - Generalization
A specialization / generalization relationship, in which objects of the
power
power
{overlapping}
WindPowered
Vehicle
Truck
venue
MotorPowered
Vehicle
Sailboat
{overlapping}
Land
Vehicle
Water
Vehicle
Generalization - characteristics
Identify common features concerning behaviour and knowledge.
classes.
Specialization - characteristics
existing class.
CONSTRAINTS
hierarchy.
Abstract operations and classes are specified by writing its
name in italics.
Package Diagram
To simplify complex class diagrams, we can group classes into
packages. Packages.
Packages appear as rectangles with small tabs at the top.
The package name is on the tab or inside the rectangle.
The dotted arrows are dependencies.
PACKAGE DIAGRAM
operations are carried out -- what messages are sent and when.
The Sequence diagram lists objects horizontally, and time vertically, and
Actor Represents an external person or entity that interacts with the system
Group Groups related header elements into subsystems or components being modeled and
are laid out horizontally at the top of the diagram.
Block(Loop or Conditional)
Page Break
Return Message
Free Note
Flow Note
Diagram links
Sequence Diagram-Example
SEQUENCE DIAGRAM
can be used to flesh out the details of one or more use cases
COLLABORATION DIAGRAM
Type of an interaction diagram.
Collaborates the static and dynamic relationship
Focus on Object Roles rather than timing.
Each message in a collaboration diagram has a sequence number.
The Collaboration diagram may be used to:
Describe a specific scenario by depicting the movement of messages between the objects
Show a spatial organization of objects and their interactions, rather than the sequence of
the interactions
COLLABORATION DIAGRAM
Sequence Diagram
Collaboration Diagram
Reserving a copy of book in Library
Our example diagram models the login part of an online banking system.
Getting PIN, Validating, and Rejecting. From each state comes a complete
set of transitions that determine the subsequent state.
Uses
The life history of a given class, usecase, operation
The events that cause a transition from one state to another
The actions that result from a state change
ACTIVITY DIAGRAM
An activity diagram is essentially a fancy flowchart.
Activity diagrams and statechart diagrams are related.
Statechart diagram focuses attention on an object
Symbol
GO TO USER
ROLES PAGE
ACTIVITY DIAGRAM
Implementation diagrams
Component Diagram
62
components
Components include
Introduction to UML
Symbol
Component Diagram
Deployment Diagram
65
Introduction to UML
Deployment Diagram
The current official version of UML and its associated specifications can be
downloaded from OMG Specifications Catalog page for Modeling and Metadata
Specifications at
http://www.omg.org/technology/documents/modeling_spec_catalo
g.htm#UML
UML Certification
OCUP
OMG Certified UML Professional
Three Certification Levels:
OCUP Fundamental
OCUP Intermediate
OCUP Advanced
Link : http://www.omg.org/uml-certification/
References
Web References :
http://www.uml.org/
http://dn.codegear.com/article/31863
http://www-128.ibm.com/developerworks/rational/library/3101.html
http://www.andrew.cmu.edu/course/90-754/umlucdfaq.html
Book References :
User Guide for UML by Grady Booch, Ivar Jacobson and James Rumbaugh
Thank You