An Introduction To UML:Unified Modeling LanguageChris RoederJune 2011
ModelingUML is  a graphical modeling language.Drawing pictures of codeHelps to visualize high-level abstractions and collaborationsLimits detail2 Major classes of diagramsStatic/StructuralDynamic/BehavioralSimplified version discussed here
HistoryUML: Unified Modelling LanguageRoots in work of “The Three Amigos” form early 90’sGrady Booch: Rational RoseIvar Jacobsen: OOSE at Ericson“yah-cob-son”James Rumbaugh: Object Modelling Technique at GE1.0 out in 1997ISO standard in 20052.0 in 20052.4 in Beta
Modeling is useful for:A high-level description of the projectIt does not contain code-level detailMakes it easier to see the forest without all the trees in the wayA graphical presentationWorks better with some mindsIt’s about drawing and using the diagramsDoing designNot about having the diagrams for their own sakeNo Shelfware (gets written, sits on the shelf)
Static/StructuralClass DiagramShows classes and their relationships, both inheritance and compositionObject DiagramShows instantiations of classes, objects, at a specific point in timePackage DiagramDeployment Diagram(Others)
Dynamic/BehavioralSequence DiagramShows method calls between objects in sequenceUse-Case DiagramDescribes activities in terms of actors, goals and dependenciesActivity Diagram(others)
Class DiagramA class is a box and three sections:NameMembersMethodsThree kinds of arrows radiate out:Inheritance: an arrow that points to the base classAggregation: a line starting with a hollow diamond that ends at the contained class: weak, catalog containmentComposition: a line starting with a filled diamond that ends at the contained class: stronger, includes lifecycle, physical containment
Aggregation and ContainmentAggregationWeakCatalog ContainmentList<Item>Items’ lifetime may be independent of catalogCompositionStrongA Car’s engine, tires, doorsLifetime’s are related: No car, no engine
Uml
MultiplicityAdd quantifiers to ends of aggregation and composition relationships0..1 – optional1 – must have one0..* - zero or more instances1..* - at least one instanceQuantifiers can go on either or both ends of a relationship
VisibilityCharacters used to show visibility+ public- private# protected~ package_ static
Role NamesCan add role names to relationshipsdifferent name depending on perspective:A is B’s parent, B is A’s childA is B’s employer, B is A’s employee
Sequence DiagramShows the interaction between objectsObjects are listed across the top in a single rowInteractions are labelled arrows between lines extending down from the objectsVery useful for mapping out an interaction when learning or debugging a new codebase.Objects are instances of Classes in your Class DiagramEditor picks up methods from the Class DiagramClasses can be used in parameters and return types
Uml
Sequence Diagram 2Conditional[condition]OptAltRepeated*loop
ExamplesCCP UIMA type systemCCP fileparsersprojectEntityTaggers from Code ReviewCCP NLP ShimsUsed to reverse engineer
Linkshttp://en.wikipedia.org/wiki/Unified_Modeling_Languagehttp://www.tracemodeler.com/articles/a_quick_introduction_to_uml_sequence_diagrams/

More Related Content

PPTX
UML Class Diagram Notation
PPTX
UML Diagram - Use-Case diagram, Activity Diagram, Sequence Diagram, Er Diagra...
PPT
Slide 5 Class Diagram
PPT
Class diagram
PPTX
Class Diagram | OOP and Design Patterns by Oum Saokosal
DOCX
Mc0083 object oriented analysis & design using uml
PPTX
Class Diagram
UML Class Diagram Notation
UML Diagram - Use-Case diagram, Activity Diagram, Sequence Diagram, Er Diagra...
Slide 5 Class Diagram
Class diagram
Class Diagram | OOP and Design Patterns by Oum Saokosal
Mc0083 object oriented analysis & design using uml
Class Diagram

What's hot (20)

