References > Glossary

Glossary

[A] B C D E F G H I J K L M N O P Q R S T U V W X Y Z Go to Top

ABC
Activity-Based Costing
ABM
Activity-Based Management
abstract class
A class that provides common behavior across a set of subclasses but is not itself designed to have instances. An abstract class represents a concept; classes derived from it represent implementations of the concept. See also base class. Contrast: concrete class.
abstraction
The creation of a view or model that suppresses unnecessary details to focus on a specific set of details of interest
The essential characteristics of an entity that distinguish it from all other kinds of entities. An abstraction defines a boundary relative to the perspective of the viewer.
acceptance
An action by which the customer accepts ownership of software products as a partial or complete performance of a contract.
access modifier
A keyword that controls access to a class, method, or attribute. The access modifiers in Java are public, private, protected, and package, which is the default.
accessor methods
Methods that an object provides to define the interface to its instance variables. The accessor method to return the value of an instance variable is called a get method or getter method, and the mutator method to assign a value to an instance variable is called a set method or setter method.
ACL
Access Control List
action
The specification of an executable statement that forms an abstraction of a computational procedure. An action typically results in a change in the state of the system, and can be realized by sending a message to an object or modifying a link or a value of an attribute.
action sequence
An expression that resolves to a sequence of actions.
action state
A state that represents the execution of an atomic action, typically the invocation of an operation.
activation
The execution of an action.
active class
A class representing a thread of control in the system.
A class whose instances are active objects. See active object.
active object
An object that owns a thread and can initiate control activity. An instance of active class.
Active Server Pages (ASP)
Active Server Pages (Microsoft), a technology for providing dynamic behavior to web applications.
activity
A unit of work a role may be asked to perform.
activity-based costing (ABC)
A methodology that measures the cost and performance of activities, resources, and cost objects. Resources are assigned to activities, then activities are assigned to cost objects based on their use. Activity based costing recognizes the causal relationships of cost drivers to activities. 
activity-based management (ABM)
The broad discipline that focuses on achieving customer value and company profit by way of the management of activities. It draws on activity-based costing as a major source of information.
activity graph
A special case of a state machine that is used to model processes involving one or more classifiers. Contrast: statechart diagram. Synonym: activity diagram.
actor (instance)
Someone or something, outside the system that interacts with the system.
actor class
Defines a set of actor instances, in which each actor instance plays the same role in relation to the system.
A coherent set of roles that users of use cases play when interacting with these use cases. An actor has one role for each use case with which it communicates.
actor-generalization
An actor-generalization from an actor class (descendant) to another actor class (ancestor) indicates that the descendant inherits the role the ancestor can play in a use case.
actual parameter
Synonym: argument.
Advanced Program-to-Program Communication (APPC)
A communication protocol used primarily in IBM environments.
aggregate [class]
A class that represents the "whole" in an aggregation (whole-part) relationship. See aggregation.
aggregation
An association that models a whole-part relationship between an aggregate (the whole) and its parts.
A special form of association that specifies a whole-part relationship between the aggregate (whole) and a component part. See composition.
American Standard Code for Information Interchange (ASCII)
American Standard Code for Information Interchange. The 8-bit character encoding scheme used by most PCs and UNIX systems. It supersedes an earlier 7-bit ASCII standard.
analysis
The part of the software development process whose primary purpose is to formulate a model of the problem domain. Analysis focuses on what to do; design focuses on how to do it. See design.
analysis & design
A discipline in the Unified Process, whose purpose is to show how the system's use cases will be realized in implementation; (general) activities during which strategic and tactical decisions are made to meet the required functional and quality requirements of a system. For the result of analysis and design activities, see Design Model.
analysis class
An abstraction of a role played by a design element in the system, typically within the context of a use-case realization. Analysis classes may provide an abstraction for several roles, representing the common behavior of those roles. Analysis classes typically evolve into one or more design elements; for example, design classes and/or capsules, or design subsystems.
analysis mechanism
An architectural mechanism used early in the design process, during the period of discovery when key classes and subsystems are being identified. Typically analysis mechanisms capture the key aspects of a solution in a way that is implementation independent. Analysis mechanisms are usually unrelated to the problem domain, but instead are "computer science" concepts. They provide specific behaviors to a domain-related class or component, or correspond to the implementation of cooperation between classes and/or components. They may be implemented as a framework. Examples include mechanisms to handle persistence, inter-process communication, error or fault handling, notification, and messaging, to name a few.
analysis pattern
[FOW97a] speaks of analysis patterns as, “… groups of concepts that represent a common construction in business modeling. It may be relevant to only one domain, or it may span many domains.” Therefore, in this reference, the vocabulary of the domain does intrude into the description of the pattern. There is no reason why the definition in [FOW97a] should not be extended to domains other than business modeling. Another aspect of an analysis pattern is that it is an abstract, conceptual template, intended (through binding as with any pattern) for instantiation in an analysis model, which will then need further refinement through design. The scale of an analysis pattern can vary widely, though those presented in [FOW97a] are medium in scale, and would compose to form analysis models for entire applications.
analysis time
Refers to something that occurs during an analysis phase of the software development process. See design time, modeling time.
analyst
Member of the project team who is responsible for eliciting and interpreting the stakeholder needs, and communicating those needs to the entire team.
API
Application Programming Interface
APPC
Advanced Program-to-Program Communication
applet
A Java program designed to run within a Web browser. Contrast: application.
application
In Java programming, a self-contained, stand-alone Java program that includes main() method. Contrast: applet.
application programming interface (API)
A software interface that enables applications to communicate with each other. An API is the set of programming language constructs or statements that can be coded in an application program to obtain the specific functions and services provided by an underlying operating system or service program.
architectural baseline
The baseline at the end of the Elaboration phase, at which time the foundation structure and behavior of the system is stabilized.
architectural mechanism
Architectural mechanisms represent common concrete solutions to frequently encountered problems. They may be patterns of structure, patterns of behavior, or both. In the Unified Process for EDUcation (UPEDU), architectural mechanism  is used as an umbrella term for analysis mechanism, design mechanism, and implementation mechanism.
architectural pattern
[BUS96] defines an architectural pattern as:

