Unified Modeling Language Glossary
Unified Modeling Language (UML) is a standardized general-purpose modeling language in the field of software engineering. The standard is managed, and was created by, the Object Management Group.
UML includes a set of graphic notation techniques to create visual models of software-intensive systems.
The Unified Modeling Language (UML) is used to specify, visualize, modify, construct and document the artifacts of an object-oriented software-intensive system under development. UML offers a standard way to visualize a system's architectural blueprints, including elements such as: 1) activities, 2) actors, 3) business processes, 4) database schemata.
- Abstract class
- A class that cannot be instantiated because a complete implementation has not been specified for all operations of the class. Abstract Data Type
- Abstract data type
- A class created to encapsulate a type of information common to an application. Often used for items such as addresses, which contain a number of individual fields combined in a specific way and edited according specific rules unique to that combination.
- Abstract operation
- An operation signature without an associated implementation.
- A unique representation of a real-world entity. The intent of the representation is not a comprehensive description, but rather a description that is useful for a specific application or purpose.
- A response to an event in a statechart diagram, typically part of the transition from one state to another and typically atomic (cannot be broken into subtasks).
- Action state
- An object state that represents the execution of an action, typically the invocation of an operation.
- The execution of an operation on an object or other call to an object to initiate a behavior on that object.
- Active object
- An object in control of a thread or process that can initiate control activity. In a sequence diagram, this is identified by widening the vertical timeline into a narrow rectangle. In an object diagram, this is signified by making the object icon bold.
- Processing that an object performs particular to a specific state. An activity is typically nonatomic, that is, it may be composed of any number of subtasks.
- A person, system, or device that interacts with a system in a use case diagram.
- An object that can be the source and destination of an interaction.
- A class that represents the whole in a whole-part relationship. See also: Composite
- An asymmetric type association used to model a whole-part relationship between classes. Usually used to model assemblies of objects to create new objects. See also: Composition
- Any class that resides higher than the reference class in a generalization hierarchy. See also: Superclass
- Architecture refers to the way in which components fit together. Can be used to describe any complex system, for example, "software architecture", or "network architecture"
- Address Resolution Protocol is a part of the Internet layer. It obtains the hardware addresses of hosts located on the same physical network.
- A relationship between classes that specifies the type of links that may be created between objects of the associated classes.
- Association class
- Information about an association that has been abstracted into its own class.
- Behaviors that must be handled by another use case prior to allowing anyone access to the use case in question.
- Asynchronous event or action
- A type of message that does not require a response and does not require the sending object to wait.
- A class member used to define a unit of information owned by the containing class, including such details as type and domain of values.
- Automatic transition
- A transition triggered by the completion or termination of a state activity. See also: Transition
- Balking event
- A message type in which the client can pass a message only if the supplier is immediately ready to accept the message. The client abandons the message if the supplier is not ready.
- Base class
- A root class in a generalization hierarchy.
- Bound element
- A class resulting from the specification of parameters in a template class.
- A form of package in a logical view; a category encapsulates classes.
- An abstraction of a set of related information, behaviors, and relationships that describes an entity. A definition used to create objects. See also: Object
- Class method
- An operation/method that is specific to a class rather than to objects of the class.
- Class variable
- An attribute that is specific to a class rather than to objects of the class.
- The process of finding common information, behaviors, and relationships among objects. See also: Class and Object
- An object that initiates a request.
- Cohesion is a measure of the degree to which all the parts of an object support a single purpose. High cohesion means that all the elements in the object support the same purpose. Low cohesion means that different elements support different purposes.
- An interaction between objects.
- A physical unit of software that may reside in memory on a processor and realizes (implements) a set of interfaces.
- Component view
- A view dedicated to the description of software implementation units; may be used in combination with the deployment view.
- A whole in composition type whole-part relationship between classes.
- Composite state
- A composite state may have many regions, which may each contain substates. A composite state with more than one region is sometimes called an orthogonal composite state.
- A special case of the whole-part relationship between classes where the life span of the part is dependent on the life of the whole. When the whole is terminated, the part no longer exists.
- Concrete class
- A class that may be instantiated because an implementation (method) has been specified for every operation inherited or owned by the class. See also: Abstract class
- The occurrence of multiple activities at the same time either by executing multiple threads or by multiple processes.
- The UML extension of the definition of a model element that allows you to add new rules or modify existing ones.
- The set of model elements that defines the frame of reference for the interpretation and implementation of a particular model element.
- An agreement between classes regarding the handling of responsibilities and implementation in the class definitions.
- A measure of the degree of dependency between model elements.
- Data dictionary
- A data dictionary defines the vocabulary of the problem domain. Entries in the data dictionary can and will change over the course of a project, but they should change only when everyone involved in the project agrees to the change. Use a data dictionary to ensure consistent, high-quality communication.
- Data type
- The format of information allowed for an attribute, for example, integer, address, character.
- Separating an entity or process into smaller functional units.
- Passing responsibility for a task to another entity, typically hiding the implementation of the task from the requestor.
- A relationship between two model entities in which a change to one (the independent model element) will affect the other (the dependent model element).
- Deployment view
- A view dedicated to the description of hardware architectures; may be used in combination with the component view.
An association created by shortcutting a series of associations.
An attribute whose value can be determined by examining one or more other attribute values.
A subject area with an associated vocabulary and semantics.
A unit of information used to build a model.
The ability to provide users with a well-defined interface to a set of functions in a way which hides their internal
workings. In object-oriented programming, the technique of keeping together data structures and the methods (procedures) which act on them.
A system stimulus, often in the form of a message from one object to another.
Exceptional flow of events
A condition that changes the normal flow of control in a system.
The process of finding and extracting common elements between classes. See also: Generalization
1. The process of factoring classes to define a hierarchy of shared elements organized into classes. 2. The class hierarchy
that is the end result of the factoring process. 3. A type of association used to relate classes in a class hierarchy. See also:
A condition associated with a state transition and that must test true before the transition may take place.
The sharing of both the interface and the implementation of a method. See also: Interface inheritance
A dependency between packages where one package obtains access to the other's contents by adding the imported package
contents to its own.
A relationship between classes that allows the sharing of elements. See also: Generalization
The implementation of a class as an object.
A method that is unique to an object. See also: Class method
An attribute that is unique to an object.
A communication between objects.
The visible part of a class. Typically used to describe the public signatures of operations in a class.
The sharing of only the interface or declaration of an element, not the implementation.
To perform a function or set of functions more than once. The repetition may be used on a value, a count, time, completion of
a task, or any other type of condition.
A relationship between two objects. See also: Association
A unit of information about a link. See also: Association class
A view dedicated to the description of design options for a software solution.
Main flow of events
The normal flow of control in a system.
Merge of control
To synchronize or coordinate the completion of multiple threads or processes and pass control to a single thread or process.
Merge of control does not require the completion of all threads or processes. Merge may be conditional on the completion of one or more of a set
of threads, time, or other conditions.
A communication between objects.
1. The specification of a language for describing object-oriented models. 2. A model that describes the elements, and the relationships between those elements, that make up a specified domain.
The implementation of an operation.
An organised, documented set of procedures and guidelines for one or more phases of the software life cycle, such as analysis
or.design. Many methodologies include a diagramming notation for documenting the results of the procedure; a step-by-step "cookbook"
approach for carrying out the procedure; and an objective (ideally quantified) set of criteria for determining whether the results of the
procedure are of acceptable quality.
A representation of a domain in another form, usually designed to simplify and facilitate understanding of the domain.
The smallest unit of semantic definition in a model. The same model element may appear in multiple diagrams. For example, an event appears in sequence diagrams, collaboration diagrams and statechart diagrams.
In all three contexts it provides the same semantic information.
- A constraint on the number of objects that may participate in one end of an association.
A specification of the allowed direction of communication along an association.
A single unit of hardware capable of containing and executing software. See also: Deployment view
Any particular system of characters, symbols, or abbreviated expressions used in art or science, to express briefly technical
facts, quantities, etc. Esp., the system of figures, letters, and signs used in arithmetic and algebra to express number, quantity, or
A uniquely identifiable entity composed of information, behaviors, and relationships with other entities.
An object in control of a thread or process that can initiate control activity. In a sequence diagram, this is identified by widening the vertical timeline into a narrow rectangle. In an object diagram, this is signified by making the object icon bold. See also: Active object
- Object Constraint Language
- A formal language used to express side effects from constraints in the UML models.
- Object Management Group
- The standards group currently overseeing the development and acceptance standards related to object-oriented software development.
- Object termination
- The end of an object's lifecycle, usually denoting object destruction. Identified by a large X at the bottom of a sequence diagram timeline for the specified object.
- Object-Oriented Analysis and Design Task Force
- The group assigned by the OMG to generate and oversee the RFP for a metamodel for object design.
- The declaration of unit of behavior within a class. See also: Method
- Used to describe methods where a method name is shared but the arguments vary in number and/or type. See also: Polymorphism
- A general-purpose mechanism for grouping models and model elements, typically by similar functions or uses within the context of a system. See also: Component
- A recurring design solution containing a set of cooperating classes.
- Use to refer to methods where the method signature is the same but the implementation is different. See also: Overloading
- postsynaptic neuron
- A neuron to the cell body or dendrite of which an electrical impulse is transmitted across a synaptic cleft by the release of a chemical neurotransmitter from the axon terminal of a presynaptic neuron.
- A condition that must test true at completion of the owning task.
- A condition that must test true before execution of the owning task.
- Primitive data type
- The smallest unit of data definition provided by the implementation environment. See also: Abstract data type
- A form of visibility constraint that prevents access to a model element from outside of the owning class. See also: Public
- Problem statement
- A concise description of the project problem or challenge.
- A particular course of action intended to achieve a result
- A named value describing a characteristic of an element.
- A type of model element visibility that allows only subclasses to have access to the protected model element, for example, operation or attribute.
- A form of visibility constraint that allows access to a model element from outside the owning class. See also: Private
- An association modeling element that identifies a descriptive attribute(s) used to navigate an association. Synonymous with keys or indexes in a database or data modeling domain.
- When a class implements an interface specified by another class (or interface, as in Java).
- Reflexive association
- An association that relates objects within the same class to one another. See also: Association
- Reverse engineering
- The process of translating code into modeling elements.
- A way of specifying the nature of the participation of an object in an association.
- A single logical path through a use case, often used as a test case. See also: Use case view
A message or signal sent to another object from within a statechart diagram.
An object that acts only as a respondent in an interaction. Note that the same object may act as a client in another
An asynchronous stimulus sent from one object to another.
The interface of an operation described as the name, number, type, and order of arguments, sometimes the return data type
(implementation languages vary on their interpretation). See also: Polymorphism, Overloading, and Interface
The opposite of generalization. See also: Generalization and Factorization
Split of control
To initiate multiple threads or processes from a single thread or process.
The condition of an object at a point in time.
A UML extension that provides a means of further describing or qualifying a model element without defining its implementation.
A specialized class connected to a more general class or "parent class" in a generalization class hierarchy.
A state that is part of or inside another state (composite or superstate).
- A generalized class connected to a more specialized class or "child class" in a generalization class hierarchy.
- A state that contains other states, for instance, a state defined at a higher level of abstraction.
- Synchronous event or action
- A form of communication that requires an acknowledgement of receipt of the request.
- System refers to the set of all functions and resources that support the goal of the users.
- Tagged value
- An extension of the properties of a UML element that allows you to add new information to an element's specification.
- Template or template class
- A parameterized class that serves as a model for building other classes.
- Time event
- An event that specifies an amount of time elapsed since the current state was entered.
- A change from one state to another state within an object.
- Triggering event
- Event that initiates the use case. The event could be a point in time (for example, month's end), a condition in the
system (for example, account is overdrawn), or a request by an actor (for example, selecting an option).
- The Unified Modeling Language is used to specify, visualise, construct and document the components comprising an
object-oriented system under development.
- Use case
- A use case is a goal that a system must achieve to be considered successful.
- Use case view
- A view dedicated to the description of user requirements.
- A grouping of diagrams for a particular function in the overall process for developing software.
- A constraint on the access to attributes and operations within a class specifying the scope of use by objects of other
classes. See also: Public, Private, Protected, and Package.