"Relax and enjoy your business with better technology."
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.
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.
The bulk of this information was obtained from FDA.gov.