Skip to content

Glossary

Matthew Hambley edited this page Jun 14, 2019 · 3 revisions

These definitions are provided to ensure that everyone working on the project means the same thing when they use a term.

It is split into sections in an attempt to keep things managable.

Build System Terminology

Artifact
A piece of data which is the input or output of a transformation. This will normally be a file but may be something else. e.g. It could be printed to the terminal.
Final
A process which consumes artifacts only. No artifacts are produced.
Initial
A process which produces artifacts only. No artifacts are consumed.
Product
An artifact produced by a final process. Something the user is expecting to get from the build system.
Transformation
A process which takes one or more artifacts and produces one or more artifacts.

Graph Terminology

Cycle
A path through the graph which revisits a node.
Directed Acylclic Graph (DAG)
A graph in which all edges have a direction and there are no cycles.
Directed Edge
May only be traversed in one direction.
Edge
Connects two nodes. May be traversed in either direction.
Graph
A set of nodes connected by edges.
Node
Where edges meet.
Vertex
See Node.

Software Engineering Terminology

Functional requirement
Pieces of functionality the final implemented system must exhibit. Each one tends to be a discrete piece of work in its own right.
Functional testing
A testing technique in which a piece of code is stimulated with a set input and the result is compared against an expected answer.
Integration testing
A method of functional testing in which several subsystems are tested together.
System testing
A method of functional testing in which an entire software system is tested. The system is usually a program or library.
Technical requirement
A statement of fact which must be true for the system being implemented. These usually describe some aspect of the development or operational environemnt.
Unit testing
A method of functional testing in which a single descrete unit of code is tested. A unit is usually a subroutine or method.
Clone this wiki locally