This Unified Modeling Language (UML) Dictionary, put together by Kendall Scott, is based on the material within these five books: Over 600 terms appear in this Dictionary. The following terms may be of particular interest:

active classcomponent diagramnote
activity diagramdependencyobject diagram
annotational thingdeployment diagrampackage
associationdiagramrealization
behavioral thinggeneralizationsequence diagram
classgrouping thingstatechart diagram
class diagraminteractionstate machine
collaborationinteraction diagramstructural thing
collaboration diagraminterfaceuse case
componentnodeuse case diagram

Since all of the terms in this Dictionary are represented within my UML Master Index, you can click the icon to see where you can go within the five books to learn more about a given term.

Please feel free to send comments to kendall@softdocwiz.com.

Click here to go back to the home page of my company, Software Documentation Wizards.

Happy reading!

Note: This Dictionary may be considered to be in the public domain. However, if you would like to use it for commercial purposes, kindly do the following: (1) send me E-mail telling me what you plan to do, and (b) add a link to http://softdocwiz.com so your customers can find out what else I have to offer in the way of software documentation.





abstract

A generalizable element is abstract if it cannot be directly instantiated.

See the entries for abstract class, abstract operation, and abstract use case for more specific information.


abstract class

An abstract class is a class that may not have direct instances.

An abstract class can, however, have concrete operations.


abstraction (act)

The term abstraction refers to the act of looking for similarities across sets of things by focusing on the essential common characteristics that make those things different from other kinds of things.


abstraction (dependency)

The term abstraction also refers to a dependency in which the source and the target are at different levels of abstraction (for instance, within different models).

There are four kinds of abstraction dependencies:
derivation
realization
refinement
trace


abstract operation

An abstract operation is an operation that is never instantiated.


abstract superclasses rule

The abstract superclasses rule states that leaf classes should be abstract and non-leaf classes should be concrete.

This "rule" is actually more of a solid design principle. Under this scheme, an abstract be superclass contains all of the be methods to be inherited, while the concrete be subclasses contain versions of those methods that are tailored appropriately.


abstract use case

An abstract use case is a use case that is never directly instantiated, but rather exists for other use cases to reuse.


access

The term access refers to a stereotyped dependency within which the source package has the right to reference the contents of the target package.


action

An action is an executable atomic computation that results in a change of state or the return of a value.

The UML defines eight kinds of actions:

assignment action
call action
create action
destroy action
return action
send action
terminate action
uninterpreted action

action expression

An action expression is an expression that resolves to an action or an action sequence.

The UML does not specify the syntax of action expressions. They are generally associated with programming languages.


action sequence

An action sequence is a noninterruptible sequence of actions.

Note that an action sequence is itself an action, so the rules associated with actions also apply to action sequences.


action state

An action state is a state whose purpose is to execute an action and then fire a transition to another state.


activation

An activation is an execution of an operation.

An activation is represented on a sequence diagram by a focus of control.


active class

An active class is a class whose instances are active objects.

An active class models a family of processes or threads.


active object

An active object is an instance of an active class.

An active object owns a thread and can initiate control activity.


active state

An active state is a state that is currently being held by an object within that object's state machine.

A state becomes active when an associated transition fires.


active state configuration

The term active state configuration refers to the set of active states that exist at a given time within a particular state machine.


activity (UML)

An activity is an ongoing non-atomic (in other words, interruptible) execution within a state machine.


activity (Unified Process)

Within the Unified Process and the RUP, an activity is a tangible unit of work with a well-defined responsibility that a worker performs.

An activity results in one or more artifacts.


activity diagram

An activity diagram is a diagram that shows flows between activities.

An activity diagram shows an activity graph.


activity expression

An activity expression is a textual expression of a particular activity.

An activity expression is meant to express an entire procedure or algorithm. So, you will generally phrase an activity expression in terms of a language such as C++ or English.

You use the reserved word do in conjunction with an activity expression.


activity graph

An activity graph is a state machine in which most or all of the states are action states or activity states, and in which most or all of the transitions are triggered by completion of activity in the source states.

An activity graph emphasizes the sequential and concurrent steps of a computational procedure or a workflow.


activity state

An activity state is a state whose purpose is to execute an activity and then fire a transition to another state.


activity view

The term activity view refers to those aspects of a system that involve behavior specified as activities connected by control flows.

The activity view is comprised of activity diagrams.

The activity view is a part of the dynamic view.


actor

The term actor is a keyword which refers to a coherent set of roles that an entity (human or non-human) outside of the system being modeled plays when interacting with one or more use cases.


actual parameter

The term actual parameter is a synonym of argument.


adornment

An adornment is a graphic or piece of text added to the basic notation of a model element to provide details about that element.

Examples of adornments include notes and visibility symbols.


after

The term after is a keyword that you use in conjunction with a time expression to model a time event.


aggregate

The term aggregate refers to the class that serves as the "whole" within a given aggregation.


aggregation

An aggregation is a "whole-part" association within which one element is "part" of the larger "whole" of the other element.


allInstances

The term allInstances refers to an oclOperation that returns the Set of all instances of a given model element, including subtypes.


allSupertypes

The term allSupertypes refers to an oclOperation that returns the Set of all supertypes associated with a given model element.


analysis and design workflow

Within the RUP, the purpose of the analysis and design workflow is to translate the requirements into a specification that describes how the new system is to be built and implemented.

The primary artifact of the analysis and design workflow is the design model.


analysis class

An analysis class is a class that represents a fairly high-level abstraction of one or more classes from a given system's design.

There are three types of analysis classes:
boundary class
control class
entity class

analysis model

An analysis model is a stereotyped model that contains a hierarchy of analysis packages.

The analysis model is meant to describe and structure the requirements in ways that facilitate the efforts of the project team to understand and work with them. This model can also generally be seen as a "first cut" of the design model.

Within the RUP, the analysis model is part of the design set.


analysis package

An analysis package is a stereotyped package used to organize analysis classes and use case realizations within an analysis model.

An analysis package can also contain other analysis packages.


analysis system

The term analysis system is a stereotype that refers to the top-level package within an analysis model.


analysis workflow

The purpose of the analysis workflow is to create an analysis model that refines the requirements of the system and enables the development team to begin to explore the system's internals.

The following activities comprise the analysis workflow:
Architectural Analysis
Analyze a Use Case
Analyze a Class
Analyze a Package

Analyze a Class

Analyze a Class is the third activity within the analysis workflow.

There are three steps involved in this activity:
identifying the responsibilities associated with each analysis class
identifying the attributes and relationships associated with those analysis classes
capturing special requirements associated with those classes

Analyze a Package

Analyze a Package is the fourth activity within the analysis workflow.

This activity involves ensuring, for each analysis package, that the package is highly independent of other packages and that it realizes a set of classes and/or use cases, and also describing the dependencies among these packages.


Analyze a Use Case

Analyze a Use Case is the second activity within the analysis workflow.

There are three steps involved in this activity:
identifying the analysis classes that are needed in order to perform each use case
distributing the behavior of each use case across the objects associated with those analysis classes
capturing special requirements associated with each use case

ancestor

The term ancestor refers to any element that sits "above"--in other words, is more general than--a given element within a particular generalization.


annotational thing

An annotational thing is a comment that describes, illuminates, or remarks about an element of a model.

A note is an annotational thing.


append

The term append refers to an oclOperation that adds a specified element to the end of a given Sequence.


application-general layer

The term application-general layer refers to a layer of a system which contains packages and/or subsystems that are reusable within a given business or domain.


application-specific layer

The term application-specific layer refers to a layer of a system which contains packages and/or subsystems that are not reusable within a given business or domain.


architect

The architect is the worker who leads and coordinates the technical activities, and the production of the associated artifacts, throughout the project.

The architect also establishes the overall structure for the five views that comprise the architecture.


Architectural Analysis

Architectural Analysis is the first activity within the analysis workflow.

This activity focuses on outlining the analysis model and the architecture by identifying analysis packages, key analysis classes and associations among those classes, and common special_requirements.


Architectural Design

Architectural Design is the first activity within the design workflow.

This activity focuses on outlining the design model and the deployment model and their architectures.

There are four steps involved in this activity:
identifying nodes and their network configurations
identifying subsystems and their interfaces
identifying key design classes
identifying generic design mechanisms that handle common requirements

Architectural Implementation

Architectural Implementation is the first activity within the implementation workflow.

This activity focuses on outlining the implementation model and its architecture. This involves identifying key components and mapping those components to nodes within network configurations.


architectural pattern

An architectural pattern is a pattern that defines a structure or behavior for the architectural view of a given model.


architectural prototype

Within the RUP, the architectural prototype is the artifact that validates the architecture and serves as the baseline for further development.


architectural style

An architectural style is an attribute of an architecture that reduces the set of available forms and imposes a degree of uniformity on that architecture.

Systems that have similar high-level structures and key mechanisms have similar architectural styles.


architectural view

An architectural view is a projection of the key structure and behavior of a given model.


architectural view of the analysis model

The term architectural view of the analysis model refers to the view of a system' architecture that encompasses the most significant artifacts of the analysis model, including:
analysis packages and the dependencies among them
key analysis classes
important use case realizations

architectural view of the deployment model

The term architectural view of the deployment model refers to the view of a system's architecture that encompasses the most significant artifacts of the deployment model.


architectural view of the design model

The term architectural view of the design model refers to the view of a system's architecture that encompasses the most significant artifacts of the design model, including:

design subsystems, their interfaces, and the dependencies among them
key design classes
important use case realizations

architectural view of the implementation model

The term architectural view of the implementation model refers to the view of a system's architecture that encompasses the most significant artifacts of the implementation model, including:
implementation subsystems, their interfaces, and the dependencies among them
key components

architectural view of the use-case model

The term architectural view of the use-case model refers to the view of a system's architecture that encompasses the most significant use cases.


architecture

The term architecture refers to the overall organizational structure of a given system.

Decisions about these areas are central to an architecture:
selection of structural elements and their interfaces
behavior of those structural elements, as specified by collaborations
forming of larger subsystems from structural and behavioral elements
architectural "style" that guides organization

Five interlocking views comprise an architecture:
deployment view
design view
implementation view
process view
use case view

architecture baseline

The architecture baseline is the collection of models that exist at the end of the elaboration phase. This baseline represents an internal release of the system being built.


architecture-centric

A process is architecture-centric if it involves using the architecture as the key to conceptualizing, constructing, managing, and evolving the system being built.


architecture description

The architecture description contains the architectural views of the various models (analysis, deployment, design, implementation, and use-case) that represent the system being built.


architecture reviewer

Within the RUP, the term architecture reviewer refers to a worker who plans and conducts a formal review of the architecture.


argument

An argument is a specific value corresponding with a parameter.


artifact

An artifact is a piece of information, such as a document or a model, that is produced, modified, and/or used within a process.

