ADC. analog-to-digital converter.
ALU. arithmetic logic unit.
ANSI. American National Standards Institute.
ASCII. American Standard Code for Information Interchange.
abstraction. The separation of the logical properties of data or function from its
implementation in a computer program. See: encapsulation, information hiding,
software engineering.
access. (ANSI) To obtain the use of a resource.
access time. (ISO) The time interval between the instant at which a call for data is
initiated and the instant at which the delivery of the data is completed.
accident. See: mishap.
accuracy. (IEEE) (1) A qualitative assessment of correctness or freedom from error.
(2) A quantitative measure of the magnitude of error. Contrast with precision.
(CDRH) (3) The measure of an instrument's capability to approach a true or
absolute value. It is a function of precision and bias. See: bias, precision,
calibration.
accuracy study processor. A software tool used to perform calculations or
determine accuracy of computer manipulated program variables.
actuator. A peripheral [output] device which translates electrical signals into
mechanical actions; e.g., a stepper motor which acts on an electrical signal
received from a computer instructing it to turn its shaft a certain number of
degrees or a certain number of rotations. See: servomechanism.
adaptive maintenance. (IEEE) Software maintenance performed to make a
computer program usable in a changed environment. Contrast with corrective
maintenance, perfective maintenance.
address. (1) A number, character, or group of characters which identifies a given
device or a storage location which may contain a piece of data or a program step.
(2) To refer to a device or storage location by an identifying number, character, or
group of characters.
addressing exception. (IEEE) An exception that occurs when a program calculates
an address outside the bounds of the storage available to it.
algorithm. (IEEE) (1) A finite set of well-defined rules for the solution of a problem
in a finite number of steps. (2) Any sequence of operations for performing a
specific task.
algorithm analysis. (IEEE) A software V&V task to ensure that the algorithms
selected are correct, appropriate, and stable, and meet all accuracy, timing, and
sizing requirements.
alphanumeric. Pertaining to a character set that contains letters, digits, and
usually other characters such as punctuation marks.
American National Standards Institute. 11 West 42nd Street, New York, N.Y.
10036. An organization that coordinates the development of U.S. voluntary
national standards for nearly all industries. It is the U.S. member body to ISO and
IEC. Information technology standards pertain to programming languages,
electronic data interchange, telecommunications and physical properties of
diskettes, cartridges and magnetic tapes.
American Standard Code for Information Interchange. A seven bit code adopted
as a standard to represent specific data characters in computer systems, and to
facilitate interchange of data between various machines and systems. Provides
128 possible characters, the first 32 of which are used for printing and
transmission control. Since common storage is an 8-bit byte [256 possible
characters] and ASCII uses only 128, the extra bit is used to hold a parity bit or
create special symbols. See: extended ASCII.
analog. Pertaining to data [signals] in the form of continuously variable [wave
form] physical quantities; e.g., pressure, resistance, rotation, temperature, voltage.
Contrast with digital.
analog device. (IEEE) A device that operates with variables represented by
continuously measured quantities such as pressures, resistances, rotations,
temperatures, and voltages.
analog-to-digital converter. Input related devices which translate an input
device's [sensor] analog signals to the corresponding digital signals needed by the
computer. Contrast with DAC [digital-to-analog converter]. See: analog, digital.
analysis. (1) To separate into elemental parts or basic principles so as to
determine the nature of the whole. (2) A course of reasoning showing that a certain
result is a consequence of assumed premises. (3) (ANSI) The methodical
investigation of a problem, and the separation of the problem into smaller related
units for further detailed study.
anomaly. (IEEE) Anything observed in the documentation or operation of software
that deviates from expectations based on previously verified software products or
reference documents. See: bug, defect, error, exception, fault.
application program. See: application software.
application software. (IEEE) Software designed to fill specific needs of a user; for
example, software for navigation, payroll, or process control. Contrast with
support software; system software.
architectural design. (IEEE) (1) The process of defining a collection of hardware
and software components and their interfaces to establish the framework for the
development of a computer system. See: functional design. (2) The result of the
process in (1). See: software engineering.
architecture. (IEEE) The organizational structure of a system or component. See:
component, module, subprogram, routine.
archival database. (ISO) An historical copy of a database saved at a significant
point in time for use in recovery or restoration of the database.
archive. (IEEE) A lasting collection of computer system data or other records that
are in long term storage.
archive file. (ISO) A file that is part of a collection of files set aside for later
research or verification, for security purposes, for historical or legal purposes, or
for backup.
arithmetic logic unit. The [high speed] circuits within the CPU which are
responsible for performing the arithmetic and logical operations of a computer.
arithmetic overflow. (ISO) That portion of a numeric word that expresses the
result of an arithmetic operation, by which the length of the word exceeds the word
length of the space provided for the representation of the number. See: overflow,
overflow exception.
arithmetic underflow. (ISO) In an arithmetic operation, a result whose absolute
value is too small to be represented within the range of the numeration system in
use. See: underflow, underflow exception.
array. (IEEE) An n-dimensional ordered set of data items identified by a single
name and one or more indices, so that each element of the set is individually
addressable; e.g., a matrix, table, or vector.
as built. (NIST) Pertaining to an actual configuration of software code resulting
from a software development project.
assemble. See: assembling.
assembler. (IEEE) A computer program that translates programs [source code
files] written in assembly language into their machine language equivalents [object
code files]. Contrast with compiler, interpreter. See: cross-assembler, cross-
compiler.
assembling. (NIST) Translating a program expressed in an assembly language into
object code.
assembly code. See: assembly language.
assembly language. (IEEE) A low level programming language, that corresponds
closely to the instruction set of a given computer, allows symbolic naming of
operations and addresses, and usually results in a one-to-one translation of
program instructions [mnemonics] into machine instructions. See: low-level
language.
assertion. (NIST) A logical expression specifying a program state that must exist or
a set of conditions that program variables must satisfy at a particular point during
program execution.
assertion checking. (NIST) Checking of user- embedded statements that assert
relationships between elements of a program. An assertion is a logical expression
that specifies a condition or relation among program variables. Tools that test the
validity of assertions as the program is executing or tools that perform formal
verification of assertions have this feature. See: instrumentation; testing,
assertion.
asynchronous. Occurring without a regular time relationship, i.e., timing
independent.
asynchronous transmission. A timing independent method of electrical transfer
of data in which the sending and receiving units are synchronized on each
character, or small block of characters, usually by the use of start and stop signals.
Contrast with synchronous transmission.
audit. (1) (IEEE) An independent examination of a work product or set of work
products to assess compliance with specifications, standards, contractual
agreements, or other criteria. See: functional configuration audit, physical
configuration audit. (2) (ANSI) To conduct an independent review and examination
of system records and activities in order to test the adequacy and effectiveness of
data security and data integrity procedures, to ensure compliance with
established policy and operational procedures, and to recommend any necessary
changes. See: computer system audit, software audit.
audit trail. (1) (ISO) Data in the form of a logical path linking a sequence of events,
used to trace the transactions that have affected the contents of a record. (2) A
chronological record of system activities that is sufficient to enable the
reconstruction, reviews, and examination of the sequence of environments and
activities surrounding or leading to each event in the path of a transaction from its
inception to output of final results.
auxiliary storage. Storage device other than main memory [RAM]; e.g., disks and
tapes.
-B-
BIOS. basic input/output system.
bps. bits per second.
band. Range of frequencies used for transmitting a signal. A band can be identified
by the difference between its lower and upper limits, i.e. bandwidth, as well as by
its actual lower and upper limits; e.g., a 10 MHz band in the 100 to 110 MHz range.
bandwidth. The transmission capacity of a computer channel, communications
line or bus. It is expressed in cycles per second [Hz], and also is often stated in bits
or bytes per second. See: band.
bar code. (ISO) A code representing characters by sets of parallel bars of varying
thickness and separation that are read optically by transverse scanning.
baseline. (NIST) A specification or product that has been formally reviewed and
agreed upon, that serves as the basis for further development, and that can be
changed only through formal change control procedures.
BASIC. An acronym for Beginners All-purpose Symbolic Instruction Code, a high-
level programming language intended to facilitate learning to program in an
interactive environment.
basic input/output system. Firmware that activates peripheral devices in a PC.
Includes routines for the keyboard, screen, disk, parallel port and serial port, and
for internal services such as time and date. It accepts requests from the device
drivers in the operating system as well from application programs. It also contains
autostart functions that test the system on startup and prepare the computer for
operation. It loads the operating system and passes control to it.
batch. (IEEE) Pertaining to a system or mode of operation in which inputs are
collected and processed all at one time, rather than being processed as they
arrive, and a job, once started, proceeds to completion without additional input or
user interaction. Contrast with conversational, interactive, on-line, real time.
batch processing. Execution of programs serially with no interactive processing.
Contrast with real time processing.
baud. The signalling rate of a line. It's the switching speed, or number of transitions
[voltage or frequency change] made per second. At low speeds bauds are equal to
bits per seconds; e.g., 300 baud is equal to 300 bps. However, one baud can be
made to represent more than one bit per second.
benchmark. A standard against which measurements or comparisons can be
made.
bias. A measure of how closely the mean value in a series of replicate
measurements approaches the true value. See: accuracy, precision, calibration.
binary. The base two number system. Permissible digits are "0" and "1".
bit. A contraction of the term binary digit. The bit is the basic unit of digital data. It
may be in one of two states, logic 1 or logic 0. It may be thought of as a switch
which is either on or off. Bits are usually combined into computer words of various
sizes, such as the byte.
bits per second. A measure of the speed of data transfer in a communications
system.
black-box testing. See: testing, functional.
block. (ISO) (1) A string of records, words, or characters that for technical or logical
purposes are treated as a unity. (2) A collection of contiguous records that are
recorded as a unit, and the units are separated by interblock gaps. (3) A group of
bits or digits that are transmitted as a unit and that may be encoded for error-
control purposes. (4) In programming languages, a subdivision of a program that
serves to group related statements, delimit routines, specify storage allocation,
delineate the applicability of labels, or segment parts of the program for other
purposes. In FORTRAN, a block may be a sequence of statements; in COBOL, it
may be a physical record.
block check. (ISO) The part of the error control procedure that is used for
determining that a block of data is structured according to given rules.
block diagram. (NIST) A diagram of a system, instrument or computer, in which
the principal parts are represented by suitably annotated geometrical figures to
show both the basic functions of the parts and the functional relationships
between them.
block length. (1) (ISO) The number of records, words or characters in a block. (2)
(ANSI) A measure of the size of a block, usually specified in units such as records,
words, computer words, or characters.
block transfer. (ISO) The process, initiated by a single action, of transferring one or
more blocks of data.
blocking factor. (ISO) The number of records in a block. The number is computed
by dividing the size of the block by the size of each record contained therein. Syn:
grouping factor.
blueprint. An exact or detailed plan or outline. Contrast with graph.
bomb. A trojan horse which attacks a computer system upon the occurrence of a
specific logical event [logic bomb], the occurrence of a specific time-related
logical event [time bomb], or is hidden in electronic mail or data and is triggered
when read in a certain way [letter bomb]. See: trojan horse, virus, worm.
boolean. Pertaining to the principles of mathematical logic developed by George
Boole, a nineteenth century mathematician. Boolean algebra is the study of
operations carried out on variables that can have only one of two possible values;
i.e., 1 (true) and 0 (false). As ADD, SUBTRACT, MULTIPLY, and DIVIDE are the
primary operations of arithmetic, AND, OR, and NOT are the primary operations of
Boolean Logic. In Pascal a boolean variable is a variable that can have one of two
possible values, true or false.
boot. (1) (IEEE) To initialize a computer system by clearing memory and reloading
the operating system. (2) To cause a computer system to reach a known beginning
state. A boot program, in firmware, typically performs this function which includes
loading basic instructions which tell the computer how to load programs into
memory and how to begin executing those programs. A distinction can be made
between a warm boot and a cold boot. A cold boot means starting the system from
a powered-down state. A warm boot means restarting the computer while it is
powered-up. Important differences between the two procedures are; 1) a power-up
self-test, in which various portions of the hardware [such as memory] are tested
for proper operation, is performed during a cold boot while a warm boot does not
normally perform such self-tests, and 2) a warm boot does not clear all memory.
bootstrap. (IEEE) A short computer program that is permanently resident or easily
loaded into a computer and whose execution brings a larger program, such an
operating system or its loader, into memory.
boundary value. (1) (IEEE) A data value that corresponds to a minimum or
maximum input, internal, or output value specified for a system or component. (2)
A value which lies at, or just inside or just outside a specified range of valid input
and output values.
boundary value analysis. (NBS) A selection technique in which test data are
chosen to lie along "boundaries" of the input domain [or output range] classes,
data structures, procedure parameters, etc. Choices often include maximum,
minimum, and trivial values or parameters. This technique is often called stress
testing. See: testing, boundary value.
box diagram. (IEEE) A control flow diagram consisting of a rectangle that is
subdivided to show sequential steps, if-then-else conditions, repetition, and case
conditions. Syn: Chapin chart, Nassi-Shneiderman chart, program structure
diagram. See: block diagram, bubble chart, flowchart, graph, input-process-output
chart, structure chart.
branch. An instruction which causes program execution to jump to a new point in
the program sequence, rather than execute the next instruction. Syn: jump.
branch analysis. (Myers) A test case identification technique which produces
enough test cases such that each decision has a true and a false outcome at least
once. Contrast with path analysis.
branch coverage. (NBS) A test coverage criteria which requires that for each
decision point each possible branch be executed at least once. Syn: decision
coverage. Contrast with condition coverage, multiple condition coverage, path
coverage, statement coverage. See: testing, branch.
bubble chart. (IEEE) A data flow, data structure, or other diagram in which entities
are depicted with circles [bubbles] and relationships are represented by links
drawn between the circles. See: block diagram, box diagram, flowchart, graph,
input-process-output chart, structure chart.
buffer. A device or storage area [memory] used to store data temporarily to
compensate for differences in rates of data flow, time of occurrence of events, or
amounts of data that can be handled by the devices or processes involved in the
transfer or use of the data.
bug. A fault in a program which causes the program to perform in an unintended or
unanticipated manner. See: anomaly, defect, error, exception, fault.
bus. A common pathway along which data and control signals travel between
different hardware devices within a computer system. (A) When bus architecture is
used in a computer, the CPU, memory and peripheral equipment are
interconnected through the bus. The bus is often divided into two channels, a
control channel to select where data is located [address bus], and the other to
transfer the data [data bus or I/O bus]. Common buses are: ISA [Industry Standard
Architecture] the original IBM PC 16 bit AT bus; EISA [Extended Industry Standard
Architecture] the IBM PC 32 bit XT bus [which provides for bus mastering]; MCA
[MicroChannel Architecture] an IBM 32 bit bus; Multibus I & II [advanced, 16 & 32
bit respectively, bus architecture by Intel used in industrial, military and aerospace
applications]; NuBus, a 32 bit bus architecture originally developed at MIT [A
version is used in the Apple Macintosh computer]; STD bus, a bus architecture
used in medical and industrial equipment due to its small size and rugged design
[Originally 8 bits, with extensions to 16 and 32 bits]; TURBO Channel, a DEC 32 bit
data bus with peak transfer rates of 100 MB/second; VMEbus [Versa Module
Eurocard Bus], a 32 bit bus from Motorola, et.al., used in industrial, commercial
and military applications worldwide [VME64 is an expanded version that provides
64 bit data transfer and addressing]. (B) When bus architecture is used in a
network, all terminals and computers are connected to a common channel that is
made of twisted wire pairs, coaxial cable, or optical fibers. Ethernet is a common
LAN architecture using a bus topology.
byte. A sequence of adjacent bits, usually eight, operated on as a unit.
-C-
CAD. computer aided design.
CAM. computer aided manufacturing.
CASE. computer aided software engineering.
CCITT. Consultive Committee for International Telephony and Telegraphy.
CD-ROM. compact disc - read only memory.
CISC. complex instruction set computer.
CMOS. complementary metal-oxide semiconductor.
CO-AX. coaxial cable.
COTS. configurable, off-the-shelf software.
CP/M. Control Program for Microcomputers.
CPU. central processing unit.
CRC. cyclic redundancy [check] code.
CRT. cathode ray tube.
C. A general purpose high-level programming language. Created for use in the
development of computer operating systems software. It strives to combine the
power of assembly language with the ease of a high-level language.
C++. An object-oriented high-level programming language.
calibration. Ensuring continuous adequate performance of sensing,
measurement, and actuating equipment with regard to specified accuracy and
precision requirements. See: accuracy, bias, precision.
call graph. (IEEE) A diagram that identifies the modules in a system or computer
program and shows which modules call one another. Note: The result is not
necessarily the same as that shown in a structure chart. Syn: call tree, tier chart.
Contrast with structure chart. See: control flow diagram, data flow diagram, data
structure diagram, state diagram.
cathode ray tube. An output device. Syn: display, monitor, screen.
cause effect graph. (Myers) A Boolean graph linking causes and effects. The graph
is actually a digital-logic circuit (a combinatorial logic network) using a simpler
notation than standard electronics notation.
cause effect graphing. (1) (NBS) Test data selection technique. The input and
output domains are partitioned into classes and analysis is performed to
determine which input classes cause which effect. A minimal set of inputs is
chosen which will cover the entire effect set. (2) (Myers) A systematic method of
generating test cases representing combinations of conditions. See: testing,
functional.
central processing unit. The unit of a computer that includes the circuits
controlling the interpretation of program instructions and their execution. The CPU
controls the entire computer. It receives and sends data through input-output
channels, retrieves data and programs from memory, and conducts mathematical
and logical functions of a program.
certification. (ANSI) In computer systems, a technical evaluation, made as part of
and in support of the accreditation process, that establishes the extent to which a
particular computer system or network design and implementation meet a
prespecified set of requirements.
change control. The processes, authorities for, and procedures to be used for all
changes that are made to the computerized system and/or the system's data.
Change control is a vital subset of the Quality Assurance [QA] program within an
establishment and should be clearly described in the establishment's SOPs. See:
configuration control.
change tracker. A software tool which documents all changes made to a program.
check summation. A technique for error detection to ensure that data or program
files have been accurately copied or transferred. Basically, a redundant check in
which groups of digits; e.g., a file, are summed, usually without regard to overflow,
and that sum checked against a previously computed sum to verify operation
accuracy. Contrast with cyclic redundancy check [CRC], parity check. See:
checksum.
checksum. (IEEE) A sum obtained by adding the digits in a numeral, or group of
numerals [a file], usually without regard to meaning, position, or significance. See:
check summation.
chip. See: integrated circuit.
client-server. A term used in a broad sense to describe the relationship between
the receiver and the provider of a service. In the world of microcomputers, the term
client-server describes a networked system where front-end applications, as the
client, make service requests upon another networked system. Client-server
relationships are defined primarily by software. In a local area network [LAN], the
workstation is the client and the file server is the server. However, client-server
systems are inherently more complex than file server systems. Two disparate
programs must work in tandem, and there are many more decisions to make about
separating data and processing between the client workstations and the database
server. The database server encapsulates database files and indexes, restricts
access, enforces security, and provides applications with a consistent interface to
data via a data dictionary.
clock. (ISO) A device that generates periodic, accurately spaced signals used for
such purposes as timing, regulation of the operations of a processor, or generation
of interrupts.
coaxial cable. High-capacity cable used in communications and video
transmissions. Provides a much higher bandwidth than twisted wire pair.
COBOL. Acronym for COmmon Business Oriented Language. A high-level
programming language intended for use in the solution of problems in business
data processing.
code. See: program, source code.
code audit. (IEEE) An independent review of source code by a person, team, or
tool to verify compliance with software design documentation and programming
standards. Correctness and efficiency may also be evaluated. Contrast with code
inspection, code review, code walkthrough. See: static analysis.
code auditor. A software tool which examines source code for adherence to
coding and documentation conventions.
code inspection. (Myers/NBS) A manual [formal] testing [error detection]
technique where the programmer reads source code, statement by statement, to a
group who ask questions analyzing the program logic, analyzing the code with
respect to a checklist of historically common programming errors, and analyzing
its compliance with coding standards. Contrast with code audit, code review, code
walkthrough. This technique can also be applied to other software and
configuration items. Syn: Fagan Inspection. See: static analysis.
code review. (IEEE) A meeting at which software code is presented to project
personnel, managers, users, customers, or other interested parties for comment
or approval. Contrast with code audit, code inspection, code walkthrough. See:
static analysis.
code walkthrough. (Myers/NBS) A manual testing [error detection] technique
where program [source code] logic [structure] is traced manually [mentally] by a
group with a small set of test cases, while the state of program variables is
manually monitored, to analyze the programmer's logic and assumptions.
Contrast with code audit, code inspection, code review. See: static analysis.
coding. (IEEE) (1) In software engineering, the process of expressing a computer
program in a programming language. (2) The transforming of logic and data from
design specifications (design descriptions) into a programming language. See:
implementation.
coding standards. Written procedures describing coding [programming] style
conventions specifying rules governing the use of individual constructs provided
by the programming language, and naming, formatting, and documentation
requirements which prevent programming errors, control complexity and promote
understandability of the source code. Syn: development standards, programming
standards.
comment. (1) (ISO) In programming languages, a language construct that allows
[explanatory] text to be inserted into a program and that does not have any effect
on the execution of the program. (2) (IEEE) Information embedded within a
computer program, job control statements, or a set of data, that provides
clarification to human readers but does not affect machine interpretation.
compact disc - read only memory. A compact disk used for the permanent
storage of text, graphic or sound information. Digital data is represented very
compactly by tiny holes that can be read by lasers attached to high resolution
sensors. Capable of storing up to 680 MB of data, equivalent to 250,000 pages of
text, or 20,000 medium resolution images. This storage media is often used for
archival purposes. Syn: optical disk, write-once read-many times disk.
comparator. (IEEE) A software tool that compares two computer programs, files,
or sets of data to identify commonalities or differences. Typical objects of
comparison are similar versions of source code, object code, data base files, or
test results.
compatibility. (ANSI) The capability of a functional unit to meet the requirements
of a specified interface.
compilation. (NIST) Translating a program expressed in a problem-oriented
language or a procedure oriented language into object code. Contrast with
assembling, interpret. See: compiler.
compile. See: compilation.
compiler. (1) (IEEE) A computer program that translates programs expressed in a
high-level language into their machine language equivalents. (2) The compiler
takes the finished source code listing as input and outputs the machine code
instructions that the computer must have to execute the program. See: assembler,
interpreter, cross-assembler, cross-compiler.
compiling. See: compilation.
complementary metal-oxide semiconductor. A type of integrated circuit widely
used for processors and memories. It is a combination of transistors on a single
chip connected to complementary digital circuits.
completeness. (NIST) The property that all necessary parts of the entity are
included. Completeness of a product is often used to express the fact that all
requirements have been met by the product. See: traceability analysis.
complex instruction set computer. Traditional computer architecture that
operates with large sets of possible instructions. Most computers are in this
category, including the IBM compatible microcomputers. As computing
technology evolved, instruction sets expanded to include newer instructions which
are complex in nature and require several to many execution cycles and, therefore,
more time to complete. Computers which operate with system software based on
these instruction sets have been referred to as complex instruction set computers.
Contrast with reduced instruction set computer [RISC].
complexity. (IEEE) (1) The degree to which a system or component has a design or
implementation that is difficult to understand and verify. (2) Pertaining to any of a
set of structure based metrics that measure the attribute in (1).
component. See: unit.
computer. (IEEE) (1) A functional unit that can perform substantial computations,
including numerous arithmetic operations, or logic operations, without human
intervention during a run. (2) A functional programmable unit that consists of one
or more associated processing units and peripheral equipment, that is controlled
by internally stored programs, and that can perform substantial computations,
including numerous arithmetic operations, or logic operations, without human
intervention.
computer aided design. The use of computers to design products. CAD systems
are high speed workstations or personal computers using CAD software and input
devices such as graphic tablets and scanners to model and simulate the use of
proposed products. CAD output is a printed design or electronic output to CAM
systems. CAD software is available for generic design or specialized uses such as
architectural, electrical, and mechanical design. CAD software may also be highly
specialized for creating products such as printed circuits and integrated circuits.
computer aided manufacturing. The automation of manufacturing systems and
techniques, including the use of computers to communicate work instructions to
automate machinery for the handling of the processing [numerical control,
process control, robotics, material requirements planning] needed to produce a
workpiece.
computer aided software engineering. An automated system for the support of
software development including an integrated tool set, i.e., programs, which
facilitate the accomplishment of software engineering methods and tasks such as
project planning and estimation, system and software requirements analysis,
design of data structure, program architecture and algorithm procedure, coding,
testing and maintenance.
computer instruction set. (ANSI) A complete set of the operators of the
instructions of a computer together with a description of the types of meanings
that can be attributed to their operands. Syn: machine instruction set.
computer language. (IEEE) A language designed to enable humans to
communicate with computers. See: programming language.
computer program. See: program.
computer science. (ISO) The branch of science and technology that is concerned
with methods and techniques relating to data processing performed by automatic
means.
computer system. (ANSI) a functional unit, consisting of one or more computers
and associated peripheral input and output devices, and associated software, that
uses common storage for all or part of a program and also for all or part of the data
necessary for the execution of the program; executes user-written or user-
designated programs; performs user-designated data manipulation, including
arithmetic operations and logic operations; and that can execute programs that
modify themselves during their execution. A computer system may be a stand-
alone unit or may consist of several interconnected units. See: computer,
computerized system.
computer system audit. (ISO) An examination of the procedures used in a
computer system to evaluate their effectiveness and correctness and to
recommend improvements. See: software audit.
computer system security. (IEEE) The protection of computer hardware and
software from accidental or malicious access, use, modification, destruction, or
disclosure. Security also pertains to personnel, data, communications, and the
physical protection of computer installations. See: bomb, trojan horse, virus,
worm.
computer word. A sequence of bits or characters that is stored, addressed,
transmitted, and operated on as a unit within a given computer. Typically one to
four bytes long, depending on the make of computer.
computerized system. Includes hardware, software, peripheral devices,
personnel, and documentation; e.g., manuals and Standard Operating
Procedures. See: computer, computer system.
concept phase. (IEEE) The initial phase of a software development project, in
which user needs are described and evaluated through documentation; e.g.,
statement of needs, advance planning report, project initiation memo. feasibility
studies, system definition documentation, regulations, procedures, or policies
relevant to the project.
condition coverage. (Myers) A test coverage criteria requiring enough test cases
such that each condition in a decision takes on all possible outcomes at least
once, and each point of entry to a program or subroutine is invoked at least once.
Contrast with branch coverage, decision coverage, multiple condition coverage,
path coverage, statement coverage.
configurable, off-the-shelf software. Application software, sometimes general
purpose, written for a variety of industries or users in a manner that permits users
to modify the program to meet their individual needs.
configuration. (IEEE) (1) The arrangement of a computer system or component as
defined by the number, nature, and interconnections of its constituent parts. (2) In
configuration management, the functional and physical characteristics of
hardware or software as set forth in technical documentation or achieved in a
product.
configuration audit. See: functional configuration audit, physical configuration
audit.
configuration control. (IEEE) An element of configuration management,
consisting of the evaluation, coordination, approval or disapproval, and
implementation of changes to configuration items after formal establishment of
their configuration identification. See: change control.
configuration identification. (IEEE) An element of configuration management,
consisting of selecting the configuration items for a system and recording their
functional and physical characteristics in technical documentation.
configuration item. (IEEE) An aggregation of hardware, software, or both that is
designated for configuration management and treated as a single entity in the
configuration management process. See: software element.
configuration management. (IEEE) A discipline applying technical and
administrative direction and surveillance to identify and document the functional
and physical characteristics of a configuration item, control changes to those
characteristics, record and report change processing and implementation status,
and verifying compliance with specified requirements. See: configuration control,
change control, software engineering.
consistency. (IEEE) The degree of uniformity, standardization, and freedom from
contradiction among the documents or parts of a system or component. See:
traceability.
consistency checker. A software tool used to test requirements in design
specifications for both consistency and completeness.
constant. A value that does not change during processing. Contrast with variable.
constraint analysis. (IEEE) (1) Evaluation of the safety of restrictions imposed on
the selected design by the requirements and by real world restrictions. The
impacts of the environment on this analysis can include such items as the location
and relation of clocks to circuit cards, the timing of a bus latch when using the
longest safety-related timing to fetch data from the most remote circuit card,
interrupts going unsatisfied due to a data flood at an input, and human reaction
time. (2) verification that the program operates within the constraints imposed
upon it by requirements, the design, and the target computer. Constraint analysis
is designed to identify these limitations to ensure that the program operates within
them, and to ensure that all interfaces have been considered for out-of-sequence
and erroneous inputs.
Consultive Committee for International Telephony and Telegraphy. See:
International Telecommunications Union - Telecommunications Standards
Section.
control bus. (ANSI) A bus carrying the signals that regulate system operations.
See: bus.
control flow. (ISO) In programming languages, an abstraction of all possible paths
that an execution sequence may take through a program.
control flow analysis. (IEEE) A software V&V task to ensure that the proposed
control flow is free of problems, such as design or code elements that are
unreachable or incorrect.
control flow diagram. (IEEE) A diagram that depicts the set of all possible
sequences in which operations may be performed during the execution of a
system or program. Types include box diagram, flowchart, input-process-output
chart, state diagram. Contrast with data flow diagram. See: call graph, structure
chart.
Control Program for Microcomputers. An operating system. A registered
trademark of Digital Research.
controller. Hardware that controls peripheral devices such as a disk or display
screen. It performs the physical data transfers between main memory and the
peripheral device.
conversational. (IEEE) Pertaining to a interactive system or mode of operation in
which the interaction between the user and the system resembles a human dialog.
Contrast with batch. See: interactive, on-line, real time.
coroutine. (IEEE) A routine that begins execution at the point at which operation
was last suspended, and that is not required to return control to the program or
subprogram that called it. Contrast with subroutine.
corrective maintenance. (IEEE) Maintenance performed to correct faults in
hardware or software. Contrast with adaptive maintenance, perfective
maintenance.
correctness. (IEEE) The degree to which software is free from faults in its
specification, design and coding. The degree to which software, documentation
and other items meet specified requirements. The degree to which software,
documentation and other items meet user needs and expectations, whether
specified or not.
coverage analysis. (NIST) Determining and assessing measures associated with
the invocation of program structural elements to determine the adequacy of a test
run. Coverage analysis is useful when attempting to execute each statement,
branch, path, or iterative structure in a program. Tools that capture this data and
provide reports summarizing relevant information have this feature. See: testing,
branch; testing, path; testing, statement.
crash. (IEEE) The sudden and complete failure of a computer system or
component.
critical control point. (QA) A function or an area in a manufacturing process or
procedure, the failure of which, or loss of control over, may have an adverse affect
on the quality of the finished product and may result in a unacceptable health risk.
critical design review. (IEEE) A review conducted to verify that the detailed design
of one or more configuration items satisfy specified requirements; to establish the
compatibility among the configuration items and other items of equipment,
facilities, software, and personnel; to assess risk areas for each configuration item;
and, as applicable, to assess the results of producibility analyses, review
preliminary hardware product specifications, evaluate preliminary test planning,
and evaluate the adequacy of preliminary operation and support documents. See:
preliminary design review, system design review.
criticality. (IEEE) The degree of impact that a requirement, module, error, fault,
failure, or other item has on the development or operation of a system. Syn:
severity.
criticality analysis. (IEEE) Analysis which identifies all software requirements that
have safety implications, and assigns a criticality level to each safety-critical
requirement based upon the estimated risk.
cross-assembler. (IEEE) An assembler that executes on one computer but
generates object code for a different computer.
cross-compiler. (IEEE) A compiler that executes on one computer but generates
assembly code or object code for a different computer.
cursor. (ANSI) A movable, visible mark used to indicate a position of interest on a
display surface.
cyclic redundancy [check] code. A technique for error detection in data
communications used to assure a program or data file has been accurately
transferred. The CRC is the result of a calculation on the set of transmitted bits by
the transmitter which is appended to the data. At the receiver the calculation is
repeated and the results compared to the encoded value. The calculations are
chosen to optimize error detection. Contrast with check summation, parity check.
cyclomatic complexity. (1) (McCabe) The number of independent paths through a
program. (2) (NBS) The cyclomatic complexity of a program is equivalent to the
number of decision statements plus 1.
-D-
DAC. digital-to-analog converter.
DFD. data flow diagram.
DMA. direct memory access.
DOS. disk operating system.
data. Representations of facts, concepts, or instructions in a manner suitable for
communication, interpretation, or processing by humans or by automated means.
data analysis. (IEEE) (1) Evaluation of the description and intended use of each
data item in the software design to ensure the structure and intended use will not
result in a hazard. Data structures are assessed for data dependencies that
circumvent isolation, partitioning, data aliasing, and fault containment issues
affecting safety, and the control or mitigation of hazards. (2) Evaluation of the data
structure and usage in the code to ensure each is defined and used properly by the
program. Usually performed in conjunction with logic analysis.
data bus. (ANSI) A bus used to communicate data internally and externally to and
from a processing unit or a storage device. See: bus.
data corruption. (ISO) A violation of data integrity. Syn: data contamination.
data dictionary. (IEEE) (1) A collection of the names of all data items used in a
software system, together with relevant properties of those items; e.g., length of
data item, representation, etc. (2) A set of definitions of data flows, data elements,
files, data bases, and processes referred to in a leveled data flow diagram set.
data element. (1) (ISO) A named unit of data that, in some contexts, is considered
indivisible and in other contexts may consist of data items. (2) A named identifier
of each of the entities and their attributes that are represented in a database.
data exception. (IEEE) An exception that occurs when a program attempts to use
or access data incorrectly.
data flow analysis. (IEEE) A software V&V task to ensure that the input and output
data and their formats are properly defined, and that the data flows are correct.
data flow diagram. (IEEE) A diagram that depicts data sources, data sinks, data
storage, and processes performed on data as nodes, and logical flow of data as
links between the nodes. Syn: data flowchart, data flow graph.
data integrity. (IEEE) The degree to which a collection of data is complete,
consistent, and accurate. Syn: data quality.
data item. (ANSI) A named component of a data element. Usually the smallest
component.
data set. A collection of related records. Syn: file.
data sink. (IEEE) The equipment which accepts data signals after transmission.
data structure. (IEEE) A physical or logical relationship among data elements,
designed to support specific data manipulation functions.
data structure centered design. A structured software design technique wherein
the architecture of a system is derived from analysis of the structure of the data
sets with which the system must deal.
data structure diagram. (IEEE) A diagram that depicts a set of data elements, their
attributes, and the logical relationships among them. Contrast with data flow
diagram. See: entity-relationship diagram.
data validation. (1) (ISO) A process used to determine if data are inaccurate,
incomplete, or unreasonable. The process may include format checks,
completeness checks, check key tests, reasonableness checks and limit checks.
(2) The checking of data for correctness or compliance with applicable standards,
rules, and conventions.
database. (ANSI) A collection of interrelated data, often with controlled
redundancy, organized according to a schema to serve one or more applications.
The data are stored so that they can be used by different programs without
concern for the data structure or organization. A common approach is used to add
new data and to modify and retrieve existing data. See: archival database.
database analysis. (IEEE) A software V&V task to ensure that the database
structure and access methods are compatible with the logical design.
database security. The degree to which a database is protected from exposure to
accidental or malicious alteration or destruction.
dead code. Program code statements which can never execute during program
operation. Such code can result from poor coding style, or can be an artifact of
previous versions or debugging efforts. Dead code can be confusing, and is a
potential source of erroneous software changes. See: infeasible path.
debugging. (Myers) Determining the exact nature and location of a program error,
and fixing the error.
decision coverage. (Myers) A test coverage criteria requiring enough test cases
such that each decision has a true and false result at least once, and that each
statement is executed at least once. Syn: branch coverage. Contrast with condition
coverage, multiple condition coverage, path coverage, statement coverage.
decision table. (IEEE) A table used to show sets of conditions and the actions
resulting from them.
default. (ANSI) Pertaining to an attribute, value, or option that is assumed when
none is explicitly specified.
default value. A standard setting or state to be taken by the program if no alternate
setting or state is initiated by the system or the user. A value assigned
automatically if one is not given by the user.
defect. See: anomaly, bug, error, exception, fault.
defect analysis. See: failure analysis.
delimiter. (ANSI) A character used to indicate the beginning or the end of a
character string. Syn: separator.
demodulate. Retrieve the information content from a modulated carrier wave; the
reverse of modulate. Contrast with modulate.
demodulation. Converting signals from a wave form [analog] to pulse form
[digital]. Contrast with modulation.
dependability. A facet of reliability that relates to the degree of certainty that a
system or component will operate correctly.
design. (IEEE) The process of defining the architecture, components, interfaces,
and other characteristics of a system or component. See: architectural design,
preliminary design, detailed design.
design description. (IEEE) A document that describes the design of a system or
component. Typical contents include system or component architecture, control
logic, data structures, data flow, input/output formats, interface descriptions and
algorithms. Syn: design document. Contrast with specification, requirements. See:
software design description.
design level. (IEEE) The design decomposition of the software item; e.g., system,
subsystem, program or module.
design of experiments. A methodology for planning experiments so that data
appropriate for [statistical] analysis will be collected.
design phase. (IEEE) The period of time in the software life cycle during which the
designs for architecture, software components, interfaces, and data are created,
documented, and verified to satisfy requirements.
design requirement. (IEEE) A requirement that specifies or constrains the design
of a system or system component.
design review. (IEEE) A process or meeting during which a system, hardware, or
software design is presented to project personnel, managers, users, customers, or
other interested parties for comment or approval. Types include critical design
review, preliminary design review, system design review.
design specification. See: specification, design.
design standards. (IEEE) Standards that describe the characteristics of a design
or a design description of data or program components.
desk checking. The application of code audit, inspection, review and walkthrough
techniques to source code and other software documents usually by an individual
[often by the person who generated them] and usually done informally.
detailed design. (IEEE) (1) The process of refining and expanding the preliminary
design of a system or component to the extent that the design is sufficiently
complete to be implemented. See: software development process. (2) The result
of the process in (1).
developer. A person, or group, that designs and/or builds and/or documents
and/or configures the hardware and/or software of computerized systems.
development methodology. (ANSI) A systematic approach to software creation
that defines development phases and specifies the activities, products,
verification procedures, and completion criteria for each phase. See: incremental
development, rapid prototyping, spiral model, waterfall model.
development standards. Syn: coding standards.
diagnostic. (IEEE) Pertaining to the detection and isolation of faults or failures. For
example, a diagnostic message, a diagnostic manual.
different software system analysis. (IEEE) Analysis of the allocation of software
requirements to separate computer systems to reduce integration and interface
errors related to safety. Performed when more than one software system is being
integrated. See: testing, compatibility.
digital. Pertaining to data [signals] in the form of discrete [separate/pulse form]
integral values. Contrast with analog.
digital-to-analog converter. Output related devices which translate a computer's
digital outputs to the corresponding analog signals needed by an output device
such as an actuator. Contrast with ADC [Analog-to-Digital Converter].
direct memory access. Specialized circuitry or a dedicated microprocessor that
transfers data from memory to memory without using the CPU.
directed graph. (IEEE) A graph in which direction is implied in the internode
connections. Syn: digraph.
disk. Circular rotating magnetic storage hardware. Disks can be hard [fixed] or
flexible [removable] and different sizes.
disk drive. Hardware used to read from or write to a disk or diskette.
disk operating system. An operating system program; e.g., DR-DOS from Digital
Research, MS-DOS from Microsoft Corp., OS/2 from IBM, PC-DOS from IBM,
System-7 from Apple.
diskette. A floppy [flexible] disk.
documentation. (ANSI) The aids provided for the understanding of the structure
and intended uses of an information system or its components, such as
flowcharts, textual material, and user manuals.
documentation, level of. (NIST) A description of required documentation
indicating its scope, content, format, and quality. Selection of the level may be
based on project cost, intended usage, extent of effort, or other factors; e.g., level
of concern.
documentation plan. (NIST) A management document describing the approach to
a documentation effort. The plan typically describes what documentation types
are to be prepared, what their contents are to be, when this is to be done and by
whom, how it is to be done, and what are the available resources and external
factors affecting the results.
documentation, software. (NIST) Technical data or information, including
computer listings and printouts, in human readable form, that describe or specify
the design or details, explain the capabilities, or provide operating instructions for
using the software to obtain desired results from a software system. See:
specification; specification, requirements; specification. design; software design
description; test plan, test report, user's guide.
drift. (ISO) The unwanted change of the value of an output signal of a device over a
period of time when the values of all input signals to the device are kept constant.
driver. A program that links a peripheral device or internal function to the operating
system, and providing for activation of all device functions. Syn: device driver.
Contrast with test driver.
duplex transmission. (ISO) Data transmission in both directions at the same time.
dynamic analysis. (NBS) Analysis that is performed by executing the program
code. Contrast with static analysis. See: testing.
-E-
EBCDIC. extended binary coded decimal interchange code.
EEPROM. electrically erasable programmable read only memory.
EMI. electromagnetic interference.
EPROM. erasable programmable read only memory.
ESD. electrostatic discharge.
ESDI. enhanced small device interface.
editing. (NIST) Modifying the content of the input by inserting, deleting, or moving
characters, numbers, or data.
electrically erasable programmable read only memory. Chips which may be
programmed and erased numerous times like an EPROM. However an EEPROM is
erased electrically. This means this IC does not necessarily have to be removed
from the circuit in which it is mounted in order to erase and reprogram the memory.
electromagnetic interference. Low frequency electromagnetic waves that
emanate from electromechanical devices. An electromagnetic disturbance
caused by such radiating and transmitting sources as heavy duty motors and
power lines can induce unwanted voltages in electronic circuits, damage
components and cause malfunctions. See: radiofrequency interference.
electronic media. Hardware intended to store binary data; e.g., integrated circuit,
magnetic tape, magnetic disk.
electrostatic discharge. The movement of static electricity, e.g. sparks, from a
non-conductive surface to an approaching conductive object that can damage or
destroy semiconductors and other circuit components. Static electricity can build
on paper, plastic or other non-conductors and can be discharged by human skin,
e.g. finger, contact. It can also be generated by scuffing shoes on a carpet or by
brushing a non-conductor. MOSFETs and CMOS logic ICs are especially vulnerable
because it causes internal local heating that melts or fractures the dielectric
silicon oxide that insulates gates from other internal structures.
embedded computer. A device which has its own computing power dedicated to
specific functions, usually consisting of a microprocessor and firmware. The
computer becomes an integral part of the device as opposed to devices which are
controlled by an independent, stand-alone computer. It implies software that
integrates operating system and application functions.
embedded software. (IEEE) Software that is part of a larger system and performs
some of the requirements of that system; e.g., software used in an aircraft or rapid
transit system. Such software does not provide an interface with the user. See:
firmware.
emulation. (IEEE) A model that accepts the same inputs and produces the same
outputs as a given system. To imitate one system with another. Contrast with
simulation.
emulator. (IEEE) A device, computer program, or system that accepts the same
inputs and produces the same outputs as a given system. Contrast with simulator.
encapsulation. (IEEE) A software development technique that consists of isolating
a system function or a set of data and the operations on those data within a
module and providing precise specifications for the module. See: abstraction,
information hiding, software engineering.
end user. (ANSI) (1) A person, device, program, or computer system that uses an
information system for the purpose of data processing in information exchange. (2)
A person whose occupation requires the use of an information system but does
not require any knowledge of computers or computer programming. See: user.
enhanced small device interface. A standard interface for hard disks introduced
in 1983 which provides for faster data transfer compared to ST-506. Contrast with
ST-506, IDE, SCSI.
entity relationship diagram. (IEEE) A diagram that depicts a set of real-world
entities and the logical relationships among them. See: data structure diagram.
environment. (ANSI) (1) Everything that supports a system or the performance of a
function. (2) The conditions that affect the performance of a system or function.
equivalence class partitioning. (Myers) Partitioning the input domain of a
program into a finite number of classes [sets], to identify a minimal set of well
selected test cases to represent these classes. There are two types of input
equivalence classes, valid and invalid. See: testing, functional.
erasable programmable read only memory. Chips which may be programmed by
using a PROM programming device. Before programming each bit is set to the
same logical state, either 1 or 0. Each bit location may be thought of as a small
capacitor capable of storing an electrical charge. The logical state is established
by charging, via an electrical current, all bits whose states are to be changed from
the default state. EPROMs may be erased and reprogrammed because the
electrical charge at the bit locations can be bled off [i.e. reset to the default state]
by exposure to ultraviolet light through the small quartz window on top of the IC.
After programming, the IC's window must be covered to prevent exposure to UV
light until it is desired to reprogram the chip. An EPROM eraser is a device for
exposing the IC's circuits to UV light of a specific wavelength for a certain amount
of time.
error. (ISO) A discrepancy between a computed, observed, or measured value or
condition and the true, specified, or theoretically correct value or condition. See:
anomaly, bug, defect, exception, fault.
error analysis. See: debugging, failure analysis.
error detection. Techniques used to identify errors in data transfers. See: check
summation, cyclic redundancy check [CRC], parity check, longitudinal
redundancy.
error guessing. (NBS) Test data selection technique. The selection criterion is to
pick values that seem likely to cause errors. See: special test data; testing, special
case.
error seeding. (IEEE) The process of intentionally adding known faults to those
already in a computer program for the purpose of monitoring the rate of detection
and removal, and estimating the number of faults remaining in the program.
Contrast with mutation analysis.
event table. A table which lists events and the corresponding specified effect[s] of
or reaction[s] to each event.
evolutionary development. See: spiral model.
exception. (IEEE) An event that causes suspension of normal program execution.
Types include addressing exception, data exception, operation exception, overflow
exception, protection exception, underflow exception.
exception conditions/responses table. A special type of event table.
execution trace. (IEEE) A record of the sequence of instructions executed during
the execution of a computer program. Often takes the form of a list of code labels
encountered as the program executes. Syn: code trace, control flow trace. See:
retrospective trace, subroutine trace, symbolic trace, variable trace.
exception. (IEEE) An event that causes suspension of normal program operation.
Types include addressing exception, data exception, operation exception, overflow
exception, protection exception, underflow exception. See: anomaly, bug, defect,
error, fault.
extended ASCII. The second half of the ACSII character set, 128 thru 255. The
symbols are defined by IBM for the PC and by other vendors for proprietary use. It
is non-standard ASCII. See: ASCII.
extended binary coded decimal interchange code. An eight bit code used to
represent specific data characters in some computers; e.g., IBM mainframe
computers.
extremal test data. (NBS) Test data that is at the extreme or boundary of the
domain of an input variable or which produces results at the boundary of an output
domain. See: testing, boundary value.
-F-
FDD. floppy disk drive.
FIPS. Federal Information Processing Standards.
FMEA. Failure Modes and Effects Analysis.
FMECA. Failure Modes and Effects Criticality Analysis.
FTA. Fault Tree Analysis.
FTP. file transfer protocol.
Fagan inspection. See: code inspection.
fail-safe. (IEEE) A system or component that automatically places itself in a safe
operational mode in the event of a failure.
failure. (IEEE) The inability of a system or component to perform its required
functions within specified performance requirements. See: bug, crash, exception,
fault.
failure analysis. Determining the exact nature and location of a program error in
order to fix the error, to identify and fix other similar errors, and to initiate corrective
action to prevent future occurrences of this type of error. Contrast with debugging.
Failure Modes and Effects Analysis. (IEC) A method of reliability analysis
intended to identify failures, at the basic component level, which have significant
consequences affecting the system performance in the application considered.
Failure Modes and Effects Criticality Analysis. (IEC) A logical extension of FMEA
which analyzes the severity of the consequences of failure.
fault. An incorrect step, process, or data definition in a computer program which
causes the program to perform in an unintended or unanticipated manner. See:
anomaly, bug, defect, error, exception.
fault seeding. See: error seeding.
Fault Tree Analysis. (IEC) The identification and analysis of conditions and factors
which cause or contribute to the occurrence of a defined undesirable event,
usually one which significantly affects system performance, economy, safety or
other required characteristics.
feasibility study. Analysis of the known or anticipated need for a product, system,
or component to assess the degree to which the requirements, designs, or plans
can be implemented.
Federal Information Processing Standards. Standards published by U.S.
Department of Commerce, National Institute of Standards and Technology,
formerly National Bureau of Standards. These standards are intended to be binding
only upon federal agencies.
fiber optics. Communications systems that use optical fibers for transmission.
See: optical fiber.
field. (1) (ISO) On a data medium or in storage, a specified area used for a
particular class of data; e.g., a group of character positions used to enter or
display wage rates on a screen. (2) Defined logical data that is part of a record. (3)
The elementary unit of a record that may contain a data item, a data aggregate, a
pointer, or a link. (4) A discrete location in a database that contains an unique
piece of information. A field is a component of a record. A record is a component
of a database.
file. (1) (ISO) A set of related records treated as a unit; e.g., in stock control, a file
could consists of a set of invoices. (2) The largest unit of storage structure that
consists of a named collection of all occurrences in a database of records of a
particular record type. Syn: data set.
file maintenance. (ANSI) The activity of keeping a file up to date by adding,
changing, or deleting data.
file transfer protocol. (1) Communications protocol that can transmit binary and
ASCII data files without loss of data. See: Kermit, Xmodem, Ymodem, Zmodem. (2)
TCP/IP protocol that is used to log onto the network, list directories, and copy files.
It can also translate between ASCII and EBCDIC. See: TCP/IP.
firmware. (IEEE) The combination of a hardware device; e.g., an IC; and computer
instructions and data that reside as read only software on that device. Such
software cannot be modified by the computer during processing. See: embedded
software.
flag. (IEEE) A variable that is set to a prescribed state, often "true" or "false", based
on the results of a process or the occurrence of a specified condition. Syn:
indicator.
flat file. A data file that does not physically interconnect with or point to other files.
Any relationship between two flat files is logical; e.g., matching account numbers.
floppy disk. See: diskette.
floppy disk drive. See: disk, disk drive.
flowchart or flow diagram. (2) (ISO) A graphical representation in which symbols
are used to represent such things as operations, data, flow direction, and
equipment, for the definition, analysis, or solution of a problem. (2) (IEEE) A control
flow diagram in which suitably annotated geometrical figures are used to represent
operations, data, or equipment, and arrows are used to indicate the sequential
flow from one to another. Syn: flow diagram. See: block diagram, box diagram,
bubble chart, graph, input-process-output chart, structure chart.
formal qualification review. (IEEE) The test, inspection, or analytical process by
which a group of configuration items comprising a system is verified to have met
specific contractual performance requirements. Contrast with code review, design
review, requirements review, test readiness review.
FORTRAN. An acronym for FORmula TRANslator, the first widely used high-level
programming language. Intended primarily for use in solving technical problems in
mathematics, engineering, and science.
full duplex. See: duplex transmission.
function. (1) (ISO) A mathematical entity whose value, namely, the value of the
dependent variable, depends in a specified manner on the values of one or more
independent variables, with not more than one value of the dependent variable
corresponding to each permissible combination of values from the respective
ranges of the independent variables. (2) A specific purpose of an entity, or its
characteristic action. (3) In data communication, a machine action such as
carriage return or line feed.
functional analysis. (IEEE) Verifies that each safety-critical software requirement
is covered and that an appropriate criticality level is assigned to each software
element.
functional configuration audit. (IEEE) An audit conducted to verify that the
development of a configuration item has been completed satisfactorily, that the
item has achieved the performance and functional characteristics specified in the
functional or allocated configuration identification, and that its operational and
support documents are complete and satisfactory. See: physical configuration
audit.
functional decomposition. See: modular decomposition.
functional design. (IEEE) (1) The process of defining the working relationships
among the components of a system. See: architectural design. (2) The result of the
process in (1).
functional requirement. (IEEE) A requirement that specifies a function that a
system or system component must be able to perform.
-G-
GB. gigabyte.
gigabyte. Approximately one billion bytes; precisely 230 or 1,073,741,824 bytes.
See: kilobyte, megabyte.
graph. (IEEE) A diagram or other representation consisting of a finite set of nodes
and internode connections called edges or arcs. Contrast with blueprint. See:
block diagram, box diagram, bubble chart, call graph, cause-effect graph, control
flow diagram, data flow diagram, directed graph, flowchart, input-process-output
chart, structure chart, transaction flowgraph.
graphic software specifications. Documents such as charts, diagrams, graphs
which depict program structure, states of data, control, transaction flow, HIPO,
and cause-effect relationships; and tables including truth, decision, event, state-
transition, module interface, exception conditions/responses necessary to
establish design integrity.
-H-
HDD. hard disk drive.
HIPO. hierarchy of input-processing-output.
Hz. hertz.
half duplex. Transmissions [communications] which occur in only one direction at
a time, but that direction can change.
handshake. An interlocked sequence of signals between connected components
in which each component waits for the acknowledgement of its previous signal
before proceeding with its action, such as data transfer.
hard copy. Printed, etc., output on paper.
hard disk drive. Hardware used to read from or write to a hard disk. See: disk, disk
drive.
hard drive. Syn: hard disk drive.
hardware. (ISO) Physical equipment, as opposed to programs, procedures, rules,
and associated documentation. Contrast with software.
hazard. (DOD) A condition that is prerequisite to a mishap.
hazard analysis. A technique used to identify conceivable failures affecting
system performance, human safety or other required characteristics. See: FMEA,
FMECA, FTA, software hazard analysis, software safety requirements analysis,
software safety design analysis, software safety code analysis, software safety test
analysis, software safety change analysis.
hazard probability. (DOD) The aggregate probability of occurrence of the
individual events that create a specific hazard.
hazard severity. (DOD) An assessment of the consequence of the worst credible
mishap that could be caused by a specific hazard.
hertz. A unit of frequency equal to one cycle per second.
hexadecimal. The base 16 number system. Digits are 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B,
C, D, E, & F. This is a convenient form in which to examine binary data because it
collects 4 binary digits per hexadecimal digit; e.g., decimal 15 is 1111 in binary and
F in hexadecimal.
hierarchical decomposition. See: modular decomposition.
hierarchy of input-processing-output. See: input- processing-output.
hierarchy of input-processing-output chart. See: input-process-output chart.
high-level language. A programming language which requires little knowledge of
the target computer, can be translated into several different machine languages,
allows symbolic naming of operations and addresses, provides features designed
to facilitate expression of data structures and program logic, and usually results in
several machine instructions for each program statement. Examples are PL/1,
COBOL, BASIC, FORTRAN, Ada, Pascal, and "C". Contrast with assembly language.
-I-
I/0. input/output.
IC. integrated circuit.
IDE. integrated drive electronics.
IEC. International Electrotechnical Commission.
IEEE. Institute of Electrical and Electronic Engineers.
ISO. International Organization for Standardization.
ITU-TSS. International Telecommunications Union - Telecommunications
Standards Section.
implementation. The process of translating a design into hardware components,
software components, or both. See: coding.
implementation phase. (IEEE) The period of time in the software life cycle during
which a software product is created from design documentation and debugged.
implementation requirement. (IEEE) A requirement that specifies or constrains
the coding or construction of a system or system component.
incremental integration. A structured reformation of the program module by
module or function by function with an integration test being performed following
each addition. Methods include top-down, breadth-first, depth-first, bottom-up.
Contrast with nonincremental integration.
incremental development. (IEEE) A software development technique in which
requirements definition, design, implementation, and testing occur in an
overlapping, iterative [rather than sequential] manner, resulting in incremental
completion of the overall software product. Contrast with rapid prototyping, spiral
model, waterfall model.
industry standard. (QA) Procedures and criteria recognized as acceptable
practices by peer professional, credentialing, or accrediting organizations.
infeasible path. (NBS) A sequence of program statements that can never be
executed. Syn: dead code.
information hiding. The practice of "hiding" the details of a function or structure,
making them inaccessible to other parts of the program. See: abstraction,
encapsulation, software engineering.
input/output. Each microprocessor and each computer needs a way to
communicate with the outside world in order to get the data needed for its
programs and in order to communicate the results of its data manipulations. This
is accomplished through I/0 ports and devices.
input-process-output chart. (IEEE) A diagram of a software system or module,
consisting of a rectangle on the left listing inputs, a rectangle in the center listing
processing steps, a rectangle on the right listing outputs, and arrows connecting
inputs to processing steps and processing steps to outputs. See: block diagram,
box diagram, bubble chart, flowchart, graph, structure chart.
input-processing-output. A structured software design technique; identification
of the steps involved in each process to be performed and identifying the inputs to
and outputs from each step. A refinement called hierarchical input-process-output
identifies the steps, inputs, and outputs at both general and detailed levels of
detail.
inspection. A manual testing technique in which program documents
[specifications (requirements, design), source code or user's manuals] are
examined in a very formal and disciplined manner to discover errors, violations of
standards and other problems. Checklists are a typical vehicle used in
accomplishing this technique. See: static analysis, code audit, code inspection,
code review, code walkthrough.
installation. (ANSI) The phase in the system life cycle that includes assembly and
testing of the hardware and software of a computerized system. Installation
includes installing a new computer system, new software or hardware, or
otherwise modifying the current system.
installation and checkout phase. (IEEE) The period of time in the software life
cycle during which a software product is integrated into its operational
environment and tested in this environment to ensure that it performs as required.
installation qualification. See: qualification, installation.
Institute of Electrical and Electronic Engineers. 345 East 47th Street, New York,
NY 10017. An organization involved in the generation and promulgation of
standards. IEEE standards represent the formalization of current norms of
professional practice through the process of obtaining the consensus of
concerned, practicing professionals in the given field.
instruction. (1) (ANSI/IEEE) A program statement that causes a computer to
perform a particular operation or set of operations. (2) (ISO) In a programming
language, a meaningful expression that specifies one operation and identifies its
operands, if any.
instruction set. (1) (IEEE) The complete set of instructions recognized by a given
computer or provided by a given programming language. (2) (ISO) The set of the
instructions of a computer, of a programming language, or of the programming
languages in a programming system. See: computer instruction set.
instrumentation. (NBS) The insertion of additional code into a program in order to
collect information about program behavior during program execution. Useful for
dynamic analysis techniques such as assertion checking, coverage analysis,
tuning.
integrated circuit. Small wafers of semiconductor material [silicon] etched or
printed with extremely small electronic switching circuits. Syn: chip.
integrated drive electronics. A standard interface for hard disks which provides
for building most of the controller circuitry into the disk drive to save space. IDE
controllers are functionally equivalent to ST-506 standard controllers. Contrast
with EDSI, SCSI, ST-506.
interactive. (IEEE) Pertaining to a system or mode of operation in which each user
entry causes a response from or action by the system. Contrast with batch. See:
conversational, on-line, real time.
interface. (1) (ISO) A shared boundary between two functional units, defined by
functional characteristics, common physical interconnection characteristics,
signal characteristics, and other characteristics, as appropriate. The concept
involves the specification of the connection of two devices having different
functions. (2) A point of communication between two or more processes, persons,
or other physical entities. (3) A peripheral device which permits two or more
devices to communicate.
interface analysis. (IEEE) Evaluation of: (1) software requirements specifications
with hardware, user, operator, and software interface requirements
documentation, (2) software design description records with hardware, operator,
and software interface requirements specifications, (3) source code with
hardware, operator, and software interface design documentation, for correctness,
consistency, completeness, accuracy, and readability. Entities to evaluate include
data items and control items.
interface requirement. (IEEE) A requirement that specifies an external item with
which a system or system component must interact, or sets forth constraints on
formats, timing, or other factors caused by such an interaction.
International Electrotechnical Commission. Geneva, Switzerland. An
organization that sets standards for electronic products and components which
are adopted by the safety standards agencies of many countries.
International Organization for Standardization. Geneva, Switzerland. An
organization that sets international standards. It deals with all fields except
electrical and electronics which is governed by IEC. Syn: International Standards
Organization.
International Standards Organization. See: International Organization for
Standardization.
International Telecommunications Union - Telecommunications Standards
Section. Geneva, Switzerland. Formerly, Consultive Committee for International
Telephony and Telegraphy. An international organization for communications
standards.
interpret. (IEEE) To translate and execute each statement or construct of a
computer program before translating and executing the next. Contrast with
assemble, compile.
interpreter. (IEEE) A computer program that translates and executes each
statement or construct of a computer program before translating and executing
the next. The interpreter must be resident in the computer each time a program
[source code file] written in an interpreted language is executed. Contrast with
assembler, compiler.
interrupt. (1) The suspension of a process to handle an event external to the
process. (2) A technique to notify the CPU that a peripheral device needs service,
i.e., the device has data for the processor or the device is awaiting data from the
processor. The device sends a signal, called an interrupt, to the processor. The
processor interrupts its current program, stores its current operating conditions,
and executes a program to service the device sending the interrupt. After the
device is serviced, the processor restores its previous operating conditions and
continues executing the interrupted program. A method for handling constantly
changing data. Contrast with polling.
interrupt analyzer. A software tool which analyzes potential conflicts in a system
as a result of the occurrences of interrupts.
invalid inputs. (1) (NBS) Test data that lie outside the domain of the function the
program represents. (2) These are not only inputs outside the valid range for data to
be input, i.e. when the specified input range is 50 to 100, but also unexpected
inputs, especially when these unexpected inputs may easily occur; e.g., the entry
of alpha characters or special keyboard characters when only numeric data is
valid, or the input of abnormal command sequences to a program.
I/O port. Input/output connector.
-J-
JCL. job control language.
job. (IEEE) A user-defined unit of work that is to be accomplished by a computer.
For example, the compilation, loading, and execution of a computer program. See:
job control language.
job control language. (IEEE) A language used to identify a sequence of jobs,
describe their requirements to an operating system, and control their execution.
-K-
KB. kilobyte.
KLOC. one thousand lines of code.
Kermit. An asynchronous file transfer protocol developed at Columbia University,
noted for its accuracy over noisy lines. Several versions exist. Contrast with
Xmodem, Ymodem, Zmodem.
key. One or more characters, usually within a set of data, that contains information
about the set, including its identification.
key element. (QA) An individual step in an critical control point of the
manufacturing process.
kilobyte. Approximately one thousand bytes. This symbol is used to describe the
size of computer memory or disk storage space. Because computers use a binary
number system, a kilobyte is precisely 210 or 1024 bytes.
-L-
LAN. local area network.
LSI. large scale integration.
ladder logic. A graphical, problem oriented, programming language which
replicates electronic switching blueprints.
language. See: programming language.
large scale integration. A classification of ICs [chips] based on their size as
expressed by the number of circuits or logic gates they contain. An LSI IC contains
3,000 to 100,000 transistors.
latency. (ISO) The time interval between the instant at which a CPU's instruction
control unit initiates a call for data and the instant at which the actual transfer of
the data starts. Syn: waiting time.
latent defect. See: bug, fault.
life cycle. See: software life cycle.
life cycle methodology. The use of any one of several structured methods to plan,
design, implement, test. and operate a system from its conception to the
termination of its use. See: waterfall model.
linkage editor. (IEEE) A computer program that creates a single load module from
two or more independently translated object modules or load modules by
resolving cross references among the modules and, possibly, by relocating
elements. May be part of a loader. Syn: link editor, linker.
loader. A program which copies other [object] programs from auxiliary [external]
memory to main [internal] memory prior to its execution.
local area network. A communications network that serves users within a
confined geographical area. It is made up of servers, workstations, a network
operating system, and a communications link. Contrast with MAN, WAN.
logic analysis. (IEEE) Evaluates the safety-critical equations, algorithms, and
control logic of the software design. (2) Evaluates the sequence of operations
represented by the coded program and detects programming errors that might
create hazards.
longitudinal redundancy check. (IEEE) A system of error control based on the
formation of a block check following preset rules.
low-level language. See: assembly language. The advantage of assembly
language is that it provides bit-level control of the processor allowing tuning of the
program for optimal speed and performance. For time critical operations,
assembly language may be necessary in order to generate code which executes
fast enough for the required operations. The disadvantage of assembly language is
the high-level of complexity and detail required in the programming. This makes
the source code harder to understand, thus increasing the chance of introducing
errors during program development and maintenance.
-M-
MAN. metropolitan area network.
Mb. megabit.
MB. megabyte.
MHz. megahertz.
MIPS. million instructions per second.
MOS. metal-oxide semiconductor.
MOSFET. metal-oxide semiconductor field effect transistor.
MSI. medium scale integration.
MTBF. mean time between failures.
MTTR. mean time to repair.
MTTF. mean time to failure.
machine code. (IEEE) Computer instructions and definitions expressed in a form
[binary code] that can be recognized by the CPU of a computer. All source code,
regardless of the language in which it was programmed, is eventually converted to
machine code. Syn: object code.
machine language. See: machine code.
macro. (IEEE) In software engineering, a predefined sequence of computer
instructions that is inserted into a program, usually during assembly or
compilation, at each place that its corresponding macroinstruction appears in the
program.
macroinstruction. (IEEE) A source code instruction that is replaced by a
predefined sequence of source instructions, usually in the same language as the
rest of the program and usually during assembly or compilation.
main memory. A non-moving storage device utilizing one of a number of types of
electronic circuitry to store information.
main program. (IEEE) A software component that is called by the operating system
of a computer and that usually calls other software components. See: routine,
subprogram.
mainframe. Term used to describe a large computer.
maintainability. (IEEE) The ease with which a software system or component can
be modified to correct faults, improve performance or other attributes, or adapt to
a changed environment. Syn: modifiability.
maintenance. (QA) Activities such as adjusting, cleaning, modifying, overhauling
equipment to assure performance in accordance with requirements. Maintenance
to a software system includes correcting software errors, adapting software to a
new environment, or making enhancements to software. See: adaptive
maintenance, corrective maintenance, perfective maintenance.
mean time between failures. A measure of the reliability of a computer system,
equal to average operating time of equipment between failures, as calculated on a
statistical basis from the known failure rates of various components of the system.
mean time to failure. A measure of reliability, giving the average time before the
first failure.
mean time to repair. A measure of reliability of a piece of repairable equipment,
giving the average time between repairs.
measure. (IEEE) A quantitative assessment of the degree to which a software
product or process possesses a given attribute.
measurable. Capable of being measured.
measurement. The process of determining the value of some quantity in terms of
a standard unit.
medium scale integration. A classification of ICs [chips] based on their size as
expressed by the number of circuits or logic gates they contain. An MSI IC contains
100 to 3,000 transistors.
megabit. Approximately one million bits. Precisely 1024 K bits, 220 bits, or
1,048,576 bits.
megabyte. Approximately one million bytes. Precisely 1024 K Bytes, 220 bytes, or
1,048,576 bytes. See: kilobyte.
megahertz. A unit of frequency equal to one million cycles per second.
memory. Any device or recording medium into which binary data can be stored
and held, and from which the entire original data can be retrieved. The two types of
memory are main; e.g., ROM, RAM, and auxiliary; e.g., tape, disk. See: storage
device.
menu. A computer display listing a number of options; e.g., functions, from which
the operator may select one. Sometimes used to denote a list of programs.
metal-oxide semiconductor. One of two major categories of chip design [the
other is bipolar]. It derives its name from its use of metal, oxide and
semiconductor layers. There are several varieties of MOS technologies including
PMOS, NMOS, CMOS.
metal-oxide semiconductor field effect transistor. Common type of transistor
fabricated as a discrete component or into MOS integrated circuits.
metric based test data generation. (NBS) The process of generating test sets for
structural testing based upon use of complexity metrics or coverage metrics.
metric, software quality. (IEEE) A quantitative measure of the degree to which
software possesses a given attribute which affects its quality.
metropolitan area network. Communications network that covers a geographical
area such as a city or a suburb. Contrast with LAN, WAN.
microcode. Permanent memory that holds the elementary circuit operations a
computer must perform for each instruction in its instruction set.
microcomputer. A term used to describe a small computer. See: microprocessor.
microprocessor. A CPU existing on a single IC. Frequently synonymous with a
microcomputer.
million instructions per second. Execution speed of a computer. MIPS rate is one
factor in overall performance. Bus and channel speed and bandwidth, memory
speed, memory management techniques, and system software also determine
total throughput.
minicomputer. A term used to describe a medium sized computer.
mishap. (DOD) An unplanned event or series of events resulting in death, injury,
occupational illness, or damage to or loss of data and equipment or property, or
damage to the environment. Syn: accident.
mnemonic. A symbol chosen to assist human memory and understanding; e.g.,
an abbreviation such as "MPY" for multiply.
modeling. Construction of programs used to model the effects of a postulated
environment for investigating the dimensions of a problem for the effects of
algorithmic processes on responsive targets.
modem. (ISO) A functional unit that modulates and demodulates signals. One of
the functions of a modem is to enable digital data to be transmitted over analog
transmission facilities. The term is a contraction of modulator-demodulator.
modem access. Using a modem to communicate between computers. MODEM
access is often used between a remote location and a computer that has a master
database and applications software, the host computer.
modifiability. See: maintainability.
modular decomposition. A structured software design technique, breaking a
system into components to facilitate design and development. Syn: functional
decomposition, hierarchical decomposition. See: abstraction.
modular software. (IEEE) Software composed of discrete parts. See: structured
design.
modularity. (IEEE) The degree to which a system or computer program is
composed of discrete components such that a change to one component has
minimal impact on other components.
modulate. Varying the characteristics of a wave in accordance with another wave
or signal, usually to make user equipment signals compatible with communication
facilities. Contrast with demodulate.
modulation. Converting signals from a binary-digit pattern [pulse form] to a
continuous wave form [analog]. Contrast with demodulation.
module. (1) In programming languages, a self- contained subdivision of a program
that may be separately compiled. (2) A discrete set of instructions, usually
processed as a unit, by an assembler, a compiler, a linkage editor, or similar
routine or subroutine. (3) A packaged functional hardware unit suitable for use with
other components. See: unit.
module interface table. A table which provides a graphic illustration of the data
elements whose values are input to and output from a module.
multi-processing. (IEEE) A mode of operation in which two or more processes
[programs] are executed concurrently [simultaneously] by separate CPUs that
have access to a common main memory. Contrast with multi-programming. See:
multi-tasking, time sharing.
multi-programming. (IEEE) A mode of operation in which two or more programs
are executed in an interleaved manner by a single CPU. Syn: parallel processing.
Contrast with multi-tasking. See: time sharing.
multi-tasking. (IEEE) A mode of operation in which two or more tasks are executed
in an interleaved manner. Syn: parallel processing. See: multi-processing, multi-
programming, time sharing.
multiple condition coverage. (Myers) A test coverage criteria which requires
enough test cases such that all possible combinations of condition outcomes in
each decision, and all points of entry, are invoked at least once. Contrast with
branch coverage, condition coverage, decision coverage, path coverage, statement
coverage.
multiplexer. A device which takes information from any of several sources and
places it on a single line or sends it to a single destination.
multipurpose systems. (IEEE) Computer systems that perform more than one
primary function or task are considered to be multipurpose. In some situations the
computer may be linked or networked with other computers that are used for
administrative functions; e.g., accounting, word processing.
mutation analysis. (NBS) A method to determine test set thoroughness by
measuring the extent to which a test set can discriminate the program from slight
variants [mutants] of the program. Contrast with error seeding.
-N-
NBS. National Bureau of Standards.
NIST. National Institute for Standards and Technology.
NMI. non-maskable interrupt.
NMOS. n-channel MOS.
National Bureau of Standards. Now National Institute for Standards and
Technology.
National Institute for Standards and Technology. Gaithersburg, MD 20899. A
federal agency under the Department of Commerce, originally established by an
act of Congress on March 3, 1901 as the National Bureau of Standards. The
Institute's overall goal is to strengthen and advance the Nation's science and
technology and facilitate their effective application for public benefit. The National
Computer Systems Laboratory conducts research and provides, among other
things, the technical foundation for computer related policies of the Federal
Government.
n-channel MOS. A type of microelectronic circuit used for logic and memory
chips.
network. (1) (ISO) An arrangement of nodes and interconnecting branches. (2) A
system [transmission channels and supporting hardware and software] that
connects several remotely located computers via telecommunications.
network database. A database organization method that allows for data
relationships in a net-like form. A single data element can point to multiple data
elements and can itself be pointed to by other data elements. Contrast with
relational database.
nibble. Half a byte, or four bits.
node. A junction or connection point in a network, e.g. a terminal or a computer.
noncritical code analysis. (IEEE) (1) Examines software elements that are not
designated safety-critical and ensures that these elements do not cause a hazard.
(2) Examines portions of the code that are not considered safety-critical code to
ensure they do not cause hazards. Generally, safety-critical code should be
isolated from non-safety-critical code. This analysis is to show this isolation is
complete and that interfaces between safety-critical code and non-safety-critical
code do not create hazards.
nonincremental integration. A reformation of a program by immediately relinking
the entire program following the testing of each independent module. Integration
testing is then conducted on the program as a whole. Syn: "big bang" integration.
Contrast with incremental integration.
non-maskable interrupt. A high priority interrupt that cannot be disabled by
another interrupt. It can be used to report malfunctions such as parity, bus, and
math co-processor errors.
null. (IEEE) A value whose definition is to be supplied within the context of a
specific operating system. This value is a representation of the set of no numbers
or no value for the operating system in use.
null data. (IEEE) Data for which space is allocated but for which no value currently
exists.
null string. (IEEE) A string containing no entries. Note: It is said that a null string
has length zero.
-O-
OCR. optical character recognition.
OEM. original equipment manufacturer.
OOP. object oriented programming.
object. In object oriented programming, A self contained module [encapsulation]
of data and the programs [services] that manipulate [process] that data.
object code. (NIST) A code expressed in machine language ["1"s and "0"s] which is
normally an output of a given translation process that is ready to be executed by a
computer. Syn: machine code. Contrast with source code. See: object program.
object oriented design. (IEEE) A software development technique in which a
system or component is expressed in terms of objects and connections between
those objects.
object oriented language. (IEEE) A programming language that allows the user to
express a program in terms of objects and messages between those objects.
Examples include C++, Smalltalk and LOGO.
object oriented programming. A technology for writing programs that are made
up of self-sufficient modules that contain all of the information needed to
manipulate a given data structure. The modules are created in class hierarchies so
that the code or methods of a class can be passed to other modules. New object
modules can be easily created by inheriting the characteristics of existing classes.
See: object, object oriented design.
object program. (IEEE) A computer program that is the output of an assembler or
compiler.
octal. The base 8 number system. Digits are 0, 1, 2, 3, 4, 5, 6, & 7.
on-line. (IEEE) Pertaining to a system or mode of operation in which input data
enter the computer directly from the point of origin or output data are transmitted
directly to the point where they are used. For example, an airline reservation
system. Contrast with batch. See: conversational, interactive, real time.
operating system. (ISO) Software that controls the execution of programs, and
that provides services such as resource allocation, scheduling, input/output
control, and data management. Usually, operating systems are predominantly
software, but partial or complete hardware implementations are possible.
operation and maintenance phase. (IEEE) The period of time in the software life
cycle during which a software product is employed in its operational environment,
monitored for satisfactory performance, and modified as necessary to correct
problems or to respond to changing requirements.
operation exception. (IEEE) An exception that occurs when a program encounters
an invalid operation code.
operator. See: end user.
optical character recognition. An information processing technology that
converts human readable data into another medium for computer input. An OCR
peripheral device accepts a printed document as input, to identify the characters
by their shape from the light that is reflected and creates an output disk file. For
best results, the printed page must contain only characters of a type that are easily
read by the OCR device and located on the page within certain margins. When
choosing an OCR product, the prime consideration should be the program's level
of accuracy as it applies to the type of document to be scanned. Accuracy levels
less than 97% are generally considered to be poor.
optical fiber. Thin glass wire designed for light transmission, capable of
transmitting billions of bits per second. Unlike electrical pulses, light pulses are
not affected by random radiation in the environment.
optimization. (NIST) Modifying a program to improve performance; e.g., to make it
run faster or to make it use fewer resources.
Oracle. A relational database programming system incorporating the SQL
programming language. A registered trademark of the Oracle Corp.
original equipment manufacturer. A manufacturer of computer hardware.
overflow. (ISO) In a calculator, the state in which the calculator is unable to accept
or process the number of digits in the entry or in the result. See: arithmetic
overflow.
overflow exception. (IEEE) An exception that occurs when the result of an
arithmetic operation exceeds the size of the storage location designated to receive
it.
-P-
PAL. programmable array logic.
PC. personal computer.
PCB. printed circuit board.
PDL. program design language.
PLA. programmable logic array.
PLD. programmable logic device.
PMOS. positive channel MOS.
PROM. programmable read only memory.
paging. (IEEE) A storage allocation technique in which programs or data are
divided into fixed length blocks called pages, main storage/memory is divided into
blocks of the same length called page frames, and pages are stored in page
frames, not necessarily contiguously or in logical order, and pages are transferred
between main and auxiliary storage as needed.
parallel. (1) (IEEE) Pertaining to the simultaneity of two or more processes. (2)
(IEEE) Pertaining to the simultaneous processing of individual parts of a whole,
such as the bits of a character or the characters of a word, using separate facilities
for the various parts. (3) Term describing simultaneous transmission of the bits
making up a character, usually eight bits [one byte]. Contrast with serial.
parallel processing. See: multi-processing, multi- programming.
parameter. (IEEE) A constant, variable or expression that is used to pass values
between software modules. Syn: argument.
parity. An error detection method in data transmissions that consists of selectively
adding a 1-bit to bit patterns [word, byte, character, message] to cause the bit
patterns to have either an odd number of 1-bits [odd parity] or an even number of
1-bits [even parity].
parity bit. (ISO) A binary digit appended to a group of binary digits to make the sum
of all the digits, including the appended binary digit, either odd or even, as
predetermined.
parity check. (ISO) A redundancy check by which a recalculated parity bit is
compared to the predetermined parity bit. Contrast with check summation, cyclic
redundancy check [CRC].
Pascal. A high-level programming language designed to encourage structured
programming practices.
password. (ISO) A character string that enables a user to have full or limited
access to a system or to a set of data.
patch. (IEEE) A change made directly to an object program without reassembling
or recompiling from the source program.
path. (IEEE) A sequence of instructions that may be performed in the execution of
a computer program.
path analysis. (IEEE) Analysis of a computer program [source code] to identify all
possible paths through the program, to detect incomplete paths, or to discover
portions of the program that are not on any path.
path coverage. See: testing, path.
perfective maintenance. (IEEE) Software maintenance performed to improve the
performance, maintainability, or other attributes of a computer program. Contrast
with adaptive maintenance, corrective maintenance.
performance requirement. (IEEE) A requirement that imposes conditions on a
functional requirement; e.g., a requirement that specifies the speed, accuracy, or
memory usage with which a given function must be performed.
peripheral device. Equipment that is directly connected a computer. A peripheral
device can be used to input data; e.g., keypad, bar code reader, transducer,
laboratory test equipment; or to output data; e.g., printer, disk drive, video system,
tape drive, valve controller, motor controller. Syn: peripheral equipment.
peripheral equipment. See: peripheral device.
personal computer. Synonymous with microcomputer, a computer that is
functionally similar to large computers, but serves only one user.
physical configuration audit. (IEEE) An audit conducted to verify that a
configuration item, as built, conforms to the technical documentation that defines
it. See: functional configuration audit.
physical requirement. (IEEE) A requirement that specifies a physical
characteristic that a system or system component must posses; e.g., material,
shape, size, weight.
pixel. (IEEE) (1) In image processing and pattern recognition, the smallest element
of a digital image that can be assigned a gray level. (2) In computer graphics, the
smallest element of a display surface that can be assigned independent
characteristics. This term is derived from the term "picture element".
platform. The hardware and software which must be present and functioning for
an application program to run [perform] as intended. A platform includes, but is
not limited to the operating system or executive software, communication
software, microprocessor, network, input/output hardware, any generic software
libraries, database management, user interface software, and the like.
polling. A technique a CPU can use to learn if a peripheral device is ready to
receive data or to send data. In this method each device is checked or polled in-
turn to determine if that device needs service. The device must wait until it is
polled in order to send or receive data. This method is useful if the device's data
can wait for a period of time before being processed, since each device must await
its turn in the polling scheme before it will be serviced by the processor. Contrast
with interrupt.
positive channel MOS. A type of microelectronic circuit in which the base
material is positively charged.
precision. The relative degree of repeatability, i.e. how closely the values within a
series of replicate measurements agree. It is the result of resolution and stability.
See: accuracy, bias, calibration.
preliminary design. (IEEE) (1) The process of analyzing design alternatives and
defining the architecture, components, interfaces, and timing and sizing estimates
for a system or component. See: detailed design. (2) The result of the process in
(1).
preliminary design review. (IEEE) A review conducted to evaluate the progress,
technical adequacy, and risk resolution of the selected design approach for one or
more configuration items; to determine each design's compatibility with the
requirements for the configuration item; to evaluate the degree of definition and
assess the technical risk associated with the selected manufacturing methods
and processes; to establish the existence and compatibility of the physical and
functional interfaces among the configuration items and other items of equipment,
facilities, software and personnel; and, as applicable, to evaluate the preliminary
operational and support documents.
printed circuit board. A flat board that holds chips and other electronic
components. The board is "printed" with electrically conductive pathways
between the components.
production database. The computer file that contains the establishment's current
production data.
program. (1) (ISO) A sequence of instructions suitable for processing. Processing
may include the use of an assembler, a compiler, an interpreter, or another
translator to prepare the program for execution. The instructions may include
statements and necessary declarations. (2) (ISO) To design, write, and test
programs. (3) (ANSI) In programming languages, a set of one or more interrelated
modules capable of being executed. (4) Loosely, a routine. (5) Loosely, to write a
routine.
program design language. (IEEE) A specification language with special constructs
and, sometimes, verification protocols, used to develop, analyze, and document a
program design.
program mutation. (IEEE) A computer program that has been purposely altered
from the intended version to evaluate the ability of program test cases to detect
the alteration. See: testing, mutation.
programmable array logic. A programmable logic chip. See: programmable logic
device.
programmable logic array. A programmable logic chip. See: programmable logic
device.
programmable logic device. A logic chip that is programmed at the user's site.
Contrast with PROM.
programmable read only memory. A chip which may be programmed by using a
PROM programming device. It can be programmed only once. It cannot be erased
and reprogrammed. Each of its bit locations is a fusible link. An unprogrammed
PROM has all links closed establishing a known state of each bit. Programming the
chip consists of sending an electrical current of a specified size through each link
which is to be changed to the alternate state. This causes the "fuse to blow",
opening that link.
programming language. (IEEE) A language used to express computer programs.
See: computer language, high-level language, low-level language.
programming standards. See: coding standards.
programming style analysis. (IEEE) Analysis to ensure that all portions of the
program follow approved programming guidelines. See: code audit, code
inspection. coding standards.
project plan. (NIST) A management document describing the approach taken for a
project. The plan typically describes work to be done, resources required, methods
to be used, the configuration management and quality assurance procedures to be
followed, the schedules to be met, the project organization, etc. Project in this
context is a generic term. Some projects may also need integration plans, security
plans, test plans, quality assurance plans, etc. See: documentation plan, software
development plan, test plan, software engineering.
PROM programmer. Electronic equipment which is used to transfer a program
[write instructions and data] into PROM and EPROM chips.
proof of correctness. (NBS) The use of techniques of mathematical logic to infer
that a relation between program variables assumed true at program entry implies
that another relation between program variables holds at program exit.
protection exception. (IEEE) An exception that occurs when a program attempts
to write into a protected area in storage.
protocol. (ISO) A set of semantic and syntactic rules that determines the behavior
of functional units in achieving communication.
prototyping. Using software tools to accelerate the software development
process by facilitating the identification of required functionality during analysis
and design phases. A limitation of this technique is the identification of system or
software problems and hazards. See: rapid prototyping.
pseudocode. A combination of programming language and natural language used
to express a software design. If used, it is usually the last document produced prior
to writing the source code.
-Q-
QA. quality assurance.
QC. quality control.
qualification, installation. (FDA) Establishing confidence that process equipment
and ancillary systems are compliant with appropriate codes and approved design
intentions, and that manufacturer's recommendations are suitably considered.
qualification, operational. (FDA) Establishing confidence that process equipment
and sub-systems are capable of consistently operating within established limits
and tolerances.
qualification, process performance. (FDA) Establishing confidence that the
process is effective and reproducible.
qualification, product performance. (FDA) Establishing confidence through
appropriate testing that the finished product produced by a specified process
meets all release requirements for functionality and safety.
quality assurance. (1) (ISO) The planned systematic activities necessary to ensure
that a component, module, or system conforms to established technical
requirements. (2) All actions that are taken to ensure that a development
organization delivers products that meet performance requirements and adhere to
standards and procedures. (3) The policy, procedures, and systematic actions
established in an enterprise for the purpose of providing and maintaining some
degree of confidence in data integrity and accuracy throughout the life cycle of the
data, which includes input, update, manipulation, and output. (4) (QA) The actions,
planned and performed, to provide confidence that all systems and components
that influence the quality of the product are working as expected individually and
collectively.
quality assurance, software. (IEEE) (1) A planned and systematic pattern of all
actions necessary to provide adequate confidence that an item or product
conforms to established technical requirements. (2) A set of activities designed to
evaluate the process by which products are developed or manufactured.
quality control. The operational techniques and procedures used to achieve
quality requirements.
-R-
RAM. random access memory.
RFI. radiofrequency interference.
RISC. reduced instruction set computer.
ROM. read only memory.
radiofrequency interference. High frequency electromagnetic waves that
emanate from electronic devices such as chips and other electronic devices. An
electromagnetic disturbance caused by such radiating and transmitting sources as
electrostatic discharge [ESD], lightning, radar, radio and TV signals, and motors
with brushes can induce unwanted voltages in electronic circuits, damage
components and cause malfunctions. See: electromagnetic interference.
random access memory. Chips which can be called read/write memory, since the
data stored in them may be read or new data may be written into any memory
address on these chips. The term random access means that each memory
location [usually 8 bits or 1 byte] may be directly accessed [read from or written to]
at random. This contrasts to devices like magnetic tape where each section of the
tape must be searched sequentially by the read/write head from its current
location until it finds the desired location. ROM memory is also random access
memory, but they are read only not read/write memories. Another difference
between RAM and ROM is that RAM is volatile, i.e. it must have a constant supply
of power or the stored data will be lost.
range check. (ISO) A limit check in which both high and low values are stipulated.
rapid prototyping. A structured software requirements discovery technique which
emphasizes generating prototypes early in the development process to permit
early feedback and analysis in support of the development process. Contrast with
incremental development, spiral model, waterfall model. See: prototyping.
read only memory. A memory chip from which data can only be read by the CPU.
The CPU may not store data to this memory. The advantage of ROM over RAM is
that ROM does not require power to retain its program. This advantage applies to
all types of ROM chips; ROM, PROM, EPROM, and EEPROM.
real time. (IEEE) Pertaining to a system or mode of operation in which computation
is performed during the actual time that an external process occurs, in order that
the computation results can be used to control, monitor, or respond in a timely
manner to the external process. Contrast with batch. See: conversational,
interactive, interrupt, on-line.
real time processing. A fast-response [immediate response] on-line system which
obtains data from an activity or a physical process, performs computations, and
returns a response rapidly enough to affect [control] the outcome of the activity or
process; e.g., a process control application. Contrast with batch processing.
record. (1) (ISO) a group of related data elements treated as a unit. [A data
element (field) is a component of a record, a record is a component of a file
(database)].
record of change. Documentation of changes made to the system. A record of
change can be a written document or a database. Normally there are two
associated with a computer system, hardware and software. Changes made to the
data are recorded in an audit trail.
recursion. (IEEE) (1) The process of defining or generating a process or data
structure in terms of itself. (2) A process in which a software module calls itself.
reduced instruction set computer. Computer architecture that reduces the
complexity of the chip by using simpler instructions. Reduced instruction set does
not necessarily mean fewer instructions, but rather a return to simple instructions
requiring only one or a very few instruction cycles to execute, and therefore are
more effectively utilized with innovative architectural and compiler changes.
Systems using RISC technology are able to achieve processing speeds of more
than five million instructions per second.
region. A clearly described area within the computer's storage that is logically
and/or physically distinct from other regions. Regions are used to separate testing
from production [normal use]. Syn: partition.
register. A small, high speed memory circuit within a microprocessor that holds
addresses and values of internal operations; e.g., registers keep track of the
address of the instruction being executed and the data being processed. Each
microprocessor has a specific number of registers depending upon its design.
regression analysis and testing. (IEEE) A software V&V task to determine the
extent of V&V analysis and testing that must be repeated when changes are made
to any previously examined software products. See: testing, regression.
relational database. Database organization method that links files together as
required. Relationships between files are created by comparing data such as
account numbers and names. A relational system can take any two or more files
and generate a new file from the records that meet the matching criteria. Routine
queries often involve more than one data file; e.g., a customer file and an order file
can be linked in order to ask a question that relates to information in both files,
such as the names of the customers that purchased a particular product. Contrast
with network database, flat file.
release. (IEEE) The formal notification and distribution of an approved version.
See: version.
reliability. (IEEE) The ability of a system or component to perform its required
functions under stated conditions for a specified period of time. See: software
reliability.
reliability assessment. (ANSI/IEEE) The process of determining the achieved level
of reliability for an existing system or system component.
requirement. (IEEE) (1) A condition or capability needed by a user to solve a
problem or achieve an objective. (2) A condition or capability that must be met or
possessed by a system or system component to satisfy a contract, standard,
specification, or other formally imposed documents. (3) A documented
representation of a condition or capability as in (1) or (2). See: design requirement,
functional requirement, implementation requirement, interface requirement,
performance requirement, physical requirement.
requirements analysis. (IEEE) (1) The process of studying user needs to arrive at a
definition of a system, hardware, or software requirements. (2) The process of
studying and refining system, hardware, or software requirements. See:
prototyping, software engineering.
requirements phase. (IEEE) The period of time in the software life cycle during
which the requirements, such as functional and performance capabilities for a
software product, are defined and documented.
requirements review. (IEEE) A process or meeting during which the requirements
for a system, hardware item, or software item are presented to project personnel,
managers, users, customers, or other interested parties for comment or approval.
Types include system requirements review, software requirements review.
Contrast with code review, design review, formal qualification review, test
readiness review.
retention period. (ISO) The length of time specified for data on a data medium to
be preserved.
retrospective trace. (IEEE) A trace produced from historical data recorded during
the execution of a computer program. Note: this differs from an ordinary trace,
which is produced cumulatively during program execution. See: execution trace,
subroutine trace, symbolic trace, variable trace.
revalidation. Relative to software changes, revalidation means validating the
change itself, assessing the nature of the change to determine potential ripple
effects, and performing the necessary regression testing.
review. (IEEE) A process or meeting during which a work product or set of work
products, is presented to project personnel, managers, users, customers, or other
interested parties for comment or approval. Types include code review, design
review, formal qualification review, requirements review, test readiness review.
Contrast with audit, inspection. See: static analysis.
revision number. See: version number.
risk. (IEEE) A measure of the probability and severity of undesired effects. Often
taken as the simple product of probability and consequence.
risk assessment. (DOD) A comprehensive evaluation of the risk and its associated
impact.
robustness. The degree to which a software system or component can function
correctly in the presence of invalid inputs or stressful environmental conditions.
See: software reliability.
routine. (IEEE) A subprogram that is called by other programs and subprograms.
Note: This term is defined differently in various programming languages. See:
module.
RS-232-C. An Electronic Industries Association (EIA) standard for connecting
electronic equipment. Data is transmitted and received in serial format.
-S-
SCSI. small computer systems interface.
SOPs. standard operating procedures.
SQL. structured query language.
SSI. small scale integration.
safety. (DOD) Freedom from those conditions that can cause death, injury,
occupational illness, or damage to or loss of equipment or property, or damage to
the environment.
safety critical. (DOD) A term applied to a condition, event, operation, process or
item of whose proper recognition, control, performance or tolerance is essential to
safe system operation or use; e.g., safety critical function, safety critical path,
safety critical component.
safety critical computer software components. (DOD) Those computer software
components and units whose errors can result in a potential hazard, or loss of
predictability or control of a system.
security. See: computer system security.
sensor. A peripheral input device which senses some variable in the system
environment, such as temperature, and converts it to an electrical signal which
can be further converted to a digital signal for processing by the computer.
serial. (1) Pertaining to the sequential processing of the individual parts of a whole,
such as the bits of a character or the characters of a word, using the same facilities
for successive parts. (2) Term describing the transmission of data one bit at a time.
Contrast with parallel.
server. A high speed computer in a network that is shared by multiple users. It
holds the programs and data that are shared by all users.
service program. Syn: utility program.
servomechanism. (ANSI) (1) An automatic device that uses feedback to govern
the physical position of an element. (2) A feedback control system in which at least
one of the system signals represents a mechanical motion.
severity. See: criticality.
side effect. An unintended alteration of a program's behavior caused by a change
in one part of the program, without taking into account the effect the change has
on another part of the program. See: regression analysis and testing.
simulation. (1) (NBS) Use of an executable model to represent the behavior of an
object. During testing the computational hardware, the external environment, and
even code segments may be simulated. (2) (IEEE) A model that behaves or
operates like a given system when provided a set of controlled inputs. Contrast
with emulation.
simulation analysis. (IEEE) A software V&V task to simulate critical tasks of the
software or system environment to analyze logical or performance characteristics
that would not be practical to analyze manually.
simulator. (IEEE) A device, computer program, or system that behaves or operates
like a given system when provided a set of controlled inputs. Contrast with
emulator. A simulator provides inputs or responses that resemble anticipated
process parameters. Its function is to present data to the system at known speeds
and in a proper format.
sizing. (IEEE) The process of estimating the amount of computer storage or the
number of source lines required for a software system or component. Contrast
with timing.
sizing and timing analysis. (IEEE) A software V&V task to obtain program sizing
and execution timing information to determine if the program will satisfy processor
size and performance requirements allocated to software.
small computer systems interface. A standard method of interfacing a computer
to disk drives, tape drives and other peripheral devices that require high-speed
data transfer. Up to seven SCSI devices can be linked to a single SCSI port.
Contrast with ST-506, EDSI, IDE.
small scale integration. A classification of ICs [chips] based on their size as
expressed by the number of circuits or logic gates they contain. An SSI IC contains
up to 100 transistors.
software. (ANSI) Programs, procedures, rules, and any associated documentation
pertaining to the operation of a system. Contrast with hardware. See: application
software, operating system, system software, utility software.
software audit. See: software review.
software characteristic. An inherent, possibly accidental, trait, quality, or
property of software; e.g., functionality, performance, attributes, design
constraints, number of states, lines or branches.
software configuration item. See: configuration item.
software design description. (IEEE) A representation of software created to
facilitate analysis, planning, implementation, and decision making. The software
design description is used as a medium for communicating software design
information, and may be thought of as a blueprint or model of the system. See:
structured design, design description, specification.
software developer. See: developer.
software development notebook. (NIST) A collection of material pertinent to the
development of a software module. Contents typically include the requirements,
design, technical reports, code listings, test plans, test results, problem reports,
schedules, notes, etc. for the module. Syn: software development file.
software development plan. (NIST) The project plan for the development of a
software product. Contrast with software development process, software life
cycle.
software development process. (IEEE) The process by which user needs are
translated into a software product. the process involves translating user needs into
software requirements, transforming the software requirements into design,
implementing the design in code, testing the code, and sometimes installing and
checking out the software for operational activities. Note: these activities may
overlap or be performed iteratively. See: incremental development, rapid
prototyping, spiral model, waterfall model.
software diversity. (IEEE) A software development technique in which two or more
functionally identical variants of a program are developed from the same
specification by different programmers or programming teams with the intent of
providing error detection, increased reliability, additional documentation or
reduced probability that programming or compiler errors will influence the end
results.
software documentation. (NIST) Technical data or information, including
computer listings and printouts, in human readable form, that describe or specify
the design or details, explain the capabilities, or provide operating instructions for
using the software to obtain desired results from a software system. See:
specification; specification, requirements; specification, design; software design
description; test plan, test report, user's guide.
software element. (IEEE) A deliverable or in- process document produced or
acquired during software development or maintenance. Specific examples include
but are not limited to:
(1) Project planning documents; i.e., software development plans, and software
verification and validation plans.
(2) Software requirements and design specifications.
(3) Test documentation.
(4) Customer-deliverable documentation.
(5) Program source code.
(6) Representation of software solutions implemented in firmware.
(7) Reports; i.e., review, audit, project status.
(8) Data; i.e., defect detection, test.
Contrast with software item. See: configuration item.
software element analysis. See: software review.
software engineering. (IEEE) The application of a systematic, disciplined,
quantifiable approach to the development, operation, and maintenance of
software; i.e., the application of engineering to software. See: project plan,
requirements analysis, architectural design, structured design, system safety,
testing, configuration management.
software engineering environment. (IEEE) The hardware, software, and firmware
used to perform a software engineering effort. Typical elements include computer
equipment, compilers, assemblers, operating systems, debuggers, simulators,
emulators, test tools, documentation tools, and database management systems.
software hazard analysis. (ODE, CDRH) The identification of safety-critical
software, the classification and estimation of potential hazards, and identification
of program path analysis to identify hazardous combinations of internal and
environmental program conditions. See: risk assessment, software safety change
analysis, software safety code analysis, software safety design analysis, software
safety requirements analysis, software safety test analysis, system safety.
software item. (IEEE) Source code, object code, job control code, control data, or
a collection of these items. Contrast with software element.
software life cycle. (NIST) Period of time beginning when a software product is
conceived and ending when the product is no longer available for use. The
software life cycle is typically broken into phases denoting activities such as
requirements, design, programming, testing, installation, and operation and
maintenance. Contrast with software development process. See: waterfall model.
software reliability. (IEEE) (1) the probability that software will not cause the
failure of a system for a specified time under specified conditions. The probability
is a function of the inputs to and use of the system in the software. The inputs to
the system determine whether existing faults, if any, are encountered. (2) The
ability of a program to perform its required functions accurately and reproducibly
under stated conditions for a specified period of time.
software requirements specification. See: specification, requirements.
software review. (IEEE) An evaluation of software elements to ascertain
discrepancies from planned results and to recommend improvement. This
evaluation follows a formal process. Syn: software audit. See: code audit, code
inspection, code review, code walkthrough, design review, specification analysis,
static analysis.
software safety change analysis. (IEEE) Analysis of the safety-critical design
elements affected directly or indirectly by the change to show the change does not
create a new hazard, does not impact on a previously resolved hazard, does not
make a currently existing hazard more severe, and does not adversely affect any
safety-critical software design element. See: software hazard analysis, system
safety.
software safety code analysis. (IEEE) Verification that the safety-critical portions
of the design are correctly implemented in the code. See: logic analysis, data
analysis, interface analysis, constraint analysis, programming style analysis,
noncritical code analysis, timing and sizing analysis, software hazard analysis,
system safety.
software safety design analysis. (IEEE) Verification that the safety-critical portion
of the software design correctly implements the safety-critical requirements and
introduces no new hazards. See: logic analysis, data analysis, interface analysis,
constraint analysis, functional analysis, software element analysis, timing and
sizing analysis, reliability analysis, software hazard analysis, system safety.
software safety requirements analysis. (IEEE) Analysis evaluating software and
interface requirements to identify errors and deficiencies that could contribute to a
hazard. See: criticality analysis, specification analysis, timing and sizing analysis,
different software systems analyses, software hazard analysis, system safety.
software safety test analysis. (IEEE) Analysis demonstrating that safety
requirements have been correctly implemented and that the software functions
safely within its specified environment. Tests may include; unit level tests,
interface tests, software configuration item testing, system level testing, stress
testing, and regression testing. See: software hazard analysis, system safety.
source code. (1) (IEEE) Computer instructions and data definitions expressed in a
form suitable for input to an assembler, compiler or other translator. (2) The human
readable version of the list of instructions [program] that cause a computer to
perform a task. Contrast with object code. See: source program, programming
language.
source program. (IEEE) A computer program that must be compiled, assembled,
or otherwise translated in order to be executed by a computer. Contrast with
object program. See: source code.
spaghetti code. Program source code written without a coherent structure.
Implies the excessive use of GOTO instructions. Contrast with structured
programming.
special test data. (NBS) Test data based on input values that are likely to require
special handling by the program. See: error guessing; testing, special case.
specification. (IEEE) A document that specifies, in a complete, precise, verifiable
manner, the requirements, design, behavior,or other characteristics of a system or
component, and often, the procedures for determining whether these provisions
have been satisfied. Contrast with requirement. See: specification, formal;
specification, requirements; specification, functional; specification, performance;
specification, interface; specification, design; coding standards; design standards.
specification analysis. (IEEE) Evaluation of each safety-critical software
requirement with respect to a list of qualities such as completeness, correctness,
consistency, testability, robustness, integrity, reliability, usability, flexibility,
maintainability, portability, interoperability, accuracy, auditability, performance,
internal instrumentation, security and training.
specification, design. (NIST) A specification that documents how a system is to
be built. It typically includes system or component structure, algorithms, control
logic, data structures, data set [file] use information, input/output formats,
interface descriptions, etc. Contrast with design standards, requirement. See:
software design description.
specification, formal. (NIST) (1) A specification written and approved in
accordance with established standards. (2) A specification expressed in a
requirements specification language. Contrast with requirement.
specification, functional. (NIST) A specification that documents the functional
requirements for a system or system component. It describes what the system or
component is to do rather than how it is to be built. Often part of a requirements
specification. Contrast with requirement.
specification, interface. (NIST) A specification that documents the interface
requirements for a system or system component. Often part of a requirements
specification. Contrast with requirement.
specification, performance. (IEEE) A document that sets forth the performance
characteristics that a system or component must possess. These characteristics
typically include speed, accuracy, and memory usage. Often part of a
requirements specification. Contrast with requirement.
specification, product. (IEEE) A document which describes the as built version of
the software.
specification, programming. (NIST) See: specification, design.
specification, requirements. (NIST) A specification that documents the
requirements of a system or system component. It typically includes functional
requirements, performance requirements, interface requirements, design
requirements [attributes and constraints], development [coding] standards, etc.
Contrast with requirement.
specification, system. See: requirements specification.
specification, test case. See: test case.
specification tree. (IEEE) A diagram that depicts all of the specifications for a
given system and shows their relationship to one another.
spiral model. (IEEE) A model of the software development process in which the
constituent activities, typically requirements analysis, preliminary and detailed
design, coding, integration, and testing, are performed iteratively until the software
is complete. Syn: evolutionary model. Contrast with incremental development;
rapid prototyping; waterfall model.
ST-506. A standard electrical interface between the hard disk and controller in IBM
PC compatible computers. Contrast with EDSI, IDE, SCSI.
standard operating procedures. Written procedures [prescribing and describing
the steps to be taken in normal and defined conditions] which are necessary to
assure control of production and processes.
state. (IEEE) (1) A condition or mode of existence that a system, component, or
simulation may be in; e.g., the pre-flight state of an aircraft navigation program or
the input state of a given channel.
state diagram. (IEEE) A diagram that depicts the states that a system or
component can assume, and shows the events or circumstances that cause or
result from a change from one state to another. Syn: state graph. See: state-
transition table.
statement coverage. See: testing, statement.
state-transition table. (Beizer) A representation of a state graph that specifies the
states, the inputs, the transitions, and the outputs. See: state diagram.
static analysis. (1) (NBS) Analysis of a program that is performed without
executing the program. (2) (IEEE) The process of evaluating a system or component
based on its form, structure, content, documentation. Contrast with dynamic
analysis. See: code audit, code inspection, code review, code walk-through,
design review, symbolic execution.
static analyzer. (ANSI/IEEE) A software tool that aides in the evaluation of a
computer program without executing the program. Examples include checkers,
compilers, cross-reference generators, standards enforcers, and flowcharters.
stepwise refinement. A structured software design technique; data and
processing steps are defined broadly at first, and then further defined with
increasing detail.
storage device. A unit into which data or programs can be placed, retained and
retrieved. See: memory.
string. (IEEE) (1) A sequence of characters. (2) A linear sequence of entities such
as characters or physical elements.
structure chart. (IEEE) A diagram that identifies modules, activities, or other
entities in a system or computer program and shows how larger or more general
entities break down into smaller, more specific entries. Note: The result is not
necessarily the same as that shown in a call graph. Syn: hierarchy chart, program
structure chart. Contrast with call graph.
structured design. (IEEE) Any disciplined approach to software design that
adheres to specified rules based on principles such as modularity, top-down
design, and stepwise refinement of data, system structure, and processing steps.
See: data structure centered design, input-processing-output, modular
decomposition, object oriented design, rapid prototyping, stepwise refinement,
structured programming, transaction analysis, transform analysis, graphical
software specification/design documents, modular software, software
engineering.
structured programming. (IEEE) Any software development technique that
includes structured design and results in the development of structured programs.
See: structured design.
structured query language. A language used to interrogate and process data in a
relational database. Originally developed for IBM mainframes, there have been
many implementations created for mini and micro computer database
applications. SQL commands can be used to interactively work with a data base or
can be embedded with a programming language to interface with a database.
stub. (NBS) Special code segments that when invoked by a code segment under
test will simulate the behavior of designed and specified modules not yet
constructed.
subprogram. (IEEE) A separately compilable, executable component of a
computer program. Note: This term is defined differently in various programming
languages. See: coroutine, main program, routine, subroutine.
subroutine. (IEEE) A routine that returns control to the program or subprogram that
called it. Note: This term is defined differently in various programming languages.
See: module.
subroutine trace. (IEEE) A record of all or selected subroutines or function calls
performed during the execution of a computer program and, optionally, the values
of parameters passed to and returned by each subroutine or function. Syn: call
trace. See: execution trace, retrospective trace, symbolic trace, variable trace.
support software. (IEEE) Software that aids in the development and maintenance
of other software; e.g., compilers, loaders, and other utilities.
symbolic execution. (IEEE) A static analysis technique in which program
execution is simulated using symbols, such as variable names, rather than actual
values for input data, and program outputs are expressed as logical or
mathematical expressions involving these symbols.
symbolic trace. (IEEE) A record of the source statements and branch outcomes
that are encountered when a computer program is executed using symbolic, rather
than actual values for input data. See: execution trace, retrospective trace,
subroutine trace, variable trace.
synchronous. Occurring at regular, timed intervals, i.e. timing dependent.
synchronous transmission. A method of electrical transfer in which a constant
time interval is maintained between successive bits or characters. Equipment
within the system is kept in step on the basis of this timing. Contrast with
asynchronous transmission.
syntax. The structural or grammatical rules that define how symbols in a language
are to be combined to form words, phrases, expressions, and other allowable
constructs.
system. (1) (ANSI) People, machines, and methods organized to accomplish a set
of specific functions. (2) (DOD) A composite, at any level of complexity, of
personnel, procedures, materials, tools, equipment, facilities, and software. The
elements of this composite entity are used together in the intended operational or
support environment to perform a given task or achieve a specific purpose,
support, or mission requirement.
system administrator. The person that is charged with the overall administration,
and operation of a computer system. The System Administrator is normally an
employee or a member of the establishment. Syn: system manager.
system analysis. (ISO) A systematic investigation of a real or planned system to
determine the functions of the system and how they relate to each other and to
any other system. See: requirements phase.
system design. (ISO) A process of defining the hardware and software
architecture, components, modules, interfaces, and data for a system to satisfy
specified requirements. See: design phase, architectural design, functional
design.
system design review. (IEEE) A review conducted to evaluate the manner in which
the requirements for a system have been allocated to configuration items, the
system engineering process that produced the allocation, the engineering planning
for the next phase of the effort, manufacturing considerations, and the planning for
production engineering. See: design review.
system documentation. (ISO) The collection of documents that describe the
requirements, capabilities, limitations, design, operation, and maintenance of an
information processing system. See: specification, test documentation, user's
guide.
system integration. (ISO) The progressive linking and testing of system
components into a complete system. See: incremental integration.
system life cycle. The course of developmental changes through which a system
passes from its conception to the termination of its use; e.g., the phases and
activities associated with the analysis, acquisition, design, development, test,
integration, operation, maintenance, and modification of a system. See: software
life cycle.
system manager. See: system administrator.
system safety. (DOD) The application of engineering and management principles,
criteria, and techniques to optimize all aspects of safety within the constraints of
operational effectiveness, time, and cost throughout all phases of the system life
cycle. See: risk assessment, software safety change analysis, software safety code
analysis, software safety design analysis, software safety requirements analysis,
software safety test analysis, software engineering.
system software. (1) (ISO) Application- independent software that supports the
running of application software. (2) (IEEE) Software designed to facilitate the
operation and maintenance of a computer system and its associated programs;
e.g., operating systems, assemblers, utilities. Contrast with application software.
See: support software.
-T-
TB. terabyte.
TCP/IP. transmission control protocol/Internet protocol.
tape. Linear magnetic storage hardware, rolled onto a reel or cassette.
telecommunication system. The devices and functions relating to transmission
of data between the central processing system and remotely located users.
terabyte. Approximately one trillion bytes; precisely 240 or 1,099,511,627,776
bytes. See: kilobyte, megabyte, gigabyte.
terminal. A device, usually equipped with a CRT display and keyboard, used to
send and receive information to and from a computer via a communication
channel.
test. (IEEE) An activity in which a system or component is executed under
specified conditions, the results are observed or recorded and an evaluation is
made of some aspect of the system or component.
testability. (IEEE) (1) The degree to which a system or component facilitates the
establishment of test criteria and the performance of tests to determine whether
those criteria have been met. (2) The degree to which a requirement is stated in
terms that permit establishment of test criteria and performance of tests to
determine whether those criteria have been met. See: measurable.
test case. (IEEE) Documentation specifying inputs, predicted results, and a set of
execution conditions for a test item. Syn: test case specification. See: test
procedure.
test case generator. (IEEE) A software tool that accepts as input source code, test
criteria, specifications, or data structure definitions; uses these inputs to generate
test input data; and, sometimes, determines expected results. Syn: test data
generator, test generator.
test design. (IEEE) Documentation specifying the details of the test approach for a
software feature or combination of software features and identifying the
associated tests. See: testing functional; cause effect graphing; boundary value
analysis; equivalence class partitioning; error guessing; testing, structural; branch
analysis; path analysis; statement coverage; condition coverage; decision
coverage; multiple-condition coverage.
test documentation. (IEEE) Documentation describing plans for, or results of, the
testing of a system or component, Types include test case specification, test
incident report, test log, test plan, test procedure, test report.
test driver. (IEEE) A software module used to invoke a module under test and,
often, provide test inputs, control and monitor execution, and report test results.
Syn: test harness.
test harness. See: test driver.
test incident report. (IEEE) A document reporting on any event that occurs during
testing that requires further investigation. See: failure analysis.
test item. (IEEE) A software item which is the object of testing.
test log. (IEEE) A chronological record of all relevant details about the execution of
a test.
test phase. (IEEE) The period of time in the software life cycle in which the
components of a software product are evaluated and integrated, and the software
product is evaluated to determine whether or not requirements have been
satisfied.
test plan. (IEEE) Documentation specifying the scope, approach, resources, and
schedule of intended testing activities. It identifies test items, the features to be
tested, the testing tasks, responsibilities, required, resources, and any risks
requiring contingency planning. See: test design, validation protocol.
test procedure. (NIST) A formal document developed from a test plan that
presents detailed instructions for the setup, operation, and evaluation of the
results for each defined test. See: test case.
test readiness review. (IEEE) (1) A review conducted to evaluate preliminary test
results for one or more configuration items; to verify that the test procedures for
each configuration item are complete, comply with test plans and descriptions,
and satisfy test requirements; and to verify that a project is prepared to proceed to
formal testing of the configuration items. (2) A review as in (1) for any hardware or
software component. Contrast with code review, design review, formal
qualification review, requirements review.
test report. (IEEE) A document describing the conduct and results of the testing
carried out for a system or system component.
test result analyzer. A software tool used to test output data reduction,
formatting, and printing.
testing. (IEEE) (1) The process of operating a system or component under specified
conditions, observing or recording the results, and making an evaluation of some
aspect of the system or component. (2) The process of analyzing a software item to
detect the differences between existing and required conditions, i.e. bugs, and to
evaluate the features of the software items. See: dynamic analysis, static analysis,
software engineering.
testing, 100%. See: testing, exhaustive.
testing, acceptance. (IEEE) Testing conducted to determine whether or not a
system satisfies its acceptance criteria and to enable the customer to determine
whether or not to accept the system. Contrast with testing, development; testing,
operational. See: testing, qualification.
testing, alpha []. (Pressman) Acceptance testing performed by the customer in a
controlled environment at the developer's site. The software is used by the
customer in a setting approximating the target environment with the developer
observing and recording errors and usage problems.
testing, assertion. (NBS) A dynamic analysis technique which inserts assertions
about the relationship between program variables into the program code. The truth
of the assertions is determined as the program executes. See: assertion checking,
instrumentation.
testing, beta []. (1) (Pressman) Acceptance testing performed by the customer in a
live application of the software, at one or more end user sites, in an environment
not controlled by the developer. (2) For medical device software such use may
require an Investigational Device Exemption [IDE] or Institutional Review Board
[IRB] approval.
testing, boundary value. A testing technique using input values at, just below, and
just above, the defined limits of an input domain; and with input values causing
outputs to be at, just below, and just above, the defined limits of an output
domain. See: boundary value analysis; testing, stress.
testing, branch. (NBS) Testing technique to satisfy coverage criteria which require
that for each decision point, each possible branch [outcome] be executed at least
once. Contrast with testing, path; testing, statement. See: branch coverage.
testing, compatibility. The process of determining the ability of two or more
systems to exchange information. In a situation where the developed software
replaces an already working program, an investigation should be conducted to
assess possible comparability problems between the new software and other
programs or systems. See: different software system analysis; testing, integration;
testing, interface.
testing, component. See: testing, unit.
testing, design based functional. (NBS) The application of test data derived
through functional analysis extended to include design functions as well as
requirement functions. See: testing, functional.
testing, development. (IEEE) Testing conducted during the development of a
system or component, usually in the development environment by the developer.
Contrast with testing, acceptance; testing, operational.
testing, exhaustive. (NBS) Executing the program with all possible combinations
of values for program variables. Feasible only for small, simple programs.
testing, formal. (IEEE) Testing conducted in accordance with test plans and
procedures that have been reviewed and approved by a customer, user, or
designated level of management. Antonym: informal testing.
testing, functional. (IEEE) (1) Testing that ignores the internal mechanism or
structure of a system or component and focuses on the outputs generated in
response to selected inputs and execution conditions. (2) Testing conducted to
evaluate the compliance of a system or component with specified functional
requirements and corresponding predicted results. Syn: black-box testing,
input/output driven testing. Contrast with testing, structural.
testing, integration. (IEEE) An orderly progression of testing in which software
elements, hardware elements, or both are combined and tested, to evaluate their
interactions, until the entire system has been integrated.
testing, interface. (IEEE) Testing conducted to evaluate whether systems or
components pass data and control correctly to one another. Contrast with testing,
unit; testing, system. See: testing, integration.
testing, interphase. See: testing, interface.
testing, invalid case. A testing technique using erroneous [invalid, abnormal, or
unexpected] input values or conditions. See: equivalence class partitioning.
testing, mutation. (IEEE) A testing methodology in which two or more program
mutations are executed using the same test cases to evaluate the ability of the test
cases to detect differences in the mutations.
testing, operational. (IEEE) Testing conducted to evaluate a system or component
in its operational environment. Contrast with testing, development; testing,
acceptance; See: testing, system.
testing, parallel. (ISO) Testing a new or an altered data processing system with the
same source data that is used in another system. The other system is considered
as the standard of comparison. Syn: parallel run.
testing, path. (NBS) Testing to satisfy coverage criteria that each logical path
through the program be tested. Often paths through the program are grouped into a
finite set of classes. One path from each class is then tested. Syn: path coverage.
Contrast with testing, branch; testing, statement; branch coverage; condition
coverage; decision coverage; multiple condition coverage; statement coverage.
testing, performance. (IEEE) Functional testing conducted to evaluate the
compliance of a system or component with specified performance requirements.
testing, qualification. (IEEE) Formal testing, usually conducted by the developer
for the consumer, to demonstrate that the software meets its specified
requirements. See: testing, acceptance; testing, system.
testing, regression. (NIST) Rerunning test cases which a program has previously
executed correctly in order to detect errors spawned by changes or corrections
made during software development and maintenance.
testing, special case. A testing technique using input values that seem likely to
cause program errors; e.g., "0", "1", NULL, empty string. See: error guessing.
testing, statement. (NIST) Testing to satisfy the criterion that each statement in a
program be executed at least once during program testing. Syn: statement
coverage. Contrast with testing, branch; testing, path; branch coverage; condition
coverage; decision coverage; multiple condition coverage; path coverage.
testing, storage. This is a determination of whether or not certain processing
conditions use more storage [memory] than estimated.
testing, stress. (IEEE) Testing conducted to evaluate a system or component at or
beyond the limits of its specified requirements. Syn: testing, boundary value.
testing, structural. (1) (IEEE) Testing that takes into account the internal
mechanism [structure] of a system or component. Types include branch testing,
path testing, statement testing. (2) Testing to insure each program statement is
made to execute during testing and that each program statement performs its
intended function. Contrast with functional testing. Syn: white-box testing, glass-
box testing, logic driven testing.
testing, system. (IEEE) The process of testing an integrated hardware and software
system to verify that the system meets its specified requirements. Such testing
may be conducted in both the development environment and the target
environment.
testing, unit. (1) (NIST) Testing of a module for typographic, syntactic, and logical
errors, for correct implementation of its design, and for satisfaction of its
requirements. (2) (IEEE) Testing conducted to verify the implementation of the
design for one software element; e.g., a unit or module; or a collection of software
elements. Syn: component testing.
testing, usability. Tests designed to evaluate the machine/user interface. Are the
communication device(s) designed in a manner such that the information is
displayed in a understandable fashion enabling the operator to correctly interact
with the system?
testing, valid case. A testing technique using valid [normal or expected] input
values or conditions. See: equivalence class partitioning.
testing, volume. Testing designed to challenge a system's ability to manage the
maximum amount of data over a period of time. This type of testing also evaluates
a system's ability to handle overload situations in an orderly fashion.
testing, worst case. Testing which encompasses upper and lower limits, and
circumstances which pose the greatest chance finding of errors. Syn: most
appropriate challenge conditions. See: testing, boundary value; testing, invalid
case; testing, special case; testing, stress; testing, volume.
time sharing. (IEEE) A mode of operation that permits two or more users to
execute computer programs concurrently on the same computer system by
interleaving the execution of their programs. May be implemented by time slicing,
priority-based interrupts, or other scheduling methods.
timing. (IEEE) The process of estimating or measuring the amount of execution
time required for a software system or component. Contrast with sizing.
timing analyzer. (IEEE) A software tool that estimates or measures the execution
time of a computer program or portion of a computer program, either by summing
the execution times of the instructions along specified paths or by inserting probes
at specified points in the program and measuring the execution time between
probes.
timing and sizing analysis. (IEEE) Analysis of the safety implications of safety-
critical requirements that relate to execution time, clock time, and memory
allocation.
top-down design. Pertaining to design methodology that starts with the highest
level of abstraction and proceeds through progressively lower levels. See:
structured design.
touch sensitive. (ANSI) Pertaining to a device that allows a user to interact with a
computer system by touching an area on the surface of the device with a finger,
pencil, or other object, e.g., a touch sensitive keypad or screen.
touch screen. A touch sensitive display screen that uses a clear panel over or on
the screen surface. The panel is a matrix of cells, an input device, that transmits
pressure information to the software.
trace. (IEEE) (1) A record of the execution of a computer program, showing the
sequence of instructions executed, the names and values of variables, or both.
Types include execution trace, retrospective trace, subroutine trace, symbolic
trace, variable trace. (2) To produce a record as in (1). (3) To establish a relationship
between two or more products of the development process; e.g., to establish the
relationship between a given requirement and the design element that implements
that requirement.
traceability. (IEEE) (1) The degree to which a relationship can be established
between two or more products of the development process, especially products
having a predecessor-successor or master-subordinate relationship to one
another; e.g., the degree to which the requirements and design of a given software
component match. See: consistency. (2) The degree to which each element in a
software development product establishes its reason for existing; e.g., the degree
to which each element in a bubble chart references the requirement that it
satisfies. See: traceability analysis, traceability matrix.
traceability analysis. (IEEE) The tracing of (1) Software Requirements
Specifications requirements to system requirements in concept documentation,
(2) software design descriptions to software requirements specifications and
software requirements specifications to software design descriptions, (3) source
code to corresponding design specifications and design specifications to source
code. Analyze identified relationships for correctness, consistency, completeness,
and accuracy. See: traceability, traceability matrix.
traceability matrix. (IEEE) A matrix that records the relationship between two or
more products; e.g., a matrix that records the relationship between the
requirements and the design of a given software component. See: traceability,
traceability analysis.
transaction. (ANSI) (1) A command, message, or input record that explicitly or
implicitly calls for a processing action, such as updating a file. (2) An exchange
between and end user and an interactive system. (3) In a database management
system, a unit of processing activity that accomplishes a specific purpose such as
a retrieval, an update, a modification, or a deletion of one or more data elements
of a storage structure.
transaction analysis. A structured software design technique, deriving the
structure of a system from analyzing the transactions that the system is required to
process.
transaction flowgraph. (Beizer) A model of the structure of the system's
[program's] behavior, i.e., functionality.
transaction matrix. (IEEE) A matrix that identifies possible requests for database
access and relates each request to information categories or elements in the
database.
transform analysis. A structured software design technique in which system
structure is derived from analyzing the flow of data through the system and the
transformations that must be performed on the data.
translation. (NIST) Converting from one language form to another. See:
assembling, compilation, interpret.
transmission control protocol/Internet protocol. A set of communications
protocols developed for the Defense Advanced Research Projects Agency to
internetwork dissimilar systems. It is used by many corporations, almost all
American universities, and agencies of the federal government. The File Transfer
Protocol and Simple Mail Transfer Protocol provide file transfer and electronic mail
capability. The TELENET protocol provides a terminal emulation capability that
allows a user to interact with any other type of computer in the network. The TCP
protocol controls the transfer of the data, and the IP protocol provides the routing
mechanism.
trojan horse. A method of attacking a computer system, typically by providing a
useful program which contains code intended to compromise a computer system
by secretly providing for unauthorized access, the unauthorized collection of
privileged system or user data, the unauthorized reading or altering of files, the
performance of unintended and unexpected functions, or the malicious
destruction of software and hardware. See: bomb, virus, worm.
truth table. (1) (ISO) An operation table for a logic operation. (2) A table that
describes a logic function by listing all possible combinations of input values, and
indicating, for each combination, the output value.
tuning. (NIST) Determining what parts of a program are being executed the most. A
tool that instruments a program to obtain execution frequencies of statements is a
tool with this feature.
twisted pair. A pair of thin-diameter insulated wires commonly used in telephone
wiring. The wires are twisted around each other to minimize interference from
other twisted pairs in the cable. Twisted pairs have less bandwidth than coaxial
cable or optical fiber. Abbreviated UTP for Unshielded Twisted Pair. Syn: twisted
wire pair.
-U-
unambiguous. (1) Not having two or more possible meanings. (2) Not susceptible
to different interpretations. (3) Not obscure, not vague. (4) Clear, definite, certain.
underflow. (ISO) The state in which a calculator shows a zero indicator for the
most significant part of a number while the least significant part of the number is
dropped. For example, if the calculator output capacity is four digits, the number
.0000432 will be shown as .0000. See: arithmetic underflow.
underflow exception. (IEEE) An exception that occurs when the result of an
arithmetic operation is too small a fraction to be represented by the storage
location designated to receive it.
unit. (IEEE) (1) A separately testable element specified in the design of a computer
software element. (2) A logically separable part of a computer program. Syn:
component, module.
UNIX. A multitasking, multiple-user (time-sharing) operating system developed at
Bell Labs to create a favorable environment for programming research and
development.
usability. (IEEE) The ease with which a user can learn to operate, prepare inputs
for, and interpret outputs of a system or component.
user. (ANSI) Any person, organization, or functional unit that uses the services of
an information processing system. See: end user.
user's guide. (ISO) Documentation that describes how to use a functional unit,
and that may include description of the rights and responsibilities of the user, the
owner, and the supplier of the unit. Syn: user manual, operator manual.
utility program. (ISO) A computer program in general support of the processes of a
computer; e.g., a diagnostic program, a trace program, a sort program. Syn: service
program. See: utility software.
utility software. (IEEE) Computer programs or routines designed to perform some
general support function required by other application software, by the operating
system, or by the system users. They perform general functions such as formatting
electronic media, making copies of files, or deleting files.
-V-
V&V. verification and validation.
VAX. virtual address extension.
VLSI. very large scale integration.
VMS. virtual memory system.
VV&T. validation, verification, and testing.
valid. (1) Sound. (2) Well grounded on principles of evidence. (3) Able to withstand
criticism or objection.
validate. To prove to be valid.
validation. (1) (FDA) Establishing documented evidence which provides a high
degree of assurance that a specific process will consistently produce a product
meeting its predetermined specifications and quality attributes. Contrast with data
validation.
validation, process. (FDA) Establishing documented evidence which provides a
high degree of assurance that a specific process will consistently produce a
product meeting its predetermined specifications and quality characteristics.
validation, prospective. (FDA) Validation conducted prior to the distribution of
either a new product, or product made under a revised manufacturing process,
where the revisions may affect the product's characteristics.
validation protocol. (FDA) A written plan stating how validation will be conducted,
including test parameters, product characteristics, production equipment, and
decision points on what constitutes acceptable test results. See: test plan.
validation, retrospective. (FDA) (1) Validation of a process for a product already in
distribution based upon accumulated production, testing and control data. (2)
Retrospective validation can also be useful to augment initial premarket
prospective validation for new products or changed processes. Test data is useful
only if the methods and results are adequately specific. Whenever test data are
used to demonstrate conformance to specifications, it is important that the test
methodology be qualified to assure that the test results are objective and
accurate.
validation, software. (NBS) Determination of the correctness of the final program
or software produced from a development project with respect to the user needs
and requirements. Validation is usually accomplished by verifying each stage of
the software development life cycle. See: verification, software.
validation, verification, and testing. (NIST) Used as an entity to define a
procedure of review, analysis, and testing throughout the software life cycle to
discover errors, determine functionality, and ensure the production of quality
software.
valid input. (NBS) Test data that lie within the domain of the function represented
by the program.
variable. A name, label, quantity, or data item whose value may be changed many
times during processing. Contrast with constant.
variable trace. (IEEE) A record of the name and values of variables accessed or
changed during the execution of a computer program. Syn: data-flow trace, data
trace, value trace. See: execution trace, retrospective trace, subroutine trace,
symbolic trace.
vendor. A person or an organization that provides software and/or hardware and/or
firmware and/or documentation to the user for a fee or in exchange for services.
Such a firm could be a medical device manufacturer.
verifiable. Can be proved or confirmed by examination or investigation. See:
measurable.
verification, software. (NBS) In general the demonstration of consistency,
completeness, and correctness of the software at each stage and between each
stage of the development life cycle. See: validation, software.
verify. (ANSI) (1) To determine whether a transcription of data or other operation
has been accomplished accurately. (2) To check the results of data entry; e.g.,
keypunching. (3) (Webster) To prove to be true by demonstration.
version. An initial release or a complete re-release of a software item or software
element. See: release.
version number. A unique identifier used to identify software items and the
related software documentation which are subject to configuration control.
very large scale integration. A classification of ICs [chips] based on their size as
expressed by the number of circuits or logic gates they contain. A VLSI IC contains
100,000 to 1,000,000 transistors.
virtual address extension. Identifies Digital Equipment Corporation's VAX family
of computers, ranging from a desktop workstation to a large scale cluster of
multiprocessors supporting thousands of simultaneous users.
virtual memory system. Digital Equipment Corporation's multiprocessing,
interactive operating system for the VAX computers.
virus. A program which secretly alters other programs to include a copy of itself,
and executes when the host program is executed. The execution of a virus program
compromises a computer system by performing unwanted or unintended
functions which may be destructive. See: bomb, trojan horse, worm.
volume. (ANSI) A portion of data, together with its data carrier, that can be handled
conveniently as a unit; e.g., a reel of magnetic tape, a disk pack, a floppy disk.
-W-
WAN. wide area network.
walkthrough. See: code walkthrough.
watchdog timer. (IEEE) A form of interval timer that is used to detect a possible
malfunction.
waterfall model. (IEEE) A model of the software development process in which
the constituent activities, typically a concept phase, requirements phase, design
phase, implementation phase, test phase, installation and checkout phase, and
operation and maintenance, are performed in that order, possibly with overlap but
with little or no iteration. Contrast with incremental development; rapid
prototyping; spiral model.
white-box testing. See: testing, structural.
wide area network. A communications network that covers wide geographic areas
such as states and countries. Contrast with LAN, MAN.
word. See: computer word.
workaround. A sequence of actions the user should take to avoid a problem or
system limitation until the computer program is changed. They may include
manual procedures used in conjunction with the computer system.
workstation. Any terminal or personal computer.
worm. An independent program which can travel from computer to computer
across network connections replicating itself in each computer. They do not
change other programs, but compromise a computer system through their impact
on system performance. See: bomb, trojan horse, virus.
-X-
Xmodem. An asynchronous file transfer protocol initially developed for CP/M
personal computers. First versions used a checksum to detect errors. Later
versions use the more effective CRC method. Programs typically include both
methods and drop back to checksum if CRC is not present at the other end.
Xmodem transmits 128 byte blocks. Xmodem-1K improves speed by transmitting
1024 byte blocks. Xmodem-1K-G transmits without acknowledgment [for error free
channels or when modems are self correcting], but transmission is cancelled upon
any error. Contrast with Kermit, Ymodem, Zmodem.
-Y-
Ymodem. An asynchronous file transfer protocol identical to Xmodem-1K plus
batch file transfer [also called Ymodem batch]. Ymodem-G transmits without
acknowledgement [for error-free channels or when modems are self correcting],
but transmission is cancelled upon any error. Contrast with Kermit, Xmodem,
Zmodem.
-Z-
Zmodem. An asynchronous file transfer protocol that is more efficient than
Xmodem. It sends file name, date and size first, and responds well to changing line
conditions due to its variable length blocks. It uses CRC error correction and is
effective in delay-induced satellite transmission. Contrast with Kermit, Xmodem,
Ymodem.