Software Engineering Glossary

"I" Glossary Content



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

Other topics within the glossary:

icon
A graphical representation of an element in Windows, such as a disk drive, directory, group, application, or document.
identifier
The name, address, label, or distinguishing index of an object in a computer program.
idle
Pertaining to a system or component that is operational and in service, but not in use. See also: busy; down; up.
idle time
The period of time during which a system or component is operational and in service, but not in use. Syn: standby time. See also: busy time; down time; set-up time; up time.
if-then-else
A single-entry, single-exit two-way branch that defines a condition, specifies the processing to be performed if the condition is met and, optionally, if it is not, and returns control in both instances to the statement immediately following the overall construct. Contrast with: case; jump; go to. See also: dyadic selective construct; monadic selective construct.
immediate control
See: bit steering.
immediate data
Data contained in the address field of a computer instruction. Contrast with: direct address; indirect address; n-level address. See also: immediate instruction.
immediate instruction
A computer instruction whose address fields contain the values of the operands rather than the operands' addresses. Contrast with: direct instruction; indirect instruction. See also: absolute instruction; effective instruction; immediate data.
imperative construct
A sequence of one or more steps not involving branching or iteration.
imperative statement
See: instruction.
implementation
  1. The process of translating a design into hardware components, software components, or both. See also: coding.
  2. The result of the process in (1).
implementation phase
The period of time in the software life cycle during which a software product is created from design documentation and debugged.
implementation requirement
A requirement that specifies or constrains the coding or construction of a system or system component. Contrast with: design requirement; functional requirement; interface requirement; performance requirement; physical requirement.
implied addressing
A method of addressing in which the operation field of a computer instruction implies the address of the operands. For example, if a computer has only one accumulator, an instruction that refers to the accumulator needs no address information describing it. Types include one-ahead addressing, repetitive addressing. See also: direct address; indirect address; relative address.
import
To create a package by inserting an existing file into Object Packager. When you import a file, the icon of the application you used to create the file appears in the Appearance window, and the name of the file appears in the Content window.
incident
See: software test incident
incipient failure
A failure that is about to occur.
incremental compiler
A compiler that completes as much of the translation of each source statement as possible during the input or scanning of the source statement. Typically used for on-line computer program development and checkout. Syn: conversational compiler, interactive compiler, on-line compiler.
incremental development
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: waterfall model. See also: data structure-centered design; input-process-output; modular decomposition; object-oriented design; rapid prototyping; spiral model; stepwise refinement; structured design; transaction analysis; transform analysis.
independent verification and validation (IV&V)
Verification and validation performed by an organization that is technically, managerially, and financially independent of the development organization.
index line
The bar at the top of each card in Cardfile that contains the title of the card. Entering text in the index line is optional. In List view, the index line of every card in the file is displayed in alphabetic order.
indexed address
An address that must be added to the contents of an index register to obtain the address of the storage location to be accessed. See also: offset (2); relative address; self-relative address.
indicator
A device or variable that can be set to a prescribed state based on the results of a process or the occurrence of a specified condition. For example, a flag or semaphore.
indigenous error
A computer program error that has not been purposely inserted as part of an error-seeding process.
indirect address
An address that identifies the storage location of another address. The designated storage location may contain the address of the desired operand or another indirect address; the chain of addresses eventually leads to the operand. Syn: multilevel address. Contrast with: direct address; immediate data. See also: indirect instruction; n-level address
indirect instruction
A computer instruction that contains indirect addresses for its operands. Contrast with: direct instruction; immediate instruction. See also: absolute instruction; effective instruction.
inductive assertion method
A proof of correctness technique in which assertions are written describing program inputs, outputs, and intermediate conditions, a set of theorems is developed relating satisfaction of the input assertions to satisfaction of the output assertions, and the theorems are proved or disproved using proof by induction
infant mortality
The set of failures that occur during the early-failure period of a system or component.
informal testing
Testing conducted in accordance with test plans and procedures that have not been reviewed and approved by a customer, user, or designated level of management. Contrast with: formal testing.
information area
The area of a card in Cardfile, below the index line, into which you type information.
information hiding
A software development technique in which each module's interfaces reveal as little as possible about the module's inner workings and other modules are prevented from using information about the module that is not in the module's interface specification. See also: encapsulation.
inherited error
An error carried forward from a previous step in a sequential process.
Initial level
See: maturity level.
initial program load
See: bootstrap.
initial program loader
A bootstrap loader used to load that part of an operating system needed to load the remainder of the operating system.
initialization files
Files that provide Windows with information about your system configuration, such as the type of printer, pointing device, or network adapter you are using, and about software options, such as how your screen and desktop should look while Windows is running.
initialize
To set a variable, register, or other storage location to a starting value. See also: clear; reset.
inline code
A sequence of computer instructions that is physically contiguous with the instructions that logically precede and follow it.
input
  1. Pertaining to data received from an external source.
  2. Pertaining to a device, process, or channel involved in receiving data from an external source.
  3. To receive data from an external source.
  4. To provide data from an external source.
  5. Loosely, input data. Contrast with: output.