Within the RUP, an artifact belongs to one of five categories:
deployment set
design set
implementation set
management set
requirements set

assignment action

An assignment action is an action that sets the value of an attribute within an object to a specified value.


association (relationship)

An association is a relationship that describes a set of links between or among objects.

An association can have a name that describes the nature of this relationship. You can put a triangle next to this name to indicate the direction in which the name should be read.

An association contains an ordered list of association ends. An association with exactly two association ends is called a binary association; an association with more than two ends is called an n-ary association.


association (stereotype)

The term association also refers to a stereotype attached to a link end to signify that the corresponding object is visible via an association.


association class

An association class is a model element that has properties of both an association and a class: it connects two or more classes, and it also has attributes and/or operations.


association end

An association end is a structural part of an association that defines the participation of a class in that association.

The following are the primary aspects of an association end:
aggregation (aggregate indicates that the object attached to the association end is an aggregation; composite indicates that the attached object is a composite; i>none indicates that the object is neither an aggregation nor a composite)
changeability
multiplicity
navigability
visibility
You can also specify an owner scope value and/or a target scope value for an association end.


associationEnds

The term associationEnds refers to an oclOperation that returns the Set of association ends belonging to a given model element.


association generalization

The term association generalization refers to a generalization that involves two associations.


association role

An association role is an association between two objects that applies only in a certain context, as specified by a given collaboration.


asynchronous action

An asynchronous action is a request that an object makes without waiting for a response.


at

The term at refers to an oclOperation that returns the element in a specified position within a given Sequence.


atomic

An action or operation is atomic if it cannot be partially executed, or interrupted or terminated by an external event.

Atomic operations are usually assignments and simple computations that occur at definite points of an execution sequence.


attribute

An attribute is a named property of a class that describes a range of values that instances of that class might hold.

The following are the primary aspects of an attribute:
changeability
initial value
multiplicity
type
visibility
You can also specify an owner scope value and/or a target scope value for an attribute.


attributes

The term attributes refers to an oclOperation that returns the Set of attributes belonging to a given model element.



Bag

A Bag is a Collection of elements, each of which may appear more than once.

You end up with a Bag when you navigate through more than one association whose multiplicity is greater than 1.


baseline

A baseline is a release of artifacts, which have been reviewed and approved by the appropriate stakeholders, that together form an agreed-on basis for further evolution or development of the system.

A baseline can be changed only via a formal procedure, such as a change request.


become

The term become is a stereotyped flow dependency within which the target object is a transformed version of the source object which replaces that object.

This transformation can result in different values, roles, location,and/or state for the target object.


behavior

The term behavior refers to the observable effects of an operation or an event, including its results.


behavioral feature

A behavioral feature is a dynamic feature of a model element, such as an operation or a method.


behavioral thing

A behavioral thing is a verb that represents a dynamic behavior through space and over time.

There are two primary kinds of behavioral things: interactions and state machines.


behavioral view

The term behavioral view is a view of a given model that focuses on the behavior of the instances within the system being modeled.


bind

The term bind is a keyword that signifies a binding.

When bind is present, there must also be a list of actual parameters that match up with the given template's formal parameters.


binding

A binding is a dependency within which the source instantiates the target template to produce a new model element that uses the specified actual parameters.


Boolean

The term Boolean refers to an enumeration that contains two values: True and False.


Boolean expression

The term Boolean expression refers to an expression that resolves to a Boolean value.


boundary class

The term boundary class refers to a stereotyped class used to model the interaction between an actor and the system.


bound element

A bound element is a model element that results from a binding.


branch

A branch is a place within a state machine where a trigger leads to more than one possible outcome, each of which has an associated guard condition or the keyword else.


broadcasting

The term broadcasting refers to what happens when an object sends a signal to a set of objects.


build

A build is an executable version of part of a system or an entire system.


buiness case

The term business case refers to an artifact that presents the case for going forward with a given project.


buiness designer

The term business designer refers to a worker who specifies the business workers and business entities needed to realize one or more business use cases and distributes the behavior of that use case to those workers and entities.


business entity

A business entity is something that one or more workers use in some fashion in the context of a use case within a business use-case model.

A business entity is also an artifact.


business modeling workflow

Within the RUP, the purpose of the business modeling workflow is to build a business use-case model and a business object model in order to achieve the following goals:
understand the structure and dynamics of the organization
ensure that the stakeholders have a common understanding of the organization
discover the requirements that the new system must satisfy for the organization

buiness-model reviewer

Within the RUP, a business-model reviewer is a worker who participates in formal reviews of the business use-case model and the business object model.


buiness object model

A business object model shows how the use cases within the business use-case model are "performed" in terms of interacting workers, business entities, and work units.

A business object model is generally represented by interaction diagrams and activity diagrams.

Within the RUP, the business object model is part of the requirements set.


buiness-process analyst

Within the RUP, a business-process analyst is a worker who leads and coordinates the effort to build the business use-case model.


business use-case model

A business use-case model is a model of the intended functions of a given business, stated in terms of actors (in this case, roles external to the business) and use cases (which represent processes here).

A business use-case model is generally represented by use case diagrams.

Within the RUP, the business use-case model is part of the requirements set.



call (act)

A call is an invocation of an operation during the execution of a procedure.


call (dependency)

The term call also refers to a stereotyped dependency within which the source operation invokes the target operation.


call action

A call action is an action that results in the invocation of an operation.


call event

A call event is an event that represents the dispatch of an operation.


cardinality

The term cardinality refers to the number of elements in a given set.


changeability

The term changeability refers to a property whose value indicates whether a given attribute or link can change after being initialized.

The allowable values of the changeability property are as follows:
addOnly (for an attribute whose multiplicity is greater than 1, you can add additional values, but you cannot change or delete a value once you have added it; for a link, you can add new links from an object on the opposite side of the given association)
changeable (for an attribute, you can add, change, and delete values without restriction; for a link, you can add, change, and delete links between the objects connected by the given association without restriction)
frozen (for an attribute, you cannot add, change, or delete any values; for a link, you can add new links from an object being created on the opposite side of the given association, but you cannot change or delete a link once you have added it)

change event

A change event is an event that represents the satisfaction of a Boolean expression in response to a change to one or more of the values it references.


change request

A change request is a formal written request, associated with a particular originator and a specified root cause, to fix a defect, modify a requirement, or otherwise effect a meaningful change to the system being developed.

Within the RUP, change requests are part of the management set.


child

The term child refers to the more specific element within a given generalization relationship.


class

A class is a named description of a set of objects that share the same attributes, operations, relationships, and semantics. These objects can represent real-world things or conceptual things.

See the entries for abstract class, analysis class, and design class for information about the various forms that a class can take within the UML.


class diagram

A class diagram is a diagram that shows a set of classes, interfaces, and/or collaborations and the relationships among these elements.

You generally use class diagrams in connection with the structual elements of the design view and the process view.


classifier

A classifier is a model element that describes behavioral features and/or structural features.

The UML defines 11 kinds of classifiers:
actor
class
classifier role
class-in-state
component
data type
interface
node
signal
subsystem
use case

classifier role

A classifier role is a slot within a collaboration that describes a role played by a participant in that collaboration.


class-in-state

A class-in-state is a combination of a class and a state in which objects of that class can reside.


client

The term client refers to the element within a dependency that requests one or more services from the supplier.


code reviewer

Within the RUP, a code reviewer is a worker who plans and conducts source code reviews.


collaboration

A collaboration is a named collection of classes, interfaces, and other elements that work together to provide some behavior that is bigger than the behavior represented by the sum of the parts. A collaboration realizes either a or an operation.

The static part of a collaboration describes collaboration roles that objects and links may play in instantiations of the collaboration. The dynamic part of a collaboration consists of one or more dynamic interactions that show message flows over time.

The behavioral parts (represented by the objects within its interactions) must be consistent with the structural parts: in other words, the objects within its interactions must be instances of its classes.


collaboration diagram

A collaboration diagram is an interaction diagram that focuses on the structural organization of the objects.

Collaboration diagrams and sequence diagrams are semantically equivalent, which means you can convert one type of diagram to the other without losing any information. However, a collaboration diagram has two key features that a sequence diagram does not: optional stereotypes, such as local and self, for the paths between objects, and sequence numbers.


collaboration role

A collaboration role is a slot for an object or a link within a collaboration.

There are two types of collaboration roles: association roles and classifier roles.


collect

The term collect refers to an oclOperation that creates a Collection which contains the values that result from evaluating a specified expression for each of the elements in a given Collection.


Collection

Collection is the abstract supertype of Bag, Sequence, and Set.

You can perform any of the following operations on a Collection:
collect
count
equals
excluding
exists
forAll
includes
includesAll
including
intersection
isEmpty
iterate
notEmpty
reject
select
size
sum
union

combination

A combination is a dependency that represents a relationship between two parts of the description of a classifier that combine to form the full descriptor for that classifier.

The extend and include relationships are both combinations.


comment

A comment is a piece of text that provides arbitrary information associated with one or more model elements.


communication association

A communication association is an association that describes a commmunication relationship between two elements.

For instance, two nodes might belong to a communication association within a deployment view, as would an actor and a use case within a use case view.


complete

The term complete is a constraint attached to a generalization to signify that all children have been specified for that generalization and that no more can be specified.


completion transition

A completion transition is a triggerless_transition that is triggered by the completion of activity in a given source state.


complex transition

A complex transition is a transition that has more than one source state (this is a join) and/or more than one target state (this is a fork).


component

A component is a named physical and replaceable part of a system that represents physical packaging of otherwise logical elements and that conforms to, and provides the realization of, one or more interfaces.


component diagram

A component diagram is a diagram that shows a set of components and the relationships among them.


component engineer

A component engineer is a worker who is responsible for artifacts within several workflows:
analysis workflow: analysis classes and analysis packages
design workflow: design classes, design subsystems, and interfaces
implementation workflow: components, implementation subsystems, and interfaces
test workflow: test components

composite aggregation

The term composite aggregation is a synonym of composition.


composite class

A composite class is a class that serves as the "whole" within a composition relationship.


composite object

A composite object is an instance of a composite class.


composite state

A composite state is a state comprised of either concurrent substates or disjoint substates.

Given two or more substates at the same level, an object will be in one sequential substate, but each of the concurrent substates.


composition

The term composition refers to an aggregation within which the "part"s and the larger "whole" share lifetimes.

A given model element can be part of only one composition relationship at a time.


concrete

A generalizable element is concrete if it can be directly instantiated.

See the entries for concrete class, concrete operation, and concrete use case for more specific information.


concrete class

A concrete class is a class that may have direct instances.

An concrete class cannot have abstract operations, however.


concrete operation

A concrete operation is an operation that has an implementation.


concrete use case

A concrete use case is a use case that is initiated by an actor and that represents a complete sequence of actions to be performed by the system being built.

A concrete use case may reuse the behavior associated with one or more abstract use cases.


