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.

1
Q

Action

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Activation

A

On a sequence diagram, a long rectangle, coincident with the lifeline of an object, showing the entire period when an object is active.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Activity

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Aggregation

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Alt

A

Alternative Fragement

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Analysis Class

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Analysis Model

Analysis Structural Model

A

An initial representation of the structure of a software solution by a class diagram; it represents analysis classes, their associations and constraints.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Assertion

A

In DbC, a precondition, a postcondition or an invariant.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Association Class

A

An association that also has class properties. Each instance of the association class defines values for those properties.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Association Loop Invariant

A

An invariant showing the relationship between two paths around a loop.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Attribute

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Baseline

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Bidirectional Association

A

An association that is navigable in both directions.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Business Transcation

A

A significant activity, episode, interaction, in a business.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Cascade Pattern

A

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.)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Check(ing) in

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

Class Diagram

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

Class Invariant

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

Class Model

A

See structural model. A class model is represented in a class diagram.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

CRC

A

Class-Responsibilty-Collaboration Cards

An approach to identifying classes and their responsibilities using simply structured cards.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

Compiler

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
22
Q

Composite State

A

A state that contains some internal behaviour, which can be represented with a state diagram. (Also referred to as a compound state.)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
23
Q

Composition

A

A form of aggregation with strong ownership; component objects of an aggregate have no life after the destruction of the aggregate.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
24
Q

Concept(ual) Model

A

The structural model that represents the static part of the domain: the concepts and their relationships.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
25
Q

Constraint

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
26
Q

Constructor

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
27
Q

Contract

A

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.)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
28
Q

Correct

A

A correct system is one that meets all its requirements.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
29
Q

DbC

A

Design by Contract

The process of developing software based on the notion of contracts between objects, which are expressed as assertions.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
30
Q

Defect

A

A verified lack of conformance to requirements.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
31
Q

Defensive Programming

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
32
Q

Derived Association

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
33
Q

Derived Attribute

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
34
Q

Design Decision

A

Decisions taken during design that may impact on the quality of the software eventually produced.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
35
Q

Design Model

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
36
Q

Development Process

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
37
Q

Domain Expert

A

Someone who is considered to have a considerable level of knowledge or expertise in a given domain.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
38
Q

Domain Model

Domain Structural Model

A

An initial representation of the structure of a domain by a class diagram; it represents domain classes (concepts), and their associations.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
39
Q

Dynamic Modelling

A

Modelling of behaviour as opposed to structure.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
40
Q

Dynamic Tool

A

A tool that is used at run-time.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
41
Q

Enumeration Type

A

A user-defined type with a finite number of literals.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
42
Q

Event

A

In a Java system, an event is an action, such as the user clicking on a button; the system will respond to such an event by carrying out certain actions, provided the program defines an appropriate listener object for that event.

In operating systems, an event represents a signal to the CPU to interrupt its operation and switch context.

In analysis and design, events are elements of state transition diagrams which cause transitionsbetween states.

In UML, an event is a specification of a noteworthy occurence that has a location in time and space. There are four kinds of event in UML: call event: the event of receiving a call for an operation that is implemented by actions on transitions; change event: the event of a Boolean expression becoming satisfied because of a change to one or more of the values it references; signal event: an event that is the receipt by an object of a signal sent to it, which may trigger a transition between two states; time event: an event that denotes the satisfaction of a time expression, such as the occurrence of an absolute time or the passage of a given amount of time after an object enters a state.

43
Q

External Event

A

An event that links a system to its actors, such as the pressing of a button or the sounding of an alarm. (Contrast with internal event.)

44
Q

Final State

A

In a state diagram, a special mark (bull’s eye), with only incoming transitions, indicating where processing terminates.

45
Q

Fork (pattern)

A

When designing an interaction diagram to implement a use case, there may be a need for an object to send messages to another object with which it does not directly have an association. The Fork pattern centralises control in the sender (in contrast to the Cascade pattern). (See also Law of Demeter.)

46
Q

FTR

A

Formal Techincal Review

A process to critique a product of the software development process with a view to improving it. The product might be a customer requirements document, a piece of code, or a test or maintenance plan.

47
Q

Fragment

A

For our purposes, a way of encapsulating behaviour inside a labelled box. The label can be, for example, opt, alt or loop, standing for optional, alternative and looping behaviour. Sometimes referred to as a frame.

