Glossary Flashcards

0
Q

acceptance testing

A

The formal testing of an entire system, conducted by a customer, to determine whether it satisfies its acceptance criteria and thus whether the customer should accept the system.

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

abstraction

A

The process of describing the essential features of a problem and ignoring other details. It permits you to concentrate on a problem at some level of generalisation, without regard to irrelevant detail. It also permits you to work with concepts, terms and models that are familiar in the problem environment (or domain).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
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
3
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
4
Q

viewpoint

A

A perspective on a system from the point of view of a particular person or group of people.

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

cohesion

A

A way of describing how closely the activities within a single module are related to each other. A cohesive module should, ideally, do just one thing. In software development, high cohesion is preferred to low cohesion as it results in a more flexible software system because each module performs clearly defined operations/tasks.

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

coupling

A

A measure of interconnection among modules in a software system. In software development, low coupling is preferred to high coupling as it results in a more flexible software system. (See also encapsulation.)

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

component

A

In general, this refers to an identifiable part of a system.

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

encapsulation

A

Hiding from the clients of a class the details of how the class is implemented. In other words, it is the process of hiding (making private) all the methods and data fields of a class used in the implementation of the public methods (or interface) of the class.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
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.

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

circular dependency

A

A series of two or more dependencies between different things (typically modules within a software system) that form a closed loop. If module A depends on module B which depends on module C, then a circular dependency arises if module C depends on module A.

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

maintenance

A

An activity in which the artefacts or products of a software development process are changed. It includes all changes made to a software system after it has been released.

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

Unified Modeling Language (UML)

A

A language for visualising, specifying, constructing and documenting the artefacts of a software-intensive system.

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

modularity

A

The division of a software system into separately named and addressable components, called modules, that are integrated to meet the requirements. Modularity is a basic attribute of software that allows the partition of a set of requirements into a number of intellectually manageable subsets.

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

context dependency

A

A service required by a module in order for it to work.

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

legacy system

A

An old software system that is still required because it meets some useful purpose to an organisation. It is not considered to be replaceable and so it is maintained, usually on a restricted budget.

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

maintainability

A

This is a software quality factor affecting maintainability and portability requirements, which determines the effort required to understand, locate and fix errors in a system, that is, how easily bugs can be found and fixed.

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

malleability

A

Characteristic of software as being easy to change. Malleability creates a constant pressure for software to be changed rather than be replaced. Every change that is made to the software introduces the possibility of new errors.

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

implementation

A

The process of building a coherent set of instructions for a computer, that will cause it to exhibit a behaviour specified by the artefacts which are normally devised during design. It is one of the four basic technical activities within a software development process (see also analysis, design and testing).

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

complexity

A

A complex system consists of a number of parts with a large number of relationships between them. A complex program is one that is difficult to understand.

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

size (of software)

A

This can be measured in terms of lines of code, number of symbols, size of source or object files etc.

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

system boundary

A

A conceptual division between the system to be studied and ‘everything else’.

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

activity

A

In UML, an activity is an ongoing non-atomic execution (contrast with action) within a state machine or 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
23
Q

activity diagram

A

A representation of a workflow through activity states or action states and in which most or all of the transitions are triggered by completion of an activity in the source states; an activity diagram can be used to represent the workflows within the business domain.

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

actor

A

A representation of users of a software system in a particular role, when interacting with use cases. An actor can also represent the role of an external system that interacts with a software system.

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

agile

A

An umbrella term used to describe a variety of methods that promote a set of practices that encourage simpler, more light-weight, faster and nimbler software development that can adapt to the inevitable changes in customer requirements. The continual realignment of development goals with the needs and expectations of the customer aims at software that better serves its purpose.

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

agile UP

A

A version of UP where the initial disciplines (business/domain model, requirements, analysis and design) are collapsed into a single ‘model’ discipline and where iterations are short (weeks rather than months) and frequent; product is delivered incrementally if at all possible; design and implementation do not wait until all the requirements are found.

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

analysis

A

The term analysis is often used as a generic term for the activities that precede design, the process of eliciting the requirements of a system from the user (requirements elicitation), and then generating the requirements specification document that identifies (among other things) what the software should do (its functional requirements) and the environment in which it must work. In this module we use the term analysis to refer specifically to a set of activities that follow an initial requirements phase: modelling how the structure and behaviour of the system will meet its specification from a user’s perspective. (See also requirements, design, implementation and testing).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
28
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
29
Q

business event

A

A business event is something that a system must respond to.

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

business process

A

Definition of what gets done in the business: by whom, in what order, needing what and with what consequences.

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