concurrency (property)

The term concurrency refers to a property whose value indicates how a given operation will respond in the face of more than one concurrent call to it.

The allowable values of the concurrency property are as follows:
concurrent (multiple calls may come in simultaneously, and they can all proceed concurrently)
guarded (multiple calls may come in simultaneously, but only one can be addressed at a time)
sequential (only one call may come in at a time)

concurrency (situation)

The term concurrency also refers to the situation where two or more activities are performing during the same period of time.

These activities perform independently unless synchronization points have been explicitly defined.


concurrent substate

A concurrent substate is a substate that can exist simultaneously with other substates within a composite state.


conditional thread

A conditional thread is a region on an activity graph that begins with an output segment from a fork, which has an associated guard condition, and ends with an input segment of a join.


configuration and change management workflow

Within the RUP, the purpose of the configuration and change management workflow is to track, and maintain the integrity of, project assets as they evolve in the presence of changes.


configuration management plan

A configuration management plan defines the configuration management policies and practices to be used on the project.


configuration manager

Within the RUP, the configuration manager is the worker who provides the overall configuration management infrastructure and environment for the development team.


conflict

A conflict occurs when there is the chance for some kind of contradiction or ambiguity within a given model.

For instance, a conflict would arise if a subclass inherits two attributes, both with the same name, from two superclasses, or if an event enables more than one transition.


constraint (mechanism)

A constraint is an extensibility mechanism that allows you to create conditions and restrictions, stated as Boolean expressions, that apply to model elements.

You can specify a constraint using free-form text or the more precise Object Constraint Language (OCL).

Note that a constraint represents an assertion, not an executable mechanism.

The following constraints are predefined within the UML:
complete
destroyed
disjoint
implicit
incomplete
new
or
ordered
overlapping
transient
xor

constraint (OCL)

Within the OCL, a constraint is a restriction on one or more values of part of or all of a model or a system.


construction phase

The construction phase is the phase of a development project in which the architecture baseline grows to become the full-fledged system.

The primary goal of this phase is to produce a product that is ready to put in the hands of its customers.


constructor

A constructor is an operation, which has class scope, that creates and initializes an instance of a class.


container

A container is an object, designed to contain other objects, that provides operations you can use to access its contents directly or iterate through them.

Arrays and sets are examples of containers.


context (OCL)

Within the OCL, the term context refers to the model element with which a given invariant, precondition, or postcondition is associated.


context (UML)

Within the UML, a context is a piece of a model that provides the environment for a set of related elements of that model.


control class

A control class is a stereotyped class used to represent coordination, sequencing, transactions, and/or control of one or more objects associated with other classes, or to encapsulate control related to a given use case.


control flow

A control flow is a combination of (a) the relationship between an action and the actions that occur before and after it and (b) the relationship between that action and its input and output objects.


copy

The term copy is a stereotyped flow dependency within which the target object is an exact copy of the source object.

Note that once the copy occurs, the target object is independent of the source object.


count

The term count refers to an oclOperation that returns the number of occurrences of a specified element within a given Collection.


course developer

Within the RUP, a course developer is a worker who develops training material with which users are taught how to use the new system.


create (behavioral feature)

The term create refers to a stereotype on a behavioral feature which indicates that the feature creates an instance of the enclosing classifier.


create (dependency)

The term create also refers to a stereotype on a dependency which indicates that the client classifier creates one or more instances of the supplier classifier.


create (event)

The term create also refers to a stereotype on an event which indicates that the event involves the creation of an instance enclosing the appropriate state machine.


create action

A create action is an action that results in the instantiation and initialization of an object.


creation

The term creation refers to the instantiation and initialization of an instance.


current event

The term current event refers to the event that triggered a run-to-completion step within the execution of a given state machine.



database designer

Within the RUP, a database designer is a worker who designs one or more logical database schemas and/or physical databases for the new system.


data type

A data type describes a set of values that have no identities and cannot be changed. "Primitive" data types include numbers, strings, and time. Enumerations, except for Boolean, are user-definable data types.


data value

A data value is an instance of a data type.


default value

A default value is a data value supplied by an entity external to the given model.


defect

A defect is a symptom of a problem in the system.


deferred event

A deferred event is an event that is not recognized while the associated object is in a particular state.


delegation

An object performs a delegation when it issues a message to another object in response to an initial message.


dependency

A dependency is a relationship between two things within which a change to one thing (the independent element) may affect the semantics of the other thing (the dependent element).

The dependent element is generally referred to as the client or the target. The independent element is generally referred to as the supplier or the source.

There are five basic kinds of dependencies:
abstraction
binding
combination
permission
usage

deployment diagram

A deployment diagram is a diagram that shows the configuration of a set of run-time processing nodes and the components that reside on them.


deployment manager

Within the RUP, the deployment manager is the worker who plans and oversees the transition of the new system to the user community.


deployment model

A deployment model is a stereotyped model that describes the physical distribution of the system being built, in terms of how functionality is distributed among computational nodes.

Within the RUP, the deployment model is part of the design set.


deployment set

Within the RUP, the deployment set is a set of artifacts related to the physical deployment of a system.

The deployment set contains the following artifacts:
executable baselines
release notes
user support material (including user manual, installation material, and training material)

deployment view

A deployment view shows the nodes within a distributed system, the components stored on each node, and the objects contained within those components. This view focuses on distribution, delivery, and installation.

The deployment view is captured primarily on deployment diagrams, and also on interaction diagrams, statechart diagrams, and activity diagrams.

The deployment view is a part of the static view. The deployment view is also one of the five interlocking views that comprise the architecture.


deployment workflow

Within the RUP, the purpose of the deployment workflow is to deliver the new system to its customers.


derivation

A derivation is a dependency within which the target can be computed or inferred from the source.

You model a derivation using the derive stereotype.


derive

The term derive is a stereotype that signifies a derivation.


derived element

A derived element is an element that can be computed or inferred from other elements.


descendant

The term descendant refers to any element that sits "below"--in other words, is more specific than--a given element within a particular generalization.


descriptor

A descriptor is a model element that describes the common properties of a set of instances.

A descriptor has both an intent and an extent.


Design a Class

Design a Class is the third activity within the design workflow.

There are eight steps involved in this activity:
outlining each design class in terms of analysis classes and/or interfaces
identifying the operations that each design class needs to provide
identifying the attributes that each design class needs
identifying the associations and aggregations connected with those design classes
identifying generalizations in which those design classes should participate
describing methods that those design classes should implement
describing the possible states of objects instantiated from those design classes
handling special requirements associated with those design classes

Design a Subsystem

Design a Subsystem is the fourth activity within the design workflow.

There are three steps involved in this activity:
ensuring, for each subsystem, that the subsystem is highly independent of other subsystems and their interfaces
ensuring that each subsystem provides the appropriate interfaces
ensuring that each subsystem offers a correct realization of the operations behind those interfaces

Design a Use Case

Design a Use Case is the second activity within the design workflow.

There are five steps involved in this activity:
identifying the design classes that are needed in order to perform each use case
distributing the behavior of each use case across the objects associated with those design classes
identifying the necessary subsystems and interfaces
describing the interactions of those subsystems
capturing requirements, associated with each use case, that should be addressed during implementation

design class

A design class is a stereotyped class that represents an abstraction of a class within the system's implementation, stated in the appropriate programming language.


designer

Within the RUP, a designer is a worker who defines the responsibilities, operations, attributes, and relationships for one or more classes, and also determines how those definitions should be adjusted with regard to implementation.


design model

A design model is a stereotype model that contains a hierarchy of design subsystems.

The design model is intended to describe the physical realizations of the system's use cases. This model also serves as an abstraction of the system's implementation. Within the RUP, the design model is part of the design set.


design pattern

A design pattern is a pattern that defines a structure or behavior for the design view of a given model.


design reviewer

Within the RUP, a design reviewer is a worker who plans and conducts a formal review of the design model.


design set

Within the RUP, the design set is the set of artifacts related to the description of how the new system is going to be built.

The design set contains the following artifacts:
analysis model
data model
deployment model
design model
process model
software architecture description
test model

design subsystem

A design subsystem is a stereotyped subsystem used to organize design classes, use case realizations, and interfaces within a design model.

A design subsystem can also contain other design subsystems.


design system

The term design system refers to a stereotype that refers to the top-level package within the design model.


Design Test

Design Test is the second activity within the test workflow.

This activity involves identifying and describing integration, system, and regression test cases for each build and identifying and structuring test procedures.


design view

The term design view refers to the set of classes, interfaces, and collaborations that together describe the problem space and the solution space associated with a given system. This view exists to specify the functional requirements of the system.

The design view is captured in class diagrams, object diagrams, interaction diagrams, statechart diagrams, and activity diagrams.

The design view is one of the five interlocking views that comprise the architecture.


design workflow

The purpose of the design workflow is to create a design model that describes the physical realizations of the use cases and serves as an abstraction of the system's implementation.

The following activities comprise the design workflow:
Architectural Design
Design a Use Case
Design a Class
Design a Subsystem

destroy (action)

To destroy an object is to eliminate it and reclaim the system resources it had been using.


destroy (behavioral feature)

The term destroy is also a stereotype on a behavioral feature which indicates that the feature destroys an instance of the enclosing classifier.


destroy (event)

The term destroy is also a stereotype on an event which indicates that the event involves the destruction of an instance enclosing the appropriate state machine.


destroy action

A destroy action is an action that results in the destruction of a target object.


destroyed

The term destroyed refers to a stereotype attached to a classifier role or association role to signify that an instance of the role exists before execution of the given interaction, but will cease to exist some time before that execution is complete.


destruction

The term destruction refers to the elimination of an object and the reclaiming of the resources it was controlling.

Destruction includes the elimination of links associated with the given object. If the object is a composite object, all of its parts are eliminated as well.


Detail a Use Case

Detail a Use Case is the third activity within the requirements workflow. It involves describing the basic and alternate courses of action (flows of events) through each use case in detail, including how the use case starts and ends and the involvement of actors.


diagram

A diagram is a graphical presentation of a collection of model elements. This presentation is a projection of those elements of a given model.

Most UML diagrams show model elements as vertices and the relationships among those elements as arcs.

The UML defines nine types of diagrams:
activity diagram
class diagram
collaboration diagram
component diagram
deployment diagram
object diagram
sequence diagram
statechart diagram
use case diagram

direct class

An object's direct class is the class that most completely describes that object.


direct instance

An object is a direct instance of a given class if that class describes the instance and no descendant class also describes that object.


discriminator

A discriminator is a pseudoattribute that selects a child element from a set of children within a generalization relationship.


disjoint

The term disjoint is a constraint attached to a set of generalizations to signify that given multiple inheritance, no object can be an instance of more than one child within the set.


disjoint substate

A disjoint substate is a substate that cannot exist simultaneously with other substates within a composite state.