“An architectural pattern expresses a fundamental structural organization schema for software systems. It provides a set of predefined subsystems, specifies their responsibilities, and includes rules and guidelines for organizing the relationships between them.”

This is the interpretation we use in the UPEDU. To elaborate a little: an architectural pattern is a pattern (that is, a solution template) at a particular scale, and is a template for concrete software architectures. It deals in system-wide properties and, typically, subsystem-scale (not class level) relationships. Architectural patterns seem, by their nature, not to be application domain dependent—the vocabulary of a particular domain seems not to intrude into the description of the pattern—although there is no reason in principle why architectural patterns cannot become specialized in this way. Compare with analysis pattern. The Software Architecture Document will present the architectural patterns used in the system.

architectural view
A view of the system architecture from a given perspective; focuses primarily on structure, modularity, essential components, and the main control flows.
architecture
The highest level concept of a system in its environment [IEEE]. The architecture of a software system (at a given point in time) is its organization or structure of significant components interacting through interfaces, those components being composed of successively smaller components and interfaces.
The organizational structure of a system. An architecture can be recursively decomposed into parts that interact through interfaces, relationships that connect parts, and constraints for assembling parts. Parts that interact through interfaces include classes, components and subsystems.
architecture, executable
See executable architecture.
argument
A binding for a parameter that resolves to a run-time instance. Synonym: actual parameter. Contrast: parameter.
A data element, or value, included as a parameter in a method call. Arguments provide additional information that the called method can use to perform the requested operation.
artifact
(1) A piece of information that (1) is produced, modified, or used by a process, (2) defines an area of responsibility, and (3) is subject to version control. An artifact can be a model, a model element, or a document. A document can enclose other documents.
A piece of information that is used or produced by a software development process. An artifact can be a model, a description, or software. Synonym: product.
artifact guidelines
A description of how to work with a particular artifact, including how to create and revise the artifact.
artifact set
A set of related artifacts which presents one aspects of the system. Artifact sets cut across disciplines, as several artifacts are used in a number of disciplines; for example, the Risk List, the Software Architecture Document, and the Iteration Plan.
ASCII
American Standard Code for Information Interchange
ASP
Active Server Pages
assertion
A logical expression specifying a program state that must exist or a set of conditions that program variables must satisfy at a particular point during program execution.
association
A relationship that models a bi-directional semantic connection among instances.
The semantic relationship between two or more classifiers that specifies connections among their instances.
association class
A model element that has both association and class properties. An association class can be seen as an association that also has class properties, or as a class that also has association properties.
association end
The endpoint of an association, which connects the association to a classifier.
asynchronous action
A request where the sending object does not pause to wait for results. Contrast: synchronous action.
attack
A planned and methodical attempt to break or otherwise circumvent the normal operation of a running computer software program. Often malicious in nature, the concept of attacks on computer software originated from the community known as software hackers or crackers who use various techniques to attack software systems, typically to circumvent security software and gain illegal entry to the host system. Examples of recognized attack techniques include buffer overflow, denial of service, resource constraint and Trojan horse. This term has now been adopted by computer software testing professionals in discussing the methods by which they might expose potential bugs in a software system.
attribute
An attribute defined by a class represents a named property of the class or its objects. An attribute has a type that defines the type of its instances.
A feature within a classifier that describes a range of values that instances of the classifier may hold.

A [B] C D E F G H I J K L M N O P Q R S T U V W X Y Z Go to Top

