The following HTML text is provided to enhance online
readability. Many aspects of typography translate only awkwardly to HTML.
Please use the page image
as the authoritative form to ensure accuracy.
A distinct functional area that can be supported by a class of systems and assets with similar requirements and capabilities.
Fourth-Generation Programming Language (4GL).
A 4GL differs from a third-generation programming language (3GL) in that it removes the need for a programmer to explicitly make many of the design decisions about data structures and algorithms. 4GLs allow programmers to express instructions in terminology and at a level of abstraction that are natural for communication between humans who are familiar with the application domain. The programmer interaction may even be in a graphical, or menu-based, form. 4GLs typically incorporate domain-specific knowledge and notation, and so are not "general-purpose" in the sense that 3GLs are, although they may include a 3GL component that permits general-purpose programming. 4GLs are associated with "frameworks," "templates," "automatic program generators," "middleware," and "graphical user interface builders." Some examples of 4GLs are Visual Basic, PowerBuilder, Delphi, and SQL.
A measure of software functionality that is independent of differences in lines of code required to implement a given function in different programming languages.
The relatively small parts of computer programs, or operating system "shell" scripts, that are written to integrate non-developmental items into a larger system, without modification to the components themselves.
Government-directed Software Maintenance.
Maintenance required for software changed in response to government specification or direction. Government-directed maintenance may be done by the government or by a commercial organization paid by the government. In contrast, with vendor-directed maintenance, a vendor chooses which changes are made to the software, and when they will be made.
Non-Developmental Item (NDI).
Any software asset that is available in the commercial marketplace; or any software asset that is available to the public for free use; or any previously developed software asset that is in use by a department or agency of the United States, a state or local government, or a foreign government with which the United States has a mutual defense cooperation agreement.
A set of similar products or a family of systems that share common architectures and satisfy the mission requirements of one or more domains.
The process of examining and altering an existing system to reconstitute it in a new form. Re-engineering may include reverse engineering, restructuring, re-documenting, forward engineering, re-targeting, or translation.
The process of developing or updating a software-intensive system using existing software assets.
Any software-related product of the software life-cycle.
Software Engineering Environment.
The set of tools (including supporting hardware, software, and "firmware") used in the production and maintenance of software throughout its life-cycle. Typical elements include computer equipment, compilers, operating systems, "debuggers," simulators, emulators, computer-aided software engineering tools, and database management systems.