48
Q

Generalisation

A

A relationship between classes in the object-oriented model that captures the fact that one class of objects is more generalised than another, that is, the methods and data fields of the generalised class (superclass) are a subset of the specialised class (subclass).

49
Q

GRASP

A

General Responsibility Assignment Software Pattern

A collection of patterns which may help the designer assign responsibilities in commonly recurring design scenarios.

50
Q

Glossary

A

A list of terms or words relating to a particular domain or text, along with an explanation of each term.

51
Q

Grammatical Parse

A

Used in this module to refer to process for obtaining list of nouns from a written problem description to identify candidate classes.

52
Q

GRASP Creator

A

A pattern that provides guidance on which class should be responsible for creating new objects.

53
Q

GRASP Expert

A

A pattern that provides guidance on which class should be responsible for initialising or changing the state of an object.

54
Q

Inheritance

A

The consequence of a generalisation/specialisation relationship; a subclass inherits the features of the superclass.

55
Q

Initial State

A

In a statechart diagram, an initial state is a way of indicating the default starting state. An initial state is not a true state; it is a marker with only one outgoing transition to the first state an object finds itself on creation. A statechart diagram must show no more than one initial state.

56
Q

Instance Variables

A

A data field that is common to all the objects (instances) of a class but the value of which is specific to each object. This contrasts with a class variable (a data field defined as static in Java), whose fixed value is shared by all the instances of a class.

57
Q

Interaction Diagram

A

A UML diagram that shows the sequencing of messages in an interaction. (See also sequence diagram and communication diagram.)

58
Q

Interface

A

In general, this refers to the operations (methods), including their syntax and semantics, that a software system/subsystem/module provides to the clients of the system. In the object-oriented approach, the public operations associated with an object are referred to as its interface, or its interface operations. In Java, an interface is a construct similar to a class, which provides a specification (in the form of method headings but no implementation) of the methods for which classes implementing the interface must provide implementations.

59
Q

Internal Event

A

An event that links the objects within a system, such as the throwing of a language exception. (Contrast with external event.)

60
Q

Internal Transtion

A

A special transition that does not involve a change of state. An internal transition does not cause the execution of any entry or exit actions.

61
Q

Law of Demeter

A

A design principle governing the flow of messages among objects. It says that in response to a message m, an object O should send messages only to the following objects:

O itself;

objects that are sent as parameters to the message m;

objects that O creates as part of its reaction to m;

objects that are directly accessible from O (using values of the attributes of O).

62
Q

Link

A

An instance of an association that shows a semantic connection between objects.

63
Q

Message Number(ing)

A

A means of identifying the ordering of messages in a flow of control. On an interaction diagram, the messages may proceed in a nested or hierarchical fashion. Ambiguity in the message flow is removed by using a multi-stage decimal for each message in an interaction. Thus each message always contains as its prefix the number of the message that gave rise to it. If an object receives a message prefixed 2.6, all messages it sends until it has finished processing 2.6.1, 2.6.2 and so on (this is known as decimal message numbering).

64
Q

Multiplicity

A

A specification of how many objects of one class are related to one object of another class.

65
Q

Namespace

A

A boundary within which names are unique.

66
Q

Navigability

A

Refers to the ability to traverse one or more associations to obtain the object or set of objects associated with an instance of a class through those associations.

67
Q

Navigation Expression

A

A description of the path taken to traverse the links (corresponding to one or more associations) from one object to another object (or set of objects) or to its (or their) attributes.

68
Q

Non-Deterministic

A

A situation where one of a number of outcomes is possible, for example when throwing a dice.

69
Q

OCL

A

Object Contraint Language

A text language for specifying constraints, Boolean expressions and queries. OCL can be used to construct expressions for constraints, guards, actions, preconditions, postconditions and assertions. OCL is part of UML.

70
Q

Object Diagram

A

An instance of a class model that shows objects (possibly value of attributes) and their links at a point in time.

71
Q

Object Model

A

A collection of objects and their links, where every object in the model is an instance of a class, and each link is an instance of an association in the corresponding class model. An object model is represented by an object diagram.

72
Q

Organisational Units

A

The groups to which people belong.

73
Q

Package

A

UML employs the concept of a package to enable the developer to modularise a given system or part of that system. A model comprises a set of packages that hold model elements, such as classes and use cases. A package may contain other packages.

