SlideShare a Scribd company logo
1 of 49
Unified Modeling
Language (UML):
The Complete Guide
Page 2Classification: Restricted
Agenda
• Class Diagram
• What is Class Diagram
• Class Representation
• Types of Class
• Sequence Diagram
• Interaction Diagram
Page 3Classification: Restricted
• Used for describing structure and behavior in the use cases
• Provide a conceptual model of the system in terms of entities and their
relationships
• Used for requirement capture, end-user interaction
• Detailed class diagrams are used for developers
Class diagram
Page 4Classification: Restricted
A collection of similar objects is a class. And an object is an instance of a class.
What is a Class?
Page 5Classification: Restricted
Class representation
• Each class is represented by a rectangle subdivided into three
compartments
• Name
• Attributes
• Operations
• Modifiers are used to indicate visibility of attributes and operations.
• ‘+’ is used to denote Public visibility (everyone)
• ‘#’ is used to denote Protected visibility (friends and derived)
• ‘-’ is used to denote Private visibility (no one)
• By default, attributes are hidden and operations are visible.
Page 6Classification: Restricted
An example of Class
Account_Name
- Customer_Name
- Balance
+addFunds( )
+withDraw( )
+transfer( )
Name
Attributes
Operations
Page 7Classification: Restricted
• Super Class
• Parent Class
• Generalized Class
• Specialized Class
• Sub Class
• Child Class
Types of Classes
Page 8Classification: Restricted
Animal
Amphibian Mammal Reptile
Horse
Example
Child Class
of Animal
Child Class
of Animal
Child Class
of Mammal
Super Class
of horse
Parent Class
of Mammal
Sub Class of
Animal
Page 9Classification: Restricted
OO Relationships
• There are two kinds of Relationships
• Generalization (parent-child relationship)
• Association (one object to another object relationship)
• Associations can be further classified as
• Aggregation
• Composition
Page 10Classification: Restricted
OO Relationships : Generalization
Subtype2
Supertype
Subtype1
• Generalization expresses a
parent/child relationship
among related classes.
• Used for abstracting details in
several layers
Regular
Customer
Loyalty
Customer
Customer
Example
:
Regular
Customer
Loyalty
Customer
Customeror:
Page 11Classification: Restricted
OO Relationships : Association
• Represent relationship between instances of classes
• Student enrolls in a course
• Courses have students
• Courses have exams
• Etc.
• Association has two ends
• Role names (e.g. enrolls)
• Multiplicity (e.g. One course can have many students)
• Navigability (unidirectional, bidirectional)
Page 12Classification: Restricted
University Person
1
0..1
*
*
Multiplicity
Symbol Meaning
1 One and only one
0..1 Zero or one
M..N From M to N (natural language)
* From zero to any positive integer
0..* From zero to any positive integer
1..* From one to any positive integer
teacheremployee
Role
“A given university groups many people;
some act as students, others as teachers.
A given student belongs to a single
university; a given teacher may or may not
be working for the university at a particular
time.”
student
Association: Multiplicity and Roles
Page 13Classification: Restricted
Class Diagram
Page 14Classification: Restricted
OO Relationships : Composition
Class W
Class P1 Class P2
Whole Class
Part Classes
Automobile
Engine Transmission
Example
Composition: expresses a relationship among instances of
related classes. It is a specific kind of Whole-Part
relationship.
It expresses a relationship where an instance of the
Whole-class has the responsibility to create and initialize
instances of each Part-class.
It may also be used to express a relationship where instances
of the Part-classes have privileged access or visibility to
certain attributes and/or behaviors defined by the Whole-
class.
Composition should also be used to express relationship
where instances of the Whole-class have exclusive access to
and control of instances of the Part-classes.
Composition should be used to express a relationship where
the behavior of Part instances is undefined without being
related to an instance of the Whole. And, conversely, the
behavior of the Whole is ill-defined or incomplete if one or
more of the Part instances are undefined.
[From Dr.David A. Workman]
Page 15Classification: Restricted
OO Relationships : Composition
[From Dr.David A. orkman]
Class C
Class E1 Class E2
AGGREGATION
Container Class
Containee Classes
Bag
Apples Milk
Example
Aggregation: expresses a relationship among
instances of related classes. It is a specific kind of
Container-Containee relationship.
It expresses a relationship where an instance of
the Container-class has the responsibility to hold
and maintain instances of each Containee-class
that have been created outside the auspices of the
Container class.
Aggregation should be used to express a more
informal relationship than composition expresses.
That is, it is an appropriate relationship where the
Container and its Containees can be manipulated
independently.
Aggregation is appropriate when Container and
Containees have no special access privileges to
each other.
Page 16Classification: Restricted
Aggregations vs. Composition
• Composition is really a strong form of aggregation
• components have only one owner
• components cannot exist independent of their
owner
• components live or die with their owner
e.g. Each car has an engine that can not be
shared with other cars.
•Aggregations may form "part of" the aggregate, but may not be
essential to it. They may also exist independent of the aggregate.
e.g. Apples may exist independent of the bag.
Page 17Classification: Restricted
Interaction Diagrams
A Sequence diagram is an interaction diagram that shows how objects
operate with one another and in what order.
• They're also called event diagrams.
• A sequence diagram is a good way to visualize and validate various
runtime scenarios.
• These can help to predict how a system will behave and to discover
responsibilities a class may need to have in the process of
modeling a new system
Page 18Classification: Restricted
Sequence Diagrams
Page 19Classification: Restricted
Class Roles or Participants
Class roles describe the way an object will behave in context. Use the UML
object symbol to illustrate class roles, but don't list object attributes.
Basic Sequence Diagram Symbols and Notations
Page 20Classification: Restricted
Basic Sequence Diagram Symbols and Notations
Activation or Execution Occurrence
Activation boxes represent the time an object needs to complete a task.
When an object is busy executing a process or waiting for a reply message,
use a thin gray rectangle placed vertically on its lifeline.
Page 21Classification: Restricted
Basic Sequence Diagram Symbols and Notations
Messages
Messages are arrows that represent communication between objects. Use
half-arrowed lines to represent asynchronous messages. Asynchronous
messages are sent from an object that will not wait for a response from the
receiver before continuing its tasks..
Page 22Classification: Restricted
Basic Sequence Diagram Symbols and Notations
Lifelines
Lifelines are vertical dashed lines that indicate the object's presence over
time.
Page 23Classification: Restricted
Basic Sequence Diagram Symbols and Notations
Destroying Objects
Objects can be terminated early using an arrow labeled "<< destroy >>" that
points to an X. This object is removed from memory. When that object's
lifeline ends, you can place an X at the end of its lifeline to denote a
destruction occurrence.
Loops
A repetition or loop within a sequence diagram is depicted as a rectangle.
Place the condition for exiting the loop at the bottom left corner in square
brackets [ ].
Page 24Classification: Restricted
Types of Messages in Sequence Diagram
Synchronous Message
A synchronous message requires a response before the interaction can
continue. It's usually drawn using a line with a solid arrowhead pointing
from one object to another.
Page 25Classification: Restricted
Types of Messages in Sequence Diagram
Asynchronous Message
Asynchronous messages don't need a reply for interaction to continue. Like
synchronous messages, they are drawn with an arrow connecting two
lifelines; however, the arrowhead is usually open and there's no return
message depicted.
Page 26Classification: Restricted
Types of Messages in Sequence Diagram
Page 27Classification: Restricted
Types of Messages in Sequence Diagram
Page 28Classification: Restricted
Types of Messages in Sequence Diagram
Page 29Classification: Restricted
Types of Messages in Sequence Diagram
Page 30Classification: Restricted
Caller Phone Recipient
Picks up
Dial tone
Dial
Ring notification Ring
Picks up
Hello
Sequence Diagram (make a phone call)
Page 31Classification: Restricted
Sequence Diagram : Object interaction
Self-Call: A message that an
Object sends to itself.
Condition: indicates when a
message is sent. The message is
sent only if the condition is true.
Iteration
Condition
A B
Synchronous
Asynchronous
Transmission
delayed
Self-Call
[condition]
remove()
*[for each]
remove()
Page 32Classification: Restricted
Sequence Diagrams – Object Life Spans
• Creation
• Create message
• Object life starts at that point
• Activation
• Symbolized by rectangular stripes
• Place on the lifeline where object is
activated.
• Rectangle also denotes when object
is deactivated.
• Deletion
• Placing an ‘X’ on lifeline
• Object’s life ends at that point
Activation
bar
A
B
Create
X
Deletion
Return
Lifeline
Page 33Classification: Restricted
Sequence Diagrams – Example
Page 34Classification: Restricted
The second interaction diagram is collaboration diagram. It shows the
object organization. Here in collaboration diagram the method call
sequence is indicated by some numbering technique.
Collaboration Diagrams
Page 35Classification: Restricted
Collaboration Diagram : Example
Page 36Classification: Restricted
• Shows the relationship between objects and the order of messages passed
between hem.
• The objects are listed as rectangles and arrows indicate the messages being
passed
• The numbers next to the messages are called sequence numbers. They
show the sequence of the messages as they are passed between the objects.
• Convey the same information as sequence diagrams, but focus on object
roles instead of the time sequence.
Interaction Diagrams : Collaboration diagrams
Page 37Classification: Restricted
State Diagrams: (Billing Example)
State Diagrams show the sequences of states an object goes through during
its life cycle in response to stimuli, together with its responses and actions;
an abstraction of all possible behaviors.
Unpaid
Start End
Paid
Invoice created paying Invoice destroying
Page 38Classification: Restricted
State Diagrams: (Traffic light example)
Yellow
Red
Green
Traffic Light
State
Transition
Event
Star
t
Page 39Classification: Restricted
Activity Diagram
Overview
• Activity diagram is another important diagram in UML to describe dynamic
aspects of the system.
• Activity diagram is basically a flow chart to represent the flow form one
activity to another activity. The activity can be described as an operation of
the system.
• So the control flow is drawn from one operation to another. This flow can
be sequential, branched or concurrent. Activity diagrams deals with all type
of flow control by using different elements like fork, join etc.
Page 40Classification: Restricted
Purpose of an Activity Diagram
• Draw the activity flow of a system.
• Describe the sequence from one activity to another.
• Describe the parallel, branched and concurrent flow of the system.
Page 41Classification: Restricted
Elements of Activity Diagram
Page 42Classification: Restricted
Activity Diagram : Example
Page 43Classification: Restricted
Page 44Classification: Restricted
Page 45Classification: Restricted
Activity Diagram : Example
Page 46Classification: Restricted
Page 47Classification: Restricted
UML Modeling Tools
• Rational Rose (www.rational.com) by IBM
• TogetherSoft Control Center, Borland
(http://www.borland.com/together/index.html)
• ArgoUML (free software) (http://argouml.tigris.org/ )
OpenSource; written in java
• Others
(http://www.objectsbydesign.com/tools/umltools_byCompany.html )
Page 48Classification: Restricted
Reference
1. UML Distilled: A Brief Guide to the Standard Object Modeling Language
Martin Fowler, Kendall Scott
2. IBM Rational
http://www-306.ibm.com/software/rational/uml/
3. Practical UML --- A Hands-On Introduction for Developers
http://www.togethersoft.com/services/practical_guides/umlonlinecourse/
4. Software Engineering Principles and Practice. Second Edition;
Hans van Vliet.
5. http://www-inst.eecs.berkeley.edu/~cs169/
Page 49Classification: Restricted
Thank you

More Related Content

What's hot

Fundamentals of Software Engineering
Fundamentals of Software Engineering Fundamentals of Software Engineering
Fundamentals of Software Engineering Madhar Khan Pathan
 
Uml in software engineering
Uml in software engineeringUml in software engineering
Uml in software engineeringMubashir Jutt
 
Uml unified-modeling-language-presented by dileep
Uml unified-modeling-language-presented by dileepUml unified-modeling-language-presented by dileep
Uml unified-modeling-language-presented by dileepmekhap
 
Ch 5 O O Data Modeling
Ch 5  O O  Data ModelingCh 5  O O  Data Modeling
Ch 5 O O Data Modelingguest8fdbdd
 
Ch 12 O O D B Dvlpt
Ch 12  O O  D B  DvlptCh 12  O O  D B  Dvlpt
Ch 12 O O D B Dvlptguest8fdbdd
 
Cs583 information-integration
Cs583 information-integrationCs583 information-integration
Cs583 information-integrationBorseshweta
 
Off line system for the recognition of handwritten arabic character
Off line system for the recognition of handwritten arabic characterOff line system for the recognition of handwritten arabic character
Off line system for the recognition of handwritten arabic charactercsandit
 
Uml Presentation
Uml PresentationUml Presentation
Uml Presentationanasz3z3
 
Object oriented software engineering concepts
Object oriented software engineering conceptsObject oriented software engineering concepts
Object oriented software engineering conceptsKomal Singh
 
Ch 6 Logical D B Design
Ch 6  Logical D B  DesignCh 6  Logical D B  Design
Ch 6 Logical D B Designguest8fdbdd
 
Uml Diagrams for Web Developers
Uml Diagrams for Web DevelopersUml Diagrams for Web Developers
Uml Diagrams for Web DevelopersDave Kelleher
 
DBMS Question bank
DBMS Question bankDBMS Question bank
DBMS Question bankSara Sahu
 

What's hot (18)

Fundamentals of Software Engineering
Fundamentals of Software Engineering Fundamentals of Software Engineering
Fundamentals of Software Engineering
 
UML
UMLUML
UML
 
Uml in software engineering
Uml in software engineeringUml in software engineering
Uml in software engineering
 
Intro Uml
Intro UmlIntro Uml
Intro Uml
 
Uml unified-modeling-language-presented by dileep
Uml unified-modeling-language-presented by dileepUml unified-modeling-language-presented by dileep
Uml unified-modeling-language-presented by dileep
 
UML Modeling in Java
UML Modeling in JavaUML Modeling in Java
UML Modeling in Java
 
Enhanced ER(database)
Enhanced ER(database)Enhanced ER(database)
Enhanced ER(database)
 
Ch 5 O O Data Modeling
Ch 5  O O  Data ModelingCh 5  O O  Data Modeling
Ch 5 O O Data Modeling
 
Ch 12 O O D B Dvlpt
Ch 12  O O  D B  DvlptCh 12  O O  D B  Dvlpt
Ch 12 O O D B Dvlpt
 
Cs583 information-integration
Cs583 information-integrationCs583 information-integration
Cs583 information-integration
 
Uml
UmlUml
Uml
 
Unified Modeling Language
Unified Modeling LanguageUnified Modeling Language
Unified Modeling Language
 
Off line system for the recognition of handwritten arabic character
Off line system for the recognition of handwritten arabic characterOff line system for the recognition of handwritten arabic character
Off line system for the recognition of handwritten arabic character
 
Uml Presentation
Uml PresentationUml Presentation
Uml Presentation
 
Object oriented software engineering concepts
Object oriented software engineering conceptsObject oriented software engineering concepts
Object oriented software engineering concepts
 
Ch 6 Logical D B Design
Ch 6  Logical D B  DesignCh 6  Logical D B  Design
Ch 6 Logical D B Design
 
Uml Diagrams for Web Developers
Uml Diagrams for Web DevelopersUml Diagrams for Web Developers
Uml Diagrams for Web Developers
 
DBMS Question bank
DBMS Question bankDBMS Question bank
DBMS Question bank
 

Similar to Unified Modeling Language - UML - Complete Guide - Part 2

Introduction to OOA and UML
Introduction to OOA and UMLIntroduction to OOA and UML
Introduction to OOA and UMLVeneet-BA
 
UML_Lecture.pptxnd bfdjjrnekdddkeeeenekejneje
UML_Lecture.pptxnd bfdjjrnekdddkeeeenekejnejeUML_Lecture.pptxnd bfdjjrnekdddkeeeenekejneje
UML_Lecture.pptxnd bfdjjrnekdddkeeeenekejnejessusera6a60c1
 
Relationships and their representation in a class diagram.pptx
Relationships and their representation in a class diagram.pptxRelationships and their representation in a class diagram.pptx
Relationships and their representation in a class diagram.pptxnesarahmad37
 
Introduction to UML, a guide to learn.pdf
Introduction to UML, a guide to learn.pdfIntroduction to UML, a guide to learn.pdf
Introduction to UML, a guide to learn.pdfTARGARYEN001
 
Object and class relationships
Object and class relationshipsObject and class relationships
Object and class relationshipsPooja mittal
 
Object Oriented Design
Object Oriented DesignObject Oriented Design
Object Oriented DesignAravinth NSP
 
Descriptions of class diagrams in software
Descriptions of class diagrams in softwareDescriptions of class diagrams in software
Descriptions of class diagrams in softwaressuser9d62d6
 
Lecture12 software design class diagram
Lecture12 software design class diagramLecture12 software design class diagram
Lecture12 software design class diagramShahid Riaz
 
UML, ER and Dimensional Modelling
UML, ER and Dimensional ModellingUML, ER and Dimensional Modelling
UML, ER and Dimensional ModellingStefano Dalla Palma
 

Similar to Unified Modeling Language - UML - Complete Guide - Part 2 (20)

Introduction to OOA and UML
Introduction to OOA and UMLIntroduction to OOA and UML
Introduction to OOA and UML
 
Software Engineering1-1-UML.ppt
Software Engineering1-1-UML.pptSoftware Engineering1-1-UML.ppt
Software Engineering1-1-UML.ppt
 
Uml report
Uml reportUml report
Uml report
 
UML_Lecture.pptxnd bfdjjrnekdddkeeeenekejneje
UML_Lecture.pptxnd bfdjjrnekdddkeeeenekejnejeUML_Lecture.pptxnd bfdjjrnekdddkeeeenekejneje
UML_Lecture.pptxnd bfdjjrnekdddkeeeenekejneje
 
Jar chapter 2
Jar chapter 2Jar chapter 2
Jar chapter 2
 
2 class use case
2 class use case2 class use case
2 class use case
 
UML Diagrams
UML DiagramsUML Diagrams
UML Diagrams
 
Relationships and their representation in a class diagram.pptx
Relationships and their representation in a class diagram.pptxRelationships and their representation in a class diagram.pptx
Relationships and their representation in a class diagram.pptx
 
Uml lecture
Uml lectureUml lecture
Uml lecture
 
ER model
ER modelER model
ER model
 
A&D - UML
A&D - UMLA&D - UML
A&D - UML
 
Introduction to UML, a guide to learn.pdf
Introduction to UML, a guide to learn.pdfIntroduction to UML, a guide to learn.pdf
Introduction to UML, a guide to learn.pdf
 
Object and class relationships
Object and class relationshipsObject and class relationships
Object and class relationships
 
Class diagrams
Class diagramsClass diagrams
Class diagrams
 
Object Oriented Design
Object Oriented DesignObject Oriented Design
Object Oriented Design
 
Object Oriented Design
Object Oriented DesignObject Oriented Design
Object Oriented Design
 
CS8592-OOAD Lecture Notes Unit-2
CS8592-OOAD Lecture Notes Unit-2CS8592-OOAD Lecture Notes Unit-2
CS8592-OOAD Lecture Notes Unit-2
 
Descriptions of class diagrams in software
Descriptions of class diagrams in softwareDescriptions of class diagrams in software
Descriptions of class diagrams in software
 
Lecture12 software design class diagram
Lecture12 software design class diagramLecture12 software design class diagram
Lecture12 software design class diagram
 
UML, ER and Dimensional Modelling
UML, ER and Dimensional ModellingUML, ER and Dimensional Modelling
UML, ER and Dimensional Modelling
 

More from Lakshmi-BA

Resume/Interview Preparation
Resume/Interview Preparation   Resume/Interview Preparation
Resume/Interview Preparation Lakshmi-BA
 
Workflow Diagram
Workflow DiagramWorkflow Diagram
Workflow DiagramLakshmi-BA
 
Role of BA in Testing
Role of BA in TestingRole of BA in Testing
Role of BA in TestingLakshmi-BA
 
Requirements Management
Requirements ManagementRequirements Management
Requirements ManagementLakshmi-BA
 
Requirement Elicitation Techniques
Requirement Elicitation Techniques   Requirement Elicitation Techniques
Requirement Elicitation Techniques Lakshmi-BA
 
Introduction to OOA and UML
Introduction to OOA and UMLIntroduction to OOA and UML
Introduction to OOA and UMLLakshmi-BA
 
Enterprise Analysis and SWOT Analysis
Enterprise Analysis and SWOT AnalysisEnterprise Analysis and SWOT Analysis
Enterprise Analysis and SWOT AnalysisLakshmi-BA
 
RUP and Introduction to Enterprise Analysis
RUP and Introduction to Enterprise AnalysisRUP and Introduction to Enterprise Analysis
RUP and Introduction to Enterprise AnalysisLakshmi-BA
 
Introduction to Business Analysis - Part 2
Introduction to Business Analysis - Part 2Introduction to Business Analysis - Part 2
Introduction to Business Analysis - Part 2Lakshmi-BA
 
Introduction to Business Analysis
Introduction to Business AnalysisIntroduction to Business Analysis
Introduction to Business AnalysisLakshmi-BA
 

More from Lakshmi-BA (14)

Resume/Interview Preparation
Resume/Interview Preparation   Resume/Interview Preparation
Resume/Interview Preparation
 
Workflow Diagram
Workflow DiagramWorkflow Diagram
Workflow Diagram
 
Role of BA in Testing
Role of BA in TestingRole of BA in Testing
Role of BA in Testing
 
Requirements Management
Requirements ManagementRequirements Management
Requirements Management
 
Requirement Elicitation Techniques
Requirement Elicitation Techniques   Requirement Elicitation Techniques
Requirement Elicitation Techniques
 
Introduction to OOA and UML
Introduction to OOA and UMLIntroduction to OOA and UML
Introduction to OOA and UML
 
Zachman RCA
Zachman RCAZachman RCA
Zachman RCA
 
GAP Analysis
GAP AnalysisGAP Analysis
GAP Analysis
 
Enterprise Analysis and SWOT Analysis
Enterprise Analysis and SWOT AnalysisEnterprise Analysis and SWOT Analysis
Enterprise Analysis and SWOT Analysis
 
RUP and Introduction to Enterprise Analysis
RUP and Introduction to Enterprise AnalysisRUP and Introduction to Enterprise Analysis
RUP and Introduction to Enterprise Analysis
 
SDLC - Part 2
SDLC - Part 2SDLC - Part 2
SDLC - Part 2
 
SDLC - Part 1
SDLC - Part 1SDLC - Part 1
SDLC - Part 1
 
Introduction to Business Analysis - Part 2
Introduction to Business Analysis - Part 2Introduction to Business Analysis - Part 2
Introduction to Business Analysis - Part 2
 
Introduction to Business Analysis
Introduction to Business AnalysisIntroduction to Business Analysis
Introduction to Business Analysis
 

Recently uploaded

Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Neo4j
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraDeakin University
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxnull - The Open Security Community
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 

Recently uploaded (20)

Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024
 
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptxVulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning era
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 

Unified Modeling Language - UML - Complete Guide - Part 2

  • 2. Page 2Classification: Restricted Agenda • Class Diagram • What is Class Diagram • Class Representation • Types of Class • Sequence Diagram • Interaction Diagram
  • 3. Page 3Classification: Restricted • Used for describing structure and behavior in the use cases • Provide a conceptual model of the system in terms of entities and their relationships • Used for requirement capture, end-user interaction • Detailed class diagrams are used for developers Class diagram
  • 4. Page 4Classification: Restricted A collection of similar objects is a class. And an object is an instance of a class. What is a Class?
  • 5. Page 5Classification: Restricted Class representation • Each class is represented by a rectangle subdivided into three compartments • Name • Attributes • Operations • Modifiers are used to indicate visibility of attributes and operations. • ‘+’ is used to denote Public visibility (everyone) • ‘#’ is used to denote Protected visibility (friends and derived) • ‘-’ is used to denote Private visibility (no one) • By default, attributes are hidden and operations are visible.
  • 6. Page 6Classification: Restricted An example of Class Account_Name - Customer_Name - Balance +addFunds( ) +withDraw( ) +transfer( ) Name Attributes Operations
  • 7. Page 7Classification: Restricted • Super Class • Parent Class • Generalized Class • Specialized Class • Sub Class • Child Class Types of Classes
  • 8. Page 8Classification: Restricted Animal Amphibian Mammal Reptile Horse Example Child Class of Animal Child Class of Animal Child Class of Mammal Super Class of horse Parent Class of Mammal Sub Class of Animal
  • 9. Page 9Classification: Restricted OO Relationships • There are two kinds of Relationships • Generalization (parent-child relationship) • Association (one object to another object relationship) • Associations can be further classified as • Aggregation • Composition
  • 10. Page 10Classification: Restricted OO Relationships : Generalization Subtype2 Supertype Subtype1 • Generalization expresses a parent/child relationship among related classes. • Used for abstracting details in several layers Regular Customer Loyalty Customer Customer Example : Regular Customer Loyalty Customer Customeror:
  • 11. Page 11Classification: Restricted OO Relationships : Association • Represent relationship between instances of classes • Student enrolls in a course • Courses have students • Courses have exams • Etc. • Association has two ends • Role names (e.g. enrolls) • Multiplicity (e.g. One course can have many students) • Navigability (unidirectional, bidirectional)
  • 12. Page 12Classification: Restricted University Person 1 0..1 * * Multiplicity Symbol Meaning 1 One and only one 0..1 Zero or one M..N From M to N (natural language) * From zero to any positive integer 0..* From zero to any positive integer 1..* From one to any positive integer teacheremployee Role “A given university groups many people; some act as students, others as teachers. A given student belongs to a single university; a given teacher may or may not be working for the university at a particular time.” student Association: Multiplicity and Roles
  • 14. Page 14Classification: Restricted OO Relationships : Composition Class W Class P1 Class P2 Whole Class Part Classes Automobile Engine Transmission Example Composition: expresses a relationship among instances of related classes. It is a specific kind of Whole-Part relationship. It expresses a relationship where an instance of the Whole-class has the responsibility to create and initialize instances of each Part-class. It may also be used to express a relationship where instances of the Part-classes have privileged access or visibility to certain attributes and/or behaviors defined by the Whole- class. Composition should also be used to express relationship where instances of the Whole-class have exclusive access to and control of instances of the Part-classes. Composition should be used to express a relationship where the behavior of Part instances is undefined without being related to an instance of the Whole. And, conversely, the behavior of the Whole is ill-defined or incomplete if one or more of the Part instances are undefined. [From Dr.David A. Workman]
  • 15. Page 15Classification: Restricted OO Relationships : Composition [From Dr.David A. orkman] Class C Class E1 Class E2 AGGREGATION Container Class Containee Classes Bag Apples Milk Example Aggregation: expresses a relationship among instances of related classes. It is a specific kind of Container-Containee relationship. It expresses a relationship where an instance of the Container-class has the responsibility to hold and maintain instances of each Containee-class that have been created outside the auspices of the Container class. Aggregation should be used to express a more informal relationship than composition expresses. That is, it is an appropriate relationship where the Container and its Containees can be manipulated independently. Aggregation is appropriate when Container and Containees have no special access privileges to each other.
  • 16. Page 16Classification: Restricted Aggregations vs. Composition • Composition is really a strong form of aggregation • components have only one owner • components cannot exist independent of their owner • components live or die with their owner e.g. Each car has an engine that can not be shared with other cars. •Aggregations may form "part of" the aggregate, but may not be essential to it. They may also exist independent of the aggregate. e.g. Apples may exist independent of the bag.
  • 17. Page 17Classification: Restricted Interaction Diagrams A Sequence diagram is an interaction diagram that shows how objects operate with one another and in what order. • They're also called event diagrams. • A sequence diagram is a good way to visualize and validate various runtime scenarios. • These can help to predict how a system will behave and to discover responsibilities a class may need to have in the process of modeling a new system
  • 19. Page 19Classification: Restricted Class Roles or Participants Class roles describe the way an object will behave in context. Use the UML object symbol to illustrate class roles, but don't list object attributes. Basic Sequence Diagram Symbols and Notations
  • 20. Page 20Classification: Restricted Basic Sequence Diagram Symbols and Notations Activation or Execution Occurrence Activation boxes represent the time an object needs to complete a task. When an object is busy executing a process or waiting for a reply message, use a thin gray rectangle placed vertically on its lifeline.
  • 21. Page 21Classification: Restricted Basic Sequence Diagram Symbols and Notations Messages Messages are arrows that represent communication between objects. Use half-arrowed lines to represent asynchronous messages. Asynchronous messages are sent from an object that will not wait for a response from the receiver before continuing its tasks..
  • 22. Page 22Classification: Restricted Basic Sequence Diagram Symbols and Notations Lifelines Lifelines are vertical dashed lines that indicate the object's presence over time.
  • 23. Page 23Classification: Restricted Basic Sequence Diagram Symbols and Notations Destroying Objects Objects can be terminated early using an arrow labeled "<< destroy >>" that points to an X. This object is removed from memory. When that object's lifeline ends, you can place an X at the end of its lifeline to denote a destruction occurrence. Loops A repetition or loop within a sequence diagram is depicted as a rectangle. Place the condition for exiting the loop at the bottom left corner in square brackets [ ].
  • 24. Page 24Classification: Restricted Types of Messages in Sequence Diagram Synchronous Message A synchronous message requires a response before the interaction can continue. It's usually drawn using a line with a solid arrowhead pointing from one object to another.
  • 25. Page 25Classification: Restricted Types of Messages in Sequence Diagram Asynchronous Message Asynchronous messages don't need a reply for interaction to continue. Like synchronous messages, they are drawn with an arrow connecting two lifelines; however, the arrowhead is usually open and there's no return message depicted.
  • 26. Page 26Classification: Restricted Types of Messages in Sequence Diagram
  • 27. Page 27Classification: Restricted Types of Messages in Sequence Diagram
  • 28. Page 28Classification: Restricted Types of Messages in Sequence Diagram
  • 29. Page 29Classification: Restricted Types of Messages in Sequence Diagram
  • 30. Page 30Classification: Restricted Caller Phone Recipient Picks up Dial tone Dial Ring notification Ring Picks up Hello Sequence Diagram (make a phone call)
  • 31. Page 31Classification: Restricted Sequence Diagram : Object interaction Self-Call: A message that an Object sends to itself. Condition: indicates when a message is sent. The message is sent only if the condition is true. Iteration Condition A B Synchronous Asynchronous Transmission delayed Self-Call [condition] remove() *[for each] remove()
  • 32. Page 32Classification: Restricted Sequence Diagrams – Object Life Spans • Creation • Create message • Object life starts at that point • Activation • Symbolized by rectangular stripes • Place on the lifeline where object is activated. • Rectangle also denotes when object is deactivated. • Deletion • Placing an ‘X’ on lifeline • Object’s life ends at that point Activation bar A B Create X Deletion Return Lifeline
  • 34. Page 34Classification: Restricted The second interaction diagram is collaboration diagram. It shows the object organization. Here in collaboration diagram the method call sequence is indicated by some numbering technique. Collaboration Diagrams
  • 36. Page 36Classification: Restricted • Shows the relationship between objects and the order of messages passed between hem. • The objects are listed as rectangles and arrows indicate the messages being passed • The numbers next to the messages are called sequence numbers. They show the sequence of the messages as they are passed between the objects. • Convey the same information as sequence diagrams, but focus on object roles instead of the time sequence. Interaction Diagrams : Collaboration diagrams
  • 37. Page 37Classification: Restricted State Diagrams: (Billing Example) State Diagrams show the sequences of states an object goes through during its life cycle in response to stimuli, together with its responses and actions; an abstraction of all possible behaviors. Unpaid Start End Paid Invoice created paying Invoice destroying
  • 38. Page 38Classification: Restricted State Diagrams: (Traffic light example) Yellow Red Green Traffic Light State Transition Event Star t
  • 39. Page 39Classification: Restricted Activity Diagram Overview • Activity diagram is another important diagram in UML to describe dynamic aspects of the system. • Activity diagram is basically a flow chart to represent the flow form one activity to another activity. The activity can be described as an operation of the system. • So the control flow is drawn from one operation to another. This flow can be sequential, branched or concurrent. Activity diagrams deals with all type of flow control by using different elements like fork, join etc.
  • 40. Page 40Classification: Restricted Purpose of an Activity Diagram • Draw the activity flow of a system. • Describe the sequence from one activity to another. • Describe the parallel, branched and concurrent flow of the system.
  • 47. Page 47Classification: Restricted UML Modeling Tools • Rational Rose (www.rational.com) by IBM • TogetherSoft Control Center, Borland (http://www.borland.com/together/index.html) • ArgoUML (free software) (http://argouml.tigris.org/ ) OpenSource; written in java • Others (http://www.objectsbydesign.com/tools/umltools_byCompany.html )
  • 48. Page 48Classification: Restricted Reference 1. UML Distilled: A Brief Guide to the Standard Object Modeling Language Martin Fowler, Kendall Scott 2. IBM Rational http://www-306.ibm.com/software/rational/uml/ 3. Practical UML --- A Hands-On Introduction for Developers http://www.togethersoft.com/services/practical_guides/umlonlinecourse/ 4. Software Engineering Principles and Practice. Second Edition; Hans van Vliet. 5. http://www-inst.eecs.berkeley.edu/~cs169/