SlideShare a Scribd company logo
UML, The Art of Software Modeling By: Shahzad Sarwar
"UML is not dessert topping and floor wax."   -  Grady  Booch   -  on the versatility of UML.
Introduction UML - language and notation for specification, construction, visualisation and documentation of models of software systems. UML is not: programming language a CASE tool method UML modelling language. Methods: modelling language + process Modelling language : Notation that methods use to express design Process: Steps in doing a design Associate with UML is Unified Software Development Process. Object Management Group an industry standards body requested standard object modelling language (1996). UML: Developed by Grady Booch, Ivar Jacobson, James Rumbaugh
History
Diagrams
Diagrams
Use Case Diagrams Use case: Describes a task that a user can perform using the system. Describes requirements for the system Task described by a use case is composed of  activities Use case can have different variations called  scenarios Should not be used for functional decomposition ! Actors: Actor is an external entity which is involved in the interaction with the system described in a use case. Actors = roles Actors can be also dialogs, and external systems
Use Case Diagrams Generalisation and specialisation of actors
Use Case Diagrams Use Case Diagrams Shows the relationships between a set of use cases and the actors involved in these use cases. Tool for requirement determination Use case describes those activities which are to be supported by the software under development Relationships between use cases Include: base use case includes the functionality of included use case Extend: a use case is optionally extended by functionality of another use case Generalisation: sub use case inherits behaviour and semantics from super use cases
Use Case Diagrams
Use Case Diagrams
Class Diagram Class Attributes:   Represent named properties of a UML class Attribute declaration may include visibility, type and initial value:  +attributeName : type = initial-value Class Operations: Represent named services provided by a UML class Operation may include visibility, parameters, and return type:  +opName(param1 : type = initial_value) : return-type Class Visibility: Three levels of class, attribute and operation visibility: Private (-), available only to the current class Protected (#), available to the current and inherited classes Public (+), available to the current and other classes
Class Diagram Class Objects: Each class represents a set of objects that share the same attributes, operations, relationships, and semantics
Class Generalization: Represent a relation between a parent (a more abstract class) and a child (a more specific class) Generally referred to as a “is-a-kind-of” relationship Child objects may be used instead of parent objects since they share attributes and operations; the opposite is not true
Class Association: Represent a structural relationship between class objects and may be used to navigate between connected objects Association can be binary, between two classes, or n-ary, among more than two classes Can include association name, direction, role names, multiplicity, and aggregation type
Class Aggregation Represent a specific, whole/part structural relationship between class objects Composition (closed diamond) represents exclusive relationship between two class objects (e.g., a faculty cannot exist without nor be a part of more than one university) Aggregation (open diamond) represents nonexclusive relationship between two class objects (e.g., a student is a part of one or more faculties)
Example
Interaction Diagrams Represent interaction between class objects based on conditions and operations Can also represent a use case scenario of interaction between actors and the system Two main subtypes: sequence and collaboration diagrams Sequence diagrams emphasize the temporal order of interaction and show lifetime of each object
Sequence diagrams: example
Sequence diagrams: example
Sequence diagrams: example
Collaboration diagrams Emphasize layout and show interaction as numbering of steps in a scenario
Collaboration diagrams: example
Object Diagram Shows an example of objects with slots and links that could be instantiated from defined classes and relationships Validates class diagrams
Package Diagram Decomposes system into logical units of work Describe the dependencies between logical units of work Provide views of a system from multiple levels of abstraction
Composite Structure Diagram Shows the internal structure of a classifier, including its interaction points to other parts of the system More useful for modeling hardware, real-time systems,integrated device modeling
Activity Diagram Shows a procedural flow for a process Useful for workflow modeling Supports parallel behavior for multithreaded programming
Activity Diagram: example
Communication Diagram Provides an alternative view to the sequence diagram in a format based on structure rather than time Emphasizes how objects interact with each other More efficient use of space
State Diagram Describes how an object changes its state that govern its behavior in response to stimuli from the environment A statechart diagram is a finite automaton extended with Output (combinaton of Moore and Mealy automaton)
State Diagram:example
Component Diagram Describes software components that make up a system,their interfaces (optional) and relationships
Component Diagram :example
Deployment Diagram Describes the configuration of hardware in a system in terms of nodes and connections Describes the physical relationships between software and hardware Displays how artifacts are installed and move around a distributed system
Reference: http://www.objectsbydesign.com –  UML and OO links, forums, and resources http://www.devx.com/uml/ –  UML developer zone http://www.sdmagazine.com/ –  Magazine with many UML related articles http://www.omg.org –  The UML Specification and other UML resources

More Related Content

What's hot (20)

PPTX
The Ultimate Sequence Diagram Tutorial
Creately
 
PPT
State Machine Diagram
Niloy Rocker
 
PPTX
Activity diagram model
ahmed zewita
 
PPT
Class diagrams
Vince Carter
 
PPTX
Activity diagram
bhupendra kumar
 
PPT
Domain model
Eagle Eyes
 
PDF
Domain Modeling
Harsh Jegadeesan
 
PPTX
Diagrams
janessa24
 
PPT
Class diagram
Praneeth Yadav
 
PPTX
Uml deployment diagram
Asraa Batool
 
PDF
Sequence diagram- UML diagram
Ramakant Soni
 
PPTX
1. introduction to uml
PRABU M
 
PPTX
Uml Presentation
mewaseem
 
PPT
Unit 5
gopal10scs185
 
PPT
Use case Diagram
Preeti Mishra
 
PPTX
Activity diagram
Kaushik Ghosh
 
PPT
Software Design Patterns
Pankhuree Srivastava
 
PPTX
Uml
Vishwa Mohan
 
PPT
Unit 3(advanced state modeling & interaction meodelling)
Manoj Reddy
 
The Ultimate Sequence Diagram Tutorial
Creately
 
State Machine Diagram
Niloy Rocker
 
Activity diagram model
ahmed zewita
 
Class diagrams
Vince Carter
 
Activity diagram
bhupendra kumar
 
Domain model
Eagle Eyes
 
Domain Modeling
Harsh Jegadeesan
 
Diagrams
janessa24
 
Class diagram
Praneeth Yadav
 
Uml deployment diagram
Asraa Batool
 
Sequence diagram- UML diagram
Ramakant Soni
 
1. introduction to uml
PRABU M
 
Uml Presentation
mewaseem
 
Use case Diagram
Preeti Mishra
 
Activity diagram
Kaushik Ghosh
 
Software Design Patterns
Pankhuree Srivastava
 
Unit 3(advanced state modeling & interaction meodelling)
Manoj Reddy
 

Similar to UML- Unified Modeling Language (20)

PDF
Design UML diagrams
Neeraj Kaushik
 
PDF
Design UML diagrams
Neeraj Kaushik
 
PPTX
Unified Modeling Language and Examples .pptx
abinaya707644
 
PPT
Uml - An Overview
Raj Thilak S
 
PPT
UML (Hemant rajak)
hrajak5
 
PPTX
UML and Software Modeling Tools.pptx
Nwabueze Obioma
 
PDF
Object-Oriented Analysis and Design report
ritikapoudel2017
 
DOC
Case Study Uml
ganesh12july
 
PDF
Software Engineering Tools and Practices.pdf
MeagGhn
 
PDF
OBJECT ORIENTED CONCEPTS,UML DIAGRAMS,DFD
smithaps4
 
DOC
Uml overview modified
senthilkumar_ak
 
PPT
graph
Dipa Mokashi
 
PPT
umlpresentation-140519151641-phpapp02.ppt
FootballToday3
 
PPT
Uml report
Franco Valdez
 
PDF
Case stydy cs701
Dinkar Mishra
 
PPT
Lecture#03, uml diagrams
babak danyal
 
PPTX
An introduction to uml
Tony Huynh
 
PPTX
UML
Jazib Amjad
 
PPT
uml.ppt
RojaPogul1
 
Design UML diagrams
Neeraj Kaushik
 
Design UML diagrams
Neeraj Kaushik
 
Unified Modeling Language and Examples .pptx
abinaya707644
 
Uml - An Overview
Raj Thilak S
 
UML (Hemant rajak)
hrajak5
 
UML and Software Modeling Tools.pptx
Nwabueze Obioma
 
Object-Oriented Analysis and Design report
ritikapoudel2017
 
Case Study Uml
ganesh12july
 
Software Engineering Tools and Practices.pdf
MeagGhn
 
OBJECT ORIENTED CONCEPTS,UML DIAGRAMS,DFD
smithaps4
 
Uml overview modified
senthilkumar_ak
 
umlpresentation-140519151641-phpapp02.ppt
FootballToday3
 
Uml report
Franco Valdez
 
Case stydy cs701
Dinkar Mishra
 
Lecture#03, uml diagrams
babak danyal
 
An introduction to uml
Tony Huynh
 
uml.ppt
RojaPogul1
 
Ad

More from Shahzad (20)

DOC
Srs sso-version-1.2-stable version-0
Shahzad
 
DOCX
Srs sso-version-1.2-stable version
Shahzad
 
DOCX
Exploration note - none windows based authentication for WCF
Shahzad
 
DOCX
To study pcms pegasus erp cargo management system-release-7 from architectu...
Shahzad
 
DOCX
To study pcms pegasus erp cargo management system-release-6 from architectu...
Shahzad
 
PPT
Pakistan management
Shahzad
 
PPS
Corporate lessons
Shahzad
 
DOC
What is future of web with reference to html5 will it devalue current present...
Shahzad
 
DOC
Software architecture to analyze licensing needs for pcms- pegasus cargo ma...
Shahzad
 
DOC
A cross referenced whitepaper on cloud computing
Shahzad
 
DOC
Software architecture case study - why and why not sql server replication
Shahzad
 
PPT
Software Architecture New Features of Visual Studio 2010 / .Net 4.0 - Part 1...
Shahzad
 
PPT
From Windows Presentation Foundation To Silverlight
Shahzad
 
DOC
To Study The Tips Tricks Guidelines Related To Performance Tuning For N Hib...
Shahzad
 
DOC
To Study E T L ( Extract, Transform, Load) Tools Specially S Q L Server I...
Shahzad
 
DOC
To Study E T L ( Extract, Transform, Load) Tools Specially S Q L Server I...
Shahzad
 
DOC
To Analyze Cargo Loading Optimization Algorithm
Shahzad
 
DOC
Asp
Shahzad
 
DOC
Whitepaper To Study Filestream Option In Sql Server
Shahzad
 
DOC
White Paper On ConCurrency For PCMS Application Architecture
Shahzad
 
Srs sso-version-1.2-stable version-0
Shahzad
 
Srs sso-version-1.2-stable version
Shahzad
 
Exploration note - none windows based authentication for WCF
Shahzad
 
To study pcms pegasus erp cargo management system-release-7 from architectu...
Shahzad
 
To study pcms pegasus erp cargo management system-release-6 from architectu...
Shahzad
 
Pakistan management
Shahzad
 
Corporate lessons
Shahzad
 
What is future of web with reference to html5 will it devalue current present...
Shahzad
 
Software architecture to analyze licensing needs for pcms- pegasus cargo ma...
Shahzad
 
A cross referenced whitepaper on cloud computing
Shahzad
 
Software architecture case study - why and why not sql server replication
Shahzad
 
Software Architecture New Features of Visual Studio 2010 / .Net 4.0 - Part 1...
Shahzad
 
From Windows Presentation Foundation To Silverlight
Shahzad
 
To Study The Tips Tricks Guidelines Related To Performance Tuning For N Hib...
Shahzad
 
To Study E T L ( Extract, Transform, Load) Tools Specially S Q L Server I...
Shahzad
 
To Study E T L ( Extract, Transform, Load) Tools Specially S Q L Server I...
Shahzad
 
To Analyze Cargo Loading Optimization Algorithm
Shahzad
 
Whitepaper To Study Filestream Option In Sql Server
Shahzad
 
White Paper On ConCurrency For PCMS Application Architecture
Shahzad
 
Ad

Recently uploaded (20)

PDF
Mastering Financial Management in Direct Selling
Epixel MLM Software
 
PPTX
Q2 FY26 Tableau User Group Leader Quarterly Call
lward7
 
PDF
Biography of Daniel Podor.pdf
Daniel Podor
 
PDF
Presentation - Vibe Coding The Future of Tech
yanuarsinggih1
 
PDF
Transcript: New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
PPTX
AUTOMATION AND ROBOTICS IN PHARMA INDUSTRY.pptx
sameeraaabegumm
 
PDF
Building Real-Time Digital Twins with IBM Maximo & ArcGIS Indoors
Safe Software
 
PDF
HCIP-Data Center Facility Deployment V2.0 Training Material (Without Remarks ...
mcastillo49
 
PDF
[Newgen] NewgenONE Marvin Brochure 1.pdf
darshakparmar
 
PPTX
Webinar: Introduction to LF Energy EVerest
DanBrown980551
 
PDF
July Patch Tuesday
Ivanti
 
PDF
What Makes Contify’s News API Stand Out: Key Features at a Glance
Contify
 
PDF
"Beyond English: Navigating the Challenges of Building a Ukrainian-language R...
Fwdays
 
PDF
CIFDAQ Weekly Market Wrap for 11th July 2025
CIFDAQ
 
PDF
Smart Trailers 2025 Update with History and Overview
Paul Menig
 
PDF
Empower Inclusion Through Accessible Java Applications
Ana-Maria Mihalceanu
 
PDF
CIFDAQ Market Insights for July 7th 2025
CIFDAQ
 
PDF
IoT-Powered Industrial Transformation – Smart Manufacturing to Connected Heal...
Rejig Digital
 
PDF
Achieving Consistent and Reliable AI Code Generation - Medusa AI
medusaaico
 
PDF
Newgen Beyond Frankenstein_Build vs Buy_Digital_version.pdf
darshakparmar
 
Mastering Financial Management in Direct Selling
Epixel MLM Software
 
Q2 FY26 Tableau User Group Leader Quarterly Call
lward7
 
Biography of Daniel Podor.pdf
Daniel Podor
 
Presentation - Vibe Coding The Future of Tech
yanuarsinggih1
 
Transcript: New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
AUTOMATION AND ROBOTICS IN PHARMA INDUSTRY.pptx
sameeraaabegumm
 
Building Real-Time Digital Twins with IBM Maximo & ArcGIS Indoors
Safe Software
 
HCIP-Data Center Facility Deployment V2.0 Training Material (Without Remarks ...
mcastillo49
 
[Newgen] NewgenONE Marvin Brochure 1.pdf
darshakparmar
 
Webinar: Introduction to LF Energy EVerest
DanBrown980551
 
July Patch Tuesday
Ivanti
 
What Makes Contify’s News API Stand Out: Key Features at a Glance
Contify
 
"Beyond English: Navigating the Challenges of Building a Ukrainian-language R...
Fwdays
 
CIFDAQ Weekly Market Wrap for 11th July 2025
CIFDAQ
 
Smart Trailers 2025 Update with History and Overview
Paul Menig
 
Empower Inclusion Through Accessible Java Applications
Ana-Maria Mihalceanu
 
CIFDAQ Market Insights for July 7th 2025
CIFDAQ
 
IoT-Powered Industrial Transformation – Smart Manufacturing to Connected Heal...
Rejig Digital
 
Achieving Consistent and Reliable AI Code Generation - Medusa AI
medusaaico
 
Newgen Beyond Frankenstein_Build vs Buy_Digital_version.pdf
darshakparmar
 

UML- Unified Modeling Language

  • 1. UML, The Art of Software Modeling By: Shahzad Sarwar
  • 2. "UML is not dessert topping and floor wax." - Grady Booch - on the versatility of UML.
  • 3. Introduction UML - language and notation for specification, construction, visualisation and documentation of models of software systems. UML is not: programming language a CASE tool method UML modelling language. Methods: modelling language + process Modelling language : Notation that methods use to express design Process: Steps in doing a design Associate with UML is Unified Software Development Process. Object Management Group an industry standards body requested standard object modelling language (1996). UML: Developed by Grady Booch, Ivar Jacobson, James Rumbaugh
  • 7. Use Case Diagrams Use case: Describes a task that a user can perform using the system. Describes requirements for the system Task described by a use case is composed of activities Use case can have different variations called scenarios Should not be used for functional decomposition ! Actors: Actor is an external entity which is involved in the interaction with the system described in a use case. Actors = roles Actors can be also dialogs, and external systems
  • 8. Use Case Diagrams Generalisation and specialisation of actors
  • 9. Use Case Diagrams Use Case Diagrams Shows the relationships between a set of use cases and the actors involved in these use cases. Tool for requirement determination Use case describes those activities which are to be supported by the software under development Relationships between use cases Include: base use case includes the functionality of included use case Extend: a use case is optionally extended by functionality of another use case Generalisation: sub use case inherits behaviour and semantics from super use cases
  • 12. Class Diagram Class Attributes: Represent named properties of a UML class Attribute declaration may include visibility, type and initial value: +attributeName : type = initial-value Class Operations: Represent named services provided by a UML class Operation may include visibility, parameters, and return type: +opName(param1 : type = initial_value) : return-type Class Visibility: Three levels of class, attribute and operation visibility: Private (-), available only to the current class Protected (#), available to the current and inherited classes Public (+), available to the current and other classes
  • 13. Class Diagram Class Objects: Each class represents a set of objects that share the same attributes, operations, relationships, and semantics
  • 14. Class Generalization: Represent a relation between a parent (a more abstract class) and a child (a more specific class) Generally referred to as a “is-a-kind-of” relationship Child objects may be used instead of parent objects since they share attributes and operations; the opposite is not true
  • 15. Class Association: Represent a structural relationship between class objects and may be used to navigate between connected objects Association can be binary, between two classes, or n-ary, among more than two classes Can include association name, direction, role names, multiplicity, and aggregation type
  • 16. Class Aggregation Represent a specific, whole/part structural relationship between class objects Composition (closed diamond) represents exclusive relationship between two class objects (e.g., a faculty cannot exist without nor be a part of more than one university) Aggregation (open diamond) represents nonexclusive relationship between two class objects (e.g., a student is a part of one or more faculties)
  • 18. Interaction Diagrams Represent interaction between class objects based on conditions and operations Can also represent a use case scenario of interaction between actors and the system Two main subtypes: sequence and collaboration diagrams Sequence diagrams emphasize the temporal order of interaction and show lifetime of each object
  • 22. Collaboration diagrams Emphasize layout and show interaction as numbering of steps in a scenario
  • 24. Object Diagram Shows an example of objects with slots and links that could be instantiated from defined classes and relationships Validates class diagrams
  • 25. Package Diagram Decomposes system into logical units of work Describe the dependencies between logical units of work Provide views of a system from multiple levels of abstraction
  • 26. Composite Structure Diagram Shows the internal structure of a classifier, including its interaction points to other parts of the system More useful for modeling hardware, real-time systems,integrated device modeling
  • 27. Activity Diagram Shows a procedural flow for a process Useful for workflow modeling Supports parallel behavior for multithreaded programming
  • 29. Communication Diagram Provides an alternative view to the sequence diagram in a format based on structure rather than time Emphasizes how objects interact with each other More efficient use of space
  • 30. State Diagram Describes how an object changes its state that govern its behavior in response to stimuli from the environment A statechart diagram is a finite automaton extended with Output (combinaton of Moore and Mealy automaton)
  • 32. Component Diagram Describes software components that make up a system,their interfaces (optional) and relationships
  • 34. Deployment Diagram Describes the configuration of hardware in a system in terms of nodes and connections Describes the physical relationships between software and hardware Displays how artifacts are installed and move around a distributed system
  • 35. Reference: http://www.objectsbydesign.com – UML and OO links, forums, and resources http://www.devx.com/uml/ – UML developer zone http://www.sdmagazine.com/ – Magazine with many UML related articles http://www.omg.org – The UML Specification and other UML resources