Software Engineering Glossary

"F" Glossary Content



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

Other topics within the glossary:

factoring
  1. The process of decomposing a system into a hierarchy of modules. See also: modular decomposition.
  2. The process of removing a function from a module and placing it into a module of its own.
fail safe
Pertaining to a system or component that automatically places itself in a safe operating mode in the event of a failure; for example, a traffic light that reverts to blinking red in all directions when normal operation fails. Contrast with: fail soft. See also: fault secure; fault tolerance.
fail soft
Pertaining to a system or component that continues to provide partial operational capability in the event of certain failures; for example, a traffic light that continues to alternate between red and green if the yellow light fails. Contrast with: fail safe. See also: fault secure; fault tolerance.
failure
The inability of a system or component to perform its required functions within specified performance requirements. Note: The fault tolerance discipline distinguishes between a human action (a mistake), its manifestation (a hardware or software fault), the result of the fault (a failure), and the amount by which the result is incorrect (the error). See also: crash; exception; failure mode; failure rate; hard failure; incipient failure; random failure; soft failure.
failure mode
The physical or functional manifestation of a failure. For example, a system in failure mode may be characterized by slow operation, incorrect outputs, or complete termination of execution.
failure rate
The ratio of the number of failures of a given category to a given unit of measure; for example, failures per unit of time, failures per number of transactions, failures per number of computer runs. Syn: failure ratio.
failure ratio
See: failure rate.
fatal error
An error that results in the complete inability of a system or component to function.
fault
  1. A defect in a hardware device or component; for example, a short circuit or broken wire.
  2. An incorrect step, process, or data definition in a computer program. Note: This definition is used primarily by the fault tolerance discipline. In common usage, the terms "error" and "bug" are used to express this meaning. See also: data-sensitive fault; program-sensitive fault; equivalent faults; fault masking; intermittent fault.
fault dictionary
A list of faults in a system or component, and the tests that have been designed to detect them.
fault masking
A condition in which one fault prevents the detection of another.
fault secure
Pertaining to a system or component in which no failures are produced from a prescribed set of faults. See also: fault tolerance; fail safe; fail soft.
fault seeding
See: error seeding.
fault tolerance
  1. The ability of a system or component to continue normal operation despite the presence of hardware or software faults. See also: error tolerance; fail safe; fail soft, fault secure; robustness.
  2. The number of faults a system or component can withstand before normal operation is impaired.
  3. Pertaining to the study of errors, faults, and failures, and of methods for enabling systems to continue normal operation in the presence of faults. See also: recovery; redundancy; restart.
fault tolerant
Pertaining to a system or component that is able to continue normal operation despite the presence of faults.
FCA
Acronym for functional configuration audit.
feasibility
The degree to which the requirements, design, or plans for a system or component can be implemented under existing constraints.
feature
See: software feature.
fetch
To locate and load computer instructions or data from storage. See also: move; store.
fifth generation language (5GL)
A computer language that incorporates the concepts of knowledge-based systems, expert systems, inference engines, and natural language processing. Contrast with:assembly language; fourth generation language; high order language; machine language.
figurative constant
A data name that is reserved for a specific constant in a programming language. For example, the data name THREE may be reserved to represent the value 3. See also. literal.
file
  1. A set of related records treated as a unit. For example, in stock control, a file could consist of a set of invoice records.
  2. A collection of information that has been given a name and is stored on a disk. This information can be a document or an application.
file access
The way files are read from and written to disks. You have a choice of 32-bit or 16-bit file access on hard disk drives.
file name
The name of a file. Windows uses MS-DOS naming conventions.
findings
The conclusions of an assessment, evaluation, audit, or review that identify the most important issues, problems, or opportunities within the area of investigation.
finite state machine
A computational model consisting of a finite number of states and transitions between those states, possibly with accompanying actions
firmware
The combination of a hardware device and computer instructions and data that reside as read-only software on that device.
Notes: 1. This term is sometimes used to refer only to the hardware device or only to the computer instructions or data, but these meanings are deprecated. 2. The confusion surrounding this term has led some to suggest that it be avoided altogether.
first generation language (1GL)
See: machine language.
first-line software manager
A manager who has direct management responsibility (including providing technical direction and administering the personnel and salary functions) for the staffing and activities of a single organizational unit (e.g., a department or project team) of software engineers and other related staff.
flag
A variable that is set to a prescribed state, often "true" or "false," based on the results of a process or the occurrence of a specified condition. See also: indicator; semaphore.
flexibility
The ease with which a system or component can be modified for use in applications or environments other than those for which it was specifically designed. Syn: adaptability. See also: extendability; maintainability.
flexible box
A rectangular box that changes shape as you move the mouse. Use a flexible box to select an area of the picture you want to change, cut, copy, or move.
floppy disk
A disk that can be inserted in and removed from a disk drive.
flow diagram
See: flowchart.
flow of control
See: control flow.
flowchart (flow chart)
A control flow diagram in which suitably annotated geometrical figures are used to represent operations, data, or equipment, and arrows are used to indicate the sequential flow from one to another. Syn: flow diagram. See also: block diagram, box diagram, bubble chart, graph; input-process-output chart structure chart.
flowcharter
A software tool that accepts as input a design or code representation of a program and produces as output a flowchart of the program.
font
A graphic design applied to a collection of numbers, symbols, and characters. A font usually comes in different point sizes and styles, such as bold or italic.
font set
A collection of font sizes for one font, customized for a particular display and printer. Font sets determine what text looks like on the screen and when printed.
footer
Text that appears at the bottom of every page of a document when it is printed, such as a page number.
foreground
In job scheduling, the computing environment in which high-priority processes or those requiring user interaction are executed. Contrast with: background. See also: foreground processing.
foreground processing
The execution of a high-priority process while lower priority processes await the availability of computer resources, or the execution of processes that require user interaction. Contrast with: background processing.
form, fit, and function
In configuration management, that configuration comprising the physical and functional characteristics of an item as an entity, but not including any characteristics of the elements making up the item. See also: configuration identification
formal language
A language whose rules are explicitly established prior to its use. Examples include programming languages and mathematical languages. Contrast with: natural language.
formal parameter
A variable used in a software module to represent data or program elements that are to be passed to the module by a calling module. Contrast with: argument (3).
formal qualification review (FQR)
The test, inspection, or analytical process by which a group of configuration items comprising a system is verified to have met specific contractual performance requirements. Contrast with: code review; design review; requirements review, test readiness review.
formal review
A formal meeting at which a product is presented to the end user, customer, or other interested parties for comment and approval. It can also be a review of the management and technical activities and of the progress of the project.
formal specification
  1. A specification written and approved in accordance with established standards.
  2. A specification written in a formal notation. often for use in proof of correctness.
