OCUP 2 Foundation study materials
OCUP 2 Foundation study resources

OCUP 2 Foundation key terms

OCUP 2 Foundation · Get comfortable with the vocabulary.

Class

A structural classifier describing a set of objects that share attributes, operations, relationships, and semantics. It is the central building block for object-oriented structural models and may be specialized, generalized, or made abstract.

Related: Attribute, Operation, Generalization
Attribute

A typed property declared on a classifier that describes a value held by each instance. It can carry multiplicity, visibility, a default value, and constraints that restrict the values it may take.

Related: Class, Multiplicity, Visibility
Operation

A behavioral feature declared on a classifier that specifies a name, parameters, return type, and visibility. It describes what instances can be asked to do, while the method supplies the implementation.

Related: Class, Parameter, Visibility
Association

A structural relationship linking classifiers whose instances can be connected at runtime. It may carry a name, role names, multiplicities at each end, navigability, and an association class for extra data.

Related: Multiplicity, Association Class, Navigability
Multiplicity

A constraint on how many instances may participate at one end of an association or fill a property. Written as a range such as 1, 0..1, or 1..*, it bounds the cardinality of the relationship.

Related: Association, Attribute
Generalization

A taxonomic relationship in which a more specific classifier inherits the features of a more general one. The child adds or overrides features, supporting substitutability and reuse in structural and behavioral models.

Related: Class, Interface Realization, Abstract Class
Abstract Class

A classifier that cannot be instantiated directly and typically declares incomplete behavior for subclasses to complete. Its name is shown in italics, and it usually owns abstract operations with no implementation.

Related: Generalization, Operation
Interface

A named set of public operation signatures that a classifier promises to provide. It has no implementation of its own and is connected to providers through realization, enabling substitution of implementations.

Related: Interface Realization, Dependency, Component
Interface Realization

A relationship stating that a classifier commits to the contract declared by an interface. The realizing class or component must supply operations matching every signature the interface exposes.

Related: Interface, Component
Dependency

A relationship in which a change to the supplier element may affect the client element. It is drawn as a dashed arrow and is common between packages, classes, and components in structural models.

Related: Package, Interface
Association Class

A class attached to an association that holds attributes and operations belonging to the link itself rather than to either endpoint. It is useful when a relationship carries data such as a hire date.

Related: Association, Class
Aggregation

A whole-part association with a hollow diamond at the whole end, indicating that parts may be shared and can outlive the whole. It is weaker than composition and imposes no lifetime dependency on the parts.

Related: Composition, Association
Composition

A strong whole-part association drawn with a filled diamond, in which parts belong to exactly one whole and are destroyed with it. The part's lifetime is subordinate to the composite's lifetime.

Related: Aggregation, Association
Package

A namespace used to group model elements and organize a large model into manageable units. It can contain classes, other packages, and diagrams, and dependencies between packages reveal coupling.

Related: Dependency, Component Diagram
Component

A modular, replaceable part of a system that provides and requires interfaces through ports. It encapsulates its internals and is depicted as a rectangle with a component icon in component diagrams.

Related: Interface, Port, Component Diagram
Port

A distinct interaction point on a classifier or component through which it provides or requires interfaces. Ports isolate a component's external contract from its internal structure and implementation details.

Related: Component, Interface
Component Diagram

A structural diagram showing components, their provided and required interfaces, ports, and wiring. It expresses the architecture of replaceable parts and how they collaborate at a coarse granularity.

Related: Component, Port, Interface
Class Diagram

A structural diagram that shows classes, interfaces, attributes, operations, and the relationships among them. It is the primary view of the static type structure of an object-oriented system.

Related: Class, Association, Generalization
Object Diagram

A structural diagram capturing a snapshot of instances and the links between them at a point in time. It illustrates concrete example configurations that a class diagram permits.

Related: Class Diagram, Instance Specification
Instance Specification

A model element denoting a specific instance whose slots hold concrete values. It appears in object diagrams and may carry a name, a type, and value specifications for its features.

Related: Object Diagram, Attribute
Composite Structure Diagram

A structural diagram showing the internal parts of a classifier, their ports, connectors, and collaborations. It reveals how a class or component realizes its behavior through cooperating internal roles.

Related: Port, Component, Collaboration
Deployment Diagram

A structural diagram depicting nodes, artifacts, and communication paths in a physical or execution environment. It maps software artifacts onto hardware or runtime nodes and shows how they are deployed.

Related: Node, Artifact, Component Diagram
Node

A physical or runtime computational resource, such as a server or device, that hosts artifacts in a deployment model. Nodes may be nested and connected by communication paths.

Related: Deployment Diagram, Artifact
Artifact

A concrete piece of information produced or used by development and deployment, such as a source file, library, or executable. Artifacts are deployed onto nodes and may realize components.

Related: Node, Deployment Diagram, Component
Use Case Diagram