74
Q

Placeholder

A

Used in this module to refer to the name of a type that is being used as a stand-in until there is sufficient information to make an informed decision.

75
Q

Prototypical Interaction

A

An interaction described using some prototypical objects.

76
Q

Prototypical Object

A

An object representing the general case rather than a specific instance.

77
Q

Qualified Assocation

A

An association that uses attributes of one class to partition the set of objects related to an object across the original association; those attributes are the qualifier of the assocation.

78
Q

Recursive

A

A recursive association is one between a concept/class and itself.

79
Q

Role

A

The behaviour of an entity participating in a particular context. It may also refer to the behaviour of people in a domain.

80
Q

Role Name

A

The identification of a specific role for a class in a given association.

81
Q

Self-Transition

A

In a state machine, this is a transition that originates in one state and returns to the same state. They are commonly used to model loops or cycles.

82
Q

Sequence Diagram

A

A UML interaction diagram that focuses on the time-ordering of the messages.

83
Q

Signature

A

In general, the combination of name, parameters and return type of an operation. In Java, the combination of name and formal parameters in a method heading (that is, excluding method’s return type).

84
Q

Simple State

A

A state that contains no substructure. (See also composite state.)

85
Q

Snapshot

A

A representation (using a UML object diagram) of objects and their links at a certain instant in time.

86
Q

Software Engineer

A

A person employed to undertake software engineering.

87
Q

Specialisation

A

A relationship between classes in the object-oriented model that captures the fact that a child class is a subtype of the parent class, that is, the methods and data fields of the specialised class (subclass) are a superset of the generalised class (superclass specialised class).

88
Q

State

A

A condition or situation during the lifetime of an object during which it satisfies some condition, performs some activity or waits for some event. In object-oriented terms, it is the value of an object’s attributes. From the client’s point of view, the state of an object is implemented in terms of methods(that is, its accessor methods). However, inside the object’s class definition, the accessor methods may be implemented in terms of private instance variables which are used to store the state (although on occasion the implementation may be in terms of methods which calculate the state). In formal specification, it refers to the stored data that a system accesses and alters.

89
Q

Statechart

A

Formalism introduced by David Harel for the representation of complex state transitions; it was adopted by the UML in its state machines.

90
Q

State-Depenent

State-Independent

A

An object that always responds in the same way to a given event is state-independent. In contrast, objects that react differently to a given event are state-dependent.

91
Q

State Machine

A

A specification of the sequences of states that an object goes through in response to events during its life, together with its responsive actions. A state machine is attached to a source class, collaboration or method and specifies the behaviour of the instances of the source elements. State machines are represented in UML by state diagrams.

92
Q

Static Analysis Tools

A

Tools that allow software or other development artefacts to be checked for some properties or tested at compile time.

93
Q

Subclass

A

In object-oriented terms, the subclass inherits from the superclass, or parent class. In Java, all classes are subclasses of Object. A subclass may define its own methods and data fields in addition to those that are inherited. It may also override any of its inherited methods.

94
Q

Substitutability

A

Substitutability means that an object of one type is legitimately substitutable for an object of another type. This is allowed in Java when objects are related through inheritance (that is, an object of the child class may be substituted for an object of the parent class). However, substitutability is only sensible when the objects are related as subtype to supertype (that is, when the inheritance is inheritance for specialisation and not inheritance for construction).

95
Q

Superclass

A

In Java, the (parent) class that is extended by another class (the child class or subclass).

96
Q

System Class

A

In analysis, a class with a single instance that represents the whole system.

97
Q

System Operation

A

An operation executed by a software system as a response to an external event.

98
Q

Tangible Objects

A

Physical objects identified during modelling.

99
Q

Tier

A

A physical partitioning of a system.

100
Q

Use Case Object

A

An object which is an instance of a class defined for each use case. In a hotel system, for example, there might be classes such as CheckerIn, CheckerOut and RoomMover. Each would have a method with a name like run(). The user interface would then create a single instance of the appropriate class, initialise it suitably, and then send it the run() message.

101
Q

Use Case Realistation

A

An activity that consists of linking the use cases to the classes which are going to carry them through.

102
Q

Value Identity

A

The identity of a real-world object; how people distinguish between objects using identifiers with values which are understood by other people.

103
Q

Visibility

A

The property of where named elements can be accessed in a program.