base class
A class from which other classes or beans are derived. A base class may itself be derived from another base class. See abstract class.
baseline
A reviewed and approved release of artifacts that constitutes an agreed basis for further evolution or development and that can be changed only through a formal procedure, such as change management and configuration control.
Bean
A small component that can be used to build applications. See JavaBean.
BeanInfo
A companion class for a bean that defines a set of methods that can be accessed to retrieve information on the bean’s properties, events, and methods.
behavior
The observable effects of an operation or event, including its results.
behavioral feature
A dynamic feature of a model element, such as an operation or method.
behavioral model aspect
A model aspect that emphasizes the behavior of the instances in a system, including their methods, collaborations, and state histories.
beta testing
Pre-release testing in which a sampling of the intended customer base tries out the product.
binary association
An association between two classes. A special case of an n-ary association.
binding
The creation of a model element from a template by supplying arguments for the parameters of the template.
boolean
An enumeration whose values are true and false.
boolean expression
An expression that evaluates to a boolean value.
boundary class
A class used to model communication between the system's environments and its inner workings.
break point
A point in a computer program where the execution will be halted.
build
An operational version of a system or part of a system that demonstrates a subset of the capabilities to be provided in the final product.
business actor (instance)
Someone or something, outside the business that interacts with the business.
business actor class
Defines a set of business-actor instances, in which each business-actor instance plays the same role in relation to the business.
business creation
To perform business engineering where the goal is to create a new business process, a new line of business or a new organization.
business engineering
A set of techniques a company uses to design its business according to specific goals. Business engineering techniques can be used for both business reengineering, business improvement, and business creation
business entity
A business entity represents a "thing" handled or used by business workers.
business improvement
To perform business engineering where the work of change is local and does not span the entire business. It involves trimming costs and lead times and monitoring service and quality.  
business modeling
Encompasses all modeling techniques you can use to visually model a business. These are a subset of the techniques you may use to perform business engineering.
business object model
An object model describing the realization of business use cases.
business process
A group of logically related activities that use the resources of the organization to provide defined results in support of the organization's objectives. In the UPEDU, we define business processes using business use cases, which show the expected behavior of the business, and business use-case realizations, which show how that behavior is realized by business workers and business entities. See also process
business process engineering
See business engineering.  
business reengineering
To perform business engineering where the work of change includes taking a comprehensive view of the entire existing business and think through why you do what you do. You question all existing business processes and try to find completely new ways of reconstructing them to achieve radical improvements. Other names for this are business process reengineering (BPR) and process innovation. 
business rule
A declaration of policy or condition that must be satisfied within the business.
business use case (class)
A business use case defines a set of business use-case instances, where each instance is a sequence of actions a business performs that yields an observable result of value to a particular business actor. A business use-case class contains all main, alternate workflows related to producing the "observable result of value". 
business use-case instance
A sequence of actions performed by a business that yields an observable result of value to a particular business actor.
business use-case model
A model of the business intended functions. The business use-case model is used as an essential input to identify roles and deliverables in the organization.
business use-case package
A business use-case package is a collection of business use cases, business actors, relationships, diagrams, and other packages; it is used to structure the business use-case model by dividing it into smaller parts.
business use-case realization
A business use-case realization describes how the workflow of a particular business use case is realized within the business object model, in terms of collaborating business objects.
business worker
A business worker represents a role or set of roles in the business. A business worker interacts with other business workers and manipulates business entities while participating in business use-case realizations.

A B [C] D E F G H I J K L M N O P Q R S T U V W X Y Z Go to Top