distribution unit

A distribution unit is a set of objects or components allocated to a node as a group.


do

The term do is a reserved word used in conjunction with an activity expression in the context of an activity_graph or a state machine.


document

A document is a stereotyped component that represents a document.


documentation

The term documentation refers to a tagged value that specifies a comment, description, or explanation associated with the element, such as a class, to which it is attached.


domain model

A domain model captures the most important types of business objects and real-world objects and concepts that exist, and also events that transpire, in the environment in which a given system will work.

A domain model is generally represented by class diagrams.


dynamic classification

The term dynamic classification refers to a variation of generalization in which an object can change type or role.


dynamic concurrency

The term dynamic concurrency refers to the situation in which an activity state represents concurrent execution of more than one independent computation.


dynamic view

The term dynamic view refers to those aspects of a given model having to do with the specification and implementation of behavior over time.

Four views comprise the dynamic view:
activity view
interaction view
state machine view
use case view


elaboration phase

The elaboration phase is the phase of a development project in which most of the use-case model is specified in detail and the architecture is designed.

The primary goal of this phase is to produce an architecture baseline that can serve as the foundation for the new system.


element

An element is an atomic constituent of a model.


else

The term else is a keyword that you use in conjunction with a branch to indicate the path to be taken if the guard conditions on the associated paths all evaluate to False.


entity class

An entity class is a stereotyped class used to model long-lived information that may be persistent.


entry action

An entry action is an action that is performed when an object enters a given state.

You denote an entry action with the reserved word entry.


enumeration

The term enumeration is a keyword that signifies a user-definable data type that has an ordered list of literal values.

Note that Boolean is a predefined enumeration.


environment workflow

Within the RUP, the purpose of the environment workflow is to support the development team with processes and tools.


equals

The term equals refers to an OCL operator that works on Collections.
For two Sets, an operation containing the equals operator returns True if both Sets contain the same elements.
For two Bags, that operation returns True if both Bags contain the same elements the number of times each of those elements appears in each Bag is also the same.
For two Sequences, that operation returns True if both Sets contain the same elements and the order of those elements is the same within both Sequences.

Evaluate Test

Evaluate Test is the sixth activity within the test workflow.

This activity involves evaluating the testing efforts within a given iteration by comparing the results with the goals described in the test plan.


event

An event is a noteworthy occurrence that has a location in time and space.

Within a state machine, the occurrence of an event can trigger a transition.

An internal event passes between objects in the system; an external event passes between the system and an actor.

Within the UML, there are four kinds of events:
call events
change events
signal events
time events

event-driven object

The term event-driven object is a synonym of reactive object.


exception

The term exception is a keyword that signifies a signal that you use in conjunction with a class to model an exception that the given class can throw or receive in response to a failure during system execution.


excluding

The term excluding refers to an oclOperation that works on Collections.
For a Set, the including operation removes a given element.
For a Bag or a Sequence, the operation removes all occurrences of a given element.

executable

An executable is a stereotyped component that represents a program that may be executed on a node.


exists

The term exists refers to an oclOperation that returns True if a specified expression is True for at least one element within a given Collection.


exit action

An exit action is an action that is performed when an object leaves a given state.

You denote an exit action with the reserved word exit.


export

In the context of a package, to export an element is to make it accessible outside of the namespace to which it belongs by setting its visibility to a level that permits it to be seen by other packages.


export interface

An export interface is an interface that a component provides to other components.


expression

An expression is a string that represents a statement to be interpreted by a language outside of the UML. This statement generally resolves to a set of instances or values, or results in the performance of a specific action within a given context.

The UML defines six kinds of expressions:
action expression
Boolean expression
object set expression
procedure expression
time expression
type expression

extend

The term extend is a stereotyped dependency within which the target use case "extends" the behavior of the source use case at the source's extension points.

You generally use an extend dependency to model optional system behavior, such as error handling, or behavior that only occurs under certain conditions.


extensibility

The term extensibility refers to the ability to extend the UML in controlled ways.

The UML defines three extensibility mechanisms:
constraint
stereotype
tagged value

extension point

An extension point is a named marker that references one or more locations within the behavioral sequence of a use case at which additional behavior can be inserted, thus extending the use case.


extent

An extent is the set of instances associated with a descriptor.


external transition

An external transition is a transition that causes a change from the source state to the target state.



facade

A facade is a stereotyped package that contains only references to model elements owned by another package.


feature

A feature is a property encapsulated, as part of a list, within a classifier.

There are two types of features: behavioral features and structural features.


file

A file is a stereotyped component which represents a file that contains source code or data.


final state

A final state is a pseudostate which indicates that the execution of the enclosing composite state is complete.


Find Actors and Use Cases

Find Actors and Use Cases is the first activity within the requirements workflow.

There are four steps involved in this activity:
finding the actors
finding the use cases
writing brief descriptions of each use case
describing the use-case model

fire

To fire a transition is to execute it.


first

The term first refers to an oclOperation that returns the first element in a given Sequence.


flow

A flow is a type of dependency that relates two versions of the same object, and thus the transformation of one state of that object into another, at successive points in time.

The UML defines two types of flows: become and copy.


flow of events

The term flow of events refers to a tagged value whose value contains a text description of the sequence of actions associated with a use case.


flow of events--analysis

The term flow of events--analysis refers to a tagged value whose value contains a text description of a use-case realization--analysis.


flow of events--design

The term flow of events--design refers to a tagged value whose value contains a text description of a use-case realization--design.


focus of control

A focus of control is a tall, thin rectangle on a sequence diagram that shows the period of time during which a given object has control.


forAll

The term forAll refers to an oclOperation that returns True if a specified expression is True for all elements within a specified Collection.


fork

A fork is a complex transition within which one source state is replaced with two more more target states.


formal argument

The term formal argument is a synonym of parameter.


framework

A framework is a stereotyped package which represents an architectural pattern that provides an extensible template for applications within a domain.


friend

The term friend refers to a stereotyped dependency within which the source (for instance, a package) has the right to access certain elements of the target, even though the source does not otherwise have the appropriate permission in terms of the target's visibility.


full descriptor

A full descriptor is the complete description of all of the attributes, operations, and associations belonging to a given instance.


functional requirement

The term functional requirement refers to an action that the new system must be able to perform.


functional view

The term functional view refers to the set of functions and operations that provide a system's functionality.

The data flow diagram (DFD), which the UML does not directly support, is at the heart of the functional view.



generalizable element

A generalizable element is a model element that can participate in a generalization relationship, as a parent and/or a child.

There are three properties that you can assign to a generalizable element.
If the abstraction property is True, the element is abstract.
If the leaf property is True, the element is a leaf.
If the root property is True, the element is a root.

generalization

A generalization is a relationship in which things associated with a more specialized child are substitutable for a more general parent.

The phrase "kind of" is often used in connection with generalization: the child is a kind of the parent.

Generalization is commonly found in connection with classes. See the entries for association generalization and use case generalization for information about other uses for generalization.


generic iteration workflow

The generic iteration workflow includes the five core workflows--requirements, analysis, design, implementation, and test--and also planning, which precedes the requirements workflow, and assessment, which follows the test workflow.

This workflow describes concrete iteration workflows for each phase of the project.


global

The term global refers to a stereotype attached to a to signify that the corresponding object is visible because it is part of a global scope relative to the object at the other end of the link.


glossary

A glossary is a list of terms of relevance to the business.

Within the RUP, the glossary is part of the requirements set.


grouping thing

A grouping thing is a device for organizing elements within a model.

A package is a grouping thing. <


guard condition

A guard condition is a Boolean expression that must resolve to True before the associated transition can fire.

The names that appear within a guard condition must be names of parameters of the associated trigger and/or attributes of the object that owns the enclosing state machine.


guideline

Within the RUP, a guideline is a rule, recommendation, or heuristic that supports one or more activities.



history state

A history state is a pseudostate which indicates that the enclosing composite state remembers a previously active substate after the associated object leaves that state.

A shallow history state remembers only the outermost nested state. A deep history state remembers the innermost nested state at any depth.



identity

An object's identity is the property that uniquely identifies that object.


Implement a Class

Implement a Class is the fourth activity within the implementation workflow.

There are four steps involved in this activity:
outlining the file that contains the source code for each design class
generating that source code
implementing the operations of each class, as methods
ensuring that the components provide the same interfaces as the design classes

Implement a Subsystem

Implement a Subsystem is the third activity within the implementation workflow.

This activity involves ensuring that the requirements associated with each subsystem are implemented in the appropriate build by components and/or other subsystems.


implementation (description)

The term implementation refers to a definition of how something is constructed or computed.

A realization relationship relates an implementation to its specification.


implementation (stereotype)

The term implementation also refers to a stereotyped generalization within which the client inherits the supplier's attributes, operations, and methods, but not its interfaces.


implementationClass

The term implementationClass refers to a stereotyped class that provides a static physical implementation of that class. This implementation includes attributes, associations with other classes, and methods.

An implementationClass is usually associated with static classes within a programming langugage.


implementation inheritance

The term implementation inheritance refers to the inheritance of the implementation of a given parent element's structure (attributes, operations, and associations) and code (methods).

The principle of substitutability applies to the inheriting element.


implementation model

An implementation model is a stereotyped model that contains a hierarchy of implementation subsystems.

The implementation model is meant to show how elements of the design model are implemented within the system, in terms of components. This model also describes how those components are organized and the dependencies among them.

Within the RUP, the implementation model is part of the implementation set.


implementation requirements

The term implementation requirements refers to a tagged value whose value contains text describing nonfunctional requirements, associated with either a design class or a use-case realization--design, that are identified and specified during design but are better handled during implementation.


implementation set

Within the RUP, the implementation set is the set of artifacts related to the deliverable system.

The implementation set contains the implementation model.


implementation subsystem

An implementation subsystem is a stereotyped subsystem used to organize components and interfaces within an implementation model.

An implementation subsystem can also contain other implementation subsystems.


implementation system

The term implementation system is a stereotype that refers to the top-level package within the implementation model.


implementation view

The term implementation view refers to the set of components and files that together form the releasable system. This view focuses on configuration management.

The implementation view is captured primarily in component diagrams, and also in interaction diagrams, statechart diagrams, and activity diagrams.

The implementation view is a part of the static view. The implementation view is also one of the five interlocking views that comprise the architecture.


implementation workflow (RUP)

Within the RUP, there are four purposes of the implementation workflow:
define the organization of the code
implement classes and objects within components
perform unit testing of those components
integrate the components into an executable system

implementation workflow (Unified Process)

The purpose of the implementation workflow is to create an implementation model that describes the physical realization of the design model in terms of components.

The following activities comprise the implementation workflow:
Architectural Implementation
Integrate System
Implement a Subsystem
Implement a Class
Perform Unit Test

implementer

Within the RUP, an implementer is a worker who develops the components of the new system and also performs the associated unit testing.