formal testing
Testing conducted in accordance with test plans and procedures that have been reviewed and approved by a customer, user, or designated level of management. Contrast with: informal testing.
forward recovery
  1. The reconstruction of a file to a given state by updating an earlier version, using data recorded in a chronological record of changes made to the file.
  2. A type of recovery in which a system, program, database, or other system resource is restored to a new, not previously occupied state in which it can perform required functions.
Contrast with: backward recovery.
four-address instruction
A computer instruction that contains four address fields. For example, an instruction to add the contents of locations A, B, and C, and place the result in location D. Contrast with: one-address instruction; two-address instruction; three-address instruction; zero-address instruction.
four-plus-one address instruction
A computer instruction that contains five address fields, the fifth containing the address of the instruction to be executed next. For example, an instruction to add the contents of locations A, B, and C, place the results in location D, then execute the instruction at location E. Contrast with: one-plus-one address instruction; two-plus-one address instruction: three-plus-one address instruction.
fourth generation language (4GL)
A computer language designed to improve the productivity achieved by high order (third generation) languages and, often, to make computing power available to non-programmers. Features typically include an integrated database management system, query language, report generator, and screen definition facility. Additional features may include a graphics generator, decision support function, financial modeling, spreadsheet capability, and statistical analysis functions. Contrast with: machine language; assembly language; high order language; fifth generation language.
FQR
Acronym for formal qualification review.
full-screen application
An MS-DOS-based application that is displayed on the entire screen, rather than in a window, when running in Windows .
function
  1. A defined objective or characteristic action of a system or component. For example, a system may have inventory control as its primary function. See also: functional requirement; functional specification; functional testing.
  2. A software module that performs a specific action, is invoked by the appearance of its name in an expression, may receive input values, and returns a single value. See also: subroutine.
  3. A set of related actions, undertaken by individuals or tools that are specifically assigned or fitted for their roles, to accomplish a set purpose or end.
function field
See: operation field.
functional baseline
In configuration management, the initial approved technical documentation for a configuration item. Contrast with: allocated baseline; developmental configuration; product baseline.
functional cohesion
A type of cohesion in which the tasks performed by a software module all contribute to the performance of a single function. Contrast with: coincidental cohesion; communicational cohesion; logical cohesion; procedural cohesion; sequential cohesion; temporal cohesion.
functional configuration audit (FCA)
An audit conducted to verify that the development of a configuration item has been completed satisfactorily, that the item has achieved the performance and functional characteristics specified in the functional or allocated configuration identification, and that its operational and support documents are complete and satisfactory. See also: configuration management; physical configuration audit.
functional configuration identification
In configuration management, the current approved technical documentation for a configuration item. It prescribes all necessary functional characteristics, the tests required to demonstrate achievement of specified functional characteristics, the necessary interface characteristics with associated configuration items, the configuration item's key functional characteristics and its key lower level configuration items, if any, and design constraints. Contrast with: allocated configuration identification; product configuration identification. See also: functional baseline
functional decomposition
A type of modular decomposition in which a system is broken down into components that correspond to system functions and subfunctions. See also: hierarchical decomposition; stepwise refinement
functional design
  1. The process of defining the working relationships among the components of a system. See also: architectural design.
  2. The result of the process in (1).
functional language
A programming language used to express programs as a sequence of functions and function calls. Examples include LISP.
functional requirement
A requirement that specifies a function that a system or system component must be able to perform. Contrast with: design requirement; implementation requirement; interface requirement; performance requirement; physical requirement.
functional specification
A document that specifies the functions that a system or component must perform. Often part of a requirements specification.
functional testing
  1. Testing that ignores the internal mechanism of a system or component and focuses solely on the outputs generated in response to selected inputs and execution conditions. Syn: blackbox testing. Contrast with: structural testing.
  2. Testing conducted to evaluate the compliance of a system or component with specified functional requirements. See also: performance testing.