Software Engineering Glossary

"D" Glossary Content



Press the "Letter" button to view the glossary contents for that specific letter.

Other topics within the glossary:

data
  1. A representation of facts, concepts, or instructions in a manner suitable for communication, interpretation, or processing by human or automatic means. See also: data type.
  2. Sometimes used as a synonym for documentation.
data abstraction
The process of extracting the essential characteristic of data by defining specific data types and their associated functional characteristics and disregarding representation details. See also: encapsulation; information hiding.
data breakpoint
A breakpoint that is initiated when a specified data item is accessed. Syn: storage breakpoint. Contrast with: code breakpoint. See also: dynamic breakpoint; epilog breakpoint; programmable breakpoint; prolog breakpoint; static breakpoint.
data characteristics
An inherent, possibly accidental, trait, quality, or property of data (for example, arrival rates, formats, value ranges or relationships between field values.)
data coupling
A type of coupling in which output from one software module serves as input to another module. Contrast with: common-environment coupling, control coupling; data coupling; hybrid coupling. pathological coupling.
data dictionary
  1. A collection of the names of all data items used in a software system, together with relevant properties of those items; for example, 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 exception
An exception that occurs when a program attempts to use or access data incorrectly. See also: addressing exception; operation exception; overflow exception; protection exception; underflow exception.
data flow diagram (DFD)
A diagram that depicts data sources, data sinks, data storage, and porcesses performed on data as nodes, and logical flow of data as links between the nodes. Syn: data flowchart; data flow graph. Contrast with: control flow diagram; data structure diagam.

data flow graph
See: data flow diagram.
data flow trace
See: data flow diagram.
data flowchart
See: data flow diagram.
data input sheet
User documentation that describes, in a worksheet format, the required and optional input data dor a system or component. See also: user manual.
data structure
A physical or logical relationship among data element, designed to support specific data manipulation functions.
data structure diagram
A diagram that depicts a set of data elements, their attributes and the logical relationships amoung them. Contrast with: data flow diagram. See also: entity-relationship diagram.
example
data structure-centered design
A software design technique in which the architecture of a system is derived from analysis of the structure of the dta sets with which the system must deal. See also: input-process-output; modular decomposition; object-oriented design; rapid prototyping; stepwise refinement; structure clash; structured design; transaction analysis; transform analysis.
data trace
See: variable trace.
data type
A class of data, characterized by the members of the class and the operations that can be applied to them. For example, character type, enumeration type, integer type, logical type, real type. See also: strong typing.
data-sensitive fault
A fault that causes a failure in response to some particular pattern of data. Syn: pattern-sensitive fault. Contrast with: program-sensitive fault.
database
  1. A set of data, part or the whole of another set of data, and consisting of at least one file that is sufficient for a given purpose or for a given data processing system.
  2. A collection of data fundamental to a system.
  3. A collection of data fundamental to an enterprise.
