OOP 2 Flashcards
It is a standardized general-purpose graphical language for modeling object oriented software.
Unified Modeling Language
What is UML?
Unified Modeling Language
They developed UML.
Object Management Group
What year was UML developed?
1990s
UML combines the ideas of these three people.
Rumbaugh, Booch, and Jacobson
Used to graphically describe the design of a software.
Unified Modeling Language
It provides a vocabulary and the rules for combining words for the purpose of communication.
Language
It is a language whose vocabulary and rules focus on the conceptual and physical representation of a system.
Modeling Language
It is the standard language for software blueprints.
Unified Modeling Language
Two approaches in Modeling a software system
Algorithmically
Object-Oriented
An approach in modeling that becomes hard to focus on as the requirements change.
Algorithmically
An approach in modeling that models more closely to real world entities
Object-Oriented
What are the three major elements in the conceptual model of UML
Building Blocks
Rules
Common Mechanisms
What are the Building Blocks of UML?
Things
Relationships
Diagrams
What are the kinds of things in the UML?
Structural Things
Behavioral Things
Grouping Things
Annotational Things
Are the nouns of UML Models
Structural Things
What are the structural things collectively called?
Classifiers
What elements do Structural Things represent?
Conceptual or Physical
These are the mostly static parts of a model.
Structural Things
What are the 7 Structural Things
Class
Interface
Collaborations
Use Case
Component
Nodes
Active Class
(Artifacts)
Is a description of a set of objects that share the same attributes, operations, relationships, and semantics.
Class
What are the Conceptual or Logical Things?
(Class)
Interface
Collaboration
Use Case
Component
Active Class
What are the Physical Things?
Nodes
Artifacts
It is a collection of operations that specify a service of class or component.
Interface
It describes the externally visible behavior of that element
Interface
It might represent the complete behavior of a class or component or only a part of that behavior
Interface
It defines a set of operation specifications but never a set of operation implementations.
Interface
Defines an interaction and is a society of roles and other elements that work together to provide some cooperative behavior that’s bigger than sum of all the elements.
Collaboration
Is a description of sequences of actions that a system performs that yield observable results of value to a particular actor.
Use Case
It is used to structure the behavioral things in a model.
Use Case
It is realized by collaboration.
Use Case
Is a class whose objects own one or more processes or threads and therefore can initiate control activity.
Active Class
Is just like a class except that its objects represent elements whose behavior is concurrent with other elements
Active Class
Is a modular part of the system design that hides its implementation behind a set of external interfaces.
Component
It is a physical and replaceable part of a system that contains physical information
Artifact
Is a physical element that exists at run time and represents a computational resource, generally having at least some memory and, often, processing capability.
Node
Are the dynamic parts of UML models
Behavioral Things
These are the verbs of a model, representing behavior over time and space
Behavioral Things
Three Primary Kinds of Behavioral Things
Interactions
State Machines
Activities
Is a behavior that comprises a set of messages exchanged among a set of objects or roles within a particular context to accomplish a specific purpose.
Interaction
Is a behavior that specifies the sequences of states an object or an interaction goes through during its lifetime in response to events together with its responses to those events.
State Machine
It is a behavior that specifies the sequence of steps a computational process performs
Activity
Are the organizational parts of UML models
Grouping Things
These are the boxes into which a model can be decomposed.
Grouping Things
The one and only primary kind of grouping thing
Packages
It is a general-purpose mechanism for organizing the design itself, as opposed to classes, which organize implementation constructs.
Package
It only exists at development time and not at run time
Package
Exist in both development time and run time.
Components
Are the explanatory parts of UML models
Annotational Things
The one and only primary kind of Annotational Thing
Note
Is simply a symbol of rendering constraints and comments attached to an element or a collection of elements
Note
The four kinds of relationships in UML
Dependency
Association
Generalization
Realization
Is a semantic relationship between two model elements in which a change to one element may affect the semantics of the other element
Dependency
Is a structural relationship among classes that describes a set of links
Association
A connection among objects that are instances of the classes
Link
Is a special kind of association representing a structural relationship between a whole and its parts.
Aggregation
a relationship in which the specialized element builds on the specification of the generalized element
Generalization
Another term for a specialized element
Child
Another term for generalized element
Parent
Is a semantic relationship between classifiers, wherein one classifier specifies a contract that another classifier guarantees to carry out.
Realizations
Two places where you’ll encounter realization relationships
between interfaces and the classes or components that realize them
between use cases and the collaborations that realize them
Is the graphical presentation of a set of elements, most often rendered as a connected graph of vertices and paths
Diagram
A _____ is a projection into a ____.
Diagram; System
Represents and elided view of the elements that make up a system.
Diagram
Shows a set of classes, interfaces, and collaborations and their relationships.
Class Diagram
The most common diagram found in modeling object-oriented systems
Class Diagram
Address the static design view of a system.
Class Diagram
Shows a set of objects and their relationships
Object Diagram
Represent static snapshots of instances of the things found in class diagrams
Object Diagram
Shows an encapsulated class and its interfaces, ports, and internal structure consisting of nested components and connectors.
Component Diagram
Shows a set of use cases and actors and their relationships
Use Case Diagram
A special kind of class
Actors
Kinds of Interaction Diagrams
Sequence Diagrams
Communication Diagrams
Shows an interaction, consisting of a set of objects or roles, including messages that may be dispatched among them.
Interaction Diagrams
Is an interaction diagram that emphasizes the time-ordering of messages
Sequence Diagram
Is an interaction diagram that emphasizes the structural organization of the objects or roles that send and receive messages
Communication Diagram
Emphasize temporal ordering
Sequence Diagram
Emphasize data structure through which messages flow
Communication Diagram
Shows the actual times at which messages are exchanged
Timing Diagram
Shows a state machine, consisting of states, transitions, events, and activities.
State Diagram
Shows the structure of a process or other computation as the flow of control and data from step to step within the computation.
Activity Diagram
They are especially important in modeling the function of a system and emphasize the flow of control among objects
Activity Diagram
Shows the configuration of run-time processing nodes and the components that live on them
Deployment Diagram
Shows the physical constituents of a system on the computer
Artifact Diagram
Shows the decomposition of the model itself into organization units and their dependencies
Package Diagram
Is an interaction diagram that shows actual times across different objects or roles, as opposed to just relative sequences of messages.
Timing Diagram
Is a hybrid of an activity diagram and a sequence diagram
Interaction Overview Diagram
_____ takes precedence over _____!
Abstraction; Precision
What principle states the 20/80 rule?
Pareto Rule
What are the main principles shown on class diagrams
Classes
Associations
Generalization
Attributes
Operations
It represents the class and the name of the class inside it
Box
Three Compartments of a Box
- For name of class
- For attributes
- For operations
Symbols used in class notation
-, #, +
Class notation symbol that means private
hyphen (-)
Class notation symbol that means protected
pound (#)
Class notation symbol that means public
plus (+)
It is a relationship between two classes and is shown by a solid line between two classes
Association
What do you call the instance of an association?
Link
Is a group of links with a common structure and common sesmantics
Association
It indicates how many objects of the class at one end of the association can be linked to a single instance of the class at the other end of the association
Multiplicity
Three types of Multiplicity
One-to-one
One-to-many
Many-to-many
What does 0…1 mean in multiplicity?
Zero or One
What does * mean in multiplicity?
from zero to any positive integer
What does 1…* mean in multiplicity?
from one to any positive integer
What are 1 and * respectively called in the form 1…*?
Lowerbound; Upperbound
What is the default association name assumed when no association name is given?
‘has’
Is an association in which one class belongs to a collection
Aggregation
are special associations that represent a ‘has a’ or a ‘whole/part’ relationship among peers
Aggregations
Is also known as a strong aggregation
Composition
An aggregation is represented by what symbol?
Diamond
A strong aggregation is represented by what symbol?
Solid Diamond
Where is the diamond symbol attached in an aggregation?
attached to the aggregate
Is the relationship between a more general class and a more specific class
Generalization
It is represented with a small triangle pointing to the general class.
Generalization
What rule does a generalization follow?
‘is a’ rule