input assertion
A logical expression specifying one or more conditions that program inputs must satisfy in order to be valid. Contrast with: loop assertion; output assertion. See also: inductive assertion method.
input-output coupling
See: data coupling.
input-process-output
A software design technique that consists of identifying the steps involved in each process to be performed and identifying the inputs to and outputs from each step. Note: A refinement called hierarchical input-process-output identifies the steps, inputs, and outputs at both general and detailed levels of detail. See also: data structure-centered design; input-processoutput chart modular decomposition; object-oriented design; rapid prototyping; stepwise refinement; structured design; transaction analysis; transform analysis.
input-process-output (IPO) chart
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 also: block diagram; box diagram; bubble chart flowchart; graph; structure chart.
input/output activity
Read or write actions that your computer performs. Your computer performs a "read" when you type information on your keyboard or when you select and choose items by using your mouse. Also, when you open a file, your computer reads the disk to locate the file and open it.
Your computer performs a "write" whenever it stores information on a disk, displays information on your screen, or sends information through a modem or to a printer.
insertion point
The place where text is inserted when you type. The insertion point usually appears as a flashing vertical bar in an application window or in a dialog box.
inspection
A static analysis technique that relies on visual examination of development products to detect errors, violations of development standards, and other problems. Types include code inspection; design inspection.
installation and checkout phase
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 manual
A document that provides the information necessary to install a system or component, set initial parameters, and prepare the system or component for operational use. See also: diagnostic manual; operator manual; programmer manual; support manual; user manual.
instantiation
The process of substituting specific data, instructions, or both into a generic program unit to make it usable in a computer program.
institutionalization
The building of infrastructure and corporate culture that support methods, practices, and procedures so that they are the ongoing way of doing business, even after those who originally defined them are gone.
instruction
See: computer instruction.
instruction counter
A register that indicates the location of the next computer instruction to be executed. Syn: program counter.
instruction cycle
The process of fetching a computer instruction from memory and executing it. See also: instruction time.
instruction format
The number and arrangement of fields in a computer instruction. See also: address field; address format; operation field.
instruction length
The number of words, bytes, or bits needed to store a computer instruction. See also: instruction format.
instruction modifier
A word or part of a word used to alter a computer instruction.
instruction repertoire
See: instruction set.
instruction set
The complete set of instructions recognized by a given computer or provided by a given programming language. Syn: instruction repertoire.
instruction time
The time it takes a computer to fetch an instruction from memory and execute it. See also: instruction cycle.
instrument
In software and system testing, to install or insert devices or instructions into hardware or software to monitor the operation of a system or component
instrumentation
Devices or instructions installed or inserted into hardware or software to monitor the operation of a system or component
integer type
A data type whose members can assume only integer values and can be operated on only by integer arithmetic operations, such as addition, subtraction, and multiplication. Contrast with: character type; enumeration type; logical type; real type.
integrated programming support environment (IPSE)
See: programming support environment.
integrated software management
The unification and integration of the software engineering and management activities into a coherent defined software process based on the organization's standard software process and related process assets.
integration
The process of combining software components, hardware components, or both into an overall system. See: software integration.
integration testing
Testing in which software components, hardware components, or both are combined and tested to evaluate the interaction between them. See also: component testing; interface testing; system testing; unit testing.
integrity
The degree to which a system or component prevents unauthorized access to, or modification of, computer programs or data.
interactive
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 also: conversational; on-line: real time.
interactive compiler
See: incremental compiler.
interactive language
A nonprocedural language in which a program is created as a result of interactive dialog between the user and the computer system. The system provides questions, forms, and so on, to aid the user in expressing the results to be achieved. See also: declarative language; rule-based language.
interface
  1. A shared boundary across which information is passed.
  2. A hardware or software component that connects two or more other components for the purpose of passing information from one to the other.
  3. To connect two or more components for the purpose of passing information from one to the other.
  4. To serve as a connecting or connected component as in (2).