datum
Singular for data.
deadlock
A situation in which computer processing is suspended because two or more devices or processes are each awaiting resources assigned to the others. See also: lockout.
deblock
To separate the parts of a block. Contrast with: block (2).
debug
To detect, locate, and correct faults in a computer program. Techniques include use of breakpoints, desk checking, dumps, inspection, reversible execution, single-step operation, and traces.
decision table
A table used to show sets of conditions and the actions resulting from them.
declaration
A non-executable program statement that affects the assembler or compiler's interpretation of other statements in the program. For example, a statement that identifies a name, specifies what the name represents, and possibly, assigns it an initial value. Contrast with: assignment statement; control statement. See also: pseudo instruction
declaration language
A nonprocedural language that permits the user to declare a set of facts and to express queries or problems that use these facts. See also: interactive language; rule based language.
decompile
To translate a compiled computer program from its machine language version into a form that resembles, but may not be identical to, the orginal high order language program. Contrast with: compile.
decompiler
A software tool that decompiles computer programs.
decoupling
The process of making software modules more independent of one another to decrease the impact of changes to, and errors in, the individual modules. See also: coupling.
default button
In some dialog boxes, a command button that Windows automatically selects. The default button has a bold border, indicating that it will be chosen if you press ENTER. You can override a default button by choosing the Cancel button or another command button.
default logon name
The logon name used when you log on without a logon password. If you use a logon password, the default logon name appears in the Welcome to Windows dialog box. Usually, this name indicates the owner of the computer.
default printer
The printer that is used if you choose the Print command without first specifying which printer you want to use with an application. You can have only one default printer, and it should be the printer you use most often.
defect
A flaw in a system or system component that causes the system or component to fail to perform its required function. A defect, if encountered during execution, may cause a failure of the system.
See
: Fault
defect density
The number of defects identified in a product divided by the size of the product component (expressed in standard measurement terms for that product).
defect prevention
The activities involved in identifying defects or potential defects and preventing them from being introduced into a product.
defect root cause
The underlying reason (e.g., process deficiency) that allowed a defect to be introduced.
defined level
See: maturity level.
defined software process
See: project's defined software process.
delimiter
A character or set of characters used to denote the beginning or end of a group of related bits, characters, words, or statements.
delivery
Release of a system or component to its customer or intended user. See also: software life cycle; system life cycle.
demand paging
A storage allocation technique in which pages are transferred from auxiliary storage to main storage only when those pages are needed. Contrast with: anticipatory paging.
demodularization
In software design, the process of combining related software modules, usually to optimize system performance. See also: downward compression; lateral compression; upward compression.
demonstration
A dynamic analysis technique that relies on observation of system or component behavior during execution, without need for post-execution analysis, to detect errors, violations of development standards, and other problems. See also: testing.
dependency item
A product, action, piece of information, etc., that must be provided by one individual or group to a second individual or group so that the second individual or group can perform a planned task.
derived type
A data type whose members and operations are taken from those of another data type according to some specified rule. See also: subtype.
description standard
A standard that describes the characteristics of product information or procedures provided to help understand, test, install, operate, or maintain the product.
design
  1. The process of defining the architecture, components, interfaces, and other characteristics of a system or component.
  2. The result of the process in (1).
design description
A document that describes the design of a system or component. Typical contents include system or component architecture, control logic, data structures, input/output formats, interface descriptions, and algorithms. Syn: design document; design specifications. See also: product specification. Contrast with: requirements specification.
design document
See: design description.
design element
A basic component or building block in a design.
design entity
An element (component) of a design that is structurally and functionally distinct from other elements and that is separately named and referenced.
design inspection
See: inspection.
design language
A specification language with special constructs and, sometimes, verification protocols used to develop, analyze, and document a hardware or software design. Types include hardware design language, program design language. See also: requirements specification language.
design level
The design decomposition of the software item (for example, system, subsystem, program, or module).
design phase
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. See also: detailed design; preliminary design.
design requirement
A requirement that specifies or constrains of the design of a system or system component. Contrast with: functional requirement; implement requirements; interface requirements; performance requirements; physical requirements.
design review
A process or meeting during which a system, hardware, or softare design is presented to the project personnel, managers, users, customers, or other interested parties for comment and approval. Types include critical design review, preliminary design review, system design review. Contrast with: code review; formal qualification review; requirements review; test readiness review..
design specification.
See: design description.
design unit
A logically related collection of design elements. In an Ada PDL, a design unit is representated by an Ada compilation unit.
design view
A subset of design entity attribute information that is specifically suited to the needs of a software project activity.
desk checking
A static analysis technique in which code listings, test results, or other documentation are visually examined, usually by the person who generated them, to identify errors, violations of development standards, or other problems. See also: inspections; walk-through.
desktop
The background of your screen, on which windows, icons, and dialog boxes appear.
desktop pattern
A design that appears across your desktop. You can create your own pattern or select a pattern provided with Windows.
destination address
The address of the device or storage location to which data is to be transferred. Contrast with: source address.
destination directory
The directory to which you copy or move one or more files.
destination document
The document into which a package or a linked or embedded object is placed.
destructive read
A read operation that alters the data in the accessed location. Contrast with: nondestructive read.
detailed design
  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 also: software development process.
  2. The result of the process (1).
