SlideShare ist ein Scribd-Unternehmen logo
1 von 17
An Introduction To UML:Unified Modeling Language Chris RoederJune 2011
Modeling UML is  a graphical modeling language. Drawing pictures of code Helps to visualize high-level abstractions and collaborations Limits detail 2 Major classes of diagrams Static/Structural Dynamic/Behavioral Simplified version discussed here
History UML: Unified Modelling Language Roots in work of “The Three Amigos”  form early 90’s Grady Booch: Rational Rose Ivar Jacobsen: OOSE at Ericson “yah-cob-son” James Rumbaugh: Object Modelling Technique at GE 1.0 out in 1997 ISO standard in 2005 2.0 in 2005 2.4 in Beta
Modeling is useful for: A high-level description of the project It does not contain code-level detail Makes it easier to see the forest without all the trees in the way A graphical presentation Works better with some minds It’s about drawing and using the diagrams Doing design Not about having the diagrams for their own sake No Shelfware (gets written, sits on the shelf)
Static/Structural Class Diagram Shows classes and their relationships, both inheritance and composition Object Diagram Shows instantiations of classes, objects,  at a specific point in time Package Diagram Deployment Diagram (Others)
Dynamic/Behavioral Sequence Diagram Shows method calls between objects in sequence Use-Case Diagram Describes activities in terms of actors, goals and dependencies Activity Diagram (others)
Class Diagram A class is a box and three sections: Name Members Methods Three kinds of arrows radiate out: Inheritance: an arrow that points to the base class Aggregation: a line starting with a hollow diamond that ends at the contained class: weak, catalog containment Composition: a line starting with a filled diamond that ends at the contained class: stronger, includes lifecycle, physical containment
Aggregation and Containment Aggregation Weak Catalog Containment List<Item> Items’ lifetime may be independent of catalog Composition Strong A Car’s engine, tires, doors Lifetime’s are related: No car, no engine
Multiplicity Add quantifiers to ends of aggregation and composition relationships 0..1 – optional 1 – must have one 0..* - zero or more instances 1..* - at least one instance Quantifiers can go on either or both ends of a relationship
Visibility Characters used to show visibility + public - private # protected ~ package _ static
Role Names Can add role names to relationships different name depending on perspective: A is B’s parent, B is A’s child A is B’s employer, B is A’s employee
Sequence Diagram Shows the interaction between objects Objects are listed across the top in a single row Interactions are labelled arrows between lines extending down from the objects Very useful for mapping out an interaction when learning or debugging a new codebase. Objects are instances of Classes in your Class Diagram Editor picks up methods from the Class Diagram Classes can be used in parameters and return types
Sequence Diagram 2 Conditional [condition] Opt Alt Repeated * loop
Examples CCP UIMA type system CCP fileparsersproject EntityTaggers from Code Review CCP NLP Shims Used to reverse engineer
Links http://en.wikipedia.org/wiki/Unified_Modeling_Language http://www.tracemodeler.com/articles/a_quick_introduction_to_uml_sequence_diagrams/

Weitere ähnliche Inhalte

Was ist angesagt?

Sdd Syntax Descriptions
Sdd Syntax DescriptionsSdd Syntax Descriptions
Sdd Syntax Descriptions
gavhays
 
Uml Presentation
Uml PresentationUml Presentation
Uml Presentation
mewaseem
 
Class and object_diagram
Class  and object_diagramClass  and object_diagram
Class and object_diagram
Sadhana28
 
Object oriented architecture in erp
Object  oriented architecture in erpObject  oriented architecture in erp
Object oriented architecture in erp
Preyanshu Saini
 
Introduction to Modeling Java and UML
Introduction to Modeling Java and UMLIntroduction to Modeling Java and UML
Introduction to Modeling Java and UML
Dang Tuan
 
Uml Omg Fundamental Certification 1
Uml Omg Fundamental Certification 1Uml Omg Fundamental Certification 1
Uml Omg Fundamental Certification 1
Ricardo Quintero
 

Was ist angesagt? (20)

2 rel-algebra
2 rel-algebra2 rel-algebra
2 rel-algebra
 
Sdd Syntax Descriptions
Sdd Syntax DescriptionsSdd Syntax Descriptions
Sdd Syntax Descriptions
 
Class diagram
Class diagramClass diagram
Class diagram
 