call
An action state that invokes an operation on a classifier.
call level interface (CLI)
A callable API for database access, which is an alternative to an embedded SQL application program interface. In contrast to embedded SQL, CLI does not require precompiling or binding by the user, but instead provides a standard set of functions to process SQL statements and related services at run time.
capsule
A specific design pattern which represents an encapsulated thread of control in the system. A capsule is a stereotyped class with a specific set of required and restricted associations and properties.
capsule role
Capsule roles represent a specification of the type of capsule that can occupy a particular position in a capsule's collaboration or structure. Capsule roles are strongly owned by the container capsule and cannot exist independently of it. A capsule's structural decomposition usually includes a network of collaborating capsule roles joined by connectors.
cardinality
The number of elements in a set. Contrast: multiplicity.
CBD
Component-Based Development
CCB
Change Control Board
CDR
Critical Design Review
CGI
Common Gateway Interface
change control board (CCB)
The role of the CCB is to provide a central control mechanism to ensure that every change request is properly considered, authorized and coordinated.
change management
The activity of controlling and tracking changes to artifacts. See also scope management.
change request (CR)
A general term for any request from a stakeholder to change an artifact or process. Documented in the Change Request is information on the origin and impact of the current problem, the proposed solution, and its cost. See also enhancement request, defect.
checkpoints
A set of conditions that well-formed artifacts of a particular type should exhibit. May also be stated in the form of questions which should be answered in the affirmative.
child
In a generalization relationship, the specialization of another element, the parent. See subclass, subtype. Contrast: parent.
class
A description of a set of objects that share the same attributes, operations, methods, relationships, and semantics. A class may use a set of interfaces to specify collections of operations it provides to its environment. See interface.
class diagram
A diagram that shows a collection of declarative (static) model elements, such as classes, types, and their contents and relationships.
class hierarchy
The relationships among classes that share a single inheritance. All Java classes inherit from the Object class.
class library
A collection of classes.
class method
See method.
classifier
A mechanism that describes behavioral and structural features. Classifiers include interfaces, classes, datatypes, and components.
CLI
Call Level Interface
client
A classifier that requests a service from another classifier. Contrast: supplier.
client/server
The model of interaction in distributed data processing where a program at one location sends a request to a program at another location and awaits a response. The requesting program is called a client, and the answering program is called a server.
CM
See Configuration Management.
COBOL
Common Business Oriented Language
cohesion
The congenital union of components of the same kind that depend on one another. The act or state of sticking together; close union. Contrast: coupling
collaboration
(1) Is a description of a collection of objects that interact to implement some behavior within a context. It describes a society of cooperating objects assembled to carry out some purpose. (2) It captures a more holistic view of behavior in the exchange of messages within a network of objects. (3) Collaborations show the unity of the three major structures underlying computation: data structure, control flow, and data flow. (4) A collaboration has a static and a dynamic part. The static part describes the roles that objects and links play in an instantiation of the collaboration. The dynamic part consists of one or more dynamic interactions that show message flow over time in the collaboration to perform computations. A collaboration may have a set of messages to describe its dynamic behavior. (5) A collaboration with messages is an interaction.
The specification of how an operation or classifier, such as a use case, is realized by a set of classifiers and associations playing specific roles used in a specific way. The collaboration defines an interaction. See interaction.
collaboration diagram
(1) A collaboration diagram describes a pattern of interaction among objects; it shows the objects participating in the interaction by their links to each other and the messages they send to each other. (2) It is a class diagram that contains classifier roles and association roles rather than just classifiers and associations. (3) Collaboration diagrams and sequence diagrams both show interactions, but they emphasize different aspects. Sequence diagrams show time sequences clearly but do not show object relationships explicitly. Collaboration diagrams show object relationships clearly, but time sequences must be obtained from sequence numbers.
A diagram that shows interactions organized around the structure of a model, using either classifiers and associations or instances and links. Unlike a sequence diagram, a collaboration diagram shows the relationships among the instances. Sequence diagrams and collaboration diagrams express similar information, but show it in different ways. See sequence diagram.
COM
Component Object Model (Microsoft)
comment
An annotation attached to an element or a collection of elements. A note has no semantics. Contrast: constraint.
commit
The operation that ends a unit of work to make permanent the changes it has made to resources (transaction or data).
Common Gateway Interface (CGI)
A standard protocol through which a Web server can execute programs running on the server machine. CGI programs are executed in response to requests from Web client browsers.
Common Object Request Broker Architecture (CORBA)
A middleware specification which defines a software bus—the Object Request Broker (ORB)—that provides the infrastructure.
communicate-association
An association between an actor class and a use case class, indicating that their instances interact. The direction of the association indicates the initiator of the communication (Unified Process convention).
communication association
In a deployment diagram an association between nodes that implies a communication. See deployment diagram.
compile time
Refers to something that occurs during the compilation of a software module. See modeling time, run time.
component
A non-trivial, nearly independent, and replaceable part of a system that fulfills a clear function in the context of a well-defined architecture. A component conforms to and provides the physical realization of a set of interfaces.
A physical, replaceable part of a system that packages implementation and conforms to and provides the realization of a set of interfaces. A component represents a physical piece of implementation of a system, including software code (source, binary or executable) or equivalents such as scripts or command files.
component diagram
A diagram that shows the organizations and dependencies among components.
component model
An architecture and an API that allows developers to define reusable segments of code that can be combined to create a program. VisualAge for Java uses the JavaBeans component model.
component-based development (CBD)
The creation and deployment of software-intensive systems assembled from components as well as the development and harvesting of such components.
composite [class]
A class that is related to one or more classes by a composition relationship. See composition.
composite aggregation
Synonym: composition.
composite bean
A bean that is composed of other beans. A composite bean can contain visual beans, nonvisual beans, or both. See also bean, nonvisual bean, and visual bean.
composite state
A state that consists of either concurrent (orthogonal) substates or sequential (disjoint) substates. See substate.
composite substate
A substate that can be held simultaneously with other substates contained in the same composite state. Synonym: region. See composite state.
composition
A form of aggregation association with strong ownership and coincident lifetime as part of the whole. Parts with non-fixed multiplicity may be created after the composite itself, but once created they live and die with it; that is, they share lifetimes. Such parts can also be explicitly removed before the death of the composite. Composition may be recursive. Synonym: composite aggregation.
concrete
An entity in a configuration that satisfies an end-use function and can be uniquely identified at a given reference point. (ISO)
concrete class
A class that can be directly instantiated. Contrast: abstract class.
concurrency
The occurrence of two or more activities during the same time interval. Concurrency can be achieved by interleaving or simultaneously executing two or more threads. See thread.
concurrent substate
A substate that can be held simultaneously with other substates contained in the same composite state. See composite substate. Contrast: disjoint substate.
configuration
1) general: The arrangement of a system or network as defined by the nature, number, and chief characteristics of its functional units; applies to both hardware or software configuration.
(2) The requirements, design, and implementation that define a particular version of a system or system component. See configuration management.
configuration item
An entity in a configuration that satisfies an end-use function and can be uniquely identified at a given reference point. (ISO)
configuration management (CM)
A supporting process whose purpose is to identify, define, and baseline items; control modifications and releases of these items; report and record status of the items and modification requests; ensure completeness, consistency and correctness of the items; and control storage, handling and delivery of the items. (ISO)
constraint
A semantic condition or restriction. Certain constraints are predefined in the UML, others may be user defined. Constraints are one of three extensibility mechanisms in UML. See tagged value, stereotype.
construction
The third phase of the Unified Process, in which the software is brought from an executable architectural baseline to the point at which it is ready to be transitioned to the user community.
constructor
A special class method that has the same name as the class and is used to construct and possibly initialize objects of its class type.
container
(1) An instance that exists to contain other instances, and that provides operations to access or iterate over its contents; for example, arrays, lists, sets. (2) A component that exists to contain other components.
containment hierarchy
A namespace hierarchy consisting of model elements, and the containment relationships that exist between them. A containment hierarchy forms an acyclic graph.
context
A view of a set of related modeling elements for a particular purpose, such as specifying an operation.
control class
A class used to model behavior specific to one, or a several use cases.
conversational
A communication model where two distributed applications exchange information by way of a conversation; typically one application starts (or allocates) the conversation, sends some data, and allows the other application to send some data. Both applications continue in turn until one decides to finish (or de-allocate). The conversational model is a synchronous form of communication.
Cookies
Small files that your Web browser creates at the request of Web sites you visit; the browser sends the contents of the file to the site upon subsequent visits.
CORBA
Common Object Request Broker Architecture
coupling
The degree to which components depend on one another. There are two types of coupling, "tight" and "loose". Loose coupling is desirable to support an extensible software architecture but tight coupling may be necessary for maximum performance. Coupling is increased when the data exchanged between components becomes larger or more complex. Contrast: cohesion.
CR
Change Request
CRC
Class-Responsibility-Collaborators. This is a technique in object-oriented development, originally proposed by Ward Cunningham and Kent Beck, to help define what objects should do in the system (their responsibilities), and identify other objects (the collaborators) that are involved in fulfilling these responsibilities. The technique is described in [WIR90]. CRC cards are a way of capturing these results using ordinary index cards.
critical design review (CDR)
In the waterfall life cycle, the major review held when the detailed design is completed. See Guidelines: Software Development Plan.
customer
A person or organization, internal or external to the producing organization, who takes financial responsibility for the system. In a large system this may not be the end user. The customer is the ultimate recipient of the developed product and its artifacts. See also stakeholder.
cycle
One complete pass through the four phases: inception, elaboration, construction and transition. The span of time between the beginning of the inception phase and the end of the transition phase. See test cycle