development cycle
See: software development cycle.
development life cycle
See: software development cycle.
development testing
Formal or informal testing conducted during the development of a system or component, usually in the development environment by the developer. Contrast with: acceptance testing; operational testing. See also: qualification testing.
developmental configuration
In configuration management, the software and associated technical documentation that define the evolving configuration of a CSCI during development. Note: The developmental configuration is under the developer's control, and therefore is not called a baseline. Contrast with: allocated baseline; functional baseline; product baseline.
developmental configuration management
The application of technical and administrative direction to designate and control software and associated technical documentation that define the evolving configuration of a software work product during development. Developmental configuration management is under the direct control of the developer. Items under developmental configuration management are not baselines, although they may be baselined and placed under baseline configuration management at some point in their development.
deviation
  1. A departure from a specified requirement.
  2. A noticeable or marked departure from the appropriate norm, plan, standard, procedure, or variable being reviewed.
  3. A written authorization, granted prior to the manufacture of an item, to depart from a particular performance or design requirement for a specific number of units or a specific period of time. Note: Unlike an engineering change, a deviation does not require revision of the documentation defining the affected item. See also: configuration control. Contrast with: engineering change; waiver.
device
A mechanism or piece of equipment designed to serve a purpose or perform a function.
device contention
The way Windows allocates access to peripheral devices, such as a modem or a printer, when more than one application is trying to use the same device.
DFD
Acronym for data flow diagram.
diagnostic
Pertaining to the detection and isolation of faults or failures; for example, a diagnostic message, a diagnostic manual..
diagnostic manual
A document that presents the information necessary to execute diagnostic procedures for a system or component, identify malfunctions, and remedy those malfunctions. Typically described are the diagnostic features of the system or component and the diagnostic tools available for its support. See also: installation manual; operator manual; programmer manual; support manual; user manual.
diagonal microinstruction
A microinstruction capable of specifying a limited number of simultaneious operations needed to carry out a machine language instruction. Note: Diagonal microinstructions fall, in size and functionality, between horizontal microinstructions and vertical microinstructions. The designation "diagonal" refers to this compromise rather than to any physical characteristic of the microinstruction. Contrast with: horizontal microinstuction; vertical microinstruction.
dialog box
A window that appears temporarily to request or supply information. Many dialog boxes have options you must select before a command can be carried out.
differential dump
See: change dump.
digraph
See: directed graph.
dimmed
Unavailable or disabled. A dimmed button or command is displayed in a different color, and it cannot be chosen. Sometimes referred to as grayed-out.
direct address
An address that identifies the storage location of an operand. Syn: one-level address. Contrast with: immediate data; indirect address; n-level address. See also: direct instruction.
direct insert subroutines
See: open subroutine.
direct instruction
A computer instruction that contains the direct addresses of its operands. Contrast with: immediate instruction; indirect instruction. See also: absolute instruction; effective instruction.
directed graph
A graph (sense 2) in which direction is implied in the internode connections. Syn: diagraph. Contrast with: undirected graph.

directory
  1. A list of data items and information about those data items.
  2. Part of a structure for organizing your files on a disk. A directory can contain files and other directories (called subdirectories). The structure of directories and subdirectories on a disk is called a directory tree.
directory tree
A graphical display of the directory structure on a disk. The top-level directory is the root directory.
directory window
A File Manager window that displays the contents of a disk. The window shows both the directory tree and the contents of the current directory. A directory window is a document window that you can move and size.
disassemble
To translate an assembled computer program from its machine language version into a form that resembles, but may not be identical to, the original assembly language program. Contrast with: assemble.
disassembler
A software tool that disassembles computer programs. Syn: deassembler.
disconnect
To detach a drive letter, port, or computer from a shared resource.
discrete type
A data type whose members can assume any of a set of distinct values. A discrete type may be an enumeration type or an integer type.
disk access
The way information is transferred from memory to a hard drive.
diverse redundancy
See: diversity.
diversity
In fault tolerance, realization of the same function by different means. For example, use of different processors, storage media, programming languages, algorithms, or development teams. See also: software diversity.
do-nothing operation
See: no-operation.
document
  1. A medium, and the information recorded on it, that generally has permanence and that can be read by a person or machine. Examples in software engineering include project plans, specifications, test plans, user manuals.
  2. Whatever you create with an application, including information you type, edit, view, or save. A document could be a business report, a spreadsheet, a sound file, or a picture.
  3. To create a document as in (1).
2. To add comments to a computer program.
document file
A file that is associated with an application. When you open a document file, the application starts and loads the file.
document window
A window inside an application window. Each document window contains a single document or other data file. In some applications, there can be more than one document window inside an application window.
document-file icon
Represents a file that is associated with an application. When you choose a document-file icon, the application starts and loads the file.
documentation
  1. A collection of documents on a given subject.
  2. Any written or pictorial information describing, defining, specifying, reporting or certifying activities, requirements, procedures, or results.
  3. The process of generating or revising a document.
  4. The management of documents, including identification, acquisition, processing, storage, and dissemination.