PPT
2 rel-algebra
PPT
Sdd Syntax Descriptions
PPTX
Class diagram
PPT
UML Diagram Assignment Help, UML Diagram Homework Help
PDF
2 class use case
PPT
Uml in software engineering
PPTX
C# Interface | Interfaces In C# | C# Interfaces Explained | C# Tutorial For B...
PPT
PPT
Uml lecture
PPTX
Uml Presentation
PPTX
Class and object_diagram
PPTX
Similarity computation exploiting the semantic and syntactic inherent structu...
PPT
Domain object model
PPTX
UML Modeling in Java
PPT
classes & objects introduction
PPTX
Object oriented architecture in erp
PPT
Introduction to Modeling Java and UML
PDF
Database management system session 5
PPT
Uml Omg Fundamental Certification 1
PPT
Lecture-03 Introduction to UML
2 rel-algebra
Sdd Syntax Descriptions
Class diagram
UML Diagram Assignment Help, UML Diagram Homework Help
2 class use case
Uml in software engineering
C# Interface | Interfaces In C# | C# Interfaces Explained | C# Tutorial For B...
Uml lecture
Uml Presentation
Class and object_diagram
Similarity computation exploiting the semantic and syntactic inherent structu...
Domain object model
UML Modeling in Java
classes & objects introduction
Object oriented architecture in erp
Introduction to Modeling Java and UML
Database management system session 5
Uml Omg Fundamental Certification 1
Lecture-03 Introduction to UML
Ad

Similar to Uml (20)

PPTX
1. introduction to uml
PDF
UML - An Introduction
PPT
object oriented modelng and design-unit-ii-cgpa.ppt
PPTX
UML Design.pptx
PPTX
SDAM a ddnd mmdmsmfkvskkejj sehfjvksxkmwnejjfjbjsnenfPRESENTATION.pptx
PDF
Unit 2 - Unified Modeling Language (UML).pdf
PPTX
Uml Diagrams for Web Developers
PPTX
3.UML Diagrams.pptx
DOC
Ooad lab manual
PPT
Unified Modeling Language
PDF
UNIFIED MODELING LANGUAGE
PPT
Basics of uml
PPTX
Cs 1023 lec 10 uml (week 3)
PPT
PPT
Chapter 2-Unified Modeling Languagee.ppt
PPT
Chapter 2-Unified Modeling Languagee.ppt
PPT
Week 10-classdiagrams.pptdddddddddddddddddddddddddddd
PPT
Chapter 1_UML Introduction.ppt
1. introduction to uml
UML - An Introduction
object oriented modelng and design-unit-ii-cgpa.ppt
UML Design.pptx
SDAM a ddnd mmdmsmfkvskkejj sehfjvksxkmwnejjfjbjsnenfPRESENTATION.pptx
Unit 2 - Unified Modeling Language (UML).pdf
Uml Diagrams for Web Developers
3.UML Diagrams.pptx
Ooad lab manual
Unified Modeling Language
UNIFIED MODELING LANGUAGE
Basics of uml
Cs 1023 lec 10 uml (week 3)
Chapter 2-Unified Modeling Languagee.ppt
Chapter 2-Unified Modeling Languagee.ppt
Week 10-classdiagrams.pptdddddddddddddddddddddddddddd
Chapter 1_UML Introduction.ppt
Ad

More from Chris Roeder (7)

PDF
Roeder posterismb2010
PPTX
Roeder rocky 2011_46
ODP
Spring survey
PPTX
PPTX
Rocky2010 roeder full_textbiomedicalliteratureprocesing
PPTX
PPTX
Hibernate
Roeder posterismb2010
Roeder rocky 2011_46
Spring survey
Rocky2010 roeder full_textbiomedicalliteratureprocesing
Hibernate

Recently uploaded (20)

