Glossary
- abstract class
- A class that can be used only as a superclass of some other class; no objects of an abstract class may be created except as instances of a subclass.
- abstraction
- The act of concentrating the essential or general qualities of similar things. Also, the resulting essential characteristics of a thing.
- active object
- An object with its own thread of control.
- aggregation
- A property of an association representing a whole-part relationship and (usually) life-time containment.
- analysis
- An investigation of a domain that results in models describing its static and dynamic characteristics. It emphasizes questions of "what," rather than "how."
- architecture
- Informally, a description of the organization, motivation, and structure of a system. Many different levels of architectures are involved in developing software systems, from physical hardware architecture to the logical architecture of an application framework.
- association
- A description of a related set of links between objects of two classes.
- attribute
- A named characteristic or property of a class.
RJB99]. May be used to represent software or conceptual elements.
- class attribute
- A characteristic or property that is the same for all instances of a class. This information is usually stored in the class definition.
- class hierarchy
- A description of the inheritance relations between classes.
- class method
- A method that defines the behavior of the class itself, as opposed to the behavior of its instances.
- classification
- Defines a relation between a class and its instances. The classification mapping identifies the extension of a class.
- collaboration
- Two or more objects that participate in a client/server relationship in order to provide a service.
- composition
- The definition of a class in which each instance is comprised of other objects.
- concept
- A category of ideas or things. In this book, used to designate real-world things rather than software entities. A concept's intension is a description of its attributes, operations and semantics. A concept's extension is the set of instances or example objects that are members of the concept. Often defined as a synonym for domain class.
- concrete class
- A class that can have instances.
- constraint
- A restriction or condition on an element.
- constructor
- A special method called whenever an instance of a class is created in C++ or Java. The constructor often performs initialization actions.
- container class
- A class designed to hold and manipulate a collection of objects.
- contract
- Defines the responsibilities and postconditions that apply to the use of an operation or method. Also used to refer to the set of all conditions related to an interface.
- coupling
- A dependency between elements (such as classes, packages, subsystems), typically resulting from collaboration between the elements to provide a service.
- delegation
- The notion that an object can issue a message to another object in response to a message. The first object therefore delegates the responsibility to the second object.
- derivation
- The process of defining a new class by reference to an existing class and then adding attributes and methods The existing class is the superclass; the new class is referred to as the subclass or derived class.
- design
- A process that uses the products of analysis to produce a specification for implementing a system. A logical description of how a system will work.
- domain
- A formal boundary that defines a particular subject or area of interest.
- encapsulation
- A mechanism used to hide the data, internal structure, and implementation details of some element, such as an object or subsystem. All interaction with an object is through a public interface of operations.
- event
- A noteworthy occurrence.
- extension
- The set of objects to which a concept applies. The objects in the extension are the examples or instances of the concept.
- framework
- A set of collaborating abstract and concrete classes that may be used as a template to solve a related family of problems. It is usually extended via subclassing for application-specific behavior.
- generalization
- The activity of identifying commonality among concepts and defining a superclass (general concept) and subclass (specialized concept) relationships. It is a way to construct taxonomic classifications among concepts, which are then illustrated in class hierarchies. Conceptual subclasses conform to conceptual superclasses in terms of intension and extension.
- inheritance
- A feature of object-oriented programming languages by which classes may be specialized from more general superclasses. Attributes and method definitions from superclasses are automatically acquired by the subclass.
- instance
- An individual member of a class. In the UML, called an object.
- instance method
- A method whose scope is an instance. Invoked by sending a message to an instance.
- instance variable
- As used in Java and Smalltalk, an attribute of an instance.
- instantiation
- The creation of an instance of a class.
- intension
- The definition of a concept.
- interface
- A set of signatures of public operations.
- link
- A connection between two objects; an instance of an association.
- message
- The mechanism by which objects communicate; usually a request to execute a method.
- metamodel
- A model that defines other models. The UML metamodel defines the element types of the UML, such as Classifier.
- method
- In the UML, the specific implementation or algorithm of an operation for a class. Informally, the software procedure that can be executed in response to a message.
- model
- A description of static and/or dynamic characteristics of a subject area, portrayed through a number of views (usually diagrammatic or textual).
- multiplicity
- The number of objects permitted to participate in an association.
- object
- In the UML, an instance of a class that encapsulates state and behavior. More informally, an example of a thing.
- object identity
- The feature that the existence of an object is independent of any values associated with the object.
- object-oriented analysis
- The investigation of a problem domain or system in terms of domain concepts, such as conceptual classes, associations, and state changes.
- object-oriented design
- The specification of a logical software solution in terms of software objects, such as their classes, attributes, methods, and collaborations.
- object-oriented programming language
- A programming language that supports the concepts of encapsulation, inheritance, and polymorphism.
- OID
- Object Identifier.
RJB99]. An operation has a signature, specified by its name and parameters, and it is invoked via a message. A method is an implementation of an operation with a specific algorithm.
- pattern
- A named description of a problem, solution, when to apply the solution, and how to apply the solution in new contexts.
- persistence
- The enduring storage of the state of an object.
- persistent object
- An object that can survive the process or thread that created it. A persistent object exists until it is explicitly deleted.
- polymorphic operation
- The same operation implemented differently by two or more classes.
- polymorphism
- The concept that two or more classes of objects can respond to the same message in different ways, using polymorphic operations. Also, the ability to define polymorphic operations.
- postcondition
- A constraint that must hold true after the completion of an operation.
- precondition
- A constraint that must hold true before an operation is requested.
- private
- A scoping mechanism used to restrict access to class members so that other objects cannot see them. Normally applied to all attributes, and to some methods.
- public
- A scoping mechanism used to make members accessible to other objects. Normally applied to some methods, but not to attributes, since public attributes violate encapsulation.
- pure data values
- Data types for which unique instance identity is not meaningful, such as numbers, booleans, and strings.
- qualified association
- An association whose membership is partitioned by the value of a qualifier.
- receiver
- The object to which a message is sent.
- recursive association
- An association where the source and the destination are the same object class.
- responsibility
- A knowing or doing service or group of services provided by an element (such as a class or subsystem); a responsibility embodies one or more of the purposes or obligations of an element.
- role
- A named end of an association to indicate its purpose.
- state
- The condition of an object between events.
- state transition
- A change of state for an object; something that can be signaled by an event.
- subclass
- A specialization of another class (the superclass). A subclass inherits the attributes and methods of the superclass.
- subtype
- A conceptual superclass. A specialization of another type (the supertype) that conforms to the intension and extension of the supertype.
- superclass
- A class from which another class inherits attributes and methods.
- supertype
- A conceptual superclass. In a generalization-specialization relation, the more general type; an object that has subtypes.
- transition
- A relationship between states that is traversed if the specified event occurs and the guard condition met.
- visibility
- The ability to see or have reference to an object.