context dependency

A

A service required by a module in order for it to work.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
32
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
33
Q

business rule

A

A constraint on how the business is run; that is, a constraint on the business processes.

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

verification

A

A process of ensuring that the design of a system corresponds to its specification, and that the system is correctly coded according to its design; that is, all the different system descriptions are consistent and complete with respect to each other. If validation is about building the ‘right’ product, then verification is about the product being built ‘right’.

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

complexity

A

A complex system consists of a number of parts with a large number of relationships between them. A complex program is one that is difficult to understand.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
36
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
37
Q

ambiguity

A

Open to several interpretations.

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

viewpoint

A

A perspective on a system from the point of view of a particular person or group of people.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
39
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
40
Q

analysis 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
41
Q

analysis pattern

A

A high-level pattern describing a solution at a conceptual analysis level problem.

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

analytical completeness

A

A measure of completeness where only the functional requirements are considered.

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

applet

A

A small Java program that is downloaded from a server and executes in a container consisting of a Java plug-in installed in the client’s browser.

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

Application Controller pattern

A

A design pattern which addresses the concerns in the interaction between actors and a system, when the interaction takes place through user interfaces.

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

Architectural pattern

A

Codifies recurrent software architectures by describing the key elements of the architecture and how they fit together. It also describes the qualities of systems that are assembled following the pattern.

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

architectural view

A

A model of the architecture, that captures the concerns of a group of stakeholders of the system.

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

architecture specialisation

A

The process of specialising an architecture by selecting specific components etc.

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

architecture specification

A

The specification of the architecture of a system. It is also the third step in the product line process, where reference architectures are produced.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
49
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
50
Q

assertion (handling) mechanism

A

A programming construct which, at run-time, allows an assertion to be executed, and alerts the user to an assertion violation. Also referred to as an assertion mechanism.

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

assertion statement

A

A statement of what must be true at a particular point in the execution of a method.

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

association

A

A structural element that describes a set of links, in which a link is a connection between objects. It is a semantic relationship between two or more classifiers that involves the connections among their instances.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
53
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
54
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
55
Q

assume

A

A condition that a component needs, to operate correctly.

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

asynchronous

A

(communication) When the sender can continue without waiting for an answer from another component.

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

adapter

A

A design pattern that addresses the problem of a class having an interface different from the one the client expects.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
58
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
59
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
60
Q

basis-path testing

A

A white box testing technique based on the cyclomatic-complexity metric which ensures that all statements in a method are tested at least once.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
61
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
62
Q

blackboard

A

A variant of a data-centred architectural style in which the store is active and informs users of changes, so that communication may be initiated from either end.

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

black box testing

A

Used to test that each aspect of the customer’s requirements is handled correctly by an implementation. Black box testing ‘sees’ a system through its specification – the specification defines what the system should do and, through black box testing, we make sure it does it.

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

boundary-condition testing

A

Unit testing in which test data are chosen to check that methods perform correctly at the extremities of input ranges.

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

Adapter pattern

A

A design pattern used when a client expects to make calls to a particular interface different from the one that is implemented.

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

boundary testing

A

Class testing in which a class is tested according to its use and that has-a relationship in its class diagram.

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

bursty event

A

An event coming in sudden and unpredictable clusters overlaying normally low background activity.

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

business transaction

A

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

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

callee

A

Component that receives a procedure call in a call-return architecture.

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

caller

A

Component that makes a procedure call in a call-return architecture.

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

call-return style

A

An architectural style in which one component (the caller) makes a procedure call to another component (often known as the callee) and waits for the call to return.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
72
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
73
Q

check(ing) in

A

A part of the configuration management process where a configuration item is returned to the configuration repository after editing, usually with a new version number, and it is made available for others to check out.

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

check(ing) out

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
76
Q

diagram

A

In UML, a diagram is a graphical presentation of a collection of model elements.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
77
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
78
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
79
Q

class method

A

A method defining how a class responds to a message, rather than how instances of the class respond to messages. (See also instance method.)

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

class model

A

A class model is represented in a class diagram.

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

class-responsibility-collaboration cards

A

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
82
Q

class variable

A

In Java, a data field declared as static.

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

client

A

In software development, the term refers to the person (or company) who commissions and pays for a piece of software to be developed or to be purchased as a package (in this context the term client is synonymous with the term customer).

In programming, the term often refers to the method/class/object that uses the methods of another class/object (the supplier or server).

In network programming, the term refers to a program/process running on one computer that can obtain services from a server program running (usually) on another computer.

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

client-server

A

