Your SlideShare is downloading. ×
31 uml
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

31 uml

194
views

Published on

uml

uml

Published in: Education, Technology

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
194
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
3
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Simple UML May 12, 2012
  • 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 2
  • 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 may discuss some Design Patterns later on in this course 3
  • 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 4
  • 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 5
  • 6. Classes A class is drawn as a rectangle with two or three compartments: Name of the class Variables [optional] Methods 6
  • 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 7
  • 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 8
  • 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 9
  • 10. Example of a class Card cardId:int -copy:boolean=false «constructor» Card(int id) +isKind(desiredKind:int) +isSharable():boolean +toString():String 10
  • 11. Types of relationships A C Factory creates 1..4 B D ProductClass B Class C Otherextends contains kinds ofclass A 1 to 4 objects relations of class D 11
  • 12. Example: Secret Code program 12
  • 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 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
  • 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  hhttp://www.gnome.org/projects/dia/ OmniGraffle 3 (Mac OS X)  http://www.omnigroup.com/applications/omnigraffle/ 14
  • 15. The End 15

×