interface control
  1. In configuration management, the process of:
(a) identifying all functional and physical characteristics relevant to the interfacing of two or more configuration items provided by one or more organizations, and
(b) ensuring that proposed changes to these characteristics are evaluated and approved prior to implementation.
  1. (DoD usage) In configuration management, the administrative and technical procedures and documentation necessary to identify functional and physical characteristics between and within configuration items provided by different developers, and to resolve problems concerning the specified interfaces. See also: configuration control.
interface requirement
A requirement that specifies an external item with which a system or system component must interact, or that sets forth constraints on formats, timing, or other factors caused by such an interaction. Contrast with: design requirement; functional requirement; implementation requirement; performance requirement; physical requirement.
interface specification
A document, that specifies the interface characteristics of an existing or planned system or component.
interface testing
Testing conducted to evaluate whether systems or components pass data and control correctly to one another. See also: component testing; integration testing; system testing, unit testing.
interleave
To alternate the elements of one sequence with the elements of one or more other sequences so that each sequence retains its identity; for example, to alternately perform the steps of two different tasks in order to achieve concurrent operation of the tasks.
intermittent fault
A temporary or unpredictable fault in a component. See also: random failure; transient error.
interoperability
The ability of two or more systems or components to exchange information and to use the information that has been exchanged. See also: compatibility.
interpret
To translate and execute each statement or construct of a computer program before translating and executing the next. Contrast with: assemble; compile.
interpreter
A computer program that translates and executes each statement or construct of a computer program before translating and executing the next. Contrast with: assembler; compiler.
interpretive code
Computer instructions and data definitions expressed in a form that can be recognized and processed by an interpreter. Contrast with: assembly code; compiler code; machine code.
interrupt
  1. The suspension of a process to handle an event external to the process. Syn: interruption. See also: interrupt latency; interrupt mask; interrupt priority; interrupt service routine; priority interrupt.
  2. To cause the suspension of a process.
  3. Loosely, an interrupt request.
interrupt latency
The delay between a computer system's receipt of an interrupt request and its handling of the request. See also: interrupt priority.
interrupt mask
A mask used to enable or disable interrupts by retaining or suppressing bits that represent interrupt requests.
interrupt priority
The importance assigned to a given interrupt request. This importance determines whether the request will cause suspension of the current process and, if there are several outstanding interrupt requests, which will be handled first.
interrupt request
A signal or other input requesting that the currently executing process be suspended to permit performance of another process.
interrupt request lines (IRQ)
Hardware lines over which devices send signals to get the attention of the processor when the device is ready to accept or send information. Typically, each device installed in or connected to the computer uses a separate IRQ.
interrupt service routine
A routine that responds to interrupt requests by storing the contents of critical registers, performing the processing required by the interrupt request, restoring the register contents, and restarting the interrupted process.
interruption
See: interrupt.
invariant
An assertion that should always be true for a specified segment or at a specified point of a computer program.
IPO chart
Acronym for input-process-output chart.
IPSE
Acronym for integrated programming support environment. See: programming support environment.
iteration
  1. The process of performing a sequence of steps repeatedly. See also: loop; recursion.
  2. A single execution of the sequence of steps in (1).
iterative construct
See: loop.
IV&V
Acronym for independent verification and validation.