2/8 - UML Flashcards Preview

Comp Sci 506 > 2/8 - UML > Flashcards

Flashcards in 2/8 - UML Deck (10)
Loading flashcards...
1
Q

Unified Modeling Language

A
  1. Describes a system at a high level of abstraction
  2. A model of the system that is used for requirements, specification and design
  3. Designed by many interest groups
  4. Has many features and loosely related styles
  5. Union of all modeling languages
2
Q

Structural Models for UML

A
  1. Class diagrams

2. Object diagrams

3
Q

Dynamic Models for UML

A
  1. Sequence diagrams

2. Activity diagrams

4
Q

Class Diagrams

A
  1. Describes classes/entities in object-oriented way
  2. Describes statically what interacts but not what happens
  3. Each box is a class
  4. Relationships are depicted by using many kind of arrows
5
Q

Associations

A
  1. Capture n-m relationships
    • “Connected to” relationships
  2. Label endpoints of edge with cardinalities
    • Use * for arbitrary count
  3. Can be directional. So use arrows in that case.
6
Q

Aggregation

A
  • Depicts inheritance between classes
  • Denoted by an open triangle on superclass
  • All arrows point in the direction of code dependency
7
Q

Object Diagram

A
  • Object diagram is an instantiation of a class diagram
  • Represents a static structure of a system at one particular time
  • Can show how several instances of a class relate to each other
8
Q

Sequence Diagram

A

• A table

  • Columns are classes (also called actors)
  • Rows are time steps
  • Entries show data flow or control flow (i.e. method invocations or state change)
  • Sequence diagrams refine use cases
  • Give a dynamic behavior of classes
  • Have overlapping functionality with other diagrams
9
Q

Pros of UML

A
  1. Widely used. Common for sharing specs and design.
  2. Visual syntax is useful.
  3. UML is precise and thus forces clarity.
  4. Commercial tools support.
10
Q

Cons of UML

A
  1. Hodge podge of ideas
    • Union of popular modeling languages
  2. Visual syntax does not scale well for large projects
    • Hard to understand for large projects