documentation tree
A diagram that depicts all of the documents for a given system and shows their relationships to one another. See also: specification tree.

documented procedure
See: procedure.
domain
A LAN Manager and Windows NT term used to represent a group of devices, servers, and computers grouped together to simplify network administration and security. Domain names are used to identify each domain.
double-click
To rapidly press and release a mouse button twice without moving the mouse. Double-clicking carries out an action, such as starting an application.
double-operand instruction
See: two-address instuctions.
down
Pertaining to a system or component that is not operational or has been taken out of service. Contrast with: up. See also: busy; crash; idle.
down time
The period of time during which a system or component is not operational or has been taken out of service. Contrast with: up time. See also: busy time; idle time; mean time to repair-, set-up time.
downloaded fonts
Fonts that you send to your printer either before or during the printing of your documents. When you send a font to your printer, it is stored in printer memory until it is needed for printing.
downward compatible
Pertaining to hardware or software that is compatible with an earlier or less complex version of itself; for example, a program that handles files created by an earlier version of itself. Contrast with: upward compatible.
downward compression
In softare design, a form of demodularization in which a superordinate module is copied into the body of a subordintate module. Contrast with: lateral compression; upward compression.
drag
To move an item on the screen by clicking the item and then, before releasing the mouse button, moving the mouse. For example, you can move a window to another location on the screen by dragging its title bar.
drive bar
A line of drive buttons located near the top of the File Manager window. You can change the drive displayed in a directory window by choosing a drive button.
drive icon
An icon on the drive bar in File Manager that represents a disk drive on your system. Different icons depict floppy disk drives, hard disk drives, network drives, RAM drives, and CD-ROM drives.
driver
  1. A software module that invokes and, perhaps, controls and monitros the execution of one or more other software modules. See also: test driver..
  2. A computer program that controls a peripheral device and, sometimes, reformats data for transfer to an from the device..
  3. A program that enables a specific piece of software, such as network software, or hardware (a device) to communicate with Windows. Although the software or device may be installed on your system, Windows cannot recognize the software or device until you have installed and configured the appropriate driver.
dual coding
See: software diversity.
dump
  1. A display of some aspect of a computer program's execution state, usually the contents of internal storage or registers. Types include change dump, dynamic dump, memory dump, postmortem dump, selective dump, snapshot dump, static dump.
  2. A display of the contents of a file or device.
  3. To copy the contents of internal storage to an external medium.
  4. To produce a display or copy as in (1), (2), or (3).
dyadic selection construct
An if-then-else construct in which processing is specified for both outcomes of the branch. Contrast with: monadic selective construct.
dynamic
Pertaining to an event or process that occurs during computer program execution; for example, dynamic analysis, dynamic binding. Contrast with: static.
dynamic allocation
See: dynamic resources allocation.
dynamic analysis
The process of evaluating a system or component based on its behavior during execution.. Contrast with: static analysis. See also: demonstration; testing.
dynamic binding
Binding performed during execution of a program. Contrast with: static binding.
dynamic breakpoint
A breakpoint whose predefined initiation event is a runtime characteristic of the program, such as the execution of any twenty source statements. Contrast with: static breakpoint. See also: code breakpoint; data breakpoint; epilog breakpoint; programmable breakpoint; prolog breakpoint.
dynamic buffering
A buffering technique in which the buffer allocated to a computer program varies during program execution, based on current need. Contrast with: simple buffering.
dynamic dump
A dump that is produced during the execution of a computer program. Contrast with: static dump. See also: change dump; memory dump; postmortem dump; selective dump; snapshot dump.
dynamic error
An error that is dependent on the time-varying nature of an input. Contrast with: static error.
dynamic relocation
Relocation of a computer program during its execution.
dynamic resource allocation
A computer resource allocation technique in which the resources assigned to a program vary during program execution. based on current need.
dynamic restructuring
The process of restructuring a database, data structure, computer program, or set of system components during program execution.
dynamic storage allocation
A storage allocation technique in which the storage assigned to a computer program varies during program execution, based on the current needs of the program and of other executing programs.