Software Engineering Glossary

"P" Glossary Content



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

Other topics within the glossary:

pack
To store data in a compact form in a storage medium, using known characteristics of the data and medium in such a way as to permit recovery of the data. Contrast with: unpack.
package
  1. A separately compilable software component consisting of related data types, data objects, and subprograms. See also: data abstraction; encapsulation; information hiding.
  2. A small drawing (or icon) that represents an embedded or linked object. When you choose the package, the application used to create the object either displays the object, or plays the object, if it is a sound file.
packaging
In software development, the assignment of modules to segments to be handled as distinct physical units for execution by a computer.
padding
  1. The technique of filling out a fixed-length block of data with dummy characters, words, or records.
  2. Dummy characters, words, or records used to fill out a fixed-length block of data.
page
  1. A fixed-length segment of data or of a computer program treated as a unit in storage allocation. See also: paging.
  2. In a virtual storage system, a fixed length segment of data or of a computer program that has a virtual address and is transferred as a unit between main and auxiliary storage. 3. A screenful of information on a video display terminal.
page breakage
A portion of main storage that is unused when the last page of data or of a computer program does not fill the entire block of storage allocated to it. See also: paging.
page frame
A block of main storage having the size of, and used to hold, a page. See also: paging.
page swapping
The exchange of pages between main storage and auxiliary storage. See also: paging.
page table
A table that identifies the location of pages in storage and gives significant attributes of those pages. See also: paging.
page turning
See: paging (3).
page zero
In the paging method of storage allocation, the first page in a series of pages.
pager
A routine that initiates and controls the transfer of pages between main and auxiliary storage. See also: Paging.
paging
  1. A storage allocation technique in which programs or data are divided into fixed-length blocks called pages, main storage is divided into blocks of the same length called page frames, and pages are stored in page frames, not necessarily contiguously or in logical order. Syn: block allocation. Contrast with: contiguous allocation.
  2. A storage allocation technique in which programs or data are divided into fixed length blocks called pages, main storage is divided into blocks of the same length called page frames, and pages are transferred between main and auxiliary storage as needed. See also: anticipatory paging; demand paging; virtual storage.
  3. The transfer of pages as in (2). Syn: page turning. See also: page; page breakage; page frame; page swapping; page table; page zero; pager; working set.
parallel
  1. Pertaining to the simultaneous transfer, occurrence, or processing of the individual parts of a whole, such as the bits of a character, using separate facilities for the various parts. Contrast with: serial (1).
  2. See: concurrent.
parallel construct
A program construct consisting of two or more procedures that can occur simultaneously.
parameter
  1. A variable that is given a constant value for a specified application. See also: adaptation parameter.
  2. A constant, variable, or expression that is used to pass values between software modules.
See also: argument; formal parameter.
pareto analysis
The analysis of defects by ranking causes from most significant to least significant. Pareto analysis is based on the principle, named after the 19th-century economist Vilfredo Pareto, that most effects come from relatively few causes, i.e., 80% of the effects come from 20% of the possible causes.
parse
To determine the syntactic structure of a language unit by decomposing it into more elementary subunits and establishing the relationships among the subunits. For example, to decompose blocks into statements, statements into expressions, expressions into operators and operands.
parser
A software tool that parses computer programs or other text, often as the first step of assembly, compilation, interpretation, or analysis.
partial correctness
In proof of correctness, a designation indicating that a program's output assertions follow logically from its input assertions and processing steps. Contrast with: total correctness.
partitioning
Decomposition; the separation of the whole into its Parts.
pass
A single cycle in the processing of a set of data, usually performing part of an overall process. For example, a pass of an assembler through a source program; a pass of a sort program through a set of data.
pass/fail criteria
Decision rules used to determine whether a software item or a software feature passes or fails a test. See also: test criteria.
password
A unique word used to gain access to shared resources. If you assign a password to a shared resource, others must know the password to use the resource.
password list
An encrypted list of the passwords you use to connect to shared resources. Whenever you connect to a shared resource, Windows unlocks and searches this list. If the password for the connection is found, your connection is re-established without prompting you for the password (otherwise a dialog box appears, prompting you for the password). To keep unauthorized users from gaining access to your saved passwords, you can use a logon password to log on to Windows .
patch
  1. A modification made directly to an object program without reassembling or recompiling from the source program.
  2. A modification made to a source program as a last-minute fix or afterthought.
  3. Any modification to a source or object program.
  4. To perform a modification as in (1), (2), or (3)
