Lecture 10: UML Flashcards
What is UML (Unified Modeling Language)?
A “general purpose” modeling language
Provides a standard method for designing a system
What is a good UML model?
A model that uses standard notation, is understandable by all stakeholders, helps software engineers gain insight into the system, and provides abstraction
Why use a UML diagram?
Help create designs, analyze and review designs, and as documentation for the system
What are the different types of UML diagrams?
Static (structural) view: Class diagrams, Composite structure diagrams
Dynamic (behavioral) view: Sequence diagrams, Activity diagrams, State machine diagrams
What do class diagrams describe?
Describe the system classes attributes, operations (methods), and relationships
What is a composite structure diagram?
Shows the internal structure of a class
Parts: Runtime role of a classifier (e.g., class) or a collection of instances
Port: Connects classifiers with their parts and environment
Connector: Binds two or more entities together
What is a sequence diagram?
Models the interaction between objects in a system over time
Visualize the flow of control and data between objects
What is an activity diagram?
Graphical workflow showing stepwise activity and actions
Similar to the graph that shows the user walking through the Class-ify app
What is a state diagram?
Models the different states an object can be in and how it transitions from one state to another
What is an association?
Shows how two classes relate to each other
What is multiplicity?
Symbols that indicate the varying levels of association
Many: *
Number: just a number
Or: ..
Ex: Many to many: * —— *
Ex: Many to one: * ——— 1
Ex: Many to many: * ——- 1 .. *
What is a reflexive association?
An association can connect a class to itself
What is generalization?
A generalization set is a labeled group of generalization with a common superclass. It is denoted by a triangle
What is a discriminator?
Label that described the criteria used for specializing, listed next to the triangle
You can have multiple discriminators in a diagram
What is a system domain model?
Models aspects of the domain represented by the system
Omits many classes needed for a complete system, developed and used independently of UI and architectural classes.