A B C [D] E F G H I J K L M N O P Q R S T U V W X Y Z Go to Top

DASD
Direct Access Storage Device
database
(1) A collection of related data stored together with controlled redundancy according to a scheme to serve one or more applications. (2) All data files stored in the system. (3) A set of data stored together and managed by a database management system.
database management system (DBMS)
A computer program that manages data by providing the services of centralized control, data independence, and complex physical structures for efficient access, integrity, recovery, concurrency control, privacy, and security.
datatype
A descriptor of a set of values that lack identity and whose operations do not have side effects. Datatypes include primitive predefined types and user-definable types. Predefined types include numbers, string and time. User-definable types include enumerations.
DBA
Database Administrator
DBCS
Double-Byte Character Set
DBMS
Database Management System
DCE
Distributed Computing Environment
DCOM
Distributed Object Model (Microsoft)
deadlock
A condition in which two independent threads of control are blocked, each waiting for the other to take some action. Deadlock often arises from adding synchronization mechanisms to avoid race conditions.
defect
An anomaly, or flaw, in a delivered work product. Examples include such things as omissions and imperfections found during early lifecycle phases and symptoms of faults contained in software sufficiently mature for test or operation. A defect can be any kind of issue you want tracked and resolved. See also change request.
defining model [MOF]
The model on which a repository is based. Any number of repositories can have the same defining model.
delegation
The ability of an object to issue a message to another object in response to a message. Delegation can be used as an alternative to inheritance. Contrast: inheritance.
deliverable
An output from a process that has a value, material or otherwise, to a customer or other stakeholder.
de-marshal
To deconstruct an object so that it can be written as a stream of bytes. Synonym for flatten and serialize.
demilitarized zone (DMZ)
This term is now commonly used in the industry to describe a sub-network, typically used for web servers that are protected by firewalls from both the external Internet and a company’s internal network.
dependency
A relationship between two modeling elements, in which a change to one modeling element (the independent element) will affect the other modeling element (the dependent element).
deployment
A discipline in the software-engineering process, whose purpose is to ensure a successful transition of the developed system to its users. Included are artifacts such as training materials and installation procedures.
deployment environment
A specific instance of a configuration of hardware and software established for the purpose of installing and running the developed software for it's intended use. See test environment and environment.
deployment diagram
A diagram that shows the configuration of run-time processing nodes and the components, processes, and objects that live on them. Components represent run-time manifestations of code units. See component diagram.
deployment unit
A set of objects or components that are allocated to a process or a processor as a group. A distribution unit can be represented by a run-time composite or an aggregate.
deployment view
An architectural view that describes one or several system configurations; the mapping of software components (tasks, modules) to the computing nodes in these configurations.
derived element
A model element that can be computed from another element, but that is shown for clarity or that is included for design purposes even though it adds no semantic information.
deserialize
To construct an object from a de-marshaled state. Synonym for marshal and resurrect.
design
The part of the software development process whose primary purpose is to decide how the system will be implemented. During design, strategic and tactical decisions are made to meet the required functional and quality requirements of a system. See analysis.
design mechanism
An architectural mechanism used during the design process, during the period in which the details of the design are being worked-out. They are related to associated analysis mechanisms, of which they are additional refinements, and they may bind one or more architectural and design patterns. There is not necessarily any difference in scale between the analysis mechanism and the design mechanism—it is thus possible to speak of a persistence mechanism at the analysis level and the design level and mean the same thing, but at a different level of refinement.  A design mechanism assumes some details of the implementation environment, but it is not tied to a specific implementation (as is an implementation mechanism). For example, the analysis mechanism for inter-process communication may be refined by several design mechanisms for interprocess communication (IPC): shared memory, function-call-like IPC, semaphore-based IPC, and so on. Each design mechanism has certain strengths and weaknesses; the choice of a particular design mechanism is determined by the characteristics of the objects using the mechanism.
design model
An object model describing the realization of use cases; serves as an abstraction of the implementation model and its source code.
design package
A collection of classes, relationships, use-case realizations, diagrams, and other packages, it is used to structure the design model by dividing it into smaller parts. It's the logical analogue of the implementation subsystem.
design pattern
[GAM94] defines a design pattern as:

“A design pattern provides a scheme for refining the subsystems or components of a software system, or the relationships between them. It describes a commonly-recurring structure of communicating components that solves a general design problem within a particular context.”

