Block 2 Glossary Flashcards
These cards are a copy of the glossary provided by TM354. Except where definitions are 'see x', these cards have been omitted.
Action
An action is an atomic execution (contrast with activity) that results in a change in the state of the model. In an object-oriented context it can be realised by sending a message to an object or by modifying a link or the value of an attribute.
Activation
On a sequence diagram, a long rectangle, coincident with the lifeline of an object, showing the entire period when an object is active.
Activity
In UML, an activity is an ongoing non-atomic execution (contrast with action) within a state machineor within an activity diagram; in a given context, activities result in one or more actions.
In a software development process, it is a unit of work comprising one or more tasks that someone may be asked to perform.
Aggregation
A relationship between an aggregate class and other classes. An aggregate object is an object which can be thought of as being composed of other objects (components), respectively, instances of the other classes. Some authors consider that the objects that are components in one aggregate object cannot be components in another aggregate.
Alt
Alternative Fragement
Analysis Class
A class that represents structural elements of an initial software solution. Unlike a concept (a domain class), it may define attributes but operations will be added later during design.
Analysis Model
Analysis Structural Model
An initial representation of the structure of a software solution by a class diagram; it represents analysis classes, their associations and constraints.
Assertion
In DbC, a precondition, a postcondition or an invariant.
Association Class
An association that also has class properties. Each instance of the association class defines values for those properties.
Association Loop Invariant
An invariant showing the relationship between two paths around a loop.
Attribute
A property of an object which is part of the object’s state, and which can be changed. In object-oriented analysis and design, attributes generate accessor methods: one to ‘get’ the value of the attribute and one to ‘set’ or ‘reset’ its value.
Baseline
A configuration version singled out as special because it forms a foundation from which further development can progress, typically associated with the major milestones of a project.
Bidirectional Association
An association that is navigable in both directions.
Business Transcation
A significant activity, episode, interaction, in a business.
Cascade Pattern
When designing an interaction diagram to implement a use case, there is a need for an object to send messages to another object with which it does not directly have an association. The Cascade pattern delegates responsibility to another object along a single thread of control (in contrast to the Fork pattern). (See also Law of Demeter.)
Check(ing) in
A part of the configuration management process where a specific version (usually the latest) of a configuration item is removed from the configuration repository so that a developer can edit it.
Class Diagram
A diagram that shows a set of classes, interfaces and collaborations, as well as their relationships. It is a representation of a structural (or static) model of a domain or of a system.
Class Invariant
A constraint that must be true at all times, other than during when one of its methods is executing. A statement about the values of the attributes of a class that must hold for all instances of that class.
Class Model
See structural model. A class model is represented in a class diagram.
CRC
Class-Responsibilty-Collaboration Cards
An approach to identifying classes and their responsibilities using simply structured cards.
Compiler
A software tool that translates (compiles) a program written in one language (the source code) into a program in another language and, in so doing, identifies errors in the source code.
Composite State
A state that contains some internal behaviour, which can be represented with a state diagram. (Also referred to as a compound state.)
Composition
A form of aggregation with strong ownership; component objects of an aggregate have no life after the destruction of the aggregate.
Concept(ual) Model
The structural model that represents the static part of the domain: the concepts and their relationships.
Constraint
A limitation on or restriction of behaviour, or structure. In UML, a constraint expresses a rule that governs a model element or a combination of model elements.
Constructor
Used to initialise a new object. Technically it is not a method, though it is similar in structure. A constructor handles the dual tasks of allocating memory for the new object and ensuring that this memory is properly initialised. The programmer is expected to provide the code that will accomplish this initialisation. If not, a default constructor will be called that has no parameters and performs default initialisations.
In Java, a constructor has the same name as the class in which it appears. Constructors are not members; they are never inherited.
Contract
A legal document describing the obligations of two parties entering into an agreement; important contract issues include confidentiality and intellectual property rights. In a software project, a contract exists between the customer (client) and developer (supplier) for the provision of a software product. Also, a way of describing what each task, activity or operation commits to achieve by stating the pre- and postconditions. (See also Design by Contract.)
Correct
A correct system is one that meets all its requirements.
DbC
Design by Contract
The process of developing software based on the notion of contracts between objects, which are expressed as assertions.
Defect
A verified lack of conformance to requirements.
Defensive Programming
A design philosophy that says preconditions should always be checked. Each operation is responsible for making sure that it is safe to proceed. The checking is placed very close to the code that depends on it.
Derived Association
In UML, an association that can be computed from one or more other elements. Although it adds no semantic information, it may aid understanding or be useful for design purposes.
Derived Attribute
In UML, an attribute that can be computed from one or more other elements. Although it adds no semantic information, it may aid understanding or be useful for design purposes.
Design Decision
Decisions taken during design that may impact on the quality of the software eventually produced.
Design Model
A representation of the structure of a software solution by a class diagram; it represents classes, their associations and constraints and their responsibilities in terms of operations.
Development Process
A set of rules that define how a software development project should be carried out. It incorporates a life cycle and involves a number of methods and procedures.
Domain Expert
Someone who is considered to have a considerable level of knowledge or expertise in a given domain.
Domain Model
Domain Structural Model
An initial representation of the structure of a domain by a class diagram; it represents domain classes (concepts), and their associations.
Dynamic Modelling
Modelling of behaviour as opposed to structure.
Dynamic Tool
A tool that is used at run-time.
Enumeration Type
A user-defined type with a finite number of literals.