3.32 Software. Computer programs and computer databases. Note: Although some
definitions of software include documentation, MIL-STD-498 limits the definition
to computer programs and computer databases in accordance with Defense Federal
Acquisition Regulation Supplement 227.401.
3.33 Software development. A set of activities that results in software
products. Software development may include new development, modification, reuse,
reengineering, maintenance, or any other activities that result in software
products.
3.34 Software development file (SDF). A repository for material pertinent to
the development of a particular body of software. Contents typically include
(either directly or by reference) considerations, rationale, and constraints
related to requirements analysis, design, and implementation; developer-internal
test information; and schedule and status information.
3.35 Software development library (SDL). A controlled collection of software,
documentation, other intermediate and final software products, and associated
tools and procedures used to facilitate the orderly development and subsequent
support of software.
3.36 Software development process. An organized set of activities performed
to translate user needs into software products.
3.37 Software engineering. In general usage, a synonym for software
development. As used in this standard, a subset of software development
consisting of all activities except qualification testing. The standard makes
this distinction for the sole purpose of giving separate names to the software
engineering and software test environments.
3.38 Software engineering environment. The facilities, hardware, software,
firmware, procedures, and documentation needed to perform software engineering.
Elements may include but are not limited to computer-aided software engineering
(CASE) tools, compilers, assemblers, linkers, loaders, operating systems,
debuggers, simulators, emulators, documentation tools, and database management
systems.
3.39 Software product. Software or associated information created, modified,
or incorporated to satisfy a contract. Examples include plans, requirements,
design, code, databases, test information, and manuals.
3.40 Software quality. The ability of software to satisfy its specified
requirements.
3.41 Software support. The set of activities that takes place to ensure that
software installed for operational use continues to perform as intended and
fulfill its intended role in system operation. Software support includes
software maintenance, aid to users, and related activities.
3.42 Software system. A system consisting solely of software and possibly the
computer equipment on which the software operates.
3.43 Software test environment. The facilities, hardware, software, firmware,
procedures, and documentation needed to perform qualification, and possibly
other, testing of software. Elements may include but are not limited to
simulators, code analyzers, test case generators, and path analyzers, and may
also include elements used in the software engineering environment.
3.44 Software transition. The set of activities that enables responsibility
for software development to pass from one organization, usually the organization
that performs initial software development, to another, usually the organization
that will perform software support.
3.45 Software unit. An element in the design of a CSCI; for example, a major
subdivision of a CSCI, a component of that subdivision, a class, object, module,
function, routine, or database. Software units may occur at different levels of
a hierarchy and may consist of other software units. Software units in the
design may or may not have a one-to-one relationship with the code and data
entities (routines, procedures, databases, data files, etc.) that implement them
or with the computer files containing those entities.
3.46 Support (of software). See software support.
3.47 Transition (of software). See software transition.
3.48 Definitions of acronyms used in this standard.
See Appendix A .