UML Diagram Assignment Help, UML Diagram Homework Help
UML Diagram Assignment Help, UML Diagram Homework HelpUML Diagram Assignment Help, UML Diagram Homework Help
UML Diagram Assignment Help, UML Diagram Homework Help
 
2 class use case
2 class use case2 class use case
2 class use case
 
Uml in software engineering
Uml in software engineeringUml in software engineering
Uml in software engineering
 
C# Interface | Interfaces In C# | C# Interfaces Explained | C# Tutorial For B...
C# Interface | Interfaces In C# | C# Interfaces Explained | C# Tutorial For B...C# Interface | Interfaces In C# | C# Interfaces Explained | C# Tutorial For B...
C# Interface | Interfaces In C# | C# Interfaces Explained | C# Tutorial For B...
 
Uml
UmlUml
Uml
 
Uml lecture
Uml lectureUml lecture
Uml lecture
 
Uml Presentation
Uml PresentationUml Presentation
Uml Presentation
 
Class and object_diagram
Class  and object_diagramClass  and object_diagram
Class and object_diagram
 
Similarity computation exploiting the semantic and syntactic inherent structu...
Similarity computation exploiting the semantic and syntactic inherent structu...Similarity computation exploiting the semantic and syntactic inherent structu...
Similarity computation exploiting the semantic and syntactic inherent structu...
 
Domain object model
Domain object modelDomain object model
Domain object model
 
UML Modeling in Java
UML Modeling in JavaUML Modeling in Java
UML Modeling in Java
 
classes & objects introduction
classes & objects introductionclasses & objects introduction
classes & objects introduction
 
Object oriented architecture in erp
Object  oriented architecture in erpObject  oriented architecture in erp
Object oriented architecture in erp
 
Introduction to Modeling Java and UML
Introduction to Modeling Java and UMLIntroduction to Modeling Java and UML
Introduction to Modeling Java and UML
 
Database management system session 5
Database management system session 5Database management system session 5
Database management system session 5
 
Uml Omg Fundamental Certification 1
Uml Omg Fundamental Certification 1Uml Omg Fundamental Certification 1
Uml Omg Fundamental Certification 1
 
Lecture-03 Introduction to UML
Lecture-03 Introduction to UMLLecture-03 Introduction to UML
Lecture-03 Introduction to UML
 

Ähnlich wie Uml

08 class and sequence diagrams
08   class and sequence diagrams08   class and sequence diagrams
08 class and sequence diagrams
kebsterz
 
UML for OOAD
UML for OOADUML for OOAD
UML for OOAD
Dang Tuan
 
Uml classdiagrams
Uml classdiagramsUml classdiagrams
Uml classdiagrams
Wahid Zaman
 

Ähnlich wie Uml (20)

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
 
Uml - An Overview
Uml - An OverviewUml - An Overview
Uml - An Overview
 
Uml introduciton
Uml introducitonUml introduciton
Uml introduciton
 
ooAD
ooADooAD
ooAD
 
Class Diagram
Class DiagramClass Diagram
Class Diagram
 
Ooad lab manual
Ooad  lab manualOoad  lab manual
Ooad lab manual
 
08 class and sequence diagrams
08   class and sequence diagrams08   class and sequence diagrams
08 class and sequence diagrams
 
Basics of uml
Basics of umlBasics of uml
Basics of uml
 
Ooad ch 4
Ooad ch 4Ooad ch 4
Ooad ch 4
 
Intro Uml
Intro UmlIntro Uml
Intro Uml
 
Unit 2
Unit 2Unit 2
Unit 2
 
UML-Advanced Software Engineering
UML-Advanced Software EngineeringUML-Advanced Software Engineering
UML-Advanced Software Engineering
 
SAD02 - Object Orientation
SAD02 - Object OrientationSAD02 - Object Orientation
SAD02 - Object Orientation
 
Interfaces & Packages V2
Interfaces & Packages V2Interfaces & Packages V2
Interfaces & Packages V2
 
UML for OOAD
UML for OOADUML for OOAD
UML for OOAD
 
uml2-1214558329929112-8.ppt
uml2-1214558329929112-8.pptuml2-1214558329929112-8.ppt
uml2-1214558329929112-8.ppt
 
Unified Modeling Language
Unified Modeling LanguageUnified Modeling Language
Unified Modeling Language
 
