"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.
IC. integrated circuit.
IDE. integrated drive electronics.
IEC. International Electrotechnical Commission.
IEEE. Institute of Electrical and Electronic Engineers.
ISO. International Organization for Standardization.
ITU-TSS. International Telecommunications Union - Telecommunications Standards Section.
implementation. The process of translating a design into hardware components, software components, or both. See: coding.
implementation phase. (IEEE) The period of time in the software life cycle during which a software product is created from design documentation and debugged.
implementation requirement. (IEEE) A requirement that specifies or constrains the coding or construction of a system or system component.
incremental integration. A structured reformation of the program module by module or function by function with an integration test being performed following each addition. Methods include top-down, breadth-first, depth-first, bottom-up. Contrast with nonincremental integration.
incremental development. (IEEE) 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 rapid prototyping, spiral model, waterfall model.
industry standard. (QA) Procedures and criteria recognized as acceptable practices by peer professional, credentialing, or accrediting organizations.
infeasible path. (NBS) A sequence of program statements that can never be executed. Syn: dead code.
information hiding. The practice of "hiding" the details of a function or structure, making them inaccessible to other parts of the program. See: abstraction, encapsulation, software engineering.
input/output. Each microprocessor and each computer needs a way to communicate with the outside world in order to get the data needed for its programs and in order to communicate the results of its data manipulations. This is accomplished through I/0 ports and devices.
input-process-output chart. (IEEE) 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: block diagram, box diagram, bubble chart, flowchart, graph, structure chart.
input-processing-output. A structured software design technique; identification of the steps involved in each process to be performed and identifying the inputs to and outputs from each step. A refinement called hierarchical input-process-output identifies the steps, inputs, and outputs at both general and detailed levels of detail.
inspection. A manual testing technique in which program documents [specifications (requirements, design), source code or user's manuals] are examined in a very formal and disciplined manner to discover errors, violations of standards and other problems. Checklists are a typical vehicle used in accomplishing this technique. See: static analysis, code audit, code inspection, code review, code walkthrough.
installation. (ANSI) The phase in the system life cycle that includes assembly and testing of the hardware and software of a computerized system. Installation includes installing a new computer system, new software or hardware, or otherwise modifying the current system.
installation and checkout phase. (IEEE) 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 qualification. See: qualification, installation.
Institute of Electrical and Electronic Engineers. 345 East 47th Street, New York, NY 10017. An organization involved in the generation and promulgation of standards. IEEE standards represent the formalization of current norms of professional practice through the process of obtaining the consensus of concerned, practicing professionals in the given field.
instruction. (1) (ANSI/IEEE) A program statement that causes a computer to perform a particular operation or set of operations. (2) (ISO) In a programming language, a meaningful expression that specifies one operation and identifies its operands, if any.
instruction set. (1) (IEEE) The complete set of instructions recognized by a given computer or provided by a given programming language. (2) (ISO) The set of the instructions of a computer, of a programming language, or of the programming languages in a programming system. See: computer instruction set.
instrumentation. (NBS) The insertion of additional code into a program in order to collect information about program behavior during program execution. Useful for dynamic analysis techniques such as assertion checking, coverage analysis, tuning.
integrated circuit. Small wafers of semiconductor material [silicon] etched or printed with extremely small electronic switching circuits. Syn: chip.
integrated drive electronics. A standard interface for hard disks which provides for building most of the controller circuitry into the disk drive to save space. IDE controllers are functionally equivalent to ST-506 standard controllers. Contrast with EDSI, SCSI, ST-506.
interactive. (IEEE) 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: conversational, on-line, real time.
interface. (1) (ISO) A shared boundary between two functional units, defined by functional characteristics, common physical interconnection characteristics, signal characteristics, and other characteristics, as appropriate. The concept involves the specification of the connection of two devices having different functions. (2) A point of communication between two or more processes, persons, or other physical entities. (3) A peripheral device which permits two or more devices to communicate.
interface analysis. (IEEE) Evaluation of: (1) software requirements specifications with hardware, user, operator, and software interface requirements documentation, (2) software design description records with hardware, operator, and software interface requirements specifications, (3) source code with hardware, operator, and software interface design documentation, for correctness, consistency, completeness, accuracy, and readability. Entities to evaluate include data items and control items.
interface requirement. (IEEE) A requirement that specifies an external item with which a system or system component must interact, or sets forth constraints on formats, timing, or other factors caused by such an interaction.
International Electrotechnical Commission. Geneva, Switzerland. An organization that sets standards for electronic products and components which are adopted by the safety standards agencies of many countries.
International Organization for Standardization. Geneva, Switzerland. An organization that sets international standards. It deals with all fields except electrical and electronics which is governed by IEC. Syn: International Standards Organization.
International Standards Organization. See: International Organization for Standardization.
International Telecommunications Union - Telecommunications Standards Section. Geneva, Switzerland. Formerly, Consultive Committee for International Telephony and Telegraphy. An international organization for communications standards.
interpret. (IEEE) To translate and execute each statement or construct of a computer program before translating and executing the next. Contrast with assemble, compile.
interpreter. (IEEE) A computer program that translates and executes each statement or construct of a computer program before translating and executing the next. The interpreter must be resident in the computer each time a program [source code file] written in an interpreted language is executed. Contrast with assembler, compiler.
interrupt. (1) The suspension of a process to handle an event external to the process. (2) A technique to notify the CPU that a peripheral device needs service, i.e., the device has data for the processor or the device is awaiting data from the processor. The device sends a signal, called an interrupt, to the processor. The processor interrupts its current program, stores its current operating conditions, and executes a program to service the device sending the interrupt. After the device is serviced, the processor restores its previous operating conditions and continues executing the interrupted program. A method for handling constantly changing data. Contrast with polling.
interrupt analyzer. A software tool which analyzes potential conflicts in a system as a result of the occurrences of interrupts.
invalid inputs. (1) (NBS) Test data that lie outside the domain of the function the program represents. (2) These are not only inputs outside the valid range for data to be input, i.e. when the specified input range is 50 to 100, but also unexpected inputs, especially when these unexpected inputs may easily occur; e.g., the entry of alpha characters or special keyboard characters when only numeric data is valid, or the input of abnormal command sequences to a program.
I/O port. Input/output connector.
The bulk of this information was obtained from FDA.gov.