Implement Test

Implement Test is the third activity within the test workflow.

This activity involves creating test components.


implicit

The term implicit is a constraint attached to an association to signify that the association is "conceptual," as opposed to actual.


implies

The term implies refers to an OCL operator which states that a given Boolean expression resolves to True if when the first Boolean is True, the second Boolean operand is also True. (If the first operand is False, the expression evaluates to True regardless of the value of the second operand.)


import

The term import is a stereotyped dependency within which the names of the elements in the target package are added to the namespace of the source package.


import interface

An import interface is an interface that a component conforms to and builds on.


inactive

The term inactive applies to a state that is not currently being held by a given object within a state machine.


inception phase

The inception phase is the phase of a development project in which the business case for the proposed system is developed and presented.

The primary goal of this phase is to reach an initial agreement among the stakeholders as to what the new system will accomplish and how much time and money will be required to build it.


include

The term include is a stereotyped dependency within which the source use case explicitly incorporates the behavior of the target use case at a location specified within the source use case.

You generally use an include dependency to put behavior common to several use cases in its own use case.


includes

The term includes refers to an oclOperation that returns True if a specified object is an element of a given Collection.


includesAll

The term includesAll refers to an oclOperation that returns True if all of the elements within a specified Collection are elements of another given Collection.


including

The term including refers to an oclOperation that works on a Collection.
For a Bag, the including operation adds a given element.
For a Set, the operation adds a given element if that element is not already present.
For a Sequence, the operation adds a given element at the end.

incomplete

The term incomplete is a constraint attached to a generalization to signify that not all children have been specified for that generalization and that more can be specified.


increment

An increment is a small and manageable part of the system being built, such as the delta between two successive builds.

An increment is the result of an iteration.


incremental process

An incremental process is a process that involves the continuous integration of a system's architecture to produce executable releases, with each new release containing incremental improvements on its predecessor.


indirect instance

An indirect instance is an entity that is an instance of a given element and also an instance of a child of that element.


inheritance

The term inheritance refers to a mechanism by which more specific elements incorporate structure and behavior defined by more general elements.


initialization

The term initialization refers to the act of setting the value of a newly created object, including the values of its attributes, its links, and its initial state.


initial operational capability

The term initial operational capability refers to the major milestone that concludes the construction phase.


initial state

An initial state is a pseudostate that indicates the default starting place for a transition whose target is the boundary of a composite state.


initial value

A initial value is an expression that specifies the value that a given attribute holds upon initialization.


instance

An instance is a named entity that has its own identity and value. It represents a concrete manifestation of an abstraction.

Examples of instances within the UML include objects (instances of classes) and links (instances of associations).


instanceOf

The term instanceOf refers to a stereotyped dependency that signifies that the source object is an instance of the target classifier.


instantiable

A generalizable element is instantiable if it can have instances.


instantiate

The term instantiate refers to a stereotyped dependency within which the source class creates instances of the target class.


instantiation

The term instantiation refers to a dependency within which the source creates instances of the target.

You model an instantiation using the instantiate stereotype.


Integrate System

Integrate System is the second activity within the implementation workflow.

This activity involves creating an integration build plan and then integrating each build so integration testing can be performed.


integration build plan

An integration build plan describes the sequence of builds required for a given iteration.


integration tester

An integration tester is a worker who performs integration tests.


intent

An intent is the set of behavioral features and structural features associated with a descriptor.


interaction

An interaction is a set of messages exchanged among a set of objects to accomplish a particular purpose within a given context (such as a collaboration).


interaction diagram

An interaction diagram is a diagram that shows an interaction.

There are two kinds of interaction diagrams: collaboration diagrams and sequence diagrams.


interaction view

The term interaction view refers to those aspects of a given model that involve exchanges of messages among objects to accomplish some purposes.

The interaction view is captured in sequence diagrams and/or collaboration diagrams.

The interaction view is a part of the dynamic view.


interface

An interface is a named collection of externally visible operations provided by one or more design classes, design subsystems, components, and/or implementation subsystems.

You can think of an interface as specifying a "contract" for a class or a component without specifying its implementation.


interface inheritance

The term interface inheritance refers to the inheritance of the interface of a given parent element, but not that element's implementation.


interface specifier

An interface specifier is a reference to an interface or a class that specifies the behavior required of a given class within a particular association.


internal transition

An internal transition is a transition that has an associated action but does not result in a change of state.


intersection

The term intersection refers to an oclOperation that combines two Sets, two Bags, or a Bag and a Set into a new Collection.


invariant

The term invariant refers to a stereotyped constraint, attached to an element, which specifies a Boolean expression that must always resolve to True.


isEmpty

The term isEmpty refers to an oclOperation that returns True if a given Collection contains no elements.


iterate

The term iterate refers to an oclOperation that evaluates a specified expression for each element within a given Collection.


iteration

An iteration is a distinct set of activities, based on a plan and specified evaluation criteria, which together form a complete development cycle that results in a release of a partial or complete system.


iteration expression

An iteration expression is an expression that yields a set of iteration cases, each of which specifies an execution of an action within its associated iteration.


iteration plan

An iteration plan is a fine-grained plan for one iteration within a project. This plan plan defines the tasks to be performed within the given iteration in terms of the key dates and the required resources.


iteration workflow

An iteration workflow is a concrete instance of a workflow, from the perspective of what happens in a typical iteration.


iterative process

An iterative process is a process that involves managing a stream of executable releases.



join

A join is a transition with two or more source states and one target state.


junction state

A junction state is a pseudostate that makes it possible to build a single overall transition from a series of transition fragments.



keyword

The term keyword refers to a reserved word in the UML.

The following keywords are predefined:
actor
bind
exception
interface
model
refine
signal
subsystem
trace
use


language type

A language type is an anonymous data type defined in the syntax of a programming language.


last

The term last refers to an oclOperation that returns the last element in a given Sequence.


layer

A layer is a set of subsystems that share the same degree of generality and interface volatility. Within a layered architecture, the lower layers tend to be general to several applications, and thus must have relatively stable interfaces, while higher layers tend to be more application-specific and may have less stable interfaces as a result.


leaf

A leaf is a generalizable element that has no children in a given generalization hierarchy.


library

A library is a stereotyped component that represents a static or dynamic object library.


life-cycle architecture

The term life-cycle architecture refers to the major milestone that concludes the elaboration phase.


life-cycle objective

The term life-cycle objectives refers to the major milestone that concludes the inception phase.


lifeline

A lifeline is a vertical dashed line on a sequence diagram that represents the life of a given object.


link

A link is an instance of an association that represents a connection among two or more objects.


link end

A link end is an instance of an association end.


list

A list is an ordered collection, of variable length, of model elements owned by, and nested within, another model element.


local

The term local refers to a stereotype attached to a link end to signify that the corresponding object is visible because it is part of the local scope of the object at the other end of the link.


location

The term location refers to a tagged value whose value specifies the physical placement of a given component on a node.



major milestone

A major milestone is a milestone at the end of a phase that represents a point at which management makes crucial go/no-go decisions, and decisions about schedule, budget, and requirements, for the project.


management set

Within the RUP, the management set is the set of artifacts related to the software business and to the management of a project.

The management set contains the following artifacts:
business case
change requests
deployment plan
iteration assessment
iteration plans
software development plan
status assessment

many

The term many refers to the multiplicity 0..*.


Mealy machine

A Mealy machine is a state machine whose actions are all attached to transitions.


mechanism

A mechanism is a design pattern that applies to a society of classes. It can take the form of a regular collaboration or a parameterized collaboration (in other words, a template).


member

The term member refers to an attribute, an operation, or a method belonging to a classifier.


merge

A merge is a place within a state machine, or on an activity diagram or a sequence diagram, where two or more alternate control paths come together.


message

A message is a conveyance of information from one object to one or more other objects with the expectation that activity will ensue, in the form of an action.

A message can be either a signal or a call.

Within a process or a thread, messages are ordered in sequence by time.


metaclass

The term metaclass refers to a stereotype attached to a classifier to signify that all instances of that classifier are classes.


metarelationship

A metarelationship is a relationship that connects a descriptor to its instances.


method

A method is an implementation of an operation.


middleware layer

The term middleware layer refers to a layer of a system which contains packages and/or subsystems that can be reused for platform-independent services such as object request brokers (ORBs).


minor milestone

A minor milestone is an intermediate milestone between two major milestones, which generally represents the point at which a given iteration ends or when a build is finalized.


minus

The term minus refers to an oclOperation that creates a Set which contains all of the elements that are in one Set but not another.


model

The term model is a keyword that refers to a semantically complete abstraction of a system. It represents a simplification of the reality of that system.

Reasons to build models include the following:
to communicate the desired structure and behavior of a system
to visualize and control the system's architecture
to better understand the system and explore opportunities for simplification and reuse
to manage risk

The following models are defined for the Unified Process:
analysis model
deployment model
design model
implementation model
test model
use-case model

model element

A model element is an element that represents an abstraction drawn from the system being modeled.


model management view

The term model management view refers to those aspects of a given model that involve its structured parts, including packages and subsystems.

The model management view is captured primarily in class diagrams.


module

The term module refers to a unit of software.


Moore machine

A Moore machine is a state machine whose actions are all attached to states.


multicasting

The term multicasting refers to what happens when an object sends a signal to any object in the system that might be listening.


multiobject

A multiobject is a classifier role that denotes a set of objects rather than a single object.


multiple classification

The term multiple classification refers to a type of generalization in which an object may be a direct instance of more than one class.


multiple inheritance

The term multiple inheritance refers to a form of generalization in which an element may have more than one parent.


multiplicity

The term multiplicity refers to a specification of the number of values that can be present with regard to a given element.
For an association, multiplicity refers to the number of each association end that can be connected to that association via links.
For an attribute, multiplicity refers to the number of values that the attribute can assume within its enclosing object.
For a class, multiplicity refers to the number of instances that class can have.
Multiplicity can be an explicit value, a range of explicit values, or an expression that resolves to one value or a range of values.



name (operation)

The term name refers to an oclOperation that returns the name of a given model element.


name (string)

The term name also refers to a string that identifies a model element.

There are two kinds of names: simple names and pathnames.


namespace

A namespace is a part of a model in which each name has a unique meaning.

All model elements belong to at least one namespace.


navigability

The navigability of a link or a binary association refers to whether it is navigable.


navigable

A link or an association is navigable if given an object or a class, respectively, at one end, one can easily and directly get to the object(s) or class(es) at the other end.


navigation

The term navigation refers to the traversal of a link or an association.

Unless otherwise specified, navigation is bidirectional.


navigation efficiency

A binary association has navigation efficiency if the average cost of obtaining the set of objects at one end is proportional to the sum of (a) the number of objects in that set and (b) a fixed constant.

Usually, navigability implies navigation efficiency.


new