An architectural style in which one component (the server) waits for requests from clients, processes each one as it as received, and returns a response to the client.

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

cloud computing

A

A model in which software runs on remote facilities provided by a third-party supplier.

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

commitment

A

A move of the planning game that decides what to do next.

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

communication diagram

A

A UML interaction diagram that focuses on the structural aspect (instances and links) of an interaction. In previous versions of UML a communication diagram was known as a collaboration diagram.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
88
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
89
Q

completeness

A

The degree to which full implementation of the required functionality has been achieved.

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

component architecture

A

An architecture specified in terms of components and the connections between them. It can be specialised by selecting appropriate versions of each component.

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

component-based development (CBD)

A

An approach to the development of software by assembling reusable self-contained software components.

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

component collection

A

The fourth step in the product line process where the repository of candidate components accompanying the architecture is gathered together.

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

component selection and specialisation

A

The process of selecting appropriate components for a system and specialising them to the application domain.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
94
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
95
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
96
Q

computer-aided software engineering (CASE)

A

The use of specialised application programs (tools) that provide some form of automated support during the development of a software system for the benefit of its eventual implementation. Consequently, it includes one or more methods, as well as their accompanying techniques and notations, used for activities such as analysis and design.

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

concern

A

Some aspect of the system that is of crucial importance from the point of view of one or more groups of stakeholders.

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

configuration

A

All the modules (components) which together make up an executable software system. It is also a term for the collection of configuration items.

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

configuration item

A

The configuration items are the items produced during the development and maintenance of software, which are stored, retrieved, changed, stored again, and so on. These include: use case diagrams and other UML diagrams; individual Java programs or classes, or the compiled versions of these; architectures and patterns; test plans and test cases.

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

configuration management

A

The task of managing configuration items, which involves identifying the components of a continuously evolving system (the configuration) at discrete points in time, for the purposes of controlling changes to the configuration, and maintaining integrity and traceability throughout the system’s lifetime.

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

configuration repository

A

A library of configuration items managed by the configuration management system.

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

configuration version

A

A consistent collection of versions of configuration items.

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

conformance testing

A

Testing that the software product conforms to its requirements.

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

connector

A

An element of an architecture that establishes the communication between components.

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

consistency

A

The property of two descriptions agreeing with each other, that is, not making statements that cannot be simultaneously true.

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

construction

A

In UP, phase when the final product is implemented.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
107
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
108
Q

consumer

A

A client in SOA.

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

container

A

An object (or component) that exists to encompass other objects and provide operations to access or iterate over its contents. In Java EE, a special run time environment that provides components with supporting services (for example, life-cycle management, security, deployment, and run-time services).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
110
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.

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

controller

A

In the MVC, the controller is the component that handles all user inputs which affect the model.

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

control-structure testing

A

Unit testing in which test data is chosen to check that algorithms are coded correctly and to execute each statement in the code at least once.

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

copyright law

A

The automatic legal protection afforded to an individual or organisation that publishes the expression of an idea, including software.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
114
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
115
Q

coupling between objects (CBO) metric

A

For a given class, CBO is defined as the number of relationships the class has with other classes. The more relationships a class has, and so the higher the value of this metric, the more difficult it is to understand the use of the given class.

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

critical path

A

A series of activities in a PERT chart which have no slack and therefore must be completed on time to ensure that the project is not late.

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

cultural requirement

A

A non-functional requirement relating to the people involved in the product’s development and operation.

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

cyclomatic-complexity metric

A

A measure of the complexity of a method by counting the number of independent paths through a method body.

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

data-centred

A

Architectural style where there is a data provider which is a centralised store of persistent data.

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

data-centred style

A

An architectural style in which there is a centralised data provider, together with a number of clients who are data consumers. If the provider simply responds to client requests it is called a database. A variant in which the data store informs clients when a change occurs is known as a blackboard.

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

data-flow style

A

An architectural style in which each component (called a filter) accepts a stream of data, processes it, and passes the result on to the next filter. A filter has no knowledge of other filters upstream or downstream but simply operates on the data it is given.

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

data lock-in

A

The fact that each cloud service presents users with what is in effect a unique interface, making it difficult for a user to move their data and software from one cloud provider to another, as well as presenting problems in integrating with other systems.

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

data loss

A

The amount of data lost because the system fails to record it.

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

decision nodes

A

In an activity diagram a node that is used to indicate alternative transitions that can be made when leaving an activity; it is represented by a diamond shape. A decision node has a single incoming transition; the guards on outgoing transitions are mutually exclusive.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
125
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
126
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
127
Q

