A body of software tested and certified by the developer to be ready for provisioning, operations, and use within a specified environment (hardware and software assumed to be present, including a platform and any other complementary software). Typically, sequential releases are offered for a single software product, each repairing defects, adding functionality, and tracking changing needs. A patch provides urgent repair of defects, a service release provides a coherent collection of patches, and a new version (or upgrade) makes changes in intended functionality to add new features or improve old ones. Typically, only the latest release is licensed to new customers, but older releases may continue to be maintained.
A measure of how likely it is that software will be usable in the manner intended. System reliability refers to the proper operation of all elements of a system with one another (application and infrastructure software, equipment, network), and software reliability refers to the likelihood of defects (flaws in programming) interfering with the intended usage of the software only in its user context. Defects are distinguished from fidelity, or the correspondence of the intended functionality with the needs of users. A measure of system reliability is availability, the fraction of time the system is executing and can be used.
Making another instance of digital information identical to the original in every way by copying the representation of that information. Distinct from copying, in which the original may not be preserved in all respects, as is characteristic of analog information. Copying and replication usually mean the same for digital information. However, there are "lossy" copying techniques that trade perfect reproduction for other properties, such as space or time savings: image encoding techniques such as JPEG are an example.
A collection of data that takes the place of information within the information technologies, such that the information can later be recovered. A representation includes specific data formats for recognizable patterns in the information, and is a common target of standards.
A specific plan for capabilities and features of software based on the needs of users or operators. Requirements can be satisfaction-driven (emphasizing the perceptual needs and satisfaction of users or operators) or specification-driven (based on a set of objective metrics), or some combination. See also analysis.
Seeking new knowledge, understanding, or technology through thought, experiment, or theory. Basic research (Bohr's quadrant) emphasizes long-term or high-risk advances, fundamental understanding, and explanatory modeling and theory rather than complementarity to current technology or specific needs. Applied research (Edison's quadrant) emphasizes application and end-user needs and requirements, and defines, prototypes, and experiments with new opportunities in typical use contexts with complementarity to existing information technologies. Pasteur's quadrant combines the two by considering needs and uses in part as a stimulant for uncovering new knowledge or understanding.
Technology and processes to enforce the terms, conditions, and rights of ownership in information or software imparted by license agreements and copyright laws. One technological mechanism is copy protection, which allows the user access to information or software while attempting to prevent replication and distribution to third parties, often making use of a trusted system. Since copy protection cannot be foolproof, anticircumvention regulations or laws prohibit the dissemination of devices and software that permit unauthorized replication. Watermarks attempt to identify the ownership or licensee for a replica by embedding within the representation imperceptible or inconsequential changes.