The term new refers to a stereotype attached to a classifier role or an association role to signify that an instance of the role is created during execution of the given interaction and still exists once that execution is complete.


node

A node is a named physical element of a system, which exists at run time, that represents a computational resource which generally has memory and often has processing capability, and that executes one or more components.


nonfunctional requirement

The term nonfunctional requirement refers to a requirement that does not specifically relate to the new system's functionality.


note

A note is a symbol that displays textual information related to a model element, such as a comment or a constraint.


notEmpty

The term notEmpty refers to an oclOperation that returns True if a given Collection contains at least one element.



object

An object is an instance of a class that encapsulates state and behavior.


object diagram

An object diagram is a diagram that shows a set of objects and the relationships among them at a particular point in time.

You can think of an object digram as being an instance of a class diagram.


object flow

An object flow is a control flow that represents the relationship between an object and the operation, transition, or other object that creates it or uses it.


object flow state

An object flow state is a state that represents the existence of an object of a particular class at some point within a computation.


object lifeline

The term object lifeline is a synonym of lifeline.


object set expression

An object set expression is an expression that resolves to a Set of objects when evaluated at run time.


object type

An object type is a type that defines instances whose values can change.


OCL

OCL is an acronym for Object Constraint Language, which is a text language you can use to construct expressions for navigation, constraints, preconditions, and so forth.


OclAny

The term OclAny refers to the type that serves as the supertype of all types within a given model.


oclAsType

The term oclAsType refers to an oclOperation that changes a given object from its current type to a different type.


oclIsKindOf

The term oclIsKindOf refers to an oclOperation that returns True if the type of a given object is the same as a specified type or any of that type's subtypes.


oclIsTypeOf

The term oclIsTypeOf refers to an oclOperation that returns True if the type of a given object is the same as a specified type.


oclOperation

The term oclOperation refers to a stereotyped operation to be used exclusively within OCL expressions.

Normally, an operation labeled with this stereotype is not implemented.


oclType

The term oclType refers to an oclOperation that returns the OclType of a given object.


OclType

The term OclType refers to the type of which each type represented within a given model is an instance.


operation

An operation is a named specification of a service that can be requested from any of a class's objects to affect behavior in some way or to return a value without affecting behavior. The following are the primary aspects of an operation:
concurrency
parameter list
return type
visibility
You can also specify an owner scope value for an operation.

There are two other properties that apply to operations.
You can set the isPolymorphic property to False to indicate that the operation is not overrideable.
You can set the isQuery property to yes to indicate that the operation is a query.

operations

The term operations refers to an oclOperation that returns the Set of operations belonging to a given model element.


or

The term or refers to a constraint between two associations which signifies that only one of the associations can be instantiated for a given object at one time.


ordered

The term ordered is a constraint attached to an association to signify that the objects at one end are specified in some explicit order.


orthogonal substate

An orthogonal substate is a substate that exists simultaneously with other substates, all of which are currently active, within a composite state.


overlapping

The term overlapping is a constraint attached to a set of generalizations to signify that given multiple inheritance, an object can be an instance of more than one child within the set.


owner scope

The owner scope of a feature indicates whether the feature applies to a single instance of the enclosing classifier (this is called instance scope) or to the classifier as a whole (this is class scope or classifier scope).



package

A package is a named general-purpose mechanism for organizing model elements, including, for instance, classes, use cases, diagrams, and/or other packages, into groups.

A package is purely conceptual: it does not exist at run time.

Each package within a model forms a namespace.


parameter (element)

A parameter is a specification of a variable that can be changed, passed, or returned.

A parameter has the following parts:
default value
direction: in (input parameter, passed by value), out (output parameter), inout (input parameter that may be modified), or return (return value of call)
name
type

parameter (stereotype)

The term parameter also refers to a stereotype attached to a link end to signify that the corresponding object is visible because it is a parameter for an operation belonging to the object at the other end of the link.


parameterized element

The term parameterized element is a synonym of template.


parameter list

A parameter list is an ordered list of parameter declarations.


parent

The term parent refers to the more general element within a given generalization relationship.


participates

A model element participates in a relationship.


passive object

A passive object is an object that does not have its own thread of control.


pathname

A pathname is a name that contains the name of the package(s) that contain(s) a given element.


pattern

A pattern is a parameterized collaboration that represents a common solution to a common problem in a given context.

The classifiers, relationships, and behavior associated with the collaboration can be applied via the binding of model elements to the roles of the given pattern.


performance tester

Within the RUP, a performance tester is a worker who conducts performance tests on the system.


Perform Integration Test

Perform Integration Test is the fourth activity within the test workflow.

This activity involves performing the tests which verify that the components interact properly with each other after they have been integrated into a build.


Perform System Test

Perform System Test is the fifth activity within the test workflow.

This activity involves performing the tests which verify that the system functions properly as a whole.


Perform Unit Test

Perform Unit Test is the fifth activity within the implementation workflow.

This activity involves performing specification, or "black-box," testing to verify each unit's observable behavior, and structure, or "white-box," testing to verify that unit's internal implementation.


permission

The term permission refers to a type of dependency that involves the granting of permission to the client to use the contents of the supplier.

There are three types of permission dependencies:
access
friend
import

persistence

The term persistence is a tagged value whose value specifies whether a given association, attribute, or class will outlive the process that created it.

There are two allowable persistence values: persistent (the element will be preserved) and transient (the element will not be preserved).


persistent object

A persistent object is an object that continues to exist after the thread that created it has ceased to exist.


phase

A phase is the period of time between two major milestones of a development process.

In the context of the UML, there are four phases:
inception
elaboration
construction
transition

phase plan

A phase plan is a coarse-grained plan for a project as a whole.

A phase plan has three elements:
dates of the major milestones
staffing profile (which resources are required for which phases)
dates of the minor milestones

Plan Test

Plan Test is the first activity within the test workflow.

This activity involves describing a testing strategy, estimating the resources that will be required, and scheduling the testing effort.


polymorphic

An operation is polymorphic if its implementation may be supplied by a descendant class.


postcondition

The term postcondition refers to a stereotyped constraint attached to an operation which specifies a Boolean expression that must resolve to True after that operation completes its execution.


powertype (stereotype on dependency)

The term powertype refers to a stereotype attached to a dependency to signify that the target is a powertype of the source.


powertype (stereotype on metaclass)

The term powertype also refers to a stereotype attached to a metaclass to signify that all instances of that metaclass are subclasses of a given class.


@pre

The term @pre refers to an OCL construct that returns the value of an attribute or an association at the start of the execution of a given operation.

You use this term within a postcondition.


precondition

The term precondition refers to a stereotyped constraint attached to an operation which specifies a Boolean expression that must resolve to True when that operation is invoked.


prepend

The term prepend refers to an oclOperation that adds a specified element to the beginning of a given Sequence.


presentation element

A presentation element is a textual or graphical projection of one or more model elements.


primitive type

A primitive type is a predefined basic data type, such as Integer or String.


Prioritize Use Cases

Prioritize Use Cases is the second activity within the requirements workflow. It involves determining which use cases need to be developed in early iterations and which ones can be developed later in the project.

The results of this activity go into the architectural view of the use case model.


private

The term private refers to a visibility that indicates that a given element is not visible outside of its enclosing namespace, even to descendants.


private inheritance

The term private inheritance refers to the inheritance of the implementation of a given parent element's structure (attributes, operations, and associations) and code (methods).

The principle of substitutability does not apply to the inheriting element.


problem domain

The term problem domain refers to a conceptual area within the domain model that involves the problem to be solved by the system being built.


procedure expression

A procedure expression is an expression that resolves to the execution of a procedure that may affect the state of the running system.


process

The term process refers to a stereotyped classifier that signifies an active class representing a "heavyweight" flow of control.


process view

The term process view refers to the set of threads and processes that together form the concurrency and synchronization mechanisms of the given system. This view focuses on issues such as performance, scalability, and throughput.

The process view is captured in class diagrams, object diagrams, interaction diagrams, statechart diagrams, and activity diagrams.

The difference between the process view and the design_view, in terms of these diagrams, is that the process view focuses on active classes and active objects.

The process view is one of the five interlocking views that comprise the architecture.


product

The term product is a synonym of work product.


product release

The term product release refers to the major milestone that concludes the transition phase.


projection

A projection is a mapping from a set of elements to a subset of itself.


project manager

Within the RUP, the project manager is the worker who allocates resources, establishes priorities, coordinates interactions among the customers and the development team, and keeps the project team focused on the goals of the project.


property

The term property refers to a named value that conveys information about a model element.

Within the UML, attributes, tagged values, and associations are all properties.


property list

A property list is a comma-separated list of properties attached to a model element.


protected

The term protected refers to a visibility value which indicates that a given model element is visible outside of its enclosing namespace only to descendants.


Prototype User Interface

Prototype User Interface is the fourth activity within the requirements workflow. It involves building a logical user interface, and then a physical user-interface prototype.


pseudoattribute

A pseudoattribute is a value, related to a class, that behaves like an attribute.

The UML defines two types of pseudoattributes: rolenames and discriminators.


pseudostate

A pseudostate is a vertex within a state machine that has the basic form of a state but does not behave like a full state.

The UML defines four types of pseudostates:
history state
initial state
junction state
stub state

public

The term public refers to a visibility value which indicates that a given element is visible outside of its enclosing namespace.



qualifier

A qualifier is a slot for one or more attributes, on one end of a binary association, in which the values of those attributes select one or more objects from the entire set of objects at the other end of the association from the "qualified" object.


query

A query is an operation that returns a value without altering the state of the running system.



reactive object

A reactive object is an object whose behavior is best characterized by its responses to events dispatched outside its context.


realization

A realization is a relationship in which one classifier, such as an interface or a use case, specifies a "contract" that another classifier, such as a class or a collaboration, guarantees to carry out.


realize

To realize a model element is to provide an implementation of that element.


receive

An object receives a message from another object.


receiver

A receiver is an object that receives a message from another object.


reception

A reception is a declaration that a classifer is prepared to react to the receipt of a signal.


reference

The term reference refers to a metarelationship between elements at the same level of detail or between elements in different containers.


refine

The term refine is a keyword that signifies a refinement.


refinement

A refinement is a dependency within which the source is at a finer degree of abstraction than the target.

You model a refinement using the refine keyword.


reification

The term reification refers to the act of reifying something.


reify

To reify a model element is to treat it as an object when it normally would not be treated that way.


reject

The term reject refers to an oclOperation that creates a Collection which contains all of the elements in a given Collection for which a specified Boolean expression is False.


relationship

A relationship is a connection between or among model elements.

The UML defines four basic kinds of relationships:
association
dependency
generalization
realization

release

A release is a complete and consistent set of artifacts delivered to a customer.

There are two kinds of releases: internal_releases and external_releases.


request

A request is a stimulus that is sent to one or more instances.

Within the UML, a request takes the form of a call or a signal.