deliverable

A

An output, such as a design document or source code, of some software development activity whose production gives evidence of the completion of the activity.

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

denial of use of service (or loss of access)

A

Attack consisting of the denial of service to authorised users.

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

dependency injection

A

A Java EE container service that creates and manages an EJB object ‘injecting’ the necessary references into the client.

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

deployment

A

Configuring code to give a runnable system.

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

deployment model

A

A UML model describing how the components of a system are to be mapped onto different machines and how they will communicate.

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

deployment view

A

The identification of all the nodes that comprise a distributed software system, the components that are stored on each node and the objects that are stored there.

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

depth-of-inheritance-tree (DIT) metric

A

For a given class, this is defined as its number of ancestors. Because of inheritance, a method in the given class can be defined in any of its ancestors. DIT is, therefore, a measure of the number of classes essential to the understanding of the methods of the given class. The deeper a class is in an inheritance tree, and so the higher the value of this metric, the more difficult the class may be to understand.

134
Q

derivation

A

A version of a configuration item based on other configuration items, which might have to be changed if the original item changes.

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

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

137
Q

design

A

The process of determining how to build an artefact that meets a set of objectives that are normally identified during analysis. It is one of the four basic technical activities within a software development process.

138
Q

Design by Contract (DbC)

A

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

139
Q

design decision

A

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

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

141
Q

design pattern

A

A middle-level pattern describing a solution at a software design level.

141
Q

developmental testing

A

One of the four major types of software testing which checks that developmental activities have been carried out correctly, and ideally is performed by development staff and checked by quality assurance (QA) staff.

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

143
Q

disclosure

A

Attack of private information or the unauthorised release of information.

144
Q

discoverable

A

The property of a service in a service oriented architecture that allows the architecture to identify services on behalf of a consumer.

145
Q

domain

A

An area or field of knowledge characterised by a set of concepts and terminology that is understood by practioners in that area.

146
Q

domain analysis

A

A form of requirements elicitation in which existing systems in the domain are examined and domain experts are consulted.

147
Q

domain expert

A

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

148
Q

domain model

A

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

149
Q

domain modelling

A

Modelling what already exists.

150
Q

domain-specific knowledge

A

A necessary but not sufficient element of competence made up of knowledge specifically concerned with the particular task or type of application.

151
Q

dynamic model

A

Describes the behaviour of a software system over time.

152
Q

Dynamic Systems Development Method (DSDM)

A

An agile software development method.

153
Q

dynamic tool

A

A tool that is used at run-time.

154
Q

EJB container

A

A run-time environment where EJB components are deployed.

155
Q

elaboration

A

In UP, phase most analysis and design occur.

156
Q

element

A

In UML, an element is an atomic constituent of a model.

157
Q

engineering

A

A systematic approach to efficiently developing products which are fit for purpose, based on a body of knowledge.

158
Q

enterprise architectures

A

Software systems designed to meet the business needs of large organisations.

159
Q

enterprise beans

A

Another name for EJB components. They are server-side components, that is to say, they are distributed entities that provide remote services to clients distributed throughout the network.

160
Q

Enterprise JavaBeans (EJB)

A

A component technology, based on the Java programming language. It defines a standard that allows organisations to build their own components or acquire components from third-party vendors.

161
Q

enumeration type

A

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

162
Q

error guessing

A

An informal but successful black box testing technique in which the wildest test data that can be thought of is presented to the program unit.

163
Q

waterfall model

A

A particular life cycle that uses the analysis, design, implementation and testing activities in a simple sequence with little or no iteration. Some versions append the maintenance activity.

164
Q

weighted-methods-per-class (WMPC) metric

A

A measure of the complexity of behaviour of a given class. It is defined as the sum of the cyclomatic complexities of each method of the class. The relationship between this metric and complexity is that a class with many simple methods may be as difficult to understand as a class with a few complicated methods.

165
Q

white box testing

A

Used to check that the details of an implementation are correct. White box testing ignores the ‘big picture’ of the requirements, and instead looks to detailed designs to check that the system does what it is supposed to do, correctly.

166
Q

workflow

A

The steps that people go through when doing their jobs. A workflow may contain a number of activities that must be coordinated and arranged in a specified order to achieve a goal. A workflow can be used to represent the flow of activities that takes place in a business process.

167
Q

validation

A

The process of checking that a software system is consistent with the customer’s requirements; that is, the developer is building the ‘right’ product.

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

169
Q

variables

A

In Java, a data field that holds a particular type of value or refers to a particular type of object. Unlike a data field declared as static, the value associated with a variable data field may be changed.

