OCUP 2 Intermediate study materials
OCUP 2 Intermediate study resources

OCUP 2 Intermediate flashcards

OCUP 2 Intermediate · Build recall with a focused review session.

32 cards. Read the term and the definition here. The deck at the top of this page is optional.

Owned attribute vs association end
An owned attribute is a Property declared inside a Classifier; an association end is a Property owned by an Association. Both have multiplicity and type, but only the association end defines the link semantics.
Multiplicity notation
Written lower..upper, for example 0..1, 1..*, or 2..5. A single number means that exact count, a lone asterisk means 0..*, and an omitted upper bound defaults to one.
Composite aggregation semantics
A filled diamond on the whole end. The part is exclusively owned, its lifetime is bound to the whole, and deleting the whole deletes the part. Shared aggregation carries no such lifetime rule.
Conjugated port
A Port whose isConjugated is true. It inverts the provided and required interfaces of the port's type, so what the type provides becomes required and vice versa.
Assembly connector
A connector joining a required interface (socket) of one component to a provided interface (ball) of another. It expresses that one component uses services another offers, without declaring an Association.
Covering generalization set
A generalization set with isCovering true asserts that every instance of the supertype is an instance of at least one subtype in the set. Without it, unlisted subtypes may exist.
Abstract classifier and operations
isAbstract true means no direct instances. Abstract operations appear in italics and have no method in that classifier; each concrete specialization must supply a realizing behavior.
Template binding
A Binding dependency supplies actual parameters to a template Classifier's TemplateParameters, producing a bound element. A template with unbound parameters cannot be instantiated directly.
Component provided and required interfaces
Provided interfaces are realized by the component and offered to clients; required interfaces are used by the component and must be supplied by something else. Both are drawn as balls and sockets.
Package import versus merge
Import adds the public members of the target namespace to the importing namespace. Merge combines element definitions so the merging package's elements extend the merged ones, affecting all elements, not just public ones.
Interface realization
A dependency from a Classifier to an Interface stating the Classifier implements the Interface's operations. Signatures must match in name, parameter types, return type, and declared exceptions.
Substitution dependency
Declares that one component can replace another at a defined collaboration point, typically to swap implementations. It is not Generalization and does not inherit structure or behavior.
Deployment and artifact
A Deployment is a dependency placing an Artifact on a Node. A DeploymentSpecification attached to it carries execution parameters such as configuration values for that deployment.
DataType value semantics
A DataType has no identity; instances are compared by value. A PrimitiveType is a DataType with no internal structure. Properties typed by DataTypes must be compared by value, not reference.
Signal and Reception
A Signal is a Classifier describing asynchronous communication. A Reception is an operation with no return that is triggered by that Signal, decoupling sender and receiver modules.
Collaboration use
A CollaborationUse binds the roles of a Collaboration to concrete parts of a classifier, showing how those parts cooperate to realize an interface or use case.
Reify association to class
When a link needs attributes, operations, or its own associations, model it as a Classifier instead of an AssociationClass, especially when the link participates in further relationships.
Generalization versus composition
Use Generalization when the subtype is fully substitutable for the supertype. If the subtype adds incompatible state or must delegate selectively, use composition or delegation instead.
Pull-up operation rule
Move an operation to the supertype when two or more subtypes declare the same signature with the same postcondition. Keep it in the subtype when preconditions differ, since substitutability would break.
Qualifier effect on multiplicity
A Qualifier on an association end partitions the target set by a key. When the qualifier uniquely identifies the target within the source's context, the effective target multiplicity drops, often to 0..1.
Derived property documentation
A Property with isDerived true, drawn with a leading slash, is computed from other elements. It needs an OCL derivation rule or a behavioral description, otherwise its meaning is ambiguous.
N-ary association limits
An n-ary Association cannot express per-pair uniqueness or ordering across its ends. Reify it as a Classifier when such business rules are required.
Replace boolean flag with state
When a boolean flag's combinations encode mutually exclusive modes, replace it with an enumeration or state machine. Flags that can co-occur legitimately remain separate attributes.
Duplicate detection rule
Before merging duplicated attributes into a shared DataType or Generalization, confirm the duplicated elements have identical semantics, not merely identical names.
Structural diagram list
Class, Object, Package, Component, Composite Structure, Deployment, and Profile diagrams. They describe static elements of the model rather than the order of behavior over time.
Behavioral diagram list
Use Case, Activity, State Machine, and the Interaction group: Sequence, Communication, Timing, and Interaction Overview. They describe behavior, control flow, and message exchange.
Sequence versus communication
A Sequence diagram orders messages by a vertical time axis. A Communication diagram shows the same interaction on links with numbered messages that express the ordering.
Timing diagram purpose
Plots state or value changes of one or more lifelines against a horizontal time axis. It makes duration constraints and state intervals explicit, which Sequence diagrams show only implicitly.
Activity final versus flow final
A flow final node ends only its own path, letting other tokens continue. An activity final node terminates the entire activity, destroying all remaining tokens.
Transition syntax
A transition is written trigger [guard] / effect. It fires only when the trigger occurs and the guard is true, then executes the effect behavior.
Use case include and extend
Include means the base use case always performs the included one. Extend means the extending use case runs only under its condition, at a declared ExtensionPoint of the base.
Profile and stereotype extension
A Profile defines Stereotypes, tagged values as Properties, and Constraints applied to a referenced metamodel. An Extension with «metaclass» binds a stereotype to a UML metaclass.