requirement

A requirement is a stereotyped comment that states a responsibility or obligation.


requirements reviewer

Within the RUP, a requirements reviewer is a worker who plans and conducts a formal review of the use-case model.


requirements set

Within the RUP, the requirements set is the set of artifacts related to the definition of what the software system to be developed must accomplish from the customer's point of view.

The requirements set contains the following artifacts:
business object models
business use-case models
glossarys
stakeholders' needs
supplementary business specifications
supplementary specifications
use-case models
use-case storyboard
user-interface prototype
vision document

requirements workflow

The purpose of the requirements workflow is to define a vision of the system to be built and translate that vision into a use-case model that defines the detailed requirements of that system.

The following activities comprise the requirements workflow:
Find Actors and Use Cases
Prioritize Use Cases
Detail a Use Case
Prototype User Interface
Structure the Use-Case Model

responsibility

The term responsibility refers to a stereotyped comment that states a contract or obligation associated with a model element (generally a class).


result

The term result refers to an OCL keyword that contains the return value of an oclOperation.

You use this term within a postcondition.


return action

A return action is an action that results in the transfer of control to the caller of an operation.


risk-driven

The term risk-driven refers to a process within which each new release is focused on addressing, and subsequently reducing, the most significant risks to the success of a development project.


role

A role represents the behavior, or "face," of a model element that participates in a given context.

The UML defines two types of roles: those associated with association ends, and collaboration roles.


rolename

A rolename is a name of an association end within a given association.


root

A root is a generalizable element that has no parents in a given generalization hierarchy.


run-to-completion

The term run-to-completion refers to a transition, or an action sequence, that must be completed in its entirety without interruption.



scenario

A scenario is a sequence of actions that illustrates behavior.


scope

The term scope refers to the context that gives meaning to the name of a given feature.

Within the UML, there are two kinds of scope: owner scope and target scope. (When the term scope appears by itself, it refers to owner scope.)


select

The term select refers to an oclOperation which creates a Collection that contains all of the elements in a given Collection for which a specified Boolean expression is True.


self (keyword)

The term self refers to a keyword that refers to the instance of the type that is the context of a given OCL constraint.


self (stereotype)

The term self also refers to a stereotype attached to a link end to signify that the corresponding object is visible because it is the sender of a message to itself.


self-transition

A self-transition is a transition for which the source state and target state are the same, but which results in a change in state, and therefore the execution of the appropriate exit action and entry action.


semantics

The term semantics refers to a tagged value used to provide a formal specification of the meaning and/or behavior of a classifier or an operation.


send (dependency)

The term send refers to a stereotyped dependency within which the source object sends a signal to the target object.


send (operation)

The term send also refers to an operation that creates a signal and sends it to a receiver object.


send action

A send action is an action that sends a signal to an object.


sender

A sender is an object that sends a message to another object.


Sequence

A Sequence is an ordered Collection of elements, each of which may appear more than once.

You end up with a Sequence when you navigate through an ordered association.

You can perform the following operations on a Sequence, in addition to all of the operations that you can perform on a Collection:
append
at
first
last
prepend

sequence diagram

A sequence diagram is an interaction diagram that focuses on the time-ordering of messages.

Sequence diagrams and collaboration diagrams are semantically equivalent, which means you can convert one type of diagram to the other without losing any information. However, a sequence diagram has two key features that a collaboration diagram does not: lifelines and foci of control.


sequence number

A sequence number is a piece of text on a collaboration diagram that indicates the relative execution order of the associated message in the interaction being modeled.


sequential_substate

The term sequential substate is a synonym of disjoint substate.


service package

A service package is a stereotyped package used to structure the system being built according to the services it will provide.

A service package is a kind of analysis package. It sits lower in the hierarchy than regular analysis packages.


service subsystem

A service subsystem is a stereotyped subsystem used to structure the system being built according to the services it will provide.

A service subsystem is a kind of design subsystem. It sits lower in the hierarchy than regular design subsystems.


Set

A Set is a Collection of elements, each of which may only appear once.

You end up with a Set when you navigate through one association whose multiplicity is greater than 1.

You can perform the minus and symmetricDifference operations on a Set, in addition to all of the operations you can perform on a Collection.


signal

The term signal is a keyword that refers to a named object that is dispatched asynchronously by one object and received by another object.

The attributes of a signal serve as its parameters.

Signals are most commonly used to model exceptions.


signal event

A signal event is an event that represents an object's reception of a signal.


signature

The signature of a behavioral feature consists of that feature's name and parameters.


simple name

A simple name is a name that stands alone.


simple state

A simple state is a state that has no substates.


simple transition

A simple transition is a transition that has one source state and one target state.


single classification

The term single classification refers to a type of generalization in which each object has exactly one direct class.


single inheritance

The term single inheritance refers to a type of generalization within which an element may have only one parent.


singleton

A singleton is a class that has exactly one instance.


size

The term size refers to an oclOperation that returns the number of elements in a given Collection.


snapshot

A snapshot is the collection of objects, links, and values of a given system at a particular moment in time.


software architecture description

Within the RUP, the software architecture description is the artifact that describes the architectural views of the various models that represent the new system at the end of the elaboration phase.

The software architecture description is part of the design set.


solution domain

The term solution domain refers to a conceptual area within the domain model that involves the solution to the problem being solved by the system being built.


source scope

The term source scope is a synonym of owner scope.


source state

A source state is a state within a state machine from which a transition leaves.

A source state may be either a substate or a composite state as a whole.


specialization

The term specialization refers to producing a more specific description of a model element by adding one or more children.

special requirements

The term special requirements refers to a tagged value whose value contains text describing one or more nonfunctional requirements. For an analysis class, special requirements are requirements identified and specified during analysis that are better handled during design and/or implementation. For a use case, special requirements are requirements not captured within that use case's flow of events. For a use-case realization--analysis, special requirements are requirements identified and specified during analysis that are better handled during design and/or implementation.

specification

A specification is a description of the syntax and semantics of a model element.

A specification represents a description of what something is or does, as opposed to an implementation, which is a description of how something is constructed or computed. A realization relationship relates a specification to its implementation.


state

A state is a condition or situation in the life of an object, that lasts for some finite amount of time, during which it satisfies some condition, performs some activity, or waits for some event.

A state may have any or all of these:
deferred events
entry actions
exit actions
internal transitions
name
substates

statechart diagram

A statechart diagram is a diagram that shows a state machine.

Within a statechart diagram, the emphasis is the flow of control between states.


state machine

A state machine is a specification of a sequence of states that an object or an interaction goes through during its lifetime, in response to events, and also the responses that the given object or interaction makes to those events.

You can define an initial state and/or a final state for a state machine.


state machine view

The term state machine view refers to those aspects of a given system that involve the specification of behavior of individual s over their lifetimes.

The state machine view is comprised of statechart diagrams.

The state machine view is a part of the dynamic view.


static classification

The term static classification refers to a type of generalization relationship in which an object may not change its type or role.


static view

The term static view refers to those aspects of a given model having to do with the kinds of things that exist within the model, their internal structure, and the relationships that exist among those things.

The static view is captured primarily in class diagrams.

The static view is part of the structural view.


stereotype (mechanism)

A stereotype is an extensibility mechanism that allows you to create new kinds of model elements that are derived from existing ones. These new elements have their own special properties (expressed as tagged values), semantics, and notation.

A model element can have at most one stereotype. However, stereotypes can have children. The following stereotypes are predefined within the UML:
access
association
become
call
copy
create
derive
destroy
document
enumeration
executable
extend
facade
file
framework
friend
global
import
implementation
implementationClass
include
instanceOf
instantiate
invariant
library
local
metaclass
parameter
postcondition
powertype
precondition
process
requirement
responsibility
self
send
stereotype
stub
system
table
thread
type
utility

The following stereotypes have been defined as extensions of the UML for the Unified Process:
analysis model
analysis package
analysis system
boundary class
control class
design class
deployment model
design model
design subsystem
design system
entity class
implementation model
implementation subsystem
implementation system
service package
service subsystem
test model
test component
test system
use-case model
use-case realization--analysis
use-case realization--design
use-case system

stereotype (stereotype)

The term stereotype also refers to a stereotype on a given classifier that indicates that the classifier is itself a stereotype that you can apply to other model elements.


string

A string is a sequence of text characters.


structural feature

A structural feature is a static feature of an element, such as an attribute.


structural thing

Astructural thing is a noun that represents a mostly static conceptual or physical part of a model.

There are seven kinds of structural things:
active class
class
collaboration
component
interface
node
use case

structural view

The term structural view refers to a view of a given model that focuses on the structure of the instances of the system being modeled.

Four views comprise the structural view:
deployment view
implementation view
static view
use case view

Structure the Use-Case Model

Structure the Use Case Model is the fifth activity within the requirements workflow.

There are three steps involved in this activity:
identifying and extracting general and shared descriptions of functionality that can be used by more specific use cases in the context of a generalization
identifying and extracting additional and optional descriptions of functionality that can be used to extend use cases
identifying other relationships among use cases that can be expressed using the include construct

stub

A stub is a stereotyped package that contains only the public parts of another package.


stubbed transition

A stubbed transition is a notation which indicates that a given transition involves a transfer into a particular composite state, but the details have been suppressed on the statechart diagram.


stub state

A stub state is a pseudostate within a submachine reference state that identifies a state in the referenced submachine.


subclass

A subclass is a child of another class within a generalization relationship.


submachine

A submachine is a state machine that can be invoked as part of one or more other state machines.


submachine reference state

A submachine reference state is a state that references a submachine such that a copy of that submachine is implicitly part of the enclosing state machine where the reference occurs.


subset

The term subset refers to a constraint between two associations which signifies that the set of links for one association is a subset of the set of links for the other association.


substate

A substate is a state that is part of a composite state.


substitutability principle

The substitutability principle states that an instance of a descendant element can be substituted for an instance of one of that element's ancestors with no loss of information or functionality.


subsystem

The term subsystem is a keyword which refers to a package that represents an independent part of the system being modeled.


subtype

A subtype is a type that is a child of another type.


sum

The term sum refers to an oclOperation that returns the sum of all elements within a given Collection of real numbers or integers.


summarization

The term summarization refers to act of filtering, combining, and abstracting the properties of a set of elements onto their container in order to give a higher-level, more abstract view of a system.


superclass

A superclass is a parent of another class within a generalization.


supertype

A supertype is a type that is a parent of another type.


supertypes

The term supertypes refers to an oclOperation that returns the Set of direct supertypes associated with a given model element.


supplementary business specification

Within the RUP, a supplementary business specification contains definitions associated with the business that are not represented within the business use-case model and the business object model.

The supplementary business specification is part of the requirements set.


supplementary requirement

A supplementary requirement is a requirement that cannot be associated with any particular use case.

Supplementary requirements generally involve non-functional issues such as performance and constraints associated with implementation.


