Chattanooga Software Center
 

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  
     
 

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.

 
     
 

Source Documents

 

  1. The New IEEE Standard Dictionary of Electrical and Electronics Terms, IEEE Std. 100-1992.
  2. IEEE Standards Collection, Software Engineering, 1994 Edition, published by the Institute of Electrical and Electronic Engineers Inc.
  3. National Bureau of Standards [NBS] Special Publication 500-75 Validation, Verification, and Testing of Computer Software, 1981.
  4. Federal Information Processing Standards [FIPS] Publication 101, Guideline For Lifecycle Validation, Verification, and Testing of Computer Software, 1983.
  5. Federal Information Processing Standards [FIPS] Publication 105, Guideline for Software Documentation Management, 1984.
  6. American National Standard for Information Systems, Dictionary for Information Systems, American National Standards Institute, 1991.
  7. FDA Technical Report, Software Development Activities, July 1987.
  8. FDA Guide to Inspection of Computerized Systems in Drug Processing, 1983.
  9. FDA Guideline on General Principles of Process Validation, May 1987.
  10. Reviewer Guidance for Computer Controlled Medical Devices Undergoing 510(k) Review, Office of Device Evaluation, CDRH, FDA, August 1991.
  11. HHS Publication FDA 90-4236, Preproduction Quality Assurance Planning.
  12. MIL-STD-882C, Military Standard System Safety Program Requirements, 19JAN1993.
  13. International Electrotechnical Commission, International Standard 1025, Fault Tree Analysis.
  14. International Electrotechnical Commission, International Standard 812, Analysis Techniques for System Reliability - Procedure for Failure Mode and Effects Analysis [FMEA].
  15. FDA recommendations, Application of the Medical Device GMP to Computerized Devices and Manufacturing Processes, May 1992.
  16. Pressman, R., Software Engineering, A Practitioner's Approach, Third Edition, McGraw-Hill, Inc., 1992.
  17. Myers, G., The Art of Software Testing, Wiley Interscience, 1979.
  18. Beizer, B., Software Testing Techniques, Second Edition, Van Nostrand Reinhold, 1990.
  19. Additional general references used in developing some definitions are:
  20. Bohl, M., Information Processing, Fourth Edition, Science Research Associates, Inc., 1984.
  21. Freedman, A., The Computer Glossary, Sixth Edition, American Management Association, 1993.
  22. McGraw-Hill Electronics Dictionary, Fifth Edition, 1994, McGraw-Hill Inc.
  23. McGraw-Hill Dictionary of Scientific & Technical Terms, Fifth Edition, 1994, McGraw-Hill Inc..
  24. Webster's New Universal Unabridged Dictionary, Deluxe Second Edition, 1979.


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.

 

test
Pineapple Code
Chattanooga Software Center • 1-423-821-3463 • 3821 Saint Elmo Avenue, Chattanooga, TN 37409 USA

Copyright © 2024 All Rights Reserved. Privacy, Terms, Glossary and Staff