SlideShare a Scribd company logo
1 of 15
Aug 18, 2016
Simple UML
2
What is UML?
 UML stands for Unified Modeling Language
 UML is a diagramming language designed for Object-
Oriented programming
 UML can be used to describe:
 the organization of a program
 how a program executes
 how a program is used
 how a program is deployed over a network
 …and more
3
Design Patterns
 Design Patterns describe the higher-level organization
of solutions to common problems
 Design Patterns are a current hot topic in O-O design
 UML is always used for Design Patterns
 Design Patterns are used to describe refactorings
 We will discuss some Design Patterns later on in this
course
4
UML is complex
 UML is a big, complicated diagramming language
 UML comprises at least seven or eight different kinds
of diagrams
 This talk will cover just a tiny bit of one kind of
diagram, the class diagram
 A class diagram is often all that is needed to describe
a particular Design Pattern
5
Class diagrams
 A class diagram shows classes, interfaces, and their
relationships
 We’ll cover most of classes and interfaces, and a few
of the most important relationships
6
Classes
 A class is drawn as a rectangle with two or three
compartments:
Name of the class
Variables [optional]
Methods
7
Variables I
 A variable is written as:
visibility name : type
where:
 + means public visibility
 # means protected visibility
 - means private visibility
 <blank> means default (package) visibility
 Example: +length:int
8
Variables II
 Static variables are underlined
 An initial value can be shown with =value
 Example:
-numberOfEmployees:int=10
means numberOfEmployees is:
 private
 static
 integer
 and has 10 as its initial value
9
Methods
 Methods are written as:
visibility name (parameters) : returnType
where
 visibility uses the same syntax variables (+, -, #, blank)
 parameters are given as name:type
 if the returnType is void, it is omitted
 constructors are preceded by «constructor»
 interfaces are preceded by «interface»
 an ellipsis (…) indicates omitted methods
10
Example of a class
Card
cardId:int
-copy:boolean=false
«constructor» Card(int id)
+isKind(desiredKind:int)
+isSharable():boolean
+toString():String
11
Types of relationships
A
B
Class B
extends
class A
C
D
1..4
Class C
contains
1 to 4 objects
of class D
Factory
Product
creates
Other
kinds of
relations
12
Example: Secret Code program
13
UML tools
 Rational Rose is the “real world” standard; full round-
trip code generation
 Recently acquired by IBM (right under Microsoft’s nose!)
 Together (from Borland) is a lot like Rational Rose
 I haven’t used it in about three years (since before Borland
bought it from TogetherSoft)
 ArgoUML looks interesting (and is open source)
 BlueJ, of course, displays simple UML diagrams
 Drawing programs with UML support
 Visio is a Microsoft tool
 Dia is a freeware clone of Visio
14
Tool links
 Rational Rose
 http://www-3.ibm.com/software/awdtools/developer/rosexde/
 Together
 http://www.borland.com/together/
 ArgoUML
 http://argouml.tigris.org
 Visio
 Hard to find info on Microsoft’s site!
 http://msdn.microsoft.com/office/understanding/visio/
 Dia
 http://www.lysator.liu.se/~alla/dia
15
The End

More Related Content

What's hot (20)

Ooad unit – 1 introduction
Ooad unit – 1 introductionOoad unit – 1 introduction
Ooad unit – 1 introduction
 
Introduction to UML
Introduction to UMLIntroduction to UML
Introduction to UML
 
System Models in Software Engineering SE7
System Models in Software Engineering SE7System Models in Software Engineering SE7
System Models in Software Engineering SE7
 
Deadlock ppt
Deadlock ppt Deadlock ppt
Deadlock ppt
 
Object Oriented Analysis and Design
Object Oriented Analysis and DesignObject Oriented Analysis and Design
Object Oriented Analysis and Design
 
Unified Modeling Language
Unified Modeling LanguageUnified Modeling Language
Unified Modeling Language
 
Object Oriented Design
Object Oriented DesignObject Oriented Design
Object Oriented Design
 
Uml
UmlUml
Uml
 
Uml Common Mechanism
Uml Common MechanismUml Common Mechanism
Uml Common Mechanism
 
Sequence diagram
Sequence diagramSequence diagram
Sequence diagram
 
Operating system services 9
Operating system services 9Operating system services 9
Operating system services 9
 
Component level design
Component   level designComponent   level design
Component level design
 
Transaction management DBMS
Transaction  management DBMSTransaction  management DBMS
Transaction management DBMS
 
Recognition-of-tokens
Recognition-of-tokensRecognition-of-tokens
Recognition-of-tokens
 
Uml
UmlUml
Uml
 
Use case Diagram and Sequence Diagram
Use case Diagram and Sequence DiagramUse case Diagram and Sequence Diagram
Use case Diagram and Sequence Diagram
 
Flow oriented modeling
Flow oriented modelingFlow oriented modeling
Flow oriented modeling
 
Class based modeling
Class based modelingClass based modeling
Class based modeling
 
Object Oriented Design Concept
Object Oriented Design ConceptObject Oriented Design Concept
Object Oriented Design Concept
 
Object model
Object modelObject model
Object model
 

Viewers also liked

Workshop on Basics of Software Engineering (DFD, UML and Project Culture)
Workshop on Basics of Software Engineering (DFD, UML and Project Culture)Workshop on Basics of Software Engineering (DFD, UML and Project Culture)
Workshop on Basics of Software Engineering (DFD, UML and Project Culture)Dr Sukhpal Singh Gill
 
Use Case Diagram
Use Case DiagramUse Case Diagram
Use Case DiagramAshesh R
 
Data Flow Diagrams
Data Flow DiagramsData Flow Diagrams
Data Flow DiagramsSinhaa Yash
 
Data Flow Diagram Example
Data Flow Diagram ExampleData Flow Diagram Example
Data Flow Diagram ExampleKaviarasu D
 
Dfd examples
Dfd examplesDfd examples
Dfd examplesMohit
 

Viewers also liked (7)

Workshop on Basics of Software Engineering (DFD, UML and Project Culture)
Workshop on Basics of Software Engineering (DFD, UML and Project Culture)Workshop on Basics of Software Engineering (DFD, UML and Project Culture)
Workshop on Basics of Software Engineering (DFD, UML and Project Culture)
 
Pace IT - Printer Installation
Pace IT - Printer InstallationPace IT - Printer Installation
Pace IT - Printer Installation
 
Use Case Diagram
Use Case DiagramUse Case Diagram
Use Case Diagram
 
Data Flow Diagram
Data Flow DiagramData Flow Diagram
Data Flow Diagram
 
Data Flow Diagrams
Data Flow DiagramsData Flow Diagrams
Data Flow Diagrams
 
Data Flow Diagram Example
Data Flow Diagram ExampleData Flow Diagram Example
Data Flow Diagram Example
 
Dfd examples
Dfd examplesDfd examples
Dfd examples
 

Similar to Uml in software engineering

SDA ClassDiagram.ppt
SDA ClassDiagram.pptSDA ClassDiagram.ppt
SDA ClassDiagram.pptAteeqaKokab1
 
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 UMLMalek Sumaiya
 
UML (Hemant rajak)
UML (Hemant rajak)UML (Hemant rajak)
UML (Hemant rajak)hrajak5
 
Exact implementation of design patterns in
Exact implementation of design patterns inExact implementation of design patterns in
Exact implementation of design patterns inijait
 
Fundamentals of Software Engineering
Fundamentals of Software Engineering Fundamentals of Software Engineering
Fundamentals of Software Engineering Madhar Khan Pathan
 
IntroductionToUML.ppt
IntroductionToUML.pptIntroductionToUML.ppt
IntroductionToUML.pptssuser1028f8
 
UML_Lecture.pptxnd bfdjjrnekdddkeeeenekejneje
UML_Lecture.pptxnd bfdjjrnekdddkeeeenekejnejeUML_Lecture.pptxnd bfdjjrnekdddkeeeenekejneje
UML_Lecture.pptxnd bfdjjrnekdddkeeeenekejnejessusera6a60c1
 
OODP Unit 1 OOPs classes and objects
OODP Unit 1 OOPs classes and objectsOODP Unit 1 OOPs classes and objects
OODP Unit 1 OOPs classes and objectsShanmuganathan C
 
香港六合彩 &raquo; SlideShare
香港六合彩 &raquo; SlideShare香港六合彩 &raquo; SlideShare
香港六合彩 &raquo; SlideSharebiyu
 
Uml Presentation
Uml PresentationUml Presentation
Uml Presentationanasz3z3
 

Similar to Uml in software engineering (20)

Simple uml
Simple umlSimple uml
Simple uml
 
31 uml
31 uml31 uml
31 uml
 
SDA ClassDiagram.ppt
SDA ClassDiagram.pptSDA ClassDiagram.ppt
SDA ClassDiagram.ppt
 
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 (Hemant rajak)
UML (Hemant rajak)UML (Hemant rajak)
UML (Hemant rajak)
 
Exact implementation of design patterns in
Exact implementation of design patterns inExact implementation of design patterns in
Exact implementation of design patterns in
 
l1_introuml.pdf
l1_introuml.pdfl1_introuml.pdf
l1_introuml.pdf
 
Fundamentals of Software Engineering
Fundamentals of Software Engineering Fundamentals of Software Engineering
Fundamentals of Software Engineering
 
IntroductionToUML.ppt
IntroductionToUML.pptIntroductionToUML.ppt
IntroductionToUML.ppt
 
Uml lecture
Uml lectureUml lecture
Uml lecture
 
UML Basics
UML BasicsUML Basics
UML Basics
 
Uml introduciton
Uml introducitonUml introduciton
Uml introduciton
 
ooAD
ooADooAD
ooAD
 
UML_Lecture.pptxnd bfdjjrnekdddkeeeenekejneje
UML_Lecture.pptxnd bfdjjrnekdddkeeeenekejnejeUML_Lecture.pptxnd bfdjjrnekdddkeeeenekejneje
UML_Lecture.pptxnd bfdjjrnekdddkeeeenekejneje
 
Lecture 21 22
Lecture 21 22Lecture 21 22
Lecture 21 22
 
Tutorial csharp
Tutorial csharpTutorial csharp
Tutorial csharp
 
OODP Unit 1 OOPs classes and objects
OODP Unit 1 OOPs classes and objectsOODP Unit 1 OOPs classes and objects
OODP Unit 1 OOPs classes and objects
 
Intro Uml
Intro UmlIntro Uml
Intro Uml
 
香港六合彩 &raquo; SlideShare
香港六合彩 &raquo; SlideShare香港六合彩 &raquo; SlideShare
香港六合彩 &raquo; SlideShare
 
Uml Presentation
Uml PresentationUml Presentation
Uml Presentation
 

Recently uploaded

The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
Introduction to Decentralized Applications (dApps)
Introduction to Decentralized Applications (dApps)Introduction to Decentralized Applications (dApps)
Introduction to Decentralized Applications (dApps)Intelisync
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxComplianceQuest1
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about usDynamic Netsoft
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationkaushalgiri8080
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackVICTOR MAESTRE RAMIREZ
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyFrank van der Linden
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number SystemsJheuzeDellosa
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 

Recently uploaded (20)

The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
Introduction to Decentralized Applications (dApps)
Introduction to Decentralized Applications (dApps)Introduction to Decentralized Applications (dApps)
Introduction to Decentralized Applications (dApps)
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about us
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanation
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The Ugly
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number Systems
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 

Uml in software engineering

  • 2. 2 What is UML?  UML stands for Unified Modeling Language  UML is a diagramming language designed for Object- Oriented programming  UML can be used to describe:  the organization of a program  how a program executes  how a program is used  how a program is deployed over a network  …and more
  • 3. 3 Design Patterns  Design Patterns describe the higher-level organization of solutions to common problems  Design Patterns are a current hot topic in O-O design  UML is always used for Design Patterns  Design Patterns are used to describe refactorings  We will discuss some Design Patterns later on in this course
  • 4. 4 UML is complex  UML is a big, complicated diagramming language  UML comprises at least seven or eight different kinds of diagrams  This talk will cover just a tiny bit of one kind of diagram, the class diagram  A class diagram is often all that is needed to describe a particular Design Pattern
  • 5. 5 Class diagrams  A class diagram shows classes, interfaces, and their relationships  We’ll cover most of classes and interfaces, and a few of the most important relationships
  • 6. 6 Classes  A class is drawn as a rectangle with two or three compartments: Name of the class Variables [optional] Methods
  • 7. 7 Variables I  A variable is written as: visibility name : type where:  + means public visibility  # means protected visibility  - means private visibility  <blank> means default (package) visibility  Example: +length:int
  • 8. 8 Variables II  Static variables are underlined  An initial value can be shown with =value  Example: -numberOfEmployees:int=10 means numberOfEmployees is:  private  static  integer  and has 10 as its initial value
  • 9. 9 Methods  Methods are written as: visibility name (parameters) : returnType where  visibility uses the same syntax variables (+, -, #, blank)  parameters are given as name:type  if the returnType is void, it is omitted  constructors are preceded by «constructor»  interfaces are preceded by «interface»  an ellipsis (…) indicates omitted methods
  • 10. 10 Example of a class Card cardId:int -copy:boolean=false «constructor» Card(int id) +isKind(desiredKind:int) +isSharable():boolean +toString():String
  • 11. 11 Types of relationships A B Class B extends class A C D 1..4 Class C contains 1 to 4 objects of class D Factory Product creates Other kinds of relations
  • 13. 13 UML tools  Rational Rose is the “real world” standard; full round- trip code generation  Recently acquired by IBM (right under Microsoft’s nose!)  Together (from Borland) is a lot like Rational Rose  I haven’t used it in about three years (since before Borland bought it from TogetherSoft)  ArgoUML looks interesting (and is open source)  BlueJ, of course, displays simple UML diagrams  Drawing programs with UML support  Visio is a Microsoft tool  Dia is a freeware clone of Visio
  • 14. 14 Tool links  Rational Rose  http://www-3.ibm.com/software/awdtools/developer/rosexde/  Together  http://www.borland.com/together/  ArgoUML  http://argouml.tigris.org  Visio  Hard to find info on Microsoft’s site!  http://msdn.microsoft.com/office/understanding/visio/  Dia  http://www.lysator.liu.se/~alla/dia