supplementary specification

Within the RUP, a supplementary specification contains information about requirements that are not represented within the use-case model.

The supplementary specification is part of the requirements set.


supplier

The term supplier refers to the element within a given dependency that provides one or more services to the client.


survey description

The term survey description refers to a tagged value whose value contains a text description of a use-case model as a whole.


swimlane

A swimlane is a partition on an activity diagram used to organize responsibilities for activities.


symmetricDifference

The term symmetricDifference refers to an oclOperation which creates a Set that contains all of the elements that are in one Set or another, but not both.


synchronous action

A synchronous action is a request that an object makes that includes waiting for a response.


synch state

A synch state is a state that enables synchronization of control between two concurrent regions within a state machine.


system

The term system refers to a stereotyped package that represents the entire system being modeled.


system administrator

Within the RUP, the system administrator is the worker who maintains the hardware and software development environments and performs tasks such as account administration and backup.


system analyst

A system analyst is a worker who leads and coordinates the effort to identify requirements and build the use-case model.


system integrator

A system integrator is a worker who plans the sequence of builds required in an iteration and integrates each build when its parts have been implemented.


system-software layer

The term system-software layer refers to a layer of a system that contains the software for the computing and networking infrastructure (for instance, the operating system and the database management system [DBMS]).


system tester

A system tester is a worker who performs system tests.



table

A table is a stereotyped component that represents a database table.


tagged value

A tagged value is an extensibility mechanism that allows you to create new information about model elements and presentation elements. (Note that this information applies to an element itself, not its instances.)

A tagged value consists of a tag, which is the name of a property, and a value. Tagged values can appear alone or within lists. The following tags are predefined within the UML:
documentation
location
persistence
semantics

The following tags have been defined as extensions of the UML for the Unified Process:
flow of events
flow of events--analysis
flow of events--design
implementation requirements
special requirements
survey description

target scope

The target scope of an attribute or an association indicates whether the values of that attribute, or the target values of that association, are instances (this is called instance scope) or classifiers (this is class scope or classifier scope).


target state

A target state is a state within a state machine that results from the completion of a transition.

A target state may be either a substate or a composite state as a whole.


technical writer

Within the RUP, a technical writer is a worker who produces end-user support material, such as user guides, help text, and release notes.


template (RUP)

Within the RUP, a template is a model or a prototype of part or all of an artifact.


template (UML)

A template is also a descriptor for a model element that has one or more formal parameters.

You create a usable element, such as a class, by doing an explicit or implicit a binding of actual parameters to the template's formal parameters.
An explicit binding involves the bind stereotype.
An implicit binding involves declaring a class whose name provides the binding.

terminate action

A terminate action is an action that results in the destruction of the object performing the action.


test case

A test case specifies an element of the system to test (for instance, a use case or a use-case realization), the conditions under which to execute that test, and the expected input(s) and result(s).


test component

A test component is a stereotyped component that automates part or all of one or more test procedures.


test designer

Within the RUP, the test designer is the worker who generates the test plan and the test model, implements the test procedures, and evaluates test coverage, results, and effectiveness.


test evaluation

A test evaluation is an evaluation of the results of testing efforts.


test model

A test model is a stereotyped model that contains test cases, test procedures, and test components.

The test model is meant to describe how executable components in the implementation model will be tested in the context of integration testing and system testing.

Within the RUP, the test model is part of the design set.


test plan

A test plan identifies the strategies to be used, and the necessary resources, to implement and execute testing of the new system.


test procedure

A test procedure specifies how to perform one or more test cases.


test system

The term test system is a stereotype that refers to the top-level package within the test model.


test workflow

Within both the Unified Process and the RUP, the purpose of the test workflow is to verify that the implemented system does what it is supposed to do.

Within the Unified Process, the following activities comprise the test workflow:
Plan Test
Design Test
Implement Test
Perform Integration Test
Perform System Test
Evaluate Test

thread

The term thread refers to a stereotyped classifier that signifies an active class representing a "lightweight" flow of control.


time

The term time refers to an absolute or relative moment in time.


time event

A time event is an event that occurs when a given time expression is satisfied.


time complexity

The term time complexity refers to the minimum, maximum, and/or average time in which an operation is expected to complete.


time expression

A time expression is an expression that resolves to a time value.

A time expression generally involves either elapsed time (using the term after) or an absolute time (using the term when).


timing constraint

A timing constraint is a constraint that involves an absolute or relative value of time.


timing mark

A timing mark is a denotation of the specific time at which a given event or message occurs.


toolsmith

Within the RUP, a toolsmith is a worker who develops tools to support special needs, provide automation of certain tasks, and provide better integration of existing tools.


top-level subsystem

The term top-level subsystem refers to the subsystem that represents the system itself.


trace

The term trace is a keyword which signifies a dependency that represents a conceptual connection among elements contained within different models (and thus, generally, different levels of abstraction).


transient

The term transient refers to a stereotype attached to a classifier role or an association role to signify that an instance of the role is created during execution of a given interaction, but will cease to exist some time before that execution is complete.


transient link

A transient link is a link that exists only fora limited duration (for instance, during the execution of an operation).


transient object

A transient object is an object that exists only during the lifetime of the thread that created it.


transition

A transition is a relationship between two states within which an object in the first state will perform specified actions, and then enter the second state, when a particular event occurs and a given guard condition is satisfied.

In addition one more actions and a guard condition, a transition has three parts:
source state
target states
triggers

transition phase

The transition phase is the phase of a development project in which the new system is rolled out into the user community.

The primary goal of this phase is to reach the point at which the system is recognized as matching the criteria specified by the vision document.


transition time

The term transition time is a synonym of timing mark.


trigger

A trigger is an event whose occurrence makes a transition eligible to fire.


triggerless transition

A triggerless transition is a transition that does not have an explicit trigger.

When a triggerless transition is coming from a normal state, it is a completion transition.


type

The term type is a stereotyped class that specifies a set of objects together with the operations that apply to those objects.

A type may also include attributes and associations; this is the main difference between types and interfaces.


type expression

A type expression is an expression that resolves to a reference to one or more data types.



uninterpreted

The term uninterpreted refers to a type or value whose implementation the UML does not specify.


uninterpreted action

An uninterpreted action is an action whose syntax and evaluation is not defined within the UML.


union

The term union refers to an oclOperation that combines two Sets, two Bags, a Bag and a Set, or two Sequences into a new Collection.


usage

A usage relationship is a dependency within which the target requires the presence of the source for its correct functioning or implementation.

You model a regular usage relationship using the use keyword. There are also several variations, including:
call
instantiation
parameter
send

use

The term use is a keyword that signifies a usage dependency.


use case

A use case is a named collection of classes, interfaces, and other elements that work together to provide some behavior that is bigger than the behavior represented by the sum of the parts. This behavior yields an observable result of value to one or more actors.

A use case always has one main flow of events (also known as a basic course of action, and will generally have at least one exceptional flow of events (or alternate course of action.


use case diagram

A use case diagram is a diagram that shows a set of use cases and actors and the relationships among them.


use case driven

A process is use case driven if it involves using use cases at the center of the following tasks:
establishing the desired behavior of the system
creating, verifying, and validating the system's architecture
testing
communicating among project stakeholders

use-case engineer

A use-case engineer is a worker who is responsible for the integrity of one or more use-case realizations.


use case generalization

The term use case generalization refers to a generalization relationship within which the parent and the child are both use cases.


use case instance

A use case instance is an instance of a use case, which represents the execution of the sequence of actions that use case specifies.


use-case model

A use-case model is a stereotyped model that contains use cases and actors and the relationships among them.

The use-case model is meant to describe the complete functionality of the system being built. The idea is that this model lends itself to developers and customers agreeing on the requirements and becomes something of a "contractual agreement."

Within the RUP, the use-case model is part of the requirements set.


use-case realization--analysis

The term use-case realization--analysis refers to a stereotyped collaboration within an analysis model that describes how a given use case is realized and performed, expressed in terms of analysis classes and their associated objects.

A use-case realization--analysis contains four parts:
text that describes the flow of events of the associated use case
one or more class diagrams that show the analysis classes
one or more interaction diagrams that show how objects interact to realize the use case
any special requirements associated with the use case

use-case realization--design

The term use-case realization--design refers to a stereotyped collaboration within a design model that describes how a given use case is realized and performed, expressed in terms of design classes and their associated objects.

A use-case realization--design contains four parts:
text that describes the flow of events of the associated use case
one or more class diagrams that show the design classes
one or more interaction diagrams that show how objects interact to realize the use case
any implementation requirements associated with the use case

use-case specifier

A use-case specifier is a worker who writes one or more use cases.


use-case system

The term use-case system is a stereotype that refers to the top-level package within the use case model.


use case view

The term use case view refers to the set of use cases that together describe the behavior of a given system as seen by its actors. This view exists to specify the internal and external forces that shape the architecture of the system.

The use case view is captured in use case diagrams, interaction diagrams, statechart diagrams, and activity diagrams.

The use case view is a part of the static view and the dynamic view. The use case view is also one of the five interlocking views that comprise the architecture.


user-interface designer

A user-interface designer is a worker who leads and coordinates the prototyping and design of the user interface for the new system.


user-interface prototype

A user-interface prototype is a prototype whose purpose is to help the development team understand and specify the interactions between human actors and the system being built.

Within the RUP, the user-interface prototype is part of the requirements set.


utility

The term utility refers to a stereotype on a class which indicates that the attributes and operations associated with that class all have class scope. (This means that a utility has no instances.)



value

The term value is a synonym of data value.


value type

A value type is a type that defines instances whose values never change.


vertex

A vertex is a source or a target for a transition within a state machine.


view

A view is a projection of a model.


visibility

The term visibility refers to an enumeration whose values specify the various possibilities that a given feature can be used by a particular classifier.

The three values that visibility may assume are public (this is the default), protected, and private.


vision document

A vision document describes a general vision of the project's requirements, key features, and main constraints from the customer's point of view.



when

The term when is a keyword used in conjunction with a Boolean expression to model a change event.


worker

The term worker refers to a role played by an individual, or a group of individuals working together as a team, on a project.

A worker is responsible for performing certain activities and producing certain artifacts.


workflow

A workflow is a sequence of activities that produces a result of observable value.

The Unified Process contains five "core" workflows:
analysis workflow
design workflow
implementation workflow_UP
requirements workflow
test workflow

The RUP contains nine "core" workflows:
analysis and design workflow
business modeling workflow
configuration and change management workflow
deployment workflow
environment workflow
implementation workflow
project management workflow
requirements workflow
test workflow

work product

The term work product refers to an artifact that is not part of the deliverable system.


work unit

A work unit is a set of business entities that has meaning to a customer.

A work unit is also an artifact.



xor

The term xor is a constraint attached to a set of associations, connected to a base class, to signify that the class may participate in only one of the associations.