171
Q

variant

A

In a configuration management system, two configuration items which are essentially the same but differ in some well defined sense are called variants. Variants are distinguished by having different descriptive names, and also have descriptions characterising them. Variants themselves undergo revisions and thus have versions.

172
Q

version

A

An ‘instance’ of a configuration item. Also referred to as a revision.

172
Q

view

A

In the MVC, the view is the representation of the model in the user interface: it displays the output from the system and is what the user perceives of the model’s state.

173
Q

virtual machine

A

A software simulation of a computer, running in a special environment.

174
Q

visibility

A

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

175
Q

Unified Modeling Language (UML)

A

A language for visualising, specifying, constructing and documenting the artefacts of a software-intensive system.

176
Q

Unified Process (UP)

A

A popular iterative and incremental process for building enterprise systems based on an object-oriented approach. It consists of four phases: inception, elaboration, construction and transition.

177
Q

unit testing

A

The first stage of developmental testing in which units of functionality (for example, the classes in an object-oriented system) are tested in isolation.

178
Q

usability

A

The effectiveness, efficiency and satisfaction with which users can achieve tasks in a particular environment. High usability means a system is easy to learn and remember; efficient, visually pleasing and fun to use; and quick to recover from errors. Also, usability is a software quality factor affecting product operation requirements which determines the effort required to learn about, to operate, to prepare input for, and to interpret the output of a system, that is, how easy the system is to use.

179
Q

usability requiremenent

A

A non-functional requirement about the product’s ease of use or other usability considerations.

180
Q

usability testing

A

One of the four major types of software testing in which the functionality and user interface are tested to ensure that they are fit for the intended users. This generally involves selected users undertaking carefully designed tasks so that measures of usability can be calculated and fed back into the development process.

181
Q

use case

A

A description, of a piece of functionality that a system performs to yield an observable result of some value to an actor.

182
Q

use case diagram

A

A diagram that shows a set of use cases and actors and their associations.

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

184
Q

Java Enterprise Edition (Java EE)

A

A framework for constructing enterprise systems.

185
Q

jitter

A

The amount of variation in latency, for example, are some responses very quick but others take much longer?

186
Q

join

A

In activity diagrams, a join node synchronises multiple parallel flows.

187
Q

hacking

A

In the popular media, the term is synonymous with computer misuse. In the computing community, a hacker is one who programs enthusiastically (even obsessively) or who enjoys programming rather than just theorising about programming.

188
Q

hardware independence

A

The degree to which the software is decoupled from the hardware on which it operates.

189
Q

heroic programming

A

A form of software development where a single person attempts to have in mind everything concerning a given problem and its eventual solution.

190
Q

HTTP (Hypertext Transfer Protocol)

A

A protocol for communication of data in the Web.

191
Q

human factors

A

The discipline that deals with the relationship between people and technology.

192
Q

hybrid cloud

A

A cloud offered by an organisation that combines a private cloud with externally provided cloud services.

193
Q

namespace

A

A boundary within which names are unique.

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

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

196
Q

non-deterministic

A

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

197
Q

non-functional requirement

A

A quality that a system must have.

198
Q

notification style

A

An architectural style in which one kind of component, the observer, registers itself with another component, the subject, in order to be notified when some particular event occurs at the subject’s end.

199
Q

number-of-children (NOC) metric

A

For a given class, NOC is defined as the number of children for that class. This metric is a measure of the number of classes that will be affected by changes to a given parent class.

200
Q

Object Constraint Language (OCL)

A

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.

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

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

203
Q

observable

A

In the Observer pattern the object, also called the subject, that keeps objects registered with it informed when its state changes.

204
Q

observer

A

In the Observer pattern objects register themselves with a Observable, in order to receive notifications when the latter’s state changes.

205
Q

Observer pattern

A

A design pattern that addresses the issue of supporting dependencies between objects, whilst keeping coupling low.

206
Q

open-source software

A

Similar to freeware, except that it is maintained and upgraded openly by a community of expert users; code can be modified.

207
Q

operability

A

The ease of operation of a program.

208
Q

operational and environmental requirement

A

A non-functional requirement about how the environment on which the product will have to work (under water, for example), and what considerations must be made for this environment.

209
Q

oracle

A

The criteria in a test case that helps define whether the test is passed.

210
Q

organisational units

A

The groups to which people belong.

211
Q

factory

A

A specialised object for creating and initialising objects needed by clients.

212
Q

factory method

A

A variant of the Factory pattern particularly useful in the definition of frameworks in which application-specific factories and products can be defined based on the interfaces defined in the framework.

