UML Cheatsheet Class Diagram Elements dependency multiplicity association Package::AbstractClass -Attribute : Type 1 -ClassAttribute : Type Parent Child parent child* +Operation(Arg:Type):Type #AbstractOperation * role Association generalization Class visibility 0..1 info
<
realizes qualified association dependency T 1 Interface ParameterizedClass Value key Implementor Operation(Arg: T) Operation2(): T
Sequence Diagram Elements Object : Class Object2 object creation
call(obj) new incoming message Object3
selfCall callback
interaction frame return object destruction loop / alt / opt delete
frame type {constraint} callUnderConstraint
{alternative} callUnderAlternative
(cc) 2006 Lou Franco - Some Rights Reserved - Attribution-NonCommercial-ShareAlike 2.5 (cc) 2006 Lou Franco - Some Rights Reserved - Attribution-NonCommercial-ShareAlike 2.5 http://creativecommons.org/licenses/by-nc-sa/2.5/ http://creativecommons.org/licenses/by-nc-sa/2.5/ Package Diagram Elements
dependency Data
View Model SQLServer Oracle
Object Diagram Elements John : Child name = "John" parent: Parent Mary : Child name = "Mary"
Use Case Diagram Elements system boundary
actor 1 Library checkout 1 Membership <
(cc) 2006 Lou Franco - Some Rights Reserved - Attribution-NonCommercial-ShareAlike 2.5 (cc) 2006 Lou Franco - Some Rights Reserved - Attribution-NonCommercial-ShareAlike 2.5 (cc) 2006 Lou Franco - Some Rights Reserved - Attribution-NonCommercial-ShareAlike 2.5 http://creativecommons.org/licenses/by-nc-sa/2.5/ http://creativecommons.org/licenses/by-nc-sa/2.5/ http://creativecommons.org/licenses/by-nc-sa/2.5/ Sample Class Diagrams
Component +bg : Color DrawingContext +fg : Color drawRect +pos: Point drawLine +size: Dimension drawEllipse +Paint(dc) * children loop
1 parent
Button EditBox Panel Container
LineItem Product Invoice quantity : int 1 * price : Money +calcTotal() : Money
TV Radio
checkout(lendable, member)
1 Library checkout 1 Membership return start : Date renewal : Date * LendRecord Lendable due : Date opt id 1 returned : Boolean newArrival : Boolean * LendRecord(lendable, member, date) calcDueDate(member): Date isDue() : Boolean renew(Date) * 1 Book CD * Member DVD
(cc) 2006 Lou Franco - Some Rights Reserved - Attribution-NonCommercial-ShareAlike 2.5 (cc) 2006 Lou Franco - Some Rights Reserved - Attribution-NonCommercial-ShareAlike 2.5 (cc) 2006 Lou Franco - Some Rights Reserved - Attribution-NonCommercial-ShareAlike 2.5 http://creativecommons.org/licenses/by-nc-sa/2.5/ http://creativecommons.org/licenses/by-nc-sa/2.5/ http://creativecommons.org/licenses/by-nc-sa/2.5/ Sample Sequence Diagrams
aPanel child : Component dc : DrawingContext
paint(dc)
loop paint(dc) drawOperation(args) { forEach child }
: Library aMember aLendable
checkout(lendable, member)
1 Library canBorrow(lendable) Membership checkout 1 numOut(member) return start : Date renewal : Date * LendRecord Lendable due : Date opt calcDueDate(member) id 1 returned : Boolean * LendRecord(lendable, member, date) { canBorrow == true } newArrival : Boolean dueDate calcDueDate(member): Date isDue() : Boolean renew(Date) record * new aLendRecord 1 Book CD * Member DVD
(cc) 2006 Lou Franco - Some Rights Reserved - Attribution-NonCommercial-ShareAlike 2.5 (cc) 2006 Lou Franco - Some Rights Reserved - Attribution-NonCommercial-ShareAlike 2.5 http://creativecommons.org/licenses/by-nc-sa/2.5/ http://creativecommons.org/licenses/by-nc-sa/2.5/