A behavioral diagram showing actors, use cases, and their associations, expressing system functionality from an external viewpoint. It also captures include, extend, and generalization relationships between use cases.

Related: Actor, Include Relationship, Extend Relationship
Actor

A role played by a person, external system, or device that interacts with the subject through use cases. Actors are drawn as stick figures and lie outside the system boundary.

Related: Use Case Diagram, Use Case
Use Case

A named unit of observable behavior that yields a result of value to an actor. It describes a goal-level interaction with the system rather than internal steps or implementation detail.

Related: Actor, Use Case Diagram
Include Relationship

A use case relationship in which a base use case always incorporates the behavior of another use case. It factors out mandatory shared steps and is drawn as a dashed arrow labeled include.

Related: Use Case, Extend Relationship
Extend Relationship

A use case relationship in which an extending use case adds optional behavior to a base use case under a condition. The arrow points from the extension toward the base case.

Related: Use Case, Include Relationship
Activity Diagram

A behavioral diagram modeling control and data flow through actions, decisions, merges, forks, and joins. It is used for workflows and algorithms and supports swimlanes and concurrency.

Related: Action, Fork and Join, Swimlane
Action

A single executable step within an activity that transforms inputs into outputs. Actions are connected by control flows and may have pins for their input and output tokens.

Related: Activity Diagram, Control Flow
Fork and Join

Notation for splitting one flow into concurrent flows (fork) and merging concurrent flows back into one (join). Both use a heavy bar; a join waits for all incoming flows to complete.

Related: Activity Diagram, Decision and Merge
Decision and Merge

A diamond node that routes a flow along one guarded branch (decision) or reunites alternative branches (merge). Guards on outgoing edges determine which path is taken at a decision.

Related: Fork and Join, Activity Diagram
Swimlane

A partition in an activity diagram that groups actions by the responsible actor or organizational unit. It clarifies handoffs and accountability within a process flow.

Related: Activity Diagram, Actor
State Machine Diagram

A behavioral diagram describing the states of one object and the events that trigger transitions between them. It models event-driven behavior, including guards, effects, and composite states.

Related: State, Transition, Guard
State

A condition or situation during an object's life in which it satisfies some invariant, performs an activity, or waits for an event. States may be simple, composite, or have entry and exit behaviors.

Related: State Machine Diagram, Transition
Transition

A directed relationship between states that fires when its trigger event occurs and its guard evaluates true. It may carry an effect action that executes when the transition is taken.

Related: State, Guard, State Machine Diagram
Guard

A boolean condition attached to a transition or interaction that must evaluate true for the path to be taken. Written in square brackets, it constrains when behavior may occur.

Related: Transition, Decision and Merge
Sequence Diagram

An interaction diagram showing lifelines and the time-ordered messages exchanged between them. It emphasizes the order of calls and may include combined fragments for alternatives and loops.

Related: Lifeline, Message, Combined Fragment
Lifeline

The vertical line in an interaction diagram representing one participant over time. It may carry an execution specification bar indicating when that participant is active.

Related: Sequence Diagram, Message
Message

A communication between lifelines in an interaction, shown as an arrow with a name and ordering. It may be synchronous, asynchronous, or a reply, and can carry arguments and a sequence number.

Related: Lifeline, Sequence Diagram
Combined Fragment

A frame in an interaction diagram that groups messages under an operator such as alt, opt, loop, or par. It expresses conditional, optional, iterative, or concurrent message ordering.

Related: Sequence Diagram, Message
Communication Diagram

An interaction diagram that emphasizes links between objects rather than time order, with numbered messages along those links. It shows the same interactions as a sequence diagram in a different layout.

Related: Sequence Diagram, Message
Swimlane vs. Partition

A partition is the general UML term for a grouping region inside a diagram, while a swimlane is a partition used specifically to assign responsibility in activity or interaction diagrams. Swimlanes are a kind of partition.

Related: Swimlane, Activity Diagram
Model

An abstraction of a system built for a purpose, capturing selected aspects while omitting irrelevant detail. A model enables reasoning, communication, and prediction before committing to implementation.

Related: View, Diagram
View

A projection of a model that emphasizes one concern, such as structure, behavior, or deployment, for a particular stakeholder. Multiple views together describe the whole system without duplicating it.

Related: Model, Diagram
Diagram

A graphical presentation of a set of model elements, usually chosen to illustrate one aspect of a model. Diagrams are views onto the underlying model, not the model itself.

Related: Model, View
Traceability

The ability to follow relationships from requirements through design elements to implementation and tests. Modeling supports it by making links explicit, which helps assess the impact of changes.

Related: Model, Dependency
Abstraction Level

The degree of detail at which a model represents a system, ranging from conceptual sketches to implementation-level specifications. Choosing the right level keeps models useful and avoids unnecessary complexity.

Related: Model, View