213
Q

Factory pattern

A

A pattern to define a specialised object for the creation and initialisation of other objects.

214
Q

filter

A

Element in a pipe and filter architecture that takes some data and processes it to produce a result.

215
Q

final state

A

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

216
Q

fit criterion

A

A quantification or a measurement of a requirement expressed in a way that allows you to assess whether or not the final product satisfies, or fits, that requirement.

217
Q

fixture

A

The state in place and the data to be used on a test case.

218
Q

flexibility

A

The property of a software system that indicates how easily the system can be modified.

219
Q

foreign key

A

In a database table, a column that holds a key from a different table.

220
Q

fork

A

In activity diagrams, a fork node splits control into multiple parallel flows.

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

222
Q

formal technical review (FTR)

A

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.

223
Q

forward engineering

A

The process, usually automated or semi-automated in a CASE tool, for producing programming language source code from a model. If the code is automatically generated it usually requires additional human input before it is complete and can be machine compiled or interpreted.

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

225
Q

framework

A

A collection of classes that together provide behaviour common to a variety of applications. The programmer creates a new application by extending and, perhaps, overriding the behaviour of the classes contained in the framework.

Also, the part of an architecture that can be reused.

226
Q

freeware

A

A piece of software that is given away free to users, although the copyright remains with the originator and the original software cannot be distributed by anyone else.

227
Q

freezing

A

A stage in change control where any further changes to a baseline are forbidden, which means disabling further check in operations for the items in the corresponding configuration.

228
Q

functional (or logical) view

A

In a software architecture it describes the system’s main functional elements, their responsibilities, interfaces and primary interactions. A functional view is the cornerstone of most architectural descriptions.

229
Q

further analysis

A

The adding of additional detail to a system specification. In particular, system operations and model constraints.

230
Q

Gantt chart

A

A project management chart named after its originator, the American management consultant Henry Laurence Gantt, in which the horizontal direction represents time and the vertical direction represents activities, and which can be set out as a table, whose rows show when the work takes place, or as a bar chart, whose horizontal bars show when the work takes place. Gantt charts emphasise the times at which things happen.

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

232
Q

General Responsibility Assignment Software Patterns (GRASP)

A

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

233
Q

generic collection

A

In Java, collection types can be parameterised by the type of the objects they contain.

234
Q

glossary

A

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

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

236
Q

GRASP Creator

A

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

237
Q

GRASP Expert

A

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

238
Q

guarantee

A

A condition that a component promises to other components.

239
Q

guard

A

A condition that must be satisfied in order to enable an associated transition to fire within a state machine or activity diagram.

240
Q

guillemets

A

Angled brackets (« …») used in UML to show a stereotype. They have other more general uses.

241
Q

random testing

A

A black box testing technique in which test data is randomly generated within the input data space.

242
Q

realisation

A

An implementation of an interface.

243
Q

record

A

A row of a database table.

244
Q

recursive

A

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

245
Q

refactoring

A

The reorganisation of code structure for reasons such as clarity or maintainability, while making no change to the external behaviour.

246
Q

registry

A

A mechanism that allows clients to find services.

247
Q

regression testing

A

One of the four major types of software testing, which occurs during developmental testing and system maintenance, and which checks that fixing one bug has not introduced others.

248
Q

release

A

A configuration version delivered on completion of the project for use by the customer.

249
Q

reliability

A

A software quality factor affecting product operation requirements which determines the likelihood with which a system can be expected to perform its intended function, that is, how well the software does what it is supposed to do.

250
Q

rendezvous semantics

A

A way of getting two active objects to communicate. The sender indicates a desire to talk and the receiver indicates a desire to listen. Whichever of these happens first causes that thread to block until the other has happened, at which point communication takes place.

251
Q

repository

A

Centralised store of persistent data in a data-centred architecture.

252
Q

repudiation

A

Attack consisting of (false) claim by legitimate user that a message was not sent or received.

253
Q

required interface

A

The set of operations a component needs from other components.

254
Q

requirement

A

A desired feature, property or behaviour of a software system.

255
Q

requirements analysis

A

An activity undertaken to decide what needs to be done to solve the problem that has been articulated during requirements elicitation. The result is a deliverable that forms the basis for a solution to be implemented. It is expressed in technical terms that are understandable to the developers.

256
Q

requirements-based testing

A

One of the four major types of software testing which checks that a system meets the customer’s requirements, and is carried out by QA staff in conjunction with the customer.

257
Q

requirements documentation

A

An activity undertaken to record agreed requirements.

258
Q

