Sie sind auf Seite 1von 15

Simple UML

Dec 8, 2021
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

2
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 may discuss some Design Patterns later on in this
course

3
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

4
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

5
Classes
 A class is drawn as a rectangle with two or three
compartments:

Name of the class

Variables [optional]

Methods

6
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

7
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

8
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

9
Example of a class

Card

cardId:int
-copy:boolean=false

«constructor» Card(int id)


+isKind(desiredKind:int)
+isSharable():boolean
+toString():String

10
Types of relationships

A C Factory

creates
1..4
B D Product

Class B Class C Other


extends contains kinds of
class A 1 to 4 objects relations
of class D
11
Example: Secret Code program

12
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 five 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

13
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
 hhttp://www.gnome.org/projects/dia/
 OmniGraffle 3 (Mac OS X)
 http://www.omnigroup.com/applications/omnigraffle/

14
The End

15

Das könnte Ihnen auch gefallen