UML Flashcards
Object Management Technique
OMT
Class Model Diagram - Structural aspects
State Chart Diagram - Behavioral aspects
Data Flow Diagram - Functional aspects
Unified Modeling Language
UML
The array of Techniques (like OMT) coming out led to an initiative to Unify them all.
Object Management Group
Group which standardized UML
CASE tools
Computer Aided Software Engineering
Tools that help software engineers do their work quicker and more efficiently
The Three Amigos
Rumbaugh, Booch, Jacobson
How many types of Diagrams does UML version 2 have?
14
Two Main Categories of Diagrams
Structural and Behavioral
Structural Diagrams
Give you the pieces of the system that are always there, and the relationships among them
Behavioral Diagrams
Concerned with the executions of the system, and a particular diagram may only convey one execution (you may need more than one to get the big picture)
Benefits of Diagrams
Enhances communication, supports existing methods, and there is CASE tool support
What is the most popular UML diagram?
Class Diagram
Class Diagram
aka Static Models
Shows the Classes in a proposed software system and their relationships to other Classes.
Demonstrates structural properties.
UML Classes
Rectangular illustration that contains a Class’ name, its properties, the properties’ types, the operations that Class has, and the operations’ return types
UML: Dashed Direct Line
X - - - - - > Y
Dependency
X uses Y
UML: Soluid undirected line
X ———– Y
Associations
X affects Y
UML: Solid line with large, open arrowhead
X ———-> Y
Generalization
X is a kind of Y
Class Diagram vs Object Diagram
Basically the same, except instead of Classes they mention instances and specific properties they may have.
(Label is Underlined string such as c : Company, mentioning the instance and the Class.
Properties have example values here)
Composite Structure Diagram
Conveys internal Structure of a class.
- Rectangular Card-like
- Class name on the left upperhand side.
- Class is a square in the middle
- Circle connected via line to class shows what Interface Class Provides
- Half circle connected via line to class shows what Interface Class Requires
- Rectangle on inside of class
Component Diagram
Static implementation view of how the components of a system fit together and interact.
Models Code Entities (like binaries)
(Depicts that one of the components uses a service of a another component)
Deployment Diagram
Configuration of the run-time processing nodes and the component instances and objects that live on them.
Nodes in Deployment Diagrams
Denotes a Computational Device
Arcs in Deployment Diagrams
Indicate communications
Packages in UML
General purpose organizing mechanisms
Provides namespace scoping so that each package can have its own set of names
Dependency arrows between packages indicate dependencies between constituents.
System is the
What is the Top-Level package in UML?
System
Dashed Line in Package Diagram
X - - - - - > Y
Indicates a Dependency-On
X Depends-On Y
Solid Line w/ White Arrowhead in Package Diagram
X ———-|> Y
Indicates a Subclass-Of X is a Subclass of Y
Profile Diagram
Diagram which extends UML’s capabilities via allowing users to Markup UML with custom definitions and icons.
Which UML Structure diagrams could be used to convey system architecture?
Class, Component, Deployment, Package
Use Case
Sequence of User-Visible actions along with system responses.
May be conveyed with unstructured text or in a table
Use Case Diagram
Depicts the relationship among system actors and use cases.
Useful for eliciting system requirements and organizing development activities
Stick Figures in a Use Case Diagram
External Actors
- Users
- External Systems
Ovals in a Use Case Diagram
Use Cases
Lines w/out annotations in a Use Case Diagram
Indicate Participation
Actor at one end is involved in the Use Case
What are the two annotations available in Use Case diagrams?
<> and <>
stereotype support factoring
Use Case Tabular Structure
Actor | Action | Object
———-+————-+————————-
Foster | browses | Amazon website
Context Diagrams
NOT PART OF UML
but provide interesting capabiities
Provide a “different view”
Depict processes, actors, and the datafows among them.
Sequence Diagram
Conveys a single use case, and shows participants as columns with arrows pointing from one participant to another to show what actions they are performing or being performed on sequentially
Communication Diagrams
Object diagram annotated with ordered interactions instead of links
Semantically equivalent to Sequence Diagram
Rectangles are connected by lines to indicate interaction, but only a single line between them.
Lines are annotated with different communication steps performed, prepended by number execution step.
Activity Diagram
Variant of a state machine where multiple states may be simultaneously active
Transitions are triggered by activity completion
models workflows, synchronization in processes, and concurrency
Timing Diagram
More granular than Activity Diagram, this has a Process-over-time feel with specific ticks for specific times. Processes have lines moving horizontally from left to right indicating different exact times processes should complete tasks
rotated sequence diagram
State Diagram
Most Powerful and Most Complex
aka State Charts
Extended finite state machines, aggregation, currency, etc
Object Constraint Language
Textual extension to UML’s visual notation
It’s UML Markup
Applicable to Class and Statechart
First-order predicate logic
Diagram navigation collection classes
Enables more precision
context Account::deposit(Real : amount) pre: amount > 0 post: balance = balance@pre + amount
UML Metamodel
Definition of UML in UML
(UML description of UML)
Can be extended by a modeler using profiles
[diagram]
Can add constraints on the diagrams themselves
STUDY THE DIAGRAM