PPTX
Tartificialntelligence_presentation.pptx
PDF
Hindi spoken digit analysis for native and non-native speakers
PDF
CloudStack 4.21: First Look Webinar slides
PDF
NewMind AI Weekly Chronicles – August ’25 Week III
PDF
Zenith AI: Advanced Artificial Intelligence
PDF
Enhancing emotion recognition model for a student engagement use case through...
PDF
A contest of sentiment analysis: k-nearest neighbor versus neural network
PDF
Transform Your ITIL® 4 & ITSM Strategy with AI in 2025.pdf
PDF
Unlock new opportunities with location data.pdf
PDF
Univ-Connecticut-ChatGPT-Presentaion.pdf
PPTX
Web Crawler for Trend Tracking Gen Z Insights.pptx
PPTX
Group 1 Presentation -Planning and Decision Making .pptx
PDF
Five Habits of High-Impact Board Members
PDF
Developing a website for English-speaking practice to English as a foreign la...
PDF
DASA ADMISSION 2024_FirstRound_FirstRank_LastRank.pdf
PDF
DP Operators-handbook-extract for the Mautical Institute
PPT
What is a Computer? Input Devices /output devices
PDF
Hybrid horned lizard optimization algorithm-aquila optimizer for DC motor
PDF
Video forgery: An extensive analysis of inter-and intra-frame manipulation al...
PDF
A comparative study of natural language inference in Swahili using monolingua...
Tartificialntelligence_presentation.pptx
Hindi spoken digit analysis for native and non-native speakers
CloudStack 4.21: First Look Webinar slides
NewMind AI Weekly Chronicles – August ’25 Week III
Zenith AI: Advanced Artificial Intelligence
Enhancing emotion recognition model for a student engagement use case through...
A contest of sentiment analysis: k-nearest neighbor versus neural network
Transform Your ITIL® 4 & ITSM Strategy with AI in 2025.pdf
Unlock new opportunities with location data.pdf
Univ-Connecticut-ChatGPT-Presentaion.pdf
Web Crawler for Trend Tracking Gen Z Insights.pptx
Group 1 Presentation -Planning and Decision Making .pptx
Five Habits of High-Impact Board Members
Developing a website for English-speaking practice to English as a foreign la...
DASA ADMISSION 2024_FirstRound_FirstRank_LastRank.pdf
DP Operators-handbook-extract for the Mautical Institute
What is a Computer? Input Devices /output devices
Hybrid horned lizard optimization algorithm-aquila optimizer for DC motor
Video forgery: An extensive analysis of inter-and intra-frame manipulation al...
A comparative study of natural language inference in Swahili using monolingua...

Uml

  • 1. An Introduction To UML:Unified Modeling LanguageChris RoederJune 2011
  • 2. ModelingUML is a graphical modeling language.Drawing pictures of codeHelps to visualize high-level abstractions and collaborationsLimits detail2 Major classes of diagramsStatic/StructuralDynamic/BehavioralSimplified version discussed here
  • 3. HistoryUML: Unified Modelling LanguageRoots in work of “The Three Amigos” form early 90’sGrady Booch: Rational RoseIvar Jacobsen: OOSE at Ericson“yah-cob-son”James Rumbaugh: Object Modelling Technique at GE1.0 out in 1997ISO standard in 20052.0 in 20052.4 in Beta
  • 4. Modeling is useful for:A high-level description of the projectIt does not contain code-level detailMakes it easier to see the forest without all the trees in the wayA graphical presentationWorks better with some mindsIt’s about drawing and using the diagramsDoing designNot about having the diagrams for their own sakeNo Shelfware (gets written, sits on the shelf)
  • 5. Static/StructuralClass DiagramShows classes and their relationships, both inheritance and compositionObject DiagramShows instantiations of classes, objects, at a specific point in timePackage DiagramDeployment Diagram(Others)
  • 6. Dynamic/BehavioralSequence DiagramShows method calls between objects in sequenceUse-Case DiagramDescribes activities in terms of actors, goals and dependenciesActivity Diagram(others)
  • 7. Class DiagramA class is a box and three sections:NameMembersMethodsThree kinds of arrows radiate out:Inheritance: an arrow that points to the base classAggregation: a line starting with a hollow diamond that ends at the contained class: weak, catalog containmentComposition: a line starting with a filled diamond that ends at the contained class: stronger, includes lifecycle, physical containment
  • 8. Aggregation and ContainmentAggregationWeakCatalog ContainmentList<Item>Items’ lifetime may be independent of catalogCompositionStrongA Car’s engine, tires, doorsLifetime’s are related: No car, no engine
  • 10. MultiplicityAdd quantifiers to ends of aggregation and composition relationships0..1 – optional1 – must have one0..* - zero or more instances1..* - at least one instanceQuantifiers can go on either or both ends of a relationship
  • 11. VisibilityCharacters used to show visibility+ public- private# protected~ package_ static
  • 12. Role NamesCan add role names to relationshipsdifferent name depending on perspective:A is B’s parent, B is A’s childA is B’s employer, B is A’s employee
  • 13. Sequence DiagramShows the interaction between objectsObjects are listed across the top in a single rowInteractions are labelled arrows between lines extending down from the objectsVery useful for mapping out an interaction when learning or debugging a new codebase.Objects are instances of Classes in your Class DiagramEditor picks up methods from the Class DiagramClasses can be used in parameters and return types
  • 16. ExamplesCCP UIMA type systemCCP fileparsersprojectEntityTaggers from Code ReviewCCP NLP ShimsUsed to reverse engineer