Glossary of Computer Software Development Terminology
The terms are defined, as much as possible, using available standards. The source of such definitions appears immediately following the term or phrase in parenthesis, e.g. (NIST).
The source documents are listed at the bottom of this page.
|
||||
ABCDEFGHIJKLMNOPQRSTUVWXYZ | ||||
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. |
||||
Source Documents
The bulk of this information was obtained from FDA.gov. |
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.