Pageviews

Tuesday, November 25, 2014

UML - Class Diagram - C++

1. Class representation
    • Visibility: public "+" / private "-"
    • Parameter direction: input "in" / in&out "inout" / output param "out"
    • Type of members: static method is underlined / pure virtual function italics
2. Class relationship
    • Association         ------------>
      • maybe aggregation
      • maybe composition
      • maybe dependency
    • Dependency        - - - - - - ->
      • class X { void foo(Y y){}; }
      • A dependency is very much implied by an association.
    • Aggregation        <>--------->
      • X weakly contains Y
      • class X { Y* y; }
    • Composition       <+>------->
      • X strongly contains Y
      • class X { Y y; }
    • Generalization    ------------|>
      • inheritance
    • Class template    
      • two class representation overlay
      • generic programming
    • Multiplicity in a relationship
      • "0..1" none or one
      • "1"     exactly one
      • "*"     zero or more
      • "1..*" at least one