Design patterns are medium to small-scale patterns, smaller in scale than architectural patterns but typically independent of programming language. When a design pattern is bound, it will form a portion of a concrete design model (perhaps a portion of a design mechanism). Design patterns tend, because of their level, to be applicable across domains.

design subsystem
A model element which has the semantics of a package (it can contain other model elements) and a class (it has behavior). The behavior of the subsystem is provided by classes or other subsystems it contains. A subsystem realizes one or more interfaces, which define the behavior it can perform. Contrast: design package.
design time
Refers to something that occurs during a design phase of the software development process. See modeling time. Contrast: analysis time.
developer
A person responsible for developing the required functionality in accordance with project-adopted standards and procedures. This can include performing activities in any of the requirements, analysis & design, implementation, and test disciplines.
development case
The software-engineering process used by the performing organization. It is developed as a configuration, or customization, of the Unified Process product, and adapted to the project's needs.
development process
A set of partially ordered steps performed for a given purpose during software development, such as constructing models or implementing models.
device
A type of node which provides supporting capabilities to a processor. Although it may be capable of running embedded programs (device drivers), it cannot execute general-purpose applications, but instead exists only to serve a processor running general-purpose applications.
diagram
A graphical depiction of all or part of a model.
A graphical presentation of a collection of model elements, most often rendered as a connected graph of arcs (relationships) and vertices (other model elements). UML supports the following diagrams: class diagram, object diagram, use-case diagram, sequence diagram, collaboration diagram, statechart diagram, activity diagram, component diagram, and deployment diagram.
Direct Access Storage Device (DASD)
A device that allows storage to be directly accessed, such as a disk drive (as opposed to a tape drive, which is accessed sequentially).
discipline
A discipline is a collection of related activities that are related to a major 'area of concern'. The disciplines in UPEDU include: Business Modeling, Requirements, Analysis & Design, Implementation, Test, Deployment, Configuration & Change Management, Project Management, Environment.
disjoint substate
A substate that cannot be held simultaneously with other substates contained in the same composite state. See composite state. Contrast: concurrent substate
Distributed Computing Environment (DCE)
Distributed Computing Environment. Adopted by the computer industry as a de facto standard for distributed computing. DCE allows computers from a variety of vendors to communicate transparently and share resources such as computing power, files, printers, and other objects in the network.
distributed processing
Distributed processing is an application or systems model in which function and data can be distributed across multiple computing resources connected on a LAN or WAN. See client/server computing.
DLL
Dynamic Link Library
DMZ
De-Militarized Zone
DNS
Domain Name Server
document
A document is a collection of information that is intended to be represented on paper, or in a medium using a paper metaphor. The paper metaphor includes the concept of pages, and it has either an implicit or explicit sequence of contents. The information is in text or two-dimensional pictures. Examples of paper metaphors are word processor documents, spreadsheets, schedules, Gantt charts, web-pages, or overhead slide presentations.
document description
Describes the contents of a particular document.
document template
A concrete tool template, such as Microsoft Word template.
domain
An area of knowledge or activity characterized by a family of related systems.
An area of knowledge or activity characterized by a set of concepts and terminology understood by practitioners in that area.
domain model
A domain model captures the most important types of objects in the context of the domain. The domain objects represent the entities that exist or events that transpire in the environment in which the system works. The domain model is a subset of the business object model.
domain name server
A system for translating domain names such as www.software.ibm.com into numeric Internet protocol addresses such as 123.45.67.8.
double-byte character set (DBCS)
A set of characters in which each character is represented by 2 bytes. Languages such as Japanese, Chinese, and Korean, which contain more symbols than can be represented by 256 code points, require double- byte character sets. Compare with single-byte character set.
dynamic classification
A semantic variation of generalization in which an object may change type or role. Contrast: static classification.
dynamic information
Information that is created at the time the user requests it. Dynamic information changes over time so that each time users view it, they see different content.
dynamic link library (DLL)
A file containing executable code and data bound to a program at run time rather than at link time. The C++ Access Builder generates beans and C++ wrappers that let your Java programs access C++ DLLs.

A B C D [E] F G H I J K L M N O P Q R S T U V W X Y Z Go to Top