requirements elicitation

A

An activity undertaken to discover, identify, review, articulate and understand the users’ needs and constraints on the software and its development. The result is a clear statement of the problem to be addressed.

259
Q

requirements engineering

A

An activity in the process of developing software that aims to elicit and specify the requirements of the client(s)/user(s) in a form that can be used in the design of the software and in assessing its quality once it is built. It can be divided into two main activities: requirements elicitation and requirements analysis.

260
Q

requirements negotiation

A

An activity undertaken to agree requirements.

261
Q

Requirements pattern

A

A description of knowledge used in the elicitation of requirements.

262
Q

requirements specification

A

A detailed description of the requirements for a system.

263
Q

requirements validation

A

A careful check of a requirements document, usually following a checklist.

264
Q

resource balancing/levelling

A

The process of juggling the assignment of resources to activities over time so that each resource is used at its capacity, and each activity receives the resources that it needs.

265
Q

response-for-a-class (RFC) metric

A

For a given class, RFC is defined as the size of the response set for the class. Classes with high values for this metric will be more difficult to understand than classes with low values.

266
Q

response set

A

All the methods of a class, including those inherited, and those it invokes.

267
Q

RESTful

A

A web service that uses a uniform interface consisting only of a set of standard methods which are always the same for every service.

268
Q

reusability

A

A software quality factor affecting product transition requirements which determines the extent to which a system (or system component) can be reused in other applications, that is, how easy it is to reuse some of the software to make future developments more cost-effective.

269
Q

reverse engineering

A

The process, usually automated or semi-automated in a CASE tool, for deriving a model from source code alone.

270
Q

review

A

A software inspection meeting to confirm and list major defects, and to determine who will be responsible for addressing each defect.

271
Q

risk management

A

Analysis of risks in a development process and determination of steps to reduce them.

272
Q

robustness

A

The degree of immunity from damage when a program encounters an error. Also referred to as error tolerance.

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

274
Q

role name

A

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

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

276
Q

partition

A

The decomposition of a problem into a number of subproblems that are independent of each other.

277
Q

partitioning

A

This black box testing technique focuses on producing test data at the boundaries between partitions of the input data space (or input domain). Partitioning is based on the observation that common errors are often caused by a data item being just one out, or a loop being executed one too many or one too few times, for example; such errors are most visible at the boundaries of the input data space. (Also referred to as equivalence partitioning.)

278
Q

path parameter

A

Part of a path to be replaced by the corresponding element in the actual URI the client uses when making a request.

279
Q

peer-to-peer

A

An architecture where there is no clear distinction between clients and servers.

280
Q

peer-to-peer style

A

An architectural style in which all components are both clients and servers and any component can request services from any other component.

281
Q

performance

A

The ability of a system to process service requests.

282
Q

performance requirement

A

A non-functional requirement about how fast, how safe, how accurate, how available and how reliable the product must be.

283
Q

performance testing

A

System testing that tests that the system meets all specified operating requirements for speed, number of concurrent users permitted, etc.

284
Q

PERT chart

A

A project management chart in which PERT stands for Project (or Program) Evaluation and Review Technique. It shows the activities as boxes with lines joining them to indicate the interdependencies and the flow of critical information. PERT charts emphasise interdependencies and allow critical path analysis.

285
Q

pipe

A

Element in a pipe and filter architecture that is a conduit along which the data flows.

286
Q

pipes and filters

A

An architecture where filters are the elements that take some data and process it to produce a result, and pipes are the conduits along which the data flows. Also known as data-flow.

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

288
Q

plan-driven development

A

Term used to distinguish traditional, more prescriptive approaches to software development from agile development approaches.

289
Q

planning

A

The first stage of a formal technical review.

290
Q

Planning Game

A

An XP practice with two participants, the business and the development. This game takes place not only at the beginning of the project but at regular intervals (say every three weeks) to determine the priorities and work for the next release and to define a plan. It is played with story cards. (See iteration planning game.)

291
Q

polymorphism

A

In object oriented programming, when a program specifies that some message is to be sent to some object, it is not always possible at compile time to determine which of several candidate methods should correspond to the message. This is because, for inheritance or other reasons, there may be several classes of object with a common interface, and the identity of the class of the receiver may not be determined till run time.

Such a message is said to be polymorphic.

292
Q

portability

A

A software quality factor affecting product transition requirements which determines the effort required to transfer the system from one hardware platform and/or software environment to another, that is, how easily the system can be used on another machine should the customer change their platform or should other customers require it.

293
Q

postcondition

A

A constraint that must be true at the completion of an operation, or use case

