Glossary of Unified Modeling Language terms
Encyclopedia
This glossary of Unified Modeling Language
terms covers all versions of UML. Individual entries will point out any distinctions that exist between versions.
Unified Modeling Language
Unified Modeling Language is a standardized general-purpose modeling language in the field of object-oriented software engineering. The standard is managed, and was created, by the Object Management Group...
terms covers all versions of UML. Individual entries will point out any distinctions that exist between versions.
A
- Abstract - An indicator applied to a classifierClassifier (UML)A classifier is a category of Unified Modeling Language elements that have some common features, such as attributes or methods.A classifier is an abstract metaclass classification concept that serves as a mechanism to show interfaces, classes, datatypes and components.A classifier describes a set...
(e.g., actorActor (UML)An actor in the Unified Modeling Language "specifies a role played by a user or any other system that interacts with the subject.""An Actor models a type of role played by an entity that interacts with the subject ,...
, classClass (computer science)In object-oriented programming, a class is a construct that is used as a blueprint to create instances of itself – referred to as class instances, class objects, instance objects or simply objects. A class defines constituent members which enable these class instances to have state and behavior...
, use caseUse caseIn software engineering and systems engineering, a use case is a description of steps or actions between a user and a software system which leads the user towards something useful...
) or to some features of a classifier (e.g., a class's operations) showing that the feature is incomplete and is intended not to be instantiated, but to be specialized by other definitions. - Abstract classAbstraction (computer science)In computer science, abstraction is the process by which data and programs are defined with a representation similar to its pictorial meaning as rooted in the more complex realm of human life and language with their higher need of summarization and categorization , while hiding away the...
- A class that does not provide a complete declaration, perhaps because it has no implementation method identified for an operation. By declaring a class as abstract, one intends to prohibit direct instantiation of the class. An abstract class cannot directly instantiate objectObject (computer science)In computer science, an object is any entity that can be manipulated by the commands of a programming language, such as a value, variable, function, or data structure...
s; it must be inherited from before it can be used. - Abstract data typeAbstract data typeIn computing, an abstract data type is a mathematical model for a certain class of data structures that have similar behavior; or for certain data types of one or more programming languages that have similar semantics...
- Abstract operation - Unlike attributes, class operations can be abstract, meaning that there is no provided implementation. Generally, a class containing an abstract operation should be marked as an abstract class. An Operation must have a method supplied in some specialized Class before it can be used.
- Abstraction is the process of picking out common features and deriving essential characteristics from objectObject (computer science)In computer science, an object is any entity that can be manipulated by the commands of a programming language, such as a value, variable, function, or data structure...
s and procedureSubroutineIn computer science, a subroutine is a portion of code within a larger program that performs a specific task and is relatively independent of the remaining code....
entitiesEntityAn entity is something that has a distinct, separate existence, although it need not be a material existence. In particular, abstractions and legal fictions are usually regarded as entities. In general, there is also no presumption that an entity is animate.An entity could be viewed as a set...
that distinguish it from other kinds of entities. - Action - An action is the fundamental unit of behaviour specification and represents some transformation or processing in the modeled system, such as invoking a method of a class or a sub activity
- Action sequence -
- Action state -
- Action steps -
- Activation - the time during which an object has a method executing. It is often indicated by a thin box or bar superimposed on the Object's lifeline in a Sequence Diagram
- Activity diagramActivity diagramActivity diagrams are graphical representations of workflows of stepwise activities and actions with support for choice, iteration and concurrency. In the Unified Modeling Language, activity diagrams can be used to describe the business and operational step-by-step workflows of components in a system...
- a diagram that describes procedural logic, business process or work flow. An activity diagram contains a number of Activities and connected by Control Flows and Object Flows. - Active class - a classClass (computer science)In object-oriented programming, a class is a construct that is used as a blueprint to create instances of itself – referred to as class instances, class objects, instance objects or simply objects. A class defines constituent members which enable these class instances to have state and behavior...
defining active objects - Active object - an objectObject (computer science)In computer science, an object is any entity that can be manipulated by the commands of a programming language, such as a value, variable, function, or data structure...
running under its own threadThread (computer science)In computer science, a thread of execution is the smallest unit of processing that can be scheduled by an operating system. The implementation of threads and processes differs from one operating system to another, but in most cases, a thread is contained inside a process... - Activity - carrying out behaviour in a State machine diagramState diagramA state diagram is a type of diagram used in computer science and related fields to describe the behavior of systems. State diagrams require that the system described is composed of a finite number of states; sometimes, this is indeed the case, while at other times this is a reasonable abstraction...
- Do - a type of Activity which may be interrupted, as opposed to normal Activities which may not be interrupted
- Internal - an Activity that is executed within a State
- Entry - an Activity that is executed when a State is entered
- Exit - an Activity that is executed when a State is exited
- Activity final - the end point of an activity diagramActivity diagramActivity diagrams are graphical representations of workflows of stepwise activities and actions with support for choice, iteration and concurrency. In the Unified Modeling Language, activity diagrams can be used to describe the business and operational step-by-step workflows of components in a system...
. When a thread reaches an Activity Final node, all the threads of the activity terminate. (Contrast with Flow Final node, which marks the end of one thread.) - ActorActor (UML)An actor in the Unified Modeling Language "specifies a role played by a user or any other system that interacts with the subject.""An Actor models a type of role played by an entity that interacts with the subject ,...
- a roleRoleA role or a social role is a set of connected behaviours, rights and obligations as conceptualised by actors in a social situation. It is an expected or free or continuously changing behaviour and may have a given individual social status or social position...
that a userUser (computing)A user is an agent, either a human agent or software agent, who uses a computer or network service. A user often has a user account and is identified by a username , screen name , nickname , or handle, which is derived from the identical Citizen's Band radio term.Users are...
takes when invoking a use caseUse caseIn software engineering and systems engineering, a use case is a description of steps or actions between a user and a software system which leads the user towards something useful...
. Also see actor modelingActor modelingIn computer science, Actor modeling is a form of software modeling, which focuses on software actors. Actor modeling is most prominently used for the early modeling of requirements; through this it becomes possible to understand who the users and stakeholders of a system are and what their...
. - Aggregation - 1. a special type of association used to represent a stronger relationship between two classes than a regular association; typically read as "owns a", as in, "Class A owns a Class B". A hierarchyHierarchyA hierarchy is an arrangement of items in which the items are represented as being "above," "below," or "at the same level as" one another...
of classClass (computer science)In object-oriented programming, a class is a construct that is used as a blueprint to create instances of itself – referred to as class instances, class objects, instance objects or simply objects. A class defines constituent members which enable these class instances to have state and behavior...
es where the child objectObject (computer science)In computer science, an object is any entity that can be manipulated by the commands of a programming language, such as a value, variable, function, or data structure...
may or may not continue to exist if the parent object is destroyed; see 'composition'. 2. An aggregation is a structural relationship that specifies that one class represents a large thing which constitute of smaller things and represents "has-a" relationship.
- Artifact - items that model physical pieces of information in your system, such as a user's manual, training material, or password file
- AssociationAssociation (object-oriented programming)In object-oriented programming, association defines a relationship between classes of objects that allows one object instance to cause another to perform an action on its behalf...
- 1. a relationship with 2 or more ends, where each end is on a class (or other classifier). Each end is called a Role, and may have a role name, Multiplicity, and may be Navigable. 2. An association is a structural relationship that specifies that the objects of one thing are connected with the objects of another. - Association class - a classClass (computer science)In object-oriented programming, a class is a construct that is used as a blueprint to create instances of itself – referred to as class instances, class objects, instance objects or simply objects. A class defines constituent members which enable these class instances to have state and behavior...
that describes an association. - Asynchronous - The sender of an asynchronous message does not wait for a response.
- AttributeAttribute (computing)In computing, an attribute is a specification that defines a property of an object, element, or file. It may also refer to or set the specific value for a given instance of such....
- a significant piece of data owned by a Class, often containing values describing each instance of the class. Besides the attribute name and a slot for the attribute value, an attribute may have specified Visibility, Type, Multiplicity, Default value, and Property-string.
C
- Call -
- Cardinality - the current number of occurrences of a Property. The cardinality must be a value that is allowed by the multiplicity
- Child -
- ClassClass (computer science)In object-oriented programming, a class is a construct that is used as a blueprint to create instances of itself – referred to as class instances, class objects, instance objects or simply objects. A class defines constituent members which enable these class instances to have state and behavior...
- the primary declarative construct of Object-Oriented ProgrammingObject-oriented programmingObject-oriented programming is a programming paradigm using "objects" – data structures consisting of data fields and methods together with their interactions – to design applications and computer programs. Programming techniques may include features such as data abstraction,...
; a cohesive unit of Attributes and Operations; a compile-time template for an Object - Class diagramClass diagramIn software engineering, a class diagram in the Unified Modeling Language is a type of static structure diagram that describes the structure of a system by showing the system's classes, their attributes, operations , and the relationships among the classes.- Overview :The class diagram is the main...
- a type of static structure diagram that describes the structure of a system by showing the system's classes, their attributes and the relationships between the classes. - ClassifierClassifier (UML)A classifier is a category of Unified Modeling Language elements that have some common features, such as attributes or methods.A classifier is an abstract metaclass classification concept that serves as a mechanism to show interfaces, classes, datatypes and components.A classifier describes a set...
- a category of UML elements that have some common features, such as attributes or methods. - Client -
- Collaboration - A collaboration is a society of classes,interfaces and other elements that work together to provide some cooperative behavior that is bigger than the sum of its parts.
- Communication diagramCommunication diagramA communication diagram in the Unified Modeling Language 2.0, is a simplified version of the UML 1.x collaboration diagram.UML has four types of interaction diagrams:* Sequence diagram* Communication diagram* Interaction overview diagram...
- Component - A component represents a software module (source code, binary code, executable, DLL, etc.) with a well-defined interface. The interface of a component is represented by one or several interface elements that the component provides. Components are used to show compiler and run-time dependencies, as well as interface and calling dependencies among software modules. They also show which components implement a specific class.
- Component diagramComponent diagramIn the Unified Modeling Language, a component diagram depicts how components are wired together to form larger components and or software systems.They are used to illustrate the structure of arbitrarily complex systems.- Overview :...
- Composite structure diagramComposite structure diagramComposite structure diagram in the Unified Modeling Language is a type of static structure diagram, that shows the internal structure of a class and the collaborations that this structure makes possible....
- CompositionObject compositionIn computer science, object composition is a way to combine simple objects or data types into more complex ones...
- a specific type of relationship describing how one Object is composed of another Object; a form of Aggregation where the child objectObject (computer science)In computer science, an object is any entity that can be manipulated by the commands of a programming language, such as a value, variable, function, or data structure...
is destroyed if the parent object is destroyed. - Condition -
- Connection -
- Constraint - natural language, programming language or Object Constraint Language boolean condition which may not be false if a Class is to be considered valid
- Containment - containment by value and containment by reference. Containment by value implies that an object contains another object; containment by reference implies that an object contains a pointer to another object.
D
- Decision - a point in an Activity diagramActivity diagramActivity diagrams are graphical representations of workflows of stepwise activities and actions with support for choice, iteration and concurrency. In the Unified Modeling Language, activity diagrams can be used to describe the business and operational step-by-step workflows of components in a system...
where a Flow splits into several, mutually exclusive, Guarded flows. A Merge marks the end of the optional behaviour started by the Decision - DependencyDependency (UML)A dependency in the Unified Modeling Language exists between two defined elements if a change to the definition of one may result in a change to the other...
- a dependency exists between two defined elements if a change to the definition of one would result in a change to the other. In UML this is indicated by a line pointing from the dependent to the independent element. - Deployment diagramDeployment diagramA deployment diagram in the Unified Modeling Language models the physical deployment of artifacts on nodes. To describe a web site, for example, a deployment diagram would show what hardware components exist , what software components run on each node , and how...
- Derived property - a property that can be calculated or inferred from other properties
- Diagram - a visual representation of a subset of features of a UML Model
- Directed relationship -
- Domain - a logical grouping that explicitly declares a rule which defines ownership of objectsObject (computer science)In computer science, an object is any entity that can be manipulated by the commands of a programming language, such as a value, variable, function, or data structure...
based upon some typeData typeIn computer programming, a data type is a classification identifying one of various types of data, such as floating-point, integer, or Boolean, that determines the possible values for that type; the operations that can be done on values of that type; the meaning of the data; and the way values of...
or propertyPropertyProperty is any physical or intangible entity that is owned by a person or jointly by a group of people or a legal entity like a corporation...
.
E
- Edge - a synonym for Flow
- Encapsulation - a means to bind together code and the data it uses. It is the basis of object oriented programming.
- Entity -
- EnumerationEnumerationIn mathematics and theoretical computer science, the broadest and most abstract definition of an enumeration of a set is an exact listing of all of its elements . The restrictions imposed on the type of list used depend on the branch of mathematics and the context in which one is working...
- a set of constant values for a new data type - Event - when it occurs on an Object it may cause a Transition in a State machine diagramState diagramA state diagram is a type of diagram used in computer science and related fields to describe the behavior of systems. State diagrams require that the system described is composed of a finite number of states; sometimes, this is indeed the case, while at other times this is a reasonable abstraction...
- Expansion region - a set of Actions in an Activity diagramActivity diagramActivity diagrams are graphical representations of workflows of stepwise activities and actions with support for choice, iteration and concurrency. In the Unified Modeling Language, activity diagrams can be used to describe the business and operational step-by-step workflows of components in a system...
that occur once for each of a collection of input Tokens to the Expansion Region - Extend - a means to use a class as a starting point for creation of a new class. The new class inherits all of the attributes, properties, and methods of the class it extends.
- Exception -
F
- File -
- Final state - the stateState (computer science)In computer science and automata theory, a state is a unique configuration of information in a program or machine. It is a concept that occasionally extends into some forms of systems programming such as lexers and parsers....
at which an objectObject (computer science)In computer science, an object is any entity that can be manipulated by the commands of a programming language, such as a value, variable, function, or data structure...
ceases to exist - Flow - a navigational connection between two Actions
- Flow Final - the point at which a Flow ends without ending the complete Activity
- Fork - a point in an Activity diagramActivity diagramActivity diagrams are graphical representations of workflows of stepwise activities and actions with support for choice, iteration and concurrency. In the Unified Modeling Language, activity diagrams can be used to describe the business and operational step-by-step workflows of components in a system...
where a Flow of logic splits into several concurrent Flows (Threads) - Found Message - starting point for a Sequence diagramSequence diagramA sequence diagram in Unified Modeling Language is a kind of interaction diagram that shows how processes operate with one another and in what order. It is a construct of a Message Sequence Chart....
G
- GeneralizationGeneralizationA generalization of a concept is an extension of the concept to less-specific criteria. It is a foundational element of logic and human reasoning. Generalizations posit the existence of a domain or set of elements, as well as one or more common characteristics shared by those elements. As such, it...
- a relationship between a specific classifier (typically a classClass (computer science)In object-oriented programming, a class is a construct that is used as a blueprint to create instances of itself – referred to as class instances, class objects, instance objects or simply objects. A class defines constituent members which enable these class instances to have state and behavior...
) to a more general classifier asserting that the general classifer contains common features among both the specific classifier and the general classifier. Features include, for example, properties, and constraints. The use of generalization is often logically restricted to cases where the specific classifier is a "kind-of" or "sort-of" the general classifier: for example, a Boxer is a "kind-of" Dog. When the classifiers involved are software engineeringSoftware engineeringSoftware Engineering is the application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software, and the study of these approaches; that is, the application of engineering to software...
classes, generalization usually involves reusing code; it is often implemented using inheritanceInheritance (computer science)In object-oriented programming , inheritance is a way to reuse code of existing objects, establish a subtype from an existing object, or both, depending upon programming language support...
, where the more specific code reuses the more general code. - Generalization Tree - Several specialized classifiers may point to the same general classifier, forming a generalization tree, where the general classifer contains common features shared by all the specialized versions. As generalization is a relationship, it is possible for a classifer to participate in several generalizations, often being on the specific end or on the general end, forming a directed acyclic graphDirected acyclic graphIn mathematics and computer science, a directed acyclic graph , is a directed graph with no directed cycles. That is, it is formed by a collection of vertices and directed edges, each edge connecting one vertex to another, such that there is no way to start at some vertex v and follow a sequence of...
(DAG) (i.e., no loops). - Generic -
- Guard - a booleanBoolean logicBoolean algebra is a logical calculus of truth values, developed by George Boole in the 1840s. It resembles the algebra of real numbers, but with the numeric operations of multiplication xy, addition x + y, and negation −x replaced by the respective logical operations of...
test that must be satisfied for a Flow of an activity diagramActivity diagramActivity diagrams are graphical representations of workflows of stepwise activities and actions with support for choice, iteration and concurrency. In the Unified Modeling Language, activity diagrams can be used to describe the business and operational step-by-step workflows of components in a system...
or a Transition of a state machine diagramState diagramA state diagram is a type of diagram used in computer science and related fields to describe the behavior of systems. State diagrams require that the system described is composed of a finite number of states; sometimes, this is indeed the case, while at other times this is a reasonable abstraction...
to be allowed to start
H
- Hierarchy -
- History pseudostate - points to the initial stateState (computer science)In computer science and automata theory, a state is a unique configuration of information in a program or machine. It is a concept that occasionally extends into some forms of systems programming such as lexers and parsers....
of an objectObject (computer science)In computer science, an object is any entity that can be manipulated by the commands of a programming language, such as a value, variable, function, or data structure...
where no previous state history was saved
I
- Inheritance - where a new more specific Class derives part of its definition from an existing more general Class
- Initial node - the start point of an Activity diagramActivity diagramActivity diagrams are graphical representations of workflows of stepwise activities and actions with support for choice, iteration and concurrency. In the Unified Modeling Language, activity diagrams can be used to describe the business and operational step-by-step workflows of components in a system...
- Initial pseudostate - points to the initial State of an Object
- Instance - An instance is a concrete manifestation of an abstraction to which a set of operations can be applied and which has a state that stores the effect of the operation.
- Interaction diagram
- Interaction overview diagramInteraction overview diagramInteraction Overview Diagram is one of the fourteen types of diagrams of the Unified Modeling Language , which can picture a control flow with nodes that can contain interaction diagrams....
- Interaction Frame - a section of a Sequence diagramSequence diagramA sequence diagram in Unified Modeling Language is a kind of interaction diagram that shows how processes operate with one another and in what order. It is a construct of a Message Sequence Chart....
, divided into fragments, which is subject to an algorithmic Operator such as iteration, parallelism or optionality. - InterfaceInterface (computer science)In the field of computer science, an interface is a tool and concept that refers to a point of interaction between components, and is applicable at the level of both hardware and software...
- a defined communication boundary.
J
- Join - a point in an activity diagramActivity diagramActivity diagrams are graphical representations of workflows of stepwise activities and actions with support for choice, iteration and concurrency. In the Unified Modeling Language, activity diagrams can be used to describe the business and operational step-by-step workflows of components in a system...
where several concurrent flows (threadsThread (computer science)In computer science, a thread of execution is the smallest unit of processing that can be scheduled by an operating system. The implementation of threads and processes differs from one operating system to another, but in most cases, a thread is contained inside a process...
) synchronize, waiting until all are complete before continuing with a single flow
L
- Lifeline - indicates a participating Object or Part in a Sequence diagramSequence diagramA sequence diagram in Unified Modeling Language is a kind of interaction diagram that shows how processes operate with one another and in what order. It is a construct of a Message Sequence Chart....
. The Lifeline may show activation, Object creation, and Object deletion. - Link - a relationship between objects. While an Object is an instantiation of a Class a Link can be seen as an instantiation of an Association.
M
- Merge - a point in an Activity diagramActivity diagramActivity diagrams are graphical representations of workflows of stepwise activities and actions with support for choice, iteration and concurrency. In the Unified Modeling Language, activity diagrams can be used to describe the business and operational step-by-step workflows of components in a system...
marking the end of the optional behavior started by a Decision - Message - a signal from one object (or similar entity) to another, often with parameters. Often implemented as a call to a Method, including the Constructor and Destructor, of an Object in a Sequence diagramSequence diagramA sequence diagram in Unified Modeling Language is a kind of interaction diagram that shows how processes operate with one another and in what order. It is a construct of a Message Sequence Chart....
. - MetadataMetadataThe term metadata is an ambiguous term which is used for two fundamentally different concepts . Although the expression "data about data" is often used, it does not apply to both in the same way. Structural metadata, the design and specification of data structures, cannot be about data, because at...
- - MetamodelMetamodelingMetamodeling, or meta-modeling in software engineering and systems engineering among other disciplines, is the analysis, construction and development of the frames, rules, constraints, models and theories applicable and useful for modeling a predefined class of problems...
- - Metamodeling -
- Metamodeling technique -
- Meta-Object FacilityMeta-Object FacilityThe Meta-Object Facility is an Object Management Group standard for model-driven engineering. The official reference page may be found at OMG's website.- Overview :...
- - Method -
- Modeling -
- Domain - the representation of real world conceptual entities
- Design - the representation of software Classes and Interfaces
- Dynamic - use of Interaction diagrams to describe collaborations and behavior
- model -
- Model-driven architectureModel-driven architectureModel-driven architecture is a software design approach for the development of software systems. It provides a set of guidelines for the structuring of specifications, which are expressed as models. Model-driven architecture is a kind of domain engineering, and supports model-driven engineering of...
(MDA) - - Multiplicity - 1. A specification of the number of possible occurrences of a property, or the number of allowable elements that may participate in a given relationship. In UML 1.x, it was also possible to have a discrete list of values, but this was eliminated in UML 2.0. 2. It specifies how many objects may be connected across an instance of an association which is written as a range of values(like 1..*).
-
- Mandatory - A required multiplicity, the lower bound is at least one, usually 1..1 or 1
- Optional - The lower bound is at most zero, usually, 0..1
- Many - A multiplicity with no upper limit, either 0..* or *
- Forbidden - No elements allowed, 0..0 (in UML 2.2)
N
- NamespaceNamespace (computer science)A namespace is an abstract container or environment created to hold a logical grouping of unique identifiers or symbols . An identifier defined in a namespace is associated only with that namespace. The same identifier can be independently defined in multiple namespaces...
- a context in which an identifierIdentifierAn identifier is a name that identifies either a unique object or a unique class of objects, where the "object" or class may be an idea, physical [countable] object , or physical [noncountable] substance...
exists. - Navigable - the ability for objects of a Class at one end of an Association to retrieve Objects from the other end. Associations need not be navigable.
- Node -
- Note - It is an explanatory part of UML models. A note is a symbol for rendering constraints and comments attached to an element or collection of elements.
O
- Object - a runtime instance of a Class. Objects are rarely shown on diagrams (because there are usually too many) unless they are used to illustrate some scenario, test, etc. Such Objects are often shown with the Attributes of the Class populated with sample data
- Object Constraint LanguageObject Constraint LanguageThe Object Constraint Language is a declarative language for describing rules that apply to Unified Modeling Language models developed at IBM and now part of the UML standard. Initially, OCL was only a formal specification language extension to UML. OCL may now be used with any Meta-Object...
(OCL) - a declarative language for describing rules and constraints that apply to UML models - Object diagramObject diagramAn object diagram in the Unified Modeling Language , is a diagram that shows a complete or partial view of the structure of a modeled system at a specific time....
- Operation - the signature of a Method of a Class; consists of the Operation Name, Visibility, Parameter list, Return Type, and Property-string
- Operator - an algorithmic feature of Interaction Frame that defines the behavior of that frame. Examples include:
- alt - multiple alternatives each with a guard condition. Only one alternative can be true.
- critical - a fragment within a larger parallel Interaction Frame that when entered suspends the interleaving of events from the other fragments.
- loop - the fragment iterates according to a guard condition.
- neg - an invalid interaction.
- opt - single alternative with a guard condition.
- par - each fragment is run in parallel.
- ref - an interaction defined in another diagram.
- strict - a fragment with the ordering of reception events across multiple lifelines follow strictly their graphical arrangement.
P
- Package - A package is a collection or grouping of related classes or of classes with related functionality.
- Package diagramPackage diagramA package diagram in the Unified Modeling Language depicts the dependencies between the packages that make up a model.- Overview :In addition to the standard UML Dependency relationship, there are two special types of dependencies defined between packages:...
- Parameter - data passed in a Message to be used within the Method
- Partition - section of an Activity diagramActivity diagramActivity diagrams are graphical representations of workflows of stepwise activities and actions with support for choice, iteration and concurrency. In the Unified Modeling Language, activity diagrams can be used to describe the business and operational step-by-step workflows of components in a system...
or Sequence diagramSequence diagramA sequence diagram in Unified Modeling Language is a kind of interaction diagram that shows how processes operate with one another and in what order. It is a construct of a Message Sequence Chart....
occupied by a single Class or Object - Pin - a parameter of an Action
- Polymorphism - the ability of Objects belonging to different Classes to respond to Operations of the same name, each one according to the right Class-specific behaviour
- ProfileProfile (UML)A profile in the Unified Modeling Language provides a generic extension mechanism for customizing UML models for particular domains and platforms...
- Provides a generic extension mechanism for building UML models. Other extension mechanisms include stereotypes. - Property - an Attribute or an Association
- Property-string - a qualifier for Attributes and Operations. Examples include {ordered}, {readonly}, {unique}.
Q
- Qualified association - tightens the multiplicity or roleRoleA role or a social role is a set of connected behaviours, rights and obligations as conceptualised by actors in a social situation. It is an expected or free or continuously changing behaviour and may have a given individual social status or social position...
of an associationAssociation (object-oriented programming)In object-oriented programming, association defines a relationship between classes of objects that allows one object instance to cause another to perform an action on its behalf...
between 2 classesClass (computer science)In object-oriented programming, a class is a construct that is used as a blueprint to create instances of itself – referred to as class instances, class objects, instance objects or simply objects. A class defines constituent members which enable these class instances to have state and behavior...
by dividing the set of objects into subsets based on a value of the qualifier—an attribute of the target objects, association objects, or some a derived attribute of the target or association objects.
R
- Realization - Realization shows the relationship between an Interface and the class that provides the implementation for the interface.
- Reference -
- Relation -
- Return - a reply that may be issued from a Method following a Message
- Role - description of the part played in an Association by one of the Classes in the Association
S
- ScenarioScenario (computing)In computing, a scenario is a narrative describing foreseeable interactions of types of users and the system. Scenarios include information about goals, expectations, motivations, actions and reactions...
- a narrative describing foreseeable interactions - Self-call - a Message from an Object to one of its own Methods
- Sequence diagramSequence diagramA sequence diagram in Unified Modeling Language is a kind of interaction diagram that shows how processes operate with one another and in what order. It is a construct of a Message Sequence Chart....
- describes the Messages sent between a number of participating Objects in a Scenario - Signal - an Event which can occur in an Activity diagramActivity diagramActivity diagrams are graphical representations of workflows of stepwise activities and actions with support for choice, iteration and concurrency. In the Unified Modeling Language, activity diagrams can be used to describe the business and operational step-by-step workflows of components in a system...
in three different ways: as a Time Signal, as a signal which an Activity can listen for and a signal which an Activity can send - State - an Object exists at one of the StateState (computer science)In computer science and automata theory, a state is a unique configuration of information in a program or machine. It is a concept that occasionally extends into some forms of systems programming such as lexers and parsers....
s described in a State machine diagramState diagramA state diagram is a type of diagram used in computer science and related fields to describe the behavior of systems. State diagrams require that the system described is composed of a finite number of states; sometimes, this is indeed the case, while at other times this is a reasonable abstraction...
. A state encompasses all the properties of the object along with the values of each of these properties. - State diagram - synonym for State machine diagramState diagramA state diagram is a type of diagram used in computer science and related fields to describe the behavior of systems. State diagrams require that the system described is composed of a finite number of states; sometimes, this is indeed the case, while at other times this is a reasonable abstraction...
- State machine diagram - describes the lifetime behaviour of a single Object in terms of in which State it exists and the Transition between those States
- Static attribute - an attributePropertyProperty is any physical or intangible entity that is owned by a person or jointly by a group of people or a legal entity like a corporation...
that does not relate to a specific objectObject (computer science)In computer science, an object is any entity that can be manipulated by the commands of a programming language, such as a value, variable, function, or data structure...
but is at classClass (computer science)In object-oriented programming, a class is a construct that is used as a blueprint to create instances of itself – referred to as class instances, class objects, instance objects or simply objects. A class defines constituent members which enable these class instances to have state and behavior...
level; that is, an attribute that is common among all objects of that class - Static modeling - use of class diagramClass diagramIn software engineering, a class diagram in the Unified Modeling Language is a type of static structure diagram that describes the structure of a system by showing the system's classes, their attributes, operations , and the relationships among the classes.- Overview :The class diagram is the main...
s to describe structure - Static operation - an operation that does not relate to a specific objectObject (computer science)In computer science, an object is any entity that can be manipulated by the commands of a programming language, such as a value, variable, function, or data structure...
but is at classClass (computer science)In object-oriented programming, a class is a construct that is used as a blueprint to create instances of itself – referred to as class instances, class objects, instance objects or simply objects. A class defines constituent members which enable these class instances to have state and behavior...
level - StereotypeStereotype (computing)A stereotype is one of three types of extensibility mechanisms in the Unified Modeling Language . They allow designers to extend the vocabulary of UML in order to create new model elements, derived from existing ones, but that have specific properties that are suitable for a particular problem...
- a notation allowing the extension of UML symbols. Some are defined within ProfileProfile (UML)A profile in the Unified Modeling Language provides a generic extension mechanism for customizing UML models for particular domains and platforms...
s. Examples of predefined UML stereotypes are ActorActor (UML)An actor in the Unified Modeling Language "specifies a role played by a user or any other system that interacts with the subject.""An Actor models a type of role played by an entity that interacts with the subject ,...
, ExceptionException handlingException handling is a programming language construct or computer hardware mechanism designed to handle the occurrence of exceptions, special conditions that change the normal flow of program execution....
, PowertypePowertype (UML)In the Unified Modeling Language 1.x, powertype is a keyword for a specific UML stereotype, and applies to a class or dependency. Powertype shows a classifier whose instances are children of the given parent....
and UtilityUtilityIn economics, utility is a measure of customer satisfaction, referring to the total satisfaction received by a consumer from consuming a good or service....
. - Structure diagram
- Superstate - construct allowing several States which share common Transitions and Internal Activities
- Swim laneSwim laneA swim lane is a visual element used in process flow diagrams, or flowcharts, that visually distinguishes responsibilities for sub-processes of a business process. Swim lanes may be arranged either horizontally or vertically...
- synonym for Partition - System model - The logical UML model being represented through one or more UML diagrams
T
- Tagged values - In extensibility
- Template - a Class that accepts a compile-time parameter defining the Type to be used within the Class; often to implement Collections of any Type
- ThreadThread (computer science)In computer science, a thread of execution is the smallest unit of processing that can be scheduled by an operating system. The implementation of threads and processes differs from one operating system to another, but in most cases, a thread is contained inside a process...
- a sequence of instructions whose execution is being scheduled by the Operating System and may run in parallel with other threads - Timing DiagramUML Timing DiagramA timing diagram in the Unified Modeling Language 2.0 is a specific type of interaction diagram, where the focus is on timing constraints.Timing diagrams are used to explore the behaviors of objects throughout a given period of time. A timing diagram is a special form of a sequence diagram...
- Token - symbolises the Thread of an Activity diagramActivity diagramActivity diagrams are graphical representations of workflows of stepwise activities and actions with support for choice, iteration and concurrency. In the Unified Modeling Language, activity diagrams can be used to describe the business and operational step-by-step workflows of components in a system...
- Transition - 1. movement from one State to another in a State machine diagramState diagramA state diagram is a type of diagram used in computer science and related fields to describe the behavior of systems. State diagrams require that the system described is composed of a finite number of states; sometimes, this is indeed the case, while at other times this is a reasonable abstraction...
. The transition is specified by its Trigger-signature [Guard]/Activity 2. A transition is a relationship between two states indicating that an object in the first state will perform certain action and certain action and enter the second state when a specific event occurs and specific conditions are satisfied. - Type - the options are: an elementary Value type such as integer, string, date, or boolean or a Reference type defined in a Class
U
- Use caseUse caseIn software engineering and systems engineering, a use case is a description of steps or actions between a user and a software system which leads the user towards something useful...
- a technique for capturing functional requirements of systems - Use case diagramUse case diagramA use case diagram in the Unified Modeling Language is a type of behavioral diagram defined by and created from a Use-case analysis. Its purpose is to present a graphical overview of the functionality provided by a system in terms of actors, their goals , and any dependencies between those use...
- Uses dependency -
V
- Visibility - the availability for access of elements in a model. Typically used to limit the visibility of features defined by a Class (e.g., attributes, operations). When applied to features defined by a class, the standard options are:
- private (-): available only within the Class in which it was defined. This is the most limited visibility
- protected (#): available within the Class in which it was defined, and within any subclass of this class
- package (~): available only within the Package which directly contains the defining Class
- public (+): available to any Class that can see the defining Class. The is the least limited visibility.
X
- XMI - An OMG standard for exchanging metadata information via Extensible Markup Language (XML).
See also
- Automatic programmingAutomatic programmingIn computer science, the term automatic programming identifies a type of computer programming in which some mechanism generates a computer program to allow human programmers to write the code at a higher abstraction level....
- Class-Responsibility-Collaboration cardClass-Responsibility-Collaboration cardClass Responsibility Collaboration cards are a brainstorming tool used in the design of object-oriented software. They were proposed by Ward Cunningham and Kent Beck....
(CRC) - Data mappingData mappingData mapping is the process of creating data element mappings between two distinct data models. Data mapping is used as a first step for a wide variety of data integration tasks including:...
- Data transformationData transformationIn metadata and data warehouse, a data transformation converts data from a source data format into destination data.Data transformation can be divided into two steps:...
- Domain Specific Language (DSL)
- Domain-specific modelling (DSM)
- EclipseEclipse (software)Eclipse is a multi-language software development environment comprising an integrated development environment and an extensible plug-in system...
GMT Project - Generative programming (GP)
- Intentional ProgrammingIntentional ProgrammingIn computer programming, intentional programming is a collection of concepts which enable software source code to reflect the precise information, called intention, which programmers had in mind when conceiving their work...
(IP) - KM3KM3KM3 or Kernel Meta Meta Model is a neutral language to write metamodels and to define Domain Specific Languages. KM3 has been defined at INRIA and is available under the Eclipse platform.- References :...
- Language oriented programming (LOP)
- List of UML tools
- Model-based testingModel-based testingModel-based testing is the application of Model based design for designing and optionally executing the necessary artifacts to perform software testing. Models can be used to represent the desired behavior of the System Under Test , or to represent the desired testing strategies and testing...
(MBT) - Model Driven Engineering (MDE)
- Model Transformation LanguageModel Transformation LanguageA model transformation language in systems and software engineering is a language for model transformation.- Overview :The notion of model transformation is of central importance to information technology. A software system may be seen as a set of information transformations...
(MTL) - Modeling languageModeling languageA modeling language is any artificial language that can be used to express information or knowledge or systems in a structure that is defined by a consistent set of rules...
- Modeling perspectivesModeling perspectivesA modeling perspective in information systems is a particular way to represent pre-selected aspects of a system. Any perspective has a different focus, conceptualization, dedication and visualization of what the model is representing....
- MOF Queries/Views/TransformationsQVTQVT is a standard set of languages for model transformation defined by the Object Management Group .- Overview :...
(QVT) - Object-oriented analysis and designObject-oriented analysis and designObject-oriented analysis and design is a software engineering approach that models a system as a group of interacting objects. Each object represents some entity of interest in the system being modeled, and is characterised by its class, its state , and its behavior...
(OOAD) - Semantic spectrumSemantic spectrumThe semantic spectrum is a series of increasingly precise or rather semantically expressive definitions for data elements in knowledge representations, especially for machine use.At the low end of the spectrum is a simple binding of a single word or phrase and its...
- Semantic translationSemantic translationSemantic translation is the process of using semantic information to aid in the translation of data in one representation or data model to another representation or data model...
- Software factorySoftware factoryIn software engineering and enterprise software architecture, a software factory is an organizational structure that specializes in producing computer software applications or software components according to specific, externally-defined end-user requirements through an assembly process...
- Transformation languageTransformation languageA transformation language is a computer language designed to transform some input text in a certain formal language into a modified output text that meets some specific goal....
(TL) - UMLUnified Modeling LanguageUnified Modeling Language is a standardized general-purpose modeling language in the field of object-oriented software engineering. The standard is managed, and was created, by the Object Management Group...
- UML toolUML toolA UML tool or UML modeling tool is a software application that supports some or all of the notation and semantics associated with the Unified Modeling Language , which is the industry standard general purpose modeling language for software engineering.UML tool is used broadly here to include...
- Vocabulary-based transformationVocabulary-based transformationIn metadata, a vocabulary-based transformation is a transformation aided by the use of a semantic equivalence statements within a controlled vocabulary.Many organizations today require communication between one or more computers...
- XML transformation languageXML transformation languageAn XML transformation language is a programming language designed specifically to transform an input XML document into an output XML document which satisfies some specific goal.There are two special cases of transformation:...
(XTL)