Module 3 Object Oriented Data Models Object Oriented notations
Module 3  Object Oriented Data Models Object Oriented notationsModule 3  Object Oriented Data Models Object Oriented notations
Module 3 Object Oriented Data Models Object Oriented notations
 
Object Oriented Modeling and Design with UML
Object Oriented Modeling and Design with UMLObject Oriented Modeling and Design with UML
Object Oriented Modeling and Design with UML
 
Uml classdiagrams
Uml classdiagramsUml classdiagrams
Uml classdiagrams
 

Mehr von Chris Roeder (7)

Roeder posterismb2010
Roeder posterismb2010Roeder posterismb2010
Roeder posterismb2010
 
Roeder rocky 2011_46
Roeder rocky 2011_46Roeder rocky 2011_46
Roeder rocky 2011_46
 
Spring survey
Spring surveySpring survey
Spring survey
 
Maven
MavenMaven
Maven
 
Rocky2010 roeder full_textbiomedicalliteratureprocesing
Rocky2010 roeder full_textbiomedicalliteratureprocesingRocky2010 roeder full_textbiomedicalliteratureprocesing
Rocky2010 roeder full_textbiomedicalliteratureprocesing
 
Sge
SgeSge
Sge
 
Hibernate
HibernateHibernate
Hibernate
 

Kürzlich hochgeladen

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Kürzlich hochgeladen (20)

EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 

Uml

  • 1. An Introduction To UML:Unified Modeling Language Chris RoederJune 2011
  • 2. Modeling UML is a graphical modeling language. Drawing pictures of code Helps to visualize high-level abstractions and collaborations Limits detail 2 Major classes of diagrams Static/Structural Dynamic/Behavioral Simplified version discussed here
  • 3. History UML: Unified Modelling Language Roots in work of “The Three Amigos” form early 90’s Grady Booch: Rational Rose Ivar Jacobsen: OOSE at Ericson “yah-cob-son” James Rumbaugh: Object Modelling Technique at GE 1.0 out in 1997 ISO standard in 2005 2.0 in 2005 2.4 in Beta
  • 4. Modeling is useful for: A high-level description of the project It does not contain code-level detail Makes it easier to see the forest without all the trees in the way A graphical presentation Works better with some minds It’s about drawing and using the diagrams Doing design Not about having the diagrams for their own sake No Shelfware (gets written, sits on the shelf)
  • 5. Static/Structural Class Diagram Shows classes and their relationships, both inheritance and composition Object Diagram Shows instantiations of classes, objects, at a specific point in time Package Diagram Deployment Diagram (Others)
  • 6. Dynamic/Behavioral Sequence Diagram Shows method calls between objects in sequence Use-Case Diagram Describes activities in terms of actors, goals and dependencies Activity Diagram (others)
  • 7. Class Diagram A class is a box and three sections: Name Members Methods Three kinds of arrows radiate out: Inheritance: an arrow that points to the base class Aggregation: a line starting with a hollow diamond that ends at the contained class: weak, catalog containment Composition: a line starting with a filled diamond that ends at the contained class: stronger, includes lifecycle, physical containment
  • 8. Aggregation and Containment Aggregation Weak Catalog Containment List<Item> Items’ lifetime may be independent of catalog Composition Strong A Car’s engine, tires, doors Lifetime’s are related: No car, no engine
  • 9.
  • 10. Multiplicity Add quantifiers to ends of aggregation and composition relationships 0..1 – optional 1 – must have one 0..* - zero or more instances 1..* - at least one instance Quantifiers can go on either or both ends of a relationship
  • 11. Visibility Characters used to show visibility + public - private # protected ~ package _ static
  • 12. Role Names Can add role names to relationships different name depending on perspective: A is B’s parent, B is A’s child A is B’s employer, B is A’s employee
  • 13. Sequence Diagram Shows the interaction between objects Objects are listed across the top in a single row Interactions are labelled arrows between lines extending down from the objects Very useful for mapping out an interaction when learning or debugging a new codebase. Objects are instances of Classes in your Class Diagram Editor picks up methods from the Class Diagram Classes can be used in parameters and return types
  • 14.
  • 15. Sequence Diagram 2 Conditional [condition] Opt Alt Repeated * loop
  • 16. Examples CCP UIMA type system CCP fileparsersproject EntityTaggers from Code Review CCP NLP Shims Used to reverse engineer