2/8 - UML Flashcards
1
Q
Unified Modeling Language
A
- Describes a system at a high level of abstraction
- A model of the system that is used for requirements, specification and design
- Designed by many interest groups
- Has many features and loosely related styles
- Union of all modeling languages
2
Q
Structural Models for UML
A
- Class diagrams
2. Object diagrams
3
Q
Dynamic Models for UML
A
- Sequence diagrams
2. Activity diagrams
4
Q
Class Diagrams
A
- Describes classes/entities in object-oriented way
- Describes statically what interacts but not what happens
- Each box is a class
- Relationships are depicted by using many kind of arrows
5
Q
Associations
A
- Capture n-m relationships
• “Connected to” relationships - Label endpoints of edge with cardinalities
• Use * for arbitrary count - 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
- Widely used. Common for sharing specs and design.
- Visual syntax is useful.
- UML is precise and thus forces clarity.
- Commercial tools support.
10
Q
Cons of UML
A
- Hodge podge of ideas
• Union of popular modeling languages - Visual syntax does not scale well for large projects
• Hard to understand for large projects