patch map
The part of a channel-map entry that translates instrument sounds, volume settings, and (optionally) key values for a channel.
path
  1. In software engineering, a sequence of instructions that may be performed in the execution of a computer program.
  2. In file access, a hierarchical sequence of directory and subdirectory names specifying the storage location of a file.
  3. Specifies the location of a file within the directory tree, or the location of a shared resource in a workgroup setting. For example, to specify the path of a file named README.WRI located in the WINDOWS directory on drive C, you would type c:\windows\readme.wri.
  4. Shared resource paths contain two backslashes followed by a computer name and a share name. For example, to specify the path of a shared printer named QMS-PS on a computer named BARBARA1, you would type \\barbara1\qms-ps.
path analysis
Analysis of a computer program to identify all possible paths through the program, to detect incomplete paths, or to discover portions of the program that are not on any path.
path condition
A set of conditions that must be met in order for a particular program path to be executed.
path expression
A logical expression indicating the input conditions that must be met in order for a particular program path to be executed.
path testing
Testing designed to execute all or selected paths through a computer program. Contrast with: branch testing; statement testing.
pathological coupling
A type of coupling in which one software module affects or depends upon the internal implementation of another. Contrast with: common environment coupling; content coupling; control coupling; data coupling; hybrid coupling.
pattern-sensitive fault
See: data-sensitive fault.
pause
  1. To suspend the execution of a computer program. Syn: halt (2). Contrast with: stop.
  2. To temporarily stop a printer or a document from printing.
PCA
Acronym for physical configuration audit.
PDL
Acronym for program design language.
PDR
Acronym for preliminary design review.
peer review
A review of a software work product, following defined procedures, by peers of the producers of the product for the purpose of identifying defects and improvements.
peer review leader
An individual specifically trained and qualified to plan, organize, and lead a peer review.
pel
The smallest graphic unit that can be displayed on the screen. Pel is the abbreviation for picture element. Also known as a pixel.
perfective maintenance
Software maintenance performed to improve the performance, maintainability, or other attributes of a computer program. Contrast with: adaptive maintenance; corrective maintenance.
performance
The degree to which a system or component accomplishes its designated functions within given constraints, such as speed, accuracy, or memory usage.
performance requirement
A requirement that imposes conditions on a functional requirement; for example, a requirement that specifies the speed, accuracy, or memory usage with which a given function must be performed. Contrast with: design requirement; functional requirement; implementation requirement; interface requirement; physical requirement.
performance specification
A document that specifies the performance characteristics that a system or component must possess. These characteristics typically include speed, accuracy, and memory usage. Often part of a requirements specification.
performance testing
Testing conducted to evaluate the compliance of a system or component with specified performance requirements. See also: functional testing.
periodic review/activity
A review or activity that occurs at specified regular time intervals.
Contrast with: event-driven review/activity.
Petri net
An abstract, formal model of information flow, showing static and dynamic properties of a system. A Petri net is usually represented as a graph having two types of nodes (called places and transitions) connected by arcs, and markings (called tokens) indicating dynamic properties.
physical configuration audit (PCA)
An audit conducted to verify that a configuration item, as built, conforms to the technical documentation that defines it. See also: functional configuration audit.
physical requirement
A requirement that specifies a physical characteristic that a system or system component must possess; for example, material, shape, size, weight. Contrast with: design requirement; functional requirement; implementation requirement; interface requirement; performance requirement.
pipeline
A software or hardware design technique in which the output of one process serves as input to a second, the output of the second process serves as input to a third, and so on, often with simultaneity within a single cycle time.
plan standard
A standard that describes the characteristics of a scheme for accomplishing defined objectives or work within specified resources.
playback
See: reversible execution.
plotter font
A font created by a series of dots connected by lines. Plotter fonts can be scaled to any size and are most often printed on plotters. Some dot-matrix printers also support plotter fonts. Also known as vector font.
pointer
  1. A data item that specifies the location of another data item; for example, a data item that specifies the address of the next employee record to be processed.
  2. The arrow-shaped cursor on the screen that follows the movement of the mouse (or other pointing device) and indicates which area of the screen is affected when you press the mouse button. The pointer may change shape during certain tasks.
policy
A guiding principle, typically established by senior management, which is adopted by an organization or project to influence and determine decisions.
port
A connection or socket used to connect a device, such as a printer, monitor, or modem, to your computer. Information, such as printing instructions, is sent from your computer to the device through a cable.
The most common ports are serial (for example, COM1 and COM2) and parallel (for example, LPT1 and LPT2). Serial ports are used for devices that accept information one bit at a time. Parallel ports are used for devices that accept information eight bits at a time and are generally faster than serial ports. You can assign a network path to a port, for example, if you are printing to a network printer.
port-to-port time
The elapsed time between the application of a stimulus to an input interface and the appearance of the response at an output interface. See also: response time; think time; turnaround time.
portability
The ease with which a system or component can be transferred from one hardware or software environment to another. Syn: transportability. See also: machine independent.
post-tested iteration
See: UNTIL
postamble breakpoint
See: epilog breakpoint.
postmortem dump
A dump that is produced upon abnormal termination of a computer program. See also: change dump; dynamic dump; memory dump; selective dump; snapshot dump; static dump.
postprocessor
A computer program or routine that carries out some final processing step after the completion of the primary process; for example, a routine that reformats data for output. Contrast with: preprocessor.
practices
Requirements employed to prescribe a disciplined uniform approach to the software development process. See also: conventions; standards.
pragma
See: pseudo-instruction. pre-tested iteration. See: WHILE. preamble breakpoint See: prolog breakpoint
precision
The degree of exactness or discrimination with which a quantity is stated; for example, a precision of 2 decimal places versus a precision of 5 decimal places. Contrast with: accuracy.
precompiler
A computer program or routine that processes source code and generates equivalent code that is acceptable to a compiler. For example, a routine that converts structured FORTRAN to ANSI-standard FORTRAN. See also: preprocessor.
preliminary design
  1. The process of analyzing design alternatives and defining the architecture, components, interfaces, and timing and sizing estimates for a system or component. See also: detailed design.
  2. The result of the process in (1).
preliminary design review (PDR)
  1. A review conducted to evaluate the progress, technical adequacy, and risk resolution of the selected design approach for one or more configuration items; to determine each design's compatibility with the requirements for the configuration item; to evaluate the degree of definition and assess the technical risk associated with the selected manufacturing methods and processes; to establish the existence and compatibility of the physical and functional interfaces among the configuration items and other items of equipment, facilities, software and personnel; and, as applicable, to evaluate the preliminary operational and support documents. See also: critical design review; system design review.
  2. A review as in (1) of any hardware or software component.
preprocessor
A computer program or routine that carries out some processing step prior to the primary process; for example, a precompiler or other routine that reformats code or data for processing. Contrast with: postprocessor.
prestore
To store data that are required by a computer program or routine before the program or routine is entered.
prettyprinting
The use of indentation, blank lines, and other visual cues to show the logical structure of a program.
preventive maintenance
Maintenance performed for the purpose of preventing problems before they occur.
prime contractor
An individual, partnership, corporation, or association that administers a subcontract to design, develop, and/or manufacture one or more products.
primitive type
See: atomic type.
print job
A document you have sent to the printer.
printer driver
A program that controls how your computer and printer interact.
printer fonts
Fonts that are built into your printer. These fonts are usually located in the printer's read-only memory (ROM).
priority
The level of importance assigned to an item
priority interrupt
An interrupt performed to permit execution of a process that has a higher priority than the process currently executing.
private type
A data type whose structure and possible values are defined but are not revealed to the user of the type. See also: information hiding.
privileged instruction
A computer instruction that can be executed only by a supervisory program.
privileged state
See: supervisor state.
problem state
In the operation of a computer system, a state in which programs other than the supervisory program can execute. Syn: slave state; user state. Contrast with: supervisor state.
problem-oriented language
A programming language designed for the solution of a given class of problems. Examples are list processing languages, information retrieval languages, simulation languages.
procedural cohesion
A type of cohesion in which the tasks performed by a software module all contribute to a given program procedure, such as an iteration or decision process. Contrast with: coincidental cohesion; communicational cohesion; functional cohesion; logical cohesion; sequential cohesion; temporal cohesion.
procedural language
A programming language in which the user states a specific set of instructions that the computer must perform in a given sequence. All widely used programming languages are of this type. Syn: procedure-oriented language. Contrast with: nonprocedural language. See also: algebraic language; algorithmic language; list processing language; logic programming language.
procedure
  1. A course of action to be taken to perform a given task
  2. A written description of a course of action as in (1); for example, a documented test procedure.
  3. A portion of a computer program that is named and that performs a specific action.
procedure-oriented language.
See: procedural language.
process
  1. A sequence of steps performed for a given purpose; for example, the software development process.
  2. An executable unit managed by an operating system scheduler. See also: task; job.
  3. To perform operations on data.
process capability
The range of expected results that can be achieved by following a process.
Contrast with: process performance.
process capability baseline
A documented characterization of the range of expected results that would normally be achieved by following a specific process under typical circumstances. A process capability baseline is typically established at an organizational level.
Contrast with: process performance baseline.
process database
See: organization's software process database.
process description
The operational definition of the major components of a process. Documentation that specifies, in a complete, precise, verifiable manner, the requirements, design, behavior, or other characteristics of a process. It may also include the procedures for determining whether these provisions have been satisfied. Process descriptions may be found at the task, project, or organizational level.
process development
The act of defining and describing a process. It may include planning, architecture, design, implementation, and validation.
process management
The direction, control, and coordination of work performed to develop a product or perform a service Example is quality assurance.
process measurement
The set of definitions, methods, and activities used to take measurements of a process and its resulting products for the purpose of characterizing and understanding the process.
process performance
A measure of the actual results achieved by following a process.
Contrast with: process capability.
process performance baseline
A documented characterization of the actual results achieved by following a process, which is used as a benchmark for comparing actual process performance against expected process performance. A process performance baseline is typically established at the project level, although the initial process performance baseline will usually be derived from the process capability baseline.
Contrast with: process capability baseline.
process standard
A standard that deals with the series of actions or operations used in making or achieving a product.
process tailoring
The activity of creating a process description by elaborating, adapting, and/or completing the details of process elements or other incomplete specifications of a process. Specific business needs for a project will usually be addressed during process tailoring.
product
See: software product and software work product.
product analysis
The process of evaluating a product by manual or automated means to determine if the product has certain characteristics.
product baseline
In configuration management, the initial approved technical documentation (including, for software, the source code listing) defining a configuration item during the production, operation, maintenance, and logistic support of its life cycle. Contrast with: allocated baseline; developmental configuration; functional baseline. See also: product configuration identification.
product configuration identification
The current approved or conditionally approved technical documentation defining a configuration item during the production, operation. maintenance, and logistic support phases of its life cycle. It prescribes all necessary physical or form, fit, and function characteristics of a configuration item, the selected functional characteristics designated for production acceptance testing, and the production acceptance tests. Contrast with: allocated configuration identification; functional configuration identification. See also: product baseline.
product engineering
The technical processes to define, design, and construct or assemble a product.
product management
The definition, coordination, and control of the characteristics of a product during its development cycle. Example is configuration management.
product specification
  1. A document that specifies the design that production copies of a system or component must implement. Note: For software, this document describes the as-built version of the software. See also: design description.
  2. A document that describes the characteristics of a planned or existing product for consideration by potential customers or users.
product standard
A standard that defines what constitutes completeness and acceptability of items that are used or produced, formally or informally, during the software engineering process.
product support
The providing of information, assistance, and training to install and make software operational in its intended environment and to distribute improved capabilities to users.
production library
A software library containing software approved for current operational use. Contrast with: master library; software development library; software repository; system library.
professional standard
A standard that identifies a profession as a discipline and distinguishes it from other professions.
profile
A comparison, usually in graphical form, of plans or projections versus actuals, typically over time.
program
  1. See: computer program.
  2. To write a computer program.
program counter
See: instruction counter.
program definition language
See: program design language.
program design language (PDL)
A specification language with special constructs and, sometimes, verification protocols, used to develop, analyze, and document a program design. See also: hardware design language; pseudo code.
program file
A file that starts an application or program. A program file has an .EXE, .PIF, .COM, or .BAT filename extension.
program flowchart (flow chart)
See: flowchart
program information file (PIF)
A file that provides information to Windows about an MS-DOS-based application. PIFs contain such items as the name of the file, a start-up directory, and multitasking options.
program instruction
A computer instruction in a source program. Note: A program instruction is distinguished from a computer instruction that results from assembly, compilation, or other interpretation process.
program item
An application or document represented as an icon in a group window.
program library
See: software library.
program listing
A printout or other human readable display of the source and, sometimes, object statements that make up a computer program.
program mutation
  1. A computer program that has been purposely altered from the intended version to evaluate the ability of test cases to detect the alteration. See also: mutation testing.
  2. The process of creating an altered program as in (1)
program network chart
A diagram that shows the relationship between two or more computer programs.
program status word (PSW)
  1. A computer word that contains information specifying the current status of a computer program. The information may include error indicators, the address of the next instruction to be executed, currently enabled interrupts, and so on.
  2. A special-purpose register that contains a program status word as in (1). Syn: status word.
program structure diagram
See: structure chart.
program support library
See: software development library.
program synthesis
The use of software tools to aid in the transformation of a program specification into a program that realizes that specification.
program-item icon
The icon that represents an application or document in Program Manager. You can start an application by choosing its program-item icon.
program-sensitive fault
A fault that causes a failure when some particular sequence of program steps is executed. Contrast with: data-sensitive fault.
programmable breakpoint
A breakpoint that automatically invokes a previously specified debugging process when initiated. See also: code breakpoint; data breakpoint; dynamic breakpoint; epilog breakpoint; prolog breakpoint; static breakpoint.
programmer manual
A document that provides the information necessary to develop or modify software for a given computer system. Typically described are the equipment configuration, operational characteristics, programming -features, input/output features, and compilation or assembly features of the computer system. See also: diagnostic manual; installation manual; operator manual; support manual; user manual.
programming language
A language used to express computer programs. See also: assembly language; high order language; machine language. Contrast with: query language; specification language.
programming support environment
An integrated collection of software tools accessed via a single command language to provide programming support capabilities throughout the software life cycle. The environment typically includes tools for specifying, designing, editing, compiling, loading, testing, configuration management, and project management. Sometimes called integrated programming support environment. See also: scaffolding.
programming system
A set of programming languages and the support software (editors, compilers, linkers, etc.) necessary for using these languages with a given computer system.
project
An undertaking requiring concerted effort, which is focused on developing and/or maintaining a specific product. The product may include hardware, software, and other components. Typically a project has its own funding, cost accounting, and delivery schedule.
project file
A central repository of material pertinent to a project. Contents typically include memos, plans, technical reports, and related items. Syn: project notebook.
project library
See: software development library.
project manager
The role with total business responsibility for an entire project; the individual who directs, controls, administers, and regulates a project building a software or hardware/software system. The project manager is the individual ultimately responsible to the customer.
project notebook
See: project file.
project plan
A document that describes the technical and management approach to be followed for a project. The plan typically describes the work to be done, the resources required, the methods to be used, the procedures to be followed, the schedules to be met, and the way that the project will be organized. For example, a software development plan.
project software manager
The role with total responsibility for all the software activities for a project. The project software manager is the individual the project manager deals with in terms of software commitments and who controls all the software resources for a project.
project's defined software process
The operational definition of the software process used by a project. The project's defined software process is a well-characterized and understood software process, described in terms of software standards, procedures, tools, and methods. It is developed by tailoring the organization's standard software process to fit the specific characteristics of the project. See also: organization's standard software process, effective process, and well-defined process.
prolog breakpoint
A breakpoint that is initiated upon entry into a program or routine. Syn: preamble breakpoint. Contrast with: epilog breakpoint. See also: code breakpoint; data breakpoint; dynamic breakpoint; programmable breakpoint; static breakpoint.
prompt
  1. A symbol or message displayed by a computer system, requesting input from the user of the system.
  2. To display a symbol or message as in (1).
proof of correctness
  1. A formal technique used to prove mathematically that a computer program satisfies its specified requirements. See also: assertion; formal specification; inductive assertion method; partial correctness; total correctness.
  2. A proof that results from applying the technique in (1).
protection exception
An exception that occurs when a program attempts to write into a protected area in storage. See also: addressing exception; data exception; operation exception; overflow exception; underflow exception.
protocol
A set of rules and conventions for exchanging data over a network. There are many types of protocols and each protocol uses a different set of rules and conventions. Network users who want to exchange information with one another must use the same protocol on their computers.
prototype
A preliminary type, form, or instance of a system that serves as a model for later stages or for the final, complete version of the system.
prototyping
A hardware and software development technique in which a preliminary version of part or all of the hardware or software is developed to permit user feedback, determine feasibility, or investigate timing or other issues in support of the development process. See also: rapid prototyping.
pseudo code (pseudocode)
A combination of programming language constructs and natural language used to express a computer program design. For example:
IF the data arrives faster than expected,
THEN reject every third input.
ELSE process all data received.
ENDIF
pseudo instruction
A source language instruction that provides information or direction to the assembler or compiler and is not translated into a target language instruction. For example, an instruction specifying the desired format of source code listings. Syn: pragma; pseudo-op; pseudo operation.
pseudo operation
See: pseudo instruction.
pseudo-op
See: pseudo instruction.
PSW
Acronym for program status word.