Glossary
Glossary
html
An Abbreviated Software
Engineering Glossary
This glossary is intended for those visitors to the RSP&A web-site who may be
unfamiliar with basic software engineering terminology. All definitions are informal.
Abstraction - (1) the level of technical detail of some representation of software; (2) a
cohesive model of data or an algorithmic procedure
Analysis - a set of activities that attempt to understand and model customer needs and
constraints
Analysis methods - a notation and heuristics for creating models of customer needs and
constraints
Architectural design - an activity that attempts to layout the module "floor plan" for the
software
Automated estimation tools - tools that help in estimating project cost or effort
Automatic code generation - tools that generate source code from a representation of
software that is not source code
Baseline - a point at which some deliverable produced during the software engineering
process is put under formal change control
Basis path testing - a white box test case design technique that used the algorithmic flow
of the program to design tests
Basis set - the set of tests derived using basis path testing
Black box testing - testing that does not focus on the internal details of the program but
uses external requirements
Boundary value analysis - a black box testing method that designs test cases that
exercise data boundaries
Business risks - the set of potential business problems or occurrences that may cause the
project to fail
Change control - an umbrella process that enables a project team to accept, evaluate, and
act on changes in a systematic manner
Change control authority (CCA) - the person(s) who have responsibility for deciding
whether a change is to be made
Change report - provides detail on the nature of work required to make a change
Component reuse - the ability to reuse a portion of a model, source code, test case, etc.
Configuration - the collection of programs, documents and data that must be controlled
when changes are to be made
Configuration audit - an activity performed by an SQA group with the intent of ensuring
that the change control process is working
Configuration control - the control of changes to programs, documents or data
Configuration items - the individual pieces of programs, documents and data that are
controlled using SCM
Corrective maintenance - finding and fixing defects that have been reported by users
Customer - the person or group that has requested the software and will be paying the
bill for its development
Data design - an activity that translates the data model developed during analysis into
implementable data structures
Data dictionary - a database that contains definitions of all data items defined during
analysis; see also, Requirements dictionary
Data modeling - an analysis method that models data objects and their relationships
Debugging - the activity associated with finding and correcting an error or defect - a lack
of conformance to requirements found in the software after delivery to the customer
Design - an activity that translates the requirements model into a more detailed model
that is the guide to implementation of the software
Estimation - a project planning activity that attempts to project effort and cost for a
software project
Go, no-go decision - a point at which manager or the customer decides whether the
project should proceed
Grammatical parse - a technique that is used during analysis and intended to help
isolate basic data objects and functions
High-order tests - black-box tests conducted once the software has been integrated
Integration testing - a testing step that constructs the software while testing it
Loop testing - a white box testing technique that exercises program loops
Maintenance - the activities associated with changes to software after it has been
delivered to end-users
Modularity - an attribute of a design that leads to the creation of high quality program
components
Object-oriented design (OOD) - a technique for translating the OOA model into an
implementation model
Objects - a named element of the problem domain containing data and processing
Portability - the ability to transport software from one target environment to another
Project risks - the set of potential project problems or occurrences that may cause the
project to fail
Project size - an indication of the overall effort to be expended or the number of people
working on the project
Project tracking - the activity that enables a manager to understand the status of a
project
Quality - the degree to which a product conforms to both explicit and implicit
requirements
Regression testing - tests that are conducted repeated to ensure that a change has not
introduced side effects
Resources - anything that is required to get the project done, people, hardware, materials,
information, etc.
Risk Management and Monitoring Plan (RMMP) - a plan for mitigating, monitoring
and managing risks
Scheduling - the activity that lays out a timeline for work to be conducted on a project
Selective testing - testing only a selected set of program paths and data inputs
Software testing - a set of activities conducted with the intent of finding errors in
software
Statistical quality assurance - techniques for process improvement that are based on
measurements of the product and the process
Structured programming - a design method that limited design constructs to only three
basic forms and constrains program flow for better quality
Technical risks - the set of potential technical problems or occurrences that may cause
the project to fail
Test case design - a set of techniques for deriving effective test cases
Test cases, derivation of - the creation of data that can be used to uncover errors in the
software
Tools - application software used to perform software engineering tasks (e.g., design
tools, testing tools); see also CASE tools
Total quality management - a company commitment to develop a process that achieves
high quality product and customer satisfaction
Unit testing - part of the testing strategy that focuses on tests to individual program
components
User - the person who actually used to software or the product that has software
embedded within it
White box testing - a test case design technique that makes use of a knowledge of the
internal program logic
Work breakdown structure (WBS) - the set of work tasks required to build the
software; defined as part of the process model