294
Q

precondition

A

A constraint that must be true when an operation is invoked, or when a use case is carried out.

295
Q

predefined type

A

A data type that is provided by a programming or a modelling language and available to the developer. Examples are data types for numbers, strings and collections.

296
Q

preferred version

A

In configuration management, the default version which is checked out, usually the latest.

297
Q

presentation layer

A

In a layered architecture, the layer concerned with the user interface.

298
Q

primary key

A

In a database table, a column that uniquely identifies each row of the table.

299
Q

private cloud

A

A cloud that belongs to a particular organisation, usually one large enough to generate economies of scale internally.

300
Q

procedure

A

In general, a procedure is a prescribed set of steps for carrying out a task. In programming, it refers to a block of code that carries out a specified programming task and may or may not have input and output parameters. In object-oriented systems, methods are used to implement procedures.

301
Q

process

A

In program execution, a process is a dynamic (abstract) entity that executes a program on a processor. It is associated with resources such as a main memory and files. In this context, processes are also sometimes referred to as tasks.

In software development, a process is a set of activities or operations that takes one or more inputs, such as a design document, and results in one or more products, such as a software module and its test cases.

302
Q

process improvement

A

The idea that an organisation should learn from difficulties encountered with their existing processes, and improve as a result.

303
Q

process-related human factors

A

Factors affecting the performance of a software engineer which arise either from the characteristics and skills of the engineer or are external influences that have an impact on how effectively they can apply themselves to the task. They include person-related human factors, task-related human factors, and environment-related human factors.

304
Q

process view

A

In a system architecture, this view addresses concurrent aspects of the system at run-time, including all system processes and system start-up and shut-down.

305
Q

product

A

In the Factory design pattern the object the factory produces.

306
Q

product backlog

A

An artefact in Scrum (an agile method) that consists of an ordered structured list of what needs to be done to a system.

307
Q

product line

A

A set of related software products for different customers, reusing major parts of the software from customer to customer, with only those parts peculiar to the particular customer being different.

308
Q

product-line initiation

A

This is the first step in the product line process, where it is recognised that there is a class of commonly recurring software systems where solutions do not differ much from each other.

309
Q

product operation requirements

A

How a product will be used

310
Q

product-related human factors

A

The human factors involved in the people–technology relationship

311
Q

product revision requirements

A

How a product will be maintained.

312
Q

product transition requirements

A

How a product will be modified for different operating environments.

313
Q

profession

A

‘A form of employment, esp. one that is possible only for an educated person and after training (such as law, medicine or teaching) and that is respected in society as honourable.’ (Longman Dictionary of Contemporary English, 1987.)

314
Q

project management

A

The activity concerned with ensuring that a software project is completed within the estimated time. It involves determining the work involved, assigning work units to people or teams for periods of time, and giving a work plan for the project.

315
Q

project plan

A

A plan breaking down the development of a system into stages and showing how much resource is required at each stage.

316
Q

prototype

A

A simplified software system that is a subset of the eventual product.

317
Q

prototypical interaction

A

An interaction described using some prototypical objects.

318
Q

prototypical object

A

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

319
Q

provided interface

A

The set of operations a component makes available to other components.

320
Q

provider

A

In SOA the platform on which a service is implemented.

321
Q

public cloud

A

A cloud such as Amazon EC2 or Google App Engine which is available to anyone willing to purchase the service.

322
Q

public-domain software

A

Similar to freeware except that the originator has signed away the copyright. This means that users can modify the software, redistribute it or incorporate it into their own work.

323
Q

publisher

A

Component, in a publish-subscribe architecture, that notifies other components of updates.

324
Q

publish-subscribe

A

Architectural style where subscribers register to receive updates (often messages) whenever a publisher posts a new item.

325
Q

qualified association

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

326
Q

quality attribute scenario

A

A tool which allows specification of non-functional requirements in a more precise and detailed form which can be used to help make architectural decisions.

327
Q

quality management

A

An activity that takes place throughout the software development process to ensure the quality of the final product.

328
Q

quality management system (QMS) 

A

An organisation-wide mechanism for building quality into projects and for managing the quality control process. Consists of the managerial structure, responsibilities, capabilities and resources that ensure that software products developed by projects will have the qualities desired by both the customer and the developer.

329
Q

quality manual

A

A document containing quality standards, guidelines and procedures.

330
Q

quality plan

A

A document specifying the quality controls for a project.

331
Q

Quantity pattern

A

A pattern which provides useful guidance on how to represent dimensioned quantities, that is, values plus their units of measurement.