e-business
Either (1) the transaction of business over an electronic medium such as the Internet or (2) a business that uses Internet technologies and network computing in their internal business processes (via intranets), their business relationships (via extranets), and the buying and selling of goods, services, and information (via electronic commerce).
earned value
[MSP97] defines this as:
" A measure of the value of work performed so far. Earned value uses original estimates and progress-to-date to show whether the actual costs incurred are on budget and whether the tasks are ahead or behind the baseline plan."
EJB
Enterprise JavaBean
elaboration
The second phase of the process where the product vision and its architecture are defined.
element
An atomic constituent of a model.
encapsulation
The hiding of a software object’s internal representation. The object provides an interface that queries and manipulates the data without exposing its underlying structure.
enclosed document
A document can be enclosed by another document to collect a set of documents into a whole; the enclosing document as well as the individual enclosures are regarded as separate artifacts.
enhancement request
A type of stakeholder request that specifies a new feature or functionality of the system. See also change request.
Enterprise JavaBean (EJB)
An EJB is a non-visual, remote object designed to run on a server and be invoked by clients. An EJB can be built out of multiple, non-visual JavaBeans. EJBs are intended to live on one machine and be invoked remotely from another machine. They are platform-independent. Once a bean is written, it can be used on any client or server platform that supports Java.
entity class
A class used to model information that has been stored by the system, and the associated behavior. A generic class, reused in many use cases, often with persistent characteristics. An entity class defines a set of entity objects, which participate in several use cases and typically survive those use cases.
entry action
An action executed upon entering a state in a state machine regardless of the transition taken to reach that state.
enumeration
A list of named values used as the range of a particular attribute type. For example, RGBColor = {red, green, blue}. Boolean is a predefined enumeration with values from the set {false, true}.
environment
(1) A discipline in the software-engineering process, whose purpose is to define and manage the environment in which the system is being developed. Includes process descriptions, configuration management, and development tools. (2) A specific instance of a configuration of hardware and software, established for the purpose of software development, software testing, or in which the final product is deployed. See test environment and deployment environment.
ERP
Enterprise Resource Planning
evalution mission
A brief, easy-to-remember statement that distills the essence of the work objectives for the test team for a given work schedule. Typically defined per iteration, the evaluation mission provides focus to keep the team working productively to benefit the testing stakeholders. Some examples of mission statements include: find important problems fast, advise about perceived project risks, advise about perceived quality and verify to a specification.
event
The specification of a significant occurrence that has a location in time and space. In the context of state diagrams, an event is an occurrence that can trigger a transition.
event-to-method connection
A connection from an event generated by a bean to a method of a bean. When the connected event occurs, the method is executed. 
evolution
The life of the software after its initial development cycle; any subsequent cycle, during which the product evolves.
evolutionary
An iterative development strategy that acknowledges that user needs are not fully understood and therefore requirements are refined in each succeeding iteration (elaboration phase).
executable architecture
An executable architecture is a partial implementation of the system, built to demonstrate selected system functions and properties, in particular those satisfying non-functional requirements. It is built during the elaboration phase to mitigate risks related to performance, throughput, capacity, reliability and other 'ilities', so that the complete functional capability of the system may be added in the construction phase on a solid foundation, without fear of breakage. It is the intention of the UPEDU that the executable architecture be built as an evolutionary prototype, with the intention of retaining what is found to work (and satisfies requirements), and making it part of the deliverable system.
exit action
An action executed upon exiting a state in a state machine regardless of the transition taken to exit that state.
exploratory testing
A technique for testing computer software that requires minimal advanced planning and tolerates limited documentation for the target-of-test, relying mainly on the skill and knowledge of the tester to guide the testing. Thought to have first been first defined by Cem Kaner, Exploratory Testing has been broadly publicized by the work of James Bach. James advocates a style of exploratory testing where short sessions of exploration lasting approximately 90 minutes are briefly planned, undertaken, and results recorded and reviewed.
export
In the context of packages, to make an element visible outside its enclosing namespace. See visibility. Contrast: export [OMA], import.
expression
A string that evaluates to a value of a particular type. For example, the expression "(7 + 5 * 3)" evaluates to a value of type number.
extend
A relationship from an extension use case to a base use case, specifying how the behavior defined for the extension use case can be inserted into the behavior defined for the base use case.
extend-relationship
An extend-relationship from a use-case class A to a use-case class B indicates that an instance of B may include (subject to specific conditions specified in the extension) the behavior specified by A. Behavior specified by several extenders of a single target use case can occur within a single use-case instance.

A B C D E [F] G H I J K L M N O P Q R S T U V W X Y Z Go to Top

facade
A special package, stereotyped «facade», within a subsystem that organizes and exports all information needed by the clients of the subsystem. Included in this package are interfaces (where the interfaces are unique to the subsystem), realization relationships to interfaces outside the subsystem, and any documentation needed by clients of the subsystem to use the subsystem.
factory
(Java) A nonvisual bean capable of dynamically creating new instances of a specified bean.
failure
The inability of a system or component to perform its required functions within specified performance requirements [IEEE90]. A failure is characterized by the observable symptoms of one or more defects that have a root cause in one or more faults.
fault
An accidental condition that causes the failure of a component in the implementation model to perform its required behavior. A fault is the root cause of one or more defects identified by observing one or more failures.
fault-based testing
A technique for testing computer software using a test method and test data to demonstrate the absence or existence of a set of pre-defined faults. For example, to demonstrate that the software correctly handles a divide by zero fault, the test data would include zero.
fault model
A model for testing computer software which uses the notion of a plausible fault as it's basis and provides a test method to uncover the fault. The good fault model provides a definition of the fault or root cause, discussion of the observable failures the fault can produce, a test technique for uncovering the fault and a profile of appropriate test data.
feature
An externally observable service provided by the system which directly fulfills a stakeholder need.
A property, like operation or attribute, which is encapsulated within a classifier, such as an interface, a class or a datatype.
field
See attribute.
file transfer protocol (FTP)
The basic Internet function that enables files to be transferred between computers. You can use it to download files from a remote, host computer, as well as to upload files from your computer to a remote, host computer. 
final state
A special kind of state signifying that the enclosing composite state or the entire state machine is completed.
fire
To execute a state transition. See transition.
Firewall
A computer, or programmable device, with associated software which can be used to restrict traffic passing through it according to defined rules. Controls would typically be applied based on the origin or destination address and the TCP/IP port number.
flatten
Synonymous with de-marshal.
focus of control
A symbol on a sequence diagram that shows the period of time during which an object is performing an action, either directly or through a subordinate procedure.
formal parameter
Synonym: parameter.
framework
A micro-architecture that provides an extensible template for applications within a specific domain.
FTP
File Transfer Protocol
FURPS+
Functionality, Usability, Reliability, Performance, Supportability (+ others): this acronym represents categories for both defining product requirements and assessing product quality.

A B C D E F [G H] I J K L M N O P Q R S T U V W X Y Z Go to Top

gateway
A host computer that connects networks that communicate in different languages; for example, a gateway connects a company’s LAN to the Internet.
generalizable element
A model element that may participate in a generalization relationship. See generalization.
generalization
A taxonomic relationship between a more general element and a more specific element. The more specific element is fully consistent with the more general element and contains additional information. An instance of the more specific element may be used where the more general element is allowed. See inheritance.
generation
Final release at the end of a cycle.
graphical user interface (GUI)
A type of interface that enables users to communicate with a program by manipulating graphical features, rather than by entering commands. Typically, a GUI includes a combination of graphics, pointing devices, menu bars and other menus, overlapping windows, and icons.
green-field development
Development "starting from scratch", as opposed to "evolution of an existing system" or "reengineering of a legacy piece". Originated from the transformation that takes place when building a new factory on an undeveloped site—with grass on it.
guard condition
A condition that must be satisfied in order to enable an associated transition to fire.
GUI
Graphical User Interface
home page
See Start page.
HotJava
A Java-enabled Web and intranet browser developed by Sun Microsystems, Inc. HotJava is written in Java.
HTML
HyperText Markup Language
HTML browser
See web browser
HTTP
HyperText Transport Protocol
HTTP request
A transaction initiated by a Web browser and adhering to HTTP. The server usually responds with HTML data, but can send other kinds of objects as well.
hyperlinks
Areas on a Web page that, when clicked, connect you to other areas on the page or other Web pages.
hypertext
Text in a document that contains a hidden link to other text. You can click a mouse on a hypertext word and it will take you to the text designated in the link. Hypertext is used in Windows help programs and CD encyclopedias to jump to related references elsewhere within the same document. The wonderful thing about hypertext, however, is its ability to link—using HTTP over the Web—to any Web document in the world, yet still require only a single mouse click to jump clear around the world.
hypertext markup language (HTML)
The basic language that is used to build hypertext documents on the World Wide Web. It is used in basic, plain ASCII-text documents, but when those documents are interpreted (called rendering) by a Web browser such as Netscape, the document can display formatted text, color, a variety of fonts, graphic images, special effects, hypertext jumps to other Internet locations, and information forms.

A B C D E F G H [I J] K L M N O P Q R S T U V W X Y Z Go to Top

I/T
Information Technology
IDE
Integrated Development Environment
idiom
[BUS96] defines idiom so:

“An idiom is a low-level pattern specific to a programming language. An idiom describes how to implement particular aspects of components or the relationships between them using the features of the given language.” Also called an implementation pattern. When taking a concrete design expressed in UML, say, and implementing it in Java for example, recurring implementation patterns for that language may be used. Idioms thus span design and implementation. 

IE
Internet Explorer (Microsoft)
IEEE
The Institute of Electrical and Electronics Engineers, Inc.
IIOP
Internet Inter-ORB Protocol
IMAP4
Internet Message Access Protocol-Version 4
implementation
A discipline in the software-engineering process, whose purpose is to implement and perform developer testing on software components.
A definition of how something is constructed or computed. For example, a class is an implementation of a type, a method is an implementation of an operation.
implementation inheritance
The inheritance of the implementation of a more specific element. Includes inheritance of the interface. Contrast: interface inheritance.
implementation mechanism
An architectural mechanism used during the implementation process. They are refinements of design mechanisms, which specify the exact implementation of the mechanism, and which will also very likely employ several implementation patterns (idioms) in their construction. Again, there is not necessarily any difference in scale between the design mechanism and the implementation mechanism.
 
For example, one particular implementation of the inter-process communication analysis mechanism is a shared memory design mechanism utilizing a particular operating system’s shared memory function calls. Concurrency conflicts (inappropriate simultaneous access to shared memory) may be prevented using semaphores, or using a latching mechanism, which in turn rest upon other implementation mechanisms.
implementation model
The implementation model is a collection of components, and the implementation subsystems that contain them.
implementation pattern
See idiom.
implementation subsystem
A collection of components and other implementation subsystems used to structure the implementation model by dividing it into smaller parts. Note that in the UPEDU, the implementation model and the implementation subsystems are the target of the implementation view and are, therefore, of primary importance at development time. It is the physical analogue of the design package. The name "implementation subsystem" reflects a common usage of the term "subsystem" to indicate something of a larger scale than a component. In UML terms, however, it's a stereotyped package, not a subsystem.
implementation view
An architectural view that describes the organization of the static software elements (code, data, and other accompanying artifacts) in the development environment in terms of both packaging, layering, and configuration management (ownership, release strategy, and so on). In the Unified Process, it's a view on the implementation model.
import
In the context of packages, a dependency that shows the packages whose classes may be referenced within a given package (including packages recursively embedded within it). Contrast: export.
import-dependency
A stereotyped dependency in the design whose source is a design package, and whose target is a different design package. The import dependency causes the public contents of the target package to be referenceable in the source package.
inception
The first phase of the Unified Process, in which the seed idea, request for proposal, for the previous generation is brought to the point of being (at least internally) funded to enter the elaboration phase.
include
A relationship from a base use case to an inclusion use case, specifying how the behavior defined