|
Software Terminology
Acceptance criteria - the criteria a software product must meet to successfully complete a test phase or meet delivery requirements. Acceptance testing - the formal testing conducted to determine whether or not a system satisfies its acceptance criteria and to enable the customer to determine whether or not to accept the system. See also Qualification testing. Ada programming Support Environment (APSE) - the integration of the coding and testing phases of Ada software development, using compilers, editors, linkers, loaders, debuggers, test data generators, and run-time analyzers. Adaptation Adjustment Factor (AAF) - a function included in some software cost estimation tools that provides a means of calculating equivalent new source instructions based on estimated re-design, re-coding, and re-integration of existing code. Adaptive maintenance - the maintenance performed to make a software product usable in a changed environment. Adaptive reuse - a restricted form of leverage, in which the functionality of the system remains unchanged and the system is adapted to a different hardware or operating system environment. Algorithmic software cost model (Parametric models) - a method of software cost estimation using one or more mathematical algorithms as a function of a number of variables considered to be the major cost drivers. These models estimate effort or cost based primarily on the size of the software or delivered source instructions, and other productivity factors. Examples are COCOMO, SWAN, REVIC. Analogy software cost model - a method of software estimation that involves comparing a proposed project with one or more similar completed projects where costs and schedules are known. Then, extrapolating from the actual costs of the completed projects, the cost of a proposed project is estimated. Annual change traffic (ACT) - the fraction of the software product's source instructions which undergoes change during a year, either through addition or modification. The ACT is the quantity used to determine the product size for software maintenance effort estimation. Anomaly - an unexpected occurrence either from the software, in the specifications, in the user documentation, or any other plan or procedure associated with building or using the software. Application-architecture - the gross architecture of the entire distributed applications, such as a software-bus. Application program interface (API) - (1) The set of procedure calls/method invocations in some language that the implementor of a (framework conforming) component must use to access the infrastructure services of the framework, and to provide information, registration about this component. (2) Software that an application uses to communicate with an operating system or database. APIs can be used to extend the functionality of applications such as documentation tools. Architecture - the organizational structure of a system or component. Asynchronous transfer mode (ATM) - a high-bandwidth, low-delay, packet like switching and multiplexing technique. ATM switches that provide data rates of up to 140M bps are starting to appear. Audit - (1) a review, possibly independent, for the purpose of assessing compliance with software requirements, specifications, baselines, standards, procedures, instructions, and contractual and licensing requirements. (2) An activity to determine through investigation the adequacy of, and adherence to, established procedures, instructions, specifications, and standards or other applicable contractual and licensing requirements and the effectiveness of implementation. Balancing or conservation analysis - the applications of consistency checking throughout the hierarchy of a model. Baseline - (1) a specification or product that has been formally reviewed and agreed upon, that thereafter serves as the basis for further development and that can be changed only through formal change control procedures. (2) A configuration identification document or set of such documents formally designed and fixed at a specific time during a configuration item's life cycle. Baselines, plus approved changes from those baselines, constitute the current configurations identification. For configuration management there are 3 baselines as follows: functional baseline (initial approved functional configuration), allocated baseline (initial approved allocated configuration), and product baseline (initial approved or conditionally approved product configuration identification). Basic COCOMO model - a method of estimation of the effort required to develop software in 3 modes of development (organic, semidetached, of embedded) using only DSIs as an input. Binding time - the last time when the interpretation of some name used in a system is resolved for all subsequent phases/times of that system. Typical binding times are: compile time, link time, system initialization time and run-time. A name can be resolved multiple times with a given time phase, say compile time. Bit-mapped cartridges - a form of read-only-memory that plugs into a printer to provide bit-mapped fonts, expanding the available fonts beyond those native to the printer. Bit-mapped soft fonts - fixed size fonts stored on disk or in a printer cartridge. They (1) tend to be readily available for most applications and printer; (2) require a lot of disk space, and; (3) can be slow because of the time required to download them from disk at print time. Black-box reuse - the use of existing workproducts (as is) in the software product development process, in a way that preserves workproduct integrity. See also Leverage. Bottom-up software cost models - a method of software estimation that estimates each component of the software project separately, and the results are combined to produce an estimate of the entire project. Builder - a tool to help users assemble components into complete programs, install into framework, ensure correct usage of API, completeness of set of components selected, etc. The user 'manually' selects components, and tools provide support to interconnect them, and to write an interconnection (or programming) language. May provide assistance in setting parameters of the selected components. May be driven by a builder template. Cache - a high-speed memory that resides logically between a central processing unit and main memory, and holds data and/or instructions the CPU is most likely to need soon. Capability Maturity Model (CMM) - the Software Engineering Institute has developed a model that is used by organizations to describe their software process maturity. The CMM ranks an organization on a level of 1 to 5:
Carrier-sense multiple access with collision detections and avoidance (CSMA/CD) - a baseband communications-access method that uses a collision-detection technique to control network traffic. When a device wants to gain access to the network, it checks to see if the network is free. If is isn't, it waits a random amount of time before retrying. If the network is free and two devices attempt to gain access at the same time, they both back off to avoid a collision and wait a random amount of time before retrying. Carry-over reuse - the use of software that occurs when one version of a software component is taken to be used as is in a subsequent version of the same system. This kind of 'reuse' is distinguished from black-box reuse because it does not represent a distinct or novel usage of the same components. See also Leverage, Black-box reuse. Certification - (1) A written guarantee that a system of computer programs complies with its specified requirements. (2) The formal demonstration of system acceptability to obtain authorization for its operational use. (3) The process of confirming that a system, software subsystem, or computer program is capable of satisfying its specified requirements in an operational environment. Certification usually takes place in the field under actual conditions, and is utilized to evaluate not only the software itself, but also the specifications to which the software was constructed. Certification extends the process of verification and validation to an actual or simulated operational environment. (4) The procedure and action by a duly authorized body of determining, verifying, and attesting in writing to the qualifications of personnel, processes, procedures, or items in accordance with applicable requirements. Class - defines the commonality of a set of objects. In object-oriented methodologies, classes provide a mechanism for encapsulation, inheritance and polymorphism. Cleanroom software engineering - an approach for developing software of certified reliability under statistical quality control in a pipeline of increments, with no program debugging before independent statistical usage testing of the increments. Client - a process, e.g. a word processor, that requests a service provided by another program. In a client/server architecture, the requested service would be located on the server. Client/server architecture - an arrangement used on local area networks to exploit the computing power of the server and client. Processing of an application, such as a desktop publisher, is split allowing the client to perform user interaction functions while the server performs centralized multi-user functions. Coaxial cable - a high-capacity cable used in communications and video, commonly called coax. It contains an insulated solid or stranded wire that is surrounded by a solid or braided metallic shield wrapped in an external cover. Coax provides a much higher bandwidth than twisted-pair wire. Code review - a process for ensuring that developed source code meets the specifications. Cold Start - the formal process of constructing a system (e.g. a Trainer and its associated Software Support System) starting from a clear system and introducing software elements from the most elementary form available. Commercial Item software is introduced directly from vendor release media. Non-Commercial Item Software is generated from source code. Processed data files are generated from raw data files. Compact disc read only memory (CD-ROM) - CD technology is used for distributing audio, video, and computer information. Completeness checking - the act of verifying that the set of entities and relationships has been completely defined. Complex-Instruction - Set computer (CISC) - a traditional computer with complex addressing modes whose CPU is designed to run many, often lengthy built-in instructions that support high- level languages. (See also reduced-instruction-set computer.) Compositional reuse - the construction of new software products by assembling existing reusable workproducts. Compound document - the integration of several elements to form a single document. The elements may include graphics, tables, and spreadsheet or database information, as well as text. Computer Aided Software Engineering (CASE) - a system of one or more tools that help automate one or more aspects of the software engineering process. Configuration scheme - a well-defined plan for the organization of workproducts to be managed as configuration items. Consistency checking - the act of verifying that the entities and relationships (created within a diagram) are used in a consistent manner. Constructive Cost Model (COCOMO) - a software cost estimation model developed by Dr Barry Boehm and described in his book Software Engineering Economics. Several cost models implement the COCOMO model, e.g., REVIC, SWAN. Contractor evaluation [SEI assessment] - a process by which a contracting organization uses the results of contractor assessments and other information to determine the relative capability of contractors. Control flow diagrams (CFDs) - a diagram that includes specification of the control flow information necessary to characterize real-time systems. Copper distributed data interface (CDDI) - a version of the fiber distributed data interface networking standard that runs on unshielded twisted-pair cabling rather than on fiber. Corrective maintenance - the maintenance performed specifically to overcome existing faults. Cost driver attributes - the productivity factors used in algorithmic or parametric models. The cost driver attributes include software product attributes, computer attributes, personnel attributes, and project attributes. Cropping - selecting only the desired portion of an image for inclusion in a document. Data dictionary - a collection of the definitions of the data entities and data processes. Data flow diagram (DFD) - a hierarchical specification of the algorithmic processes in a system and the data flow among them. Data oriented methodology - an approach that views the input and output parts of the system model as its fundamental characterization. The algorithmic processes are derived from the data structures. Examples are Jackson structured design and Warnier-Orr structured systems development. Database publishing - the production of documentation using automated methods to extract information from a database for inclusion in that documentation. De facto standard - any widely used method that has not been officially recognized by an established standards organization. Defined software process - a well-characterized, documented, and understood software process, defined in terms of software standards, procedures, tools, and methods. A defined process is typically needed to control, coordinate, and improve the activities of numbers of people in complex tasks. Definitional model - one form of domain model. It includes an intentional statement specifying what is and is not in the domain. It may include a lexicon and domain language (e.g., grammar). Delivered source instructions (DSI) - the source lines of code developed by the project. The term delivered is generally meant to exclude non-delivered support software such as test drivers. However, if these are developed with the same care as delivered software, with their own reviews, test plans, documentation, etc, then they should be counted. See source instructions. Delphi technique - a group forecasting technique, generally used for future events such as technological developments, that uses estimates from experts and feedback summaries of these estimates for additional estimates by these experts until reasonable consensus occurs. It has been used in various software cost-estimating activities, including estimation of factors influencing software costs. Demand priority access method - a proposed replacement for Ethernet's traditional CSMA/CD media-access method. This technique gives responsibility for network access to a central hub, rather than to individual workstations. Network stations can request permission to transmit data by priority, the hub transmits high-priority data first. Deposition ratio - a set goal that a product development project deliver some percentage of reusable workproducts for future products. These could be packaged and reprocessed by a components group, or mined by the components group from the project, without project members' assistance. Derived reuse - software reuse that is accomplished via the object-oriented principle of subclassing. Design phases - how the product will implement its requirements. During high level design, implementation constraints are not considered, whereas they are during low level design. Desktop publishing (DTP) - refers to the production of documentation using a workstation or PC running publishing software. The term 'desktop' is indicative of the fact that the workstation or PC and an attached output device, such as a laser printer, can all fit on a deck. Detailed COCOMO model - differs from the intermediate COCOMO model in that it uses effort multipliers for each phase of the project. These phase dependent effort multipliers yield better estimates because the cost driver ratings may be different during each phase. The detailed model also provides a 3-level product hierarchy and has some other capabilities such as a procedure for adjusting the phase distribution of the development schedule. Dingbat - a slang term referring to all symbols and ornaments, such as stars, bullets, arrows, pointing finger, checkmark, etc. Distributed computing environment (DCE) - a set of requirements and applications developed by the Open Software Foundation as an infrastructure for systems heterogenous, networked computers. Dithering - a technique used in computer graphics to create the illusion of varying shades of gray (on a monochrome display or printer) or additional colors (on a color display or printer). Documented procedure - a reasonably complete set of rules and steps for performing a task. The rules and steps are written down and can be used by individuals who are knowledgeable about the task to perform the task in a repeatable way. Domain - a field or sphere of activity or influence such as; (1) the functional area covered by a family of systems (e.g., the aircraft navigation system domain) or across systems where similar software requirements exist. (2) A coherent set of systems that exhibits common features and functionality across existing and proposed instances. A domain may be defined as a vertical or horizontal component within a larger context, e.g. window systems are a horizontal domain, microwave instrument firmware is a vertical domain. Domain analysis - (1) The process of identifying, collecting, organizing, analyzing and representing a domain model and software architecture from the study of existing systems underlying theory, emerging technology and development theories within the domain of interest. (2) The result of the process in (1). (3) The process by which information used in development software systems is identified, captured and organized with the purpose of making it reusable when creating new systems. (4) The method of gathering and representing software information in categories. Domain analysis objective - a statement of a goal for the information to be produced or an activity to be undertaken in the domain analysis. The objectives may be as simple as capturing the knowledge of a departing project, or as far- reaching as exploring potential new lines of business. In typical situations, domain analysis will have the objective of producing complete domain models for use in producing reusable workproducts in a familiar domain. Domain analyst - a person who has expertise in extracting and analyzing information about a domain from existing components, domain exemplars, product plans, domain expert and from other sources of domain knowledge in order to produce domain models. Domain boundary model - a model that focuses on what domains are related or near by a particular domain and the relationships between the related domains and the focus domain. A domain context diagram is one example of how one might illustrate the domain boundary. Domain definition - a formal definition of the domain that can be used to determine whether an arbitrary system is a part of that domain or not. This statement must be intentional, that is, a person should be able to determine whether a given system belongs in the domain by determining where the system fits criteria of the domain definition statement. an example of intentional definition is: 'a mammal is a warm- blooded animal, vertebrate, having hair and secreting milk for nourishing its young.' Domain engineering - the construction of components, method, and tools and their supporting documentation to solve the problems of system/subsystem development by the application of the knowledge in the domain model and software architectures. Domain exemplar - a system subsystem or component selected for detailed analysis as part of domain modeling. The exemplar is represented as a collection of workproducts, artifacts, and development history documents, as opposed to being merely the source code for the system in question. Domain expert - a person who is very knowledgeable about a particular domain. This person will generally be aware of exiting and planned products in the domain. Domain feature model - a type of conceptual model that enumerates features and their variants as they appear in existing and projected domain exemplars, and accounting for desirable, novel combinations of those feature variants. Domain functional model - a type of domain model that emphasizes the standard generation and variants of functions as they appear in the domain exemplars. process models or data flow diagrams are kinds of functional models. Domain knowledge - the knowledge about systems in a specific domain that may be obtained by interviewing domain practitioners (e.g, product developers, technical marketing staff, systems analysts), or analyzing technical literature in the domain where the knowledge may pertain to existing system, technology projections, the relationship of this domain to others, experience in reusability, etc. Domain knowledge sources - any resources that can provide information about the domain. Examples: The Workproducts of existing systems - Published research in the domain - Unofficial (i.e.,non-workproduct) documentation: on-line directories, prior project notebooks - Folklore, or 'techlore' in the domain: personal, oral history sources. Domain lexicon - the vocabulary or terminology of the domain. It includes clustered synonyms and antonyms. This Reuse lexicon document itself can be considered a domain lexicon for the domain of 'software reuse process'. Domain modeling language - a machine processable language whose terms are derived from the domain model and that is used for the definition of components. Domain requirements model - a model that links features with the environment (e.g., where systems operate, with what they must connect). Domain scope - an aggregate of the domain definition (statement), the domain boundary, the domain exemplar portfolio, and the domain requirements model. These workproducts are grouped together to form the scope because they each define a different view of the scope. Thus a change in any one of them will generally require changes to the other two. Domain-specific reuse - the software reuse that is targeted for a specific domain as opposed to reuse of general purpose workproducts. Typically domain-specific reuse involves reuse of larger workproducts (subsystems, architectures, etc) than general purpose reuse. Domain Structural model - a level of notational abstraction that describes functional units, connections and interfaces in a system. This aspect of a domain model is developed during the domain-engineering activity in the produce reusable workproducts process. Downloadable fonts - a soft font (possibly bit-mapped) that may be transferred from the disk or other storage medium to the printer prior to printing , or as part of the print job. Dots per inch (DPI) - the resolution of a device (usually a printer) in displaying information. 300 DPI is typical for laser printers, although higher resolutions are becoming more affordable. Driver - (1) a temporary software element often used in bottom- up design testing and unit testing that substitutes for the normal functional calling routine(s) in order to demonstrate the functionality of the code that it drives (calls), even if in a limited manner. See stub. Dual access stations (DAS) - stations on an fiber distributed data interface ring that are attached to both rings. Should a malfunction occur on the primary ring the secondary ring is used. Stations attached to just one ring are called single access stations. Links between single access stations modes are not self-healing, since there is only one ring between them. Effort adjustment factor - a term used in COCOMO to calculate the affect of a particular cost driver attribute on the project. It is the product of the effort multipliers corresponding to each of the cost drivers for the project. Electronic data interchange (EDI) - the direct computer-to- computer exchange of business data between trading partners. Embedded mode - a term used by COCOMO to describe a project development that is characterized by tight, inflexible constraints and interface requirements. The product must operate within (is embedded in) a strongly coupled complex of hardware, software, regulations and operational procedures. An embedded mode project will require a great deal of innovation. Encapsulation - (1) a way in which external tools are integrated into a SEE product by customization of the user interface, data access formats, hooks, triggers, etc. (2) a feature of object oriented methodologies where related code and data are joined in a class or object definition. Entity relationship (ER) - the relationship among entities which can be displayed in a diagrams model. The diagrams model shows each data entity in the system, its attributes, and its relationships to other data entities. Entity relationship attribute (ERA) diagram - a diagrammatic notation for describing and documenting data items and the relationships between data items using an ERA model. Entities are shown as boxes in the ERA diagram and have an entity name; usually names are required to be unique. Attributes are generally shown as annotations of entity boxes. Relationships are shown as lines between entity boxes. Markings on the lines indicate the nature of the relationship (one to one, one to many or many to many). Entity relationship attribute (ERA) model - a model of a set of data relationships in terms of the entities, relationships with other entities. They have an entity name; usually names are required to be unique. Entities are often implemented as a record comprising a number of fields. Attributes are usually represented as a data dictionary and describe the characteristic feature of the entity. Each attribute is named; usually the names of attributes are required to be unique. Attributes are often implemented as fields with values. Each relationship is named usually relationship names are required to be unique. There can be more than one relationship between a pair of entities. Engineer reusable workproduct - a process with the objective of constructing components, methods, and tools and their supporting documentation to solve the problems of system/subsystem development by the application of the knowledge in the domain model and software architectures. Error analysis (software) - (1) the process of investigating an observed software fault with the purpose of tracing the fault to its source. (2) The process of investigating an observed software fault to identify such information as the cause of the fault, the phase of development process during which the fault was introduced, methodology by which the fault could have been prevented or detected earlier, and the method by which the fault was detected. (3) The process of investigating software errors, failures and faults to determine quantitative rates and trends. NOTE: Error analysis involves determining if the cause of the problem is hardware or software. Ethernet - Ethernet LANs operate over twisted-pair wire and over coaxial cable at speeds of up to 10M bps. The theoretical limit of Ethernet, measured in 64-byte packets is 14,800 packets per second. By comparison, Token-Ring's limit is 30,000 and FDDI's is 170,000. Expert judgement software cost model - a method of software estimation that is based on consultation with one or more experts that have experience with similar projects. An expert-consensus mechanism such as the Delphi Technique may be used to produce the estimate. Extended industry standard architecture (EISA) - an extension of the ISA bus that provides systems based on 80386 and later processors with compatibility with earlier ISA systems. External reference specification (ERS) - the specification of a system suitable for clients (users) of that system. Only the interface to the system is specified and all internal details of implementation are omitted from this document. External reuse - the reuse of workproducts produced in one project, and consumed/used by another project. Measure external reuse level by comparing units written against units taken from an explicit external library at that abstraction level. Fast Ethernet - a technology that provides 100M-bps speeds over traditional 10Base-T wiring, with the addition of new network-interface cards. It is positioned as a lower-cost alternative to high-speed technologies such as CDDI and FDDI. Feature - a user-detectable characteristic of at least one of the systems within the domain. Fundamentally, a feature is a basis for distinguishing between different variants within the domain. Features can therefore be specified at varying degrees of abstraction and granularity, and may take a number of variant forms. Federal Information Processing (FIP) software- any software, including firmware, specifically designed to make use of and extend the capabilities of Federal Information Processing equipment. Fiber distributed data interface (FDDI) - a 100M-bps networking scheme for fiber-optic LANs. Versions of FDDI have also been developed for two flavors of shielded twisted-pair media. The first standard, known as the Green Book, was formalized in May 1991. The second standard, the IBM-backed SDDI (shielded twisted-pair distributed data interface) was announced in May 1992. FDDI II - an extension to the original FDDI protocol that allows for delivery of the isochronous traffic by enabling the network to reserve regular slots for video traffic that requires time-dependent data delivery. Finite state machine (FSM) - a machine with a finite number of physical states. It may be represented by a concise and unambiguous statement of the functional characteristics of the system. Firmware - the software stored in a computer's read-only-memory or elsewhere in the computer's circuitry. Font - the collection of characters available for a specific style (bold, italic), and point size (10 points). Note that 'typeface' refers to the design of the characters. In popular usage, however, the term 'font' is often used interchangeably with 'typeface'. Font cartridges - a form of read-only-memory in a cartridge that plugs into a printer to provide bit-mapped or scalable fonts, expanding the available fonts beyond those native to the printer. Formal method - a rigorously defined logic system and corresponding notation used for specifying the entities in a system and their required relationships. The formal notation is normally concise and unambiguous and the resulting specification can be used as a basis to verify the resulting software product. Formal procedure [SEI assessment] - a documented series of steps with guidelines for use. Framework - a set of workproducts (or infrastructure) that behaves as a skeletal system or applications and implements the common functionality in an architecture. A framework provides a shell for the systematic development and interconnection of workproducts, ensuring common appearance and behavior via use of common services. Freeware - copyrighted programs that have been made available without charge for public use. The programs may not be resold for profit. Full-text search - a search for all occurrences of one or more character strings throughout the text of an entire document. Some systems allow the use of wild cards and other logic criteria in defining the search parameters. Function point analysis (software sizing) - method of software size estimation developed by Allen Albrecht and John Gaffney at IBM. The object is to measure the functions delivered to the user that are independent of any particular technology or approach used. The general approach is to count the number of external user inputs, outputs, inquiries, master files, and interfaces that are delivered by the development project. Each of these categories are classified within 3 levels of complexity: simple, average, and complex. Functional decomposition design - a design approach that focuses on the definition of modules and interfaces by partitioning the specified function of the software. Examples of functional decomposition design methods are stepwise refinement, structured design, and real-time design. Generation-based reuse - the reuse of software accomplished via the use of application generators to build new applications from high level descriptions. Examples include 4GLs and User Interface Generators. Generator - a higher-level automatic builder that hides the manual interconnection of components using a problem- oriented language, template or potion filler, or a visual programming environment. The generator enables concise specification of the desired (piece of the) application, and then generates appropriate code and/or procedure calls in some other language. Generic application - a customizable/extendible application that captures most of the interesting, common parts of an application domain. A complete applications is built by adding missing parts, adjusting parameters, or selecting alternative components. It is often built upon an applications framework. It can also be a prototypical or skeletal applications, consisting of the infrastructure, some components and some preset interconnection language scripts, to simplify the task of creating complete, conforming applications for some domain. This may be just a shell, into which additional components should be plugged to produce an executable application, or may be a trivial, but complete application that needs to be evolved into the final/desired/customized application via the addition or replacements of components and changes in interconnection language. Gouraud shading - in computer graphics, a method of shading a polygon to produce a seemingly three-dimensional object with a matte surface. Graphics - art and other elements, including type, used on a page as a visual statement. Graphical user interface (GUI) - a generic term referring to a screen presentation that accepts user input via a pointing device (e.g., a mouse) and uses graphic representations (e.g. icons) in conjunction with text to communicate with the user. Gutter - the white space in between columns of text on a page. Hanging indent - refers to a paragraph style in which the first line extends to the left farther than the subsequent lines of the paragraph. Hardcopy - a printed form of documentation on paper rather than displayed via some other media such as a display screen. Header - one or more lines of text (such as the document title, section heading, document number, or page number) appearing at the top of a page or at the beginning of a unit of source code or Ada package. Hierarchical structure charts - the hierarchical organization of the processes in the system and the relationships among them. Hypermedia - refers to software products that allow the integration of information in several forms including text, graphics, video, animation, music, sound and voice. The information is linked to provide flexibility to the user receiving the information. Hypertext is a special case of hypermedia. Hypertext - refers to information that is largely text and is linked to allow rapid jumps to amplifying or related text. Impact analysis - an assessment of the potential repercussions of making a proposed change. In reuse, the dimensions of impact include not only what other workproducts would have to change or would behave differently, but also what the impact would be to the reusability of the workproduct and its configuration. Industry Standard Architecture (ISA) - the name given to the bus architecture developed by IBM Corp for the AT version of its personal computer. (See also Extended Industry Standard Architecture.) Information oriented methodologies- the use of a logical data model for integrating information system components. They emphasize the strategic requirements for data across an enterprise level system. the information system components are then built based on the requirements of the logical data model. An example is Martin Information Engineering. Infrastructure - the software that implements the services of the framework, and presents it through the API. Some of the software may consist of distinguished conforming components or (in a layered framework) of a set of components from a lower level. Inheritance - the class hierarchy such that a subclass shares the structure or behavior defined for one or more superclasses. Inspection - (1) A formal evaluation technique in which software requirements, design, or code are examined in detail by a person or group other than the author to detect faults, violations of development standards and other problems. Contrast with Walk-through. (2) A phase of quality control that by means of examination, observation or measurement, determines the conformance of materials, supplies, components, parts, appurtenances, systems, processes or structures to predetermined quality requirements. Instance of a class - an object that is of that class, and defined at least in part by inheriting state and functionality from the class definition. Institutionalized reuse - A systematic reuse that is a significant practice throughout an organization. Integrated CASE (I-CASE) - an early term coined in industry to emphasize the evolution of stand-alone software engineering tools into interfaced or integrated collections. Integrated project support environment (IPSE) - a SEE product that connects software tools, allows data to be freely interchanged, and makes it easy to manage project data. An IPSE also contains tools dealing with project management aspects of the software lifecycle. Integrated software engineering environment (ISEE)- a term coined by NIST to refer to SEE products of the populated frameworks category. Integrated Software Engineering Environments Working Group - has established a reference model for SEE technology, enabling SEE products to be assessed for conformance to standards. Integration - the property of different components working well together, specifically, having varied CASE tools operated from a common user interface, sharing data and accessing each other's functions. Interconnection language - a language, usually interpreted, used to simplify the task of interconnecting components to form applications. Intermediate COCOMO model- an extension of the Basic COCOMO model. The intermediate model uses an effort adjustment factor (EAF) and slightly different coefficients for the effort equation than the Basic model. The intermediate model produces better results than the basic model because the user supplies settings for cost drivers that determine the effort and duration of the software projects. The intermediate model also allows the system to be divided and estimated in components. Internal reuse - avoiding redundant implementation of functionality within a single project by careful design and inspection at early stages such that selected components are identified for distinct uses within the project (system or subsystem). Internal reuse level - a metric comparing the unit count of components used repeatedly in distinct contexts with unit count of components used only once. This is of interest in development projects with teams of programmers, and when writing object-oriented systems by developing common class libraries. (The 'unit count' is normally non-commented source statements (NCSS), lines of code (LOC), of function points.) International Standards Organization (ISO) - an organization devoted to determining standards for international and national data communications. The US representative to the ISO is ANSI (American National Standards Institute). Kerning - refers to altering the spacing between specific pairs of text characters. Automatic kerning is typical of DTPs. Key process area - a cluster of related activities which, when performed collectively, achieve a set of goals important for enhancing process capability. The software process areas identified by the SEI to be the principal building blocks to help recognize the software process capability of an organization and understand the improvements needed to advance to higher maturity levels. Kit - a coherent set of tools, methods, and reusable workproducts for producing software with systematic reuse in a particular domain. Knowledge base - repository of knowledge in a computer system or organization, and the collection of data, rules, and processes that are used to control a system, especially one using artificial intelligence or expert system methods. Layered architecture - an architecture designed as a series of abstract machines, or service layers, where each layer is ideally described only in terms of services provided by the layer immediately below. It is believed that portability, reuse and evolution are enhanced, though many layered implementations seem to suffer in performance. (A good example is OSI 'protocol-stack' for network services.) Layered framework - an application framework built as a series of layers, each layer factoring out additional, more domain- specific common services to further restrict the application domain that this framework naturally supports. Leading - the space between lines of text. Desktop publishers usually vary the leading for a document automatically. Legacy system - the software and data from years past that may be grandfathered into a new system or framework. Leveled set of DFDs - a hierarchical set of DFDs with each lower layer describing processes in greater detail. Leverage - to start with existing workproducts in the software development process, modifying as needed to meet specific system requirements. Leverage may result in distinct 'branches' of versions of the modified components, requiring separate maintenance. Lexicons - alphabetical listings of the words in a language. Lexicons may include definitions. Librarian - (1) A person who accepts, classifies, maintains, searches, configures, and retrieves workproducts from a reusable software library. (2) A person responsible for establishing, controlling, and maintaining a software library. Lines of code - See source instruction. Maintenance - modification of a software product to correct faults, to improve performance or other attributes, or to adapt the program to a changed environment. Mapping - a process whereby SEE products are compared against the NIST ISEE reference model for the purpose of assessing conformance of the SEE product to SEE technology standards. Markup language - a language defining the format and structure of text. Massively parallel processing (MPP) - a computer architecture in which hundreds or thousands of closely coupled scalar microprocessors work in tandem. Mechanism [SEI assessment] - a means or technique where by the performance of a task, procedure, or process is assured. The mechanism may involve several organizational elements, and its documentation may include some combination of function statements, operating plans, position descriptions, and/or formal procedures. The documentation defines what should be performed, how it should be performed, and who is accountable for the results. Mega-component - a large-grained component, often a complete application or application fragment that can be an encapsulated preexisting application, re-engineered so that can be combined with other components within a framework, conforming to the framework API. Metabase - the part of the object base in which the object, link, and attribute types defined for the management system are represented as objects within the object base. Metadata - information about information, data about data, especially information describing the contents and format of a repository that allows it to be used by outside tools and services. Mflops - millions of floating-point operations per second. MicroChannel Architecture (MICA) - a proprietary architecture used by IBM Corp for 80386 and higher processors. Modeling Technique - a disciplined processes for generating system models using a well-defined notation. Multichip module (MCM) - a small package containing ICs bonded directly to a special substrate that allows high-speed transmission. National Institute for Standards and Technology (NIST) - formerly the National Bureau of Standards, is the US agency responsible for establishing standards and promoting their use. Notations - a set of figures and symbols used to represent the entities and relationships chosen to model a system. Object oriented methodology - an approach to model a system as a set of interacting objects with associated data and behavior. It is based on decomposing the requirements or design of a system into a hierarchical set of classes and objects. Object - (1) instance of a class. (2) a logical collection of state and functionality. 100Base-VG - the fast Ethernet standard jointly proposed by Hewlett-Packard Co and AT&T that would replace the CSMA/CD media access control layer with domain propriety access method. Open Systems Interconnection (OSI) - a widely adopted model for a computer network architecture promulgated by the International Organization for Standardization that divides network functions into seven layers. Operational environment characteristic model - a description of the external environmental conditions that a system in the domain must operate under (i.e., hardware constraints, embedded system vs not, connected to LAN vs not, etc.) Opportunistic reuse - an instance of reuse through identification of previously unplanned-for opportunities to reuse workproducts. Optical character recognition (OCR) - a method for converting hardcopy text to an ASCII format that is editable by word processors and desktop publishing systems. Organic mode - a term used by COCOMO to describe a project that is developed in a familiar, stable environment, and the product is similar to previously developed products. Most people connected with the project have extensive experience in working with related systems and have a thorough understanding of the project. The project contains a minimum of innovative data processing architectures or algorithms. Orphan - the last line or two of a paragraph located at the top of a new page or column. Overload - the ability to have different functions with the same name. The compiler chooses the specific form based on argument list. Page description language (PDL) - a programming language used to describe output to a printer. The printer constructs text and graphics to produce the required page image based on the PDL instructions. Parallel vector processing - an architecture in which several vector processing systems, which use multiple accessing of interleaved memory, can work in tandem. Parametric software cost model (Algorithmic models) - a method of software cost estimation that uses one or more mathematical algorithms as a function of a number of variables considered to be the major cost drivers. The model estimates the effort or cost based primarily on the size of the software or the number of delivered source instructions, and other productivity factors. Perfective maintenance - the maintenance performed to improve performance, maintainability, or other software attributes. See also Adaptive Maintenance, Corrective Maintenance. Performance requirement - a requirement that specifies a performance characteristic that a system or system component must posses; for example, speed, accuracy, or frequency. Performance specification - a specification that sets forth the performance requirements for a system or system component. Petri nets - an approach that uses nodes and tokens for the same purpose as FSMs. Unlike FSMs, Petri nets can also model concurrency. Phong lighting - in computer graphics, a method of rendering a polygon so as to produce the effect of specular reflection from its surface. Physical address - a binary address that refers to the actual location of information stored in a second level of memory, for instance, a disk drive. Point size - the size of a particular font, where point is the smallest typographical unit of measurement, equal to about 1/72 of an inch. Polymorphism - a feature of object-oriented methodology where a class' functions can change the form of inherited functions with the same name that are from a base class. it is implemented by overloading a function name. Populated framework - a SEE procedure which has a combination of the features found in a SEE framework and a complete or partially complete set of tools which provide a broad set of functionality for the SES. Portable Operating system interface (POSIX) - an IEEE standard for operating systems to facilitate code portability across multiple hardware platforms. Procedure oriented methodology - an approach that views the algorithmic processes in the system model as its fundamental characterization. Data definition follows from the defined processes. Traditional view. Example methodologies are DeMarco structured analysis, Gane-Sarson structure analysis, and Yourdon structured design. Process - (a) the sequence of activities described in terms of the user roles, user tasks, rules, events, work products, resource use, and the relationships between them. It may include the specific design methodology, language, documentation standards, etc. (b) [SEI assessment] a systematic series of mechanisms, tasks, and/or procedures directed towards an end. The software engineering process documentation defines the sequence of steps used to produce a finished product. Each step is described as a task that is performed by using a software engineering methodology or an administrative procedure, and it prescribes the automated tools and techniques to be used. Process assessment - an appraisal by a trained team of software professionals, using a method such as the Software Engineering Institute assessment method, to determine the state of an organizations's current software process, to determine the high priority software process related issues facing an organization, and to start the actions needed for software process improvement. Process assets - A set of process artifacts, maintained by an organization, for use by the projects in defining, maintaining, and implementing their software processes. These software process assets include a standard software process, the guidelines and criteria for tailoring the organization's standard software process, software life- cycle models approved for use by the projects, a library of process specifications previously developed by projects in the organization, and a software process database. Process constraints - the conditions which affect the continuation of process enactment. The constraints arise from the requirements levied on the process and may involve both functional and non-functional conditions. Process data [SEI assessment] - the data that is gathered about the software engineering process. It typically includes review, test, and resource data by process phase and change activity. To be most meaningful, this data should be associated with the process documentation, the tools and methods used, and the characteristics of the product being produced. Process database [SEI assessment] - a repository into which all process data is entered. It is a centralized resource managed by the process group. Centralized control of this database ensures that the process data from all projects are permanently retained and protected. Process enactment - the use of a formal process definition to guide or control the software process. Process enforcement - the action taken to guarantee that process constraints are enforced. (also known as work flow control) Process group [SEI assessment] - the software engineering process group is composed of specialists concerned with the process used by the development organization for software development. Its typical functions include defining and documenting the process, establishing and defining metrics, gathering data, assisting projects in analyzing data, and advising management on areas requiring further attention. The process group typically conducts quarterly management reviews on process status and may provide review leaders. Process maturity - the extent to which a specific process is explicitly defined, managed, measured, controlled, and effective. Process metrics [SEI assessment] - those measurements established for each step in the software engineering process that are used to determine its effectiveness. The metrics define the results of each process stage and relate them to the resources expended, errors introduced, errors removed, and various coverage, efficiency, and productivity indicators. Process modeling - the act of representing a real world system with components that correspond to elements in the real world system. Often defined as including both process definition and simulation. Process simulation - the representation of a process that allows for a run-time analysis of the process events. Simulation allows process definitions to be tested for errors and completion. Produce reusable workproducts - a process whose objective is to develop, generate, or re-engineer workproducts with the specific goal of reusability. The process includes domain analysis and domain engineering activities. Program design language (PDL) - any pseudo language that is useful in designing generic code which may then be converted to source code for one or more compilers, preferably using automated tools. Program evaluation and review technique (PERT) - a method used to size the software product and calculate the standard deviation (SD) for risk assessment. The PERT equation (beta distribution) estimates the equivalent delivered source instructions (EDSI) and the SD based on the analyst's estimates of the lowest possible size, the most likely size, and the highest possible size of each computer program component. Programming support environment (PSE) - a set of tools in a given environment with its operating system, used to support the management of projects. Proof of correctness - (1) A formal technique used to prove mathematically that a program satisfies its specifications. (2) A program proof that results from applying this technique. Public domain software - software not copyrighted that can be freely distributed without obtaining permission from the programmer or paying the programmer a fee. Qualification testing - the formal testing, usually conducted by the developer for the customer, to demonstrate that the software meets its specified requirements. See also Acceptance Testing. Rayleigh distribution - a curve that yields a good approximation to the actual labor curves on many types of software projects, including the organic COCOMO mode. Real-time methodology - an approach that includes the system's interactions with external events as part of its fundamental characterization. Variations of the above structured methodologies have been created to incorporate real-time control. Examples are Ward/Mellor structured design and Hatley structured design. Reduced-Instruction-set computer (RISC) - an extremely regular, easily pipelined computer in which the instruction set is simplified and minimized. Re-engineering - the changing of a workproduct to meet new conditions or needs. Regression testing - the selective retesting (preferably beyond the anticipated area of modification impact) to detect faults introduced during modification of a system or system component, to verify that modifications have not caused unintended adverse effects, or to verify that a modified system or system component still meets its specified requirements. Repository - a database that defines and contains all of the information relevant to the components manipulated within the populated framework. Requirements Analysis - a process that studies and determines what a product must do. Return-on-investment (ROI) metrics - the parameters collected for cst/benefit models that provide a measure of the output relative to the size of the input. Some of these models account for risk and cost of capital. The value that these models provide may itself be considered an ROI metric. Examples of cost/benefit models include: net present value, internal rate of return, and payback methods. Reusability - an attribute of software workproducts that measures the degree to which they can be used in more than one computer program of software system. Reusability analyst - a person who has expertise in extracting and analyzing information about a workproduct user's work style in order to produce a set of relevant reusability requirements. Reusability knowledge - lessons learned, metrics and data analysis, recommendations acquired in using reusable workproducts that identify factors affecting reusability of workproducts. Reusability requirements - a set of requirements for each class of domain workproduct that reflects decisions about how Users Reusability Criteria will be handled in the reusable domain workproducts. The requirements cover those related to business objectives, user work style, and user computing environment constraints. Reusable component - a representation of some aspect of a system which may be used in different applications. A component may consist of requirements, architectures, design, or implementation (e.g., code, tests, documentation) information. Reusable workproducts - a set of reusable components. Reuse - (1) To employ workproducts in some form in the software product development process, preserving workproduct integrity. (2) The application of existing solutions to the problems of systems development. Reuse-based design - a process that accepts an existing partition of reusable modules, functions, or designs, but crafts an interface that ties them together in order to provide the specified software function. Examples of reuse-based design are very high level language design and operational design. Reuse level - a consistent set of metrics to measure the amount of product-external and -internal reuse for improvement and comparison. Done by comparing ratios of software elements (non-commented lines of code (NLOC), or other program units) at an appropriate level of abstraction. Review coverage [SEI assessment] - the degree to which all code in a software product has been reviewed. It is typically stated as a percentage and measures the percentage of the lines of executable code or design statements evaluated by the review process. Review data [SEI assessment] - the data that is gathered from design or code reviews. This data is of two types. The first, concerning the review process, typically includes preparation time, lines of code per hour of preparation time, review time, lines of code (or design statements) reviewed, code (or design statements) reviewed per hour, and errors found per review man-hour (by category). The second type, product data from the review, typically includes errors found per line of code (or design statement), action items identified from each review, action items closed for each review, items needing re-review, re-reviews conducted. Review efficiency [SEI assessment] - the percentage of errors found through the review process. It is typically stated as a percentage and is calculated by dividing the total errors found during review by the total errors found by both review and test through the completion of product and system integration test. It does not include those errors found during acceptance test or field usage. Review leader [SEI assessment] - typically a member of the process or assurance group who is thoroughly trained in the review process. The review leader's role is to ensure that the participants are properly prepared and that the review is efficiently and thoroughly conducted. The review leader is responsible for recording review data, making sure that the actions resulting from the review are completed, and for conducting re-reviews where appropriate. Revised enhanced version of intermediate COCOMO (REVIC) - a software cost estimation tool developed by Raymond Kile. The primary difference between REVIC and COCOMO is the coefficients used in the effort equations. REVIC changed the coefficients based on using a database of recently completed DOD projects. Other differences include the method of distribution of effort and schedule to the various phases of product development and the automatic calculation of standard deviation for risk assessment. Scalable soft fonts - a set of font outlines generated by programs. Unlike bit-mapped fonts, scalable fonts are not restricted to set point sizes. The scalable font programs may reside on the hard disk or in a cartridge that plugs into the printer. Semidetached mode - a term used by COCOMO to describe a project that is developed somewhere between organic and embedded. The team members have a mixture of experienced and inexperienced personnel. The software to be developed has some characteristics of both organic and embedded modes. Server - a computer on a local area network running administrative software that controls access of individual client computers to all or part of the network and its resources. See client/server architecture. Shareware - copyrighted computer programs made available on a trial basis with a license to use for a limited period of time. Use of software beyond the limited time may carry an obligation to pay the copyrighted owner. Further distribution by shareware holders are made under the same conditions of trial and implied obligation to pay. Shielded twisted pair (STP) - a twisted-pair data-grade or voice- grade wire wrapped in a metal sheath to prevent interference. Small Computer Systems Interface (SCSI) - an industry-standard high-speed interface for second-level storage systems. SMT station management - a network management feature of the ANSI FDDI standard. A low-level FDDI protocol responsible for all aspects of ring operation at the physical layer. Many network-management applications such as Hewlett-Packard Co's OpenView and Sun Microsystems Inc's SunNet Manager can communicate with FDDI equipment using the simple network management protocol (SNMP) and SMT management information bases supplied by the FDDI suppliers. Software capability evaluation - an appraisal by a trained team of professionals, using a method such as the SEI software capability evaluation method to: (1) identify contractors who are qualified to perform the software work or, (2) monitor the state of the software process used on an existing software effort. Software component - a set of software artifacts that comprise a coherent module. A complete software component would include at least; source code, header files, documents (product requirements, external requirements specifications, system architectural specifications), test data and scripts, build instructions. Software cost estimate - the estimate of the effort, the schedule, and the staffing required to produce software that will meet specified requirements. Software development environment (SDE) - a software product that has features that concentrate on software design and coding. Software development lifecycle (SDLC) - the stages and processes through which software passes during its development. This includes requirements analysis, preliminary design, detailed design, code and unit testing, integration and test, hardware/software integration and testing. SDLC methodology - the application of methods, rules, and postulates to the software development process to establish completeness criteria, assure an efficient process, and develop a high quality product. Software development process - the set of activities, methods and practices that guide people in the creation and production of a set of software artifacts. Software engineering - the application of scientific and mathematical principles to the economical development and maintenance of quality software products. Software engineering capability - the ability of a software organization to perform successfully (in terms of cost, schedule, product functionality, and quality). The capability has several dimensions including: (1) the expertise, experience, training, and motivation of the people performing and managing the work, (2) the process capability, and (3) the technology that is available and applied. Software engineering environment (SEE) - a software based system which provides automated support for the engineering of software systems and for the management of the software process. It is mainly used to denote populated frameworks. SEE builders - a category of SEE products which allow one to build CASE tools and integrate them with other SEE frameworks and CASE tools. They also permit development of a customized methodology. SEE framework - an infrastructure for tool integration. It is a SEE product whose main role is to integrate a set of software engineering tools while providing little or nominal direct functionality of its own, and may use tool integration standards or encapsulation mechanisms to integrate tool sets. SEE product - a procurable software-based set of framework, repository, and/or tool services that automates a broad range of the functionality and integration expected in an SES. Software Engineering Process Group (SEPG) - a group of specialist who facilitate the definition and improvement of the software process used by the organization. Software engineering system (SES) - a collection of all of the tools, information, policies, methods, and people an organization uses to do software engineering. The development and support of software using generally recognized methods and tools that help assure the quality of the software product and the efficiency of the process. Software library - a controlled collection of software resources and related documentation designed to aid in software development, use (reuse) and maintenance. Software Life Cycle - Consists of analysis, design, build, accept, and maintain phases, associated with software products. Software method or Software methodology - focuses on how to navigate through each phase of the software process model (determining data, control, or use hierarchies; partitioning functions; and allocating requirements) and how to represent phase products (structure charts, stimulus-response threads, and state transition diagrams). Software methodologies - defines a systematic, ordered application of a specific collection of techniques and guidelines for developing software. Software metrics - a collection of algorithms and like measures designed to assess features of software. Software process - a set of activities, methods, practices, and transformations that people use to develop and maintain software and associated products (e.g. product plans, design documents, code, cases, and user manuals). Software process action plan - a plan, derived from the recommendations of a software process assessment, that identifies the specific actions that should be taken to improve the software process and outlines the plans for implementing those actions. Software process model - a method of representing the stages involved in software development and evolution, and the transition criteria for progressing from one stage to the next. Thus, a process model addresses the following questions: (1) What shall we do next? (2) How long shall be continue to do it? Software repository - a collection of software workproducts providing permanent, archival storage for software workproducts and related documentation. (Note distinction from Software library.) Software reuse - the application of a reusable component to more than one application system. Reuse may occur within a system (e.g., F-14A, B,...), across similar systems (e.g., M1, Bradley, ...), or in widely different systems (e.g., user interface services). Software Support System (SSS) - a computer system, possibly containing networked computers of differing architectures, and associated software that provide basic functionality for introducing changes to the software of the system being supported (e.g. a Trainer). Software Tools - programs that aid in the development and support of other software programs and assist the software engineer in the requirements analysis, design, code, unit test, and integration phases of the SDLC. For example, compilers, link-editors, and debuggers. Source code - all program instructions and raw data created by project personnel and processed into machine code and processed data by some combination of preprocessors, compilers, assemblers, and link-editors. It includes comment lines and unmodified utility software. It includes job control language, format statements, and data declarations. Source instructions - all program instructions created by project personnel and processed into machine code by some combination of preprocessors, compilers, and assemblers. It excludes comment lines and unmodified utility software. It includes job control language, format statements, and data declarations. SPECmarks - a normalized measure of performance for RISC systems based on a standard set of operation. Standard [SEI assessment] - an approved, documented, and available set of criteria used to determine the adequacy of an action or object. State transition diagrams - the conditions and actions that cause a system to change from one state to another and the complete definition of all possible states. They can be combined with data flow diagrams to define a finite state machine model of the system. Structured Analysis and Design Technique (SADT) - a variation of the data flow diagram. Structured methodology - a technique based on decomposing the requirements or design of a system into a set of algorithmic processes interconnected by a defined data flow. The processes perform a transformation on input data to generate output data. The decomposition can be procedure-oriented, data-oriented, or information-oriented. Structured methodologies can also be characterized by whether or not the methodology is intended for realtime system Stubs - a temporary software element often used in testing and rapid prototyping that is used as a substitute for a set of functional code not yet operational so that the operational code can cycle and perform, even if in a limited manner. SWAN - a software analysis tool that consists of a modified version of COCOMO. Synchronous FDDI - a mechanism embedded in the FDDI standard to give applications that are time-sensitive, such as audio and video services, priority access to the network. Access is guaranteed to be available within a specified period, although the timing mechanism is not as rigorous as the one in FDDI II, which is better suited to WAN connections. The FDDI II timing mechanism can use an external clock provided by a telecommunications provider so an FDDI LAN can be linked to a WAN via a T-1 or T-3 transmission line. While synchronous transmission has been a part of the FDDI standard for several years, it has not been used. With the advent of multi-media applications, there is renewed interest in synchronous FDDI. System design - the definition of the software architecture, components, modules, interfaces, test approach, and data for a software system to satisfy specified system requirements. System requirements - the customer, user and market requirements for a specific, planned software system. Systematic reuse - the planned reuse of workproducts with a well- defined process and lifecycles, with commitments for funding, staffing, and incentives for production and use of reusable workproducts. Test coverage [SEI assessment] - the amount of code actually executed during the test process. It is stated as a percentage of the total instructions executed or paths traversed. Test harness - a set of application-specific capture/playback testing tools. Sometimes a test harness is referred to as a test bed or a test execution environment. Thick Ethernet (10base5) - an Ethernet in which the physical medium is a doubly shielded, 50-ohm coaxial cable capable of carrying data at 10 Mb/s for a length of 500 meters (often referred to as thicknet). Thin Ethernet (10base2) - An Ethernet in which the physical medium is a single-shielded, 50-ohm RG58A/U coaxial cable capable of carrying data at 10 Mb/s for 185 meters (often referred to as cheapnet or thinnet). Thomas-Conrad networking system (TCNS) - a 100M-bps proprietary networking system based on ARCnet that can use most standard ARCnet drivers on any network operating system. TCNS runs on fiber, coax and shielded twisted-pair cable. Token-Ring - this ring type of LAN can transmit data at either 4M or 16M bits per second. Tool integration - the feature of a SEE product that allows integration of third party or user tools into the SEE product, so that they are directly accessible from repository elements. Top-down software cost model - a method of software estimation that estimates the overall cost and effort of the proposed project derived from global properties of the project. The total cost and schedule is partitioned into components for planning purposes. Transputer - a microprocessor having internal RAM and communication links to other transputers, an arrangement that facilities the design of parallel-processing computers. Twisted pair - (a) two insulated copper wires twisted around each other to reduce interface between the wires. This is the most common type of transmission media, but twisted pairs have less bandwidth than coaxial or 100Base-VG. (b) an Ethernet in which the physical medium is an unshielded twisted pair capable of carrying data at 10 Mb/s for a maximum distance of 185 meters. Typeface - a specific character design such as Courier or Helvetica. Printer and display typefaces are separate entities due to the resolution differences of the devices. Upper CASE - tools that address the analysis and design phases of the software life cycle. Validation - the process of evaluating software as the end of the software development process to ensure compliance with software requirements. See also Verification. Value-added networks (VAN) - networking service organizations that provide electronic mailboxes. The electronic mailbox allows small organizations to implement EDI. The electronic mailbox allows a sending organization to electronically distribute to many receiving organizations via a single phone call using a single modem and one protocol. Verification - (1) The process of determining whether or not the products of a given phase of the software development cycle fulfill the requirements established during the previous phase. See also Validation. (2) The act of reviewing, inspecting, testing, checking, auditing, or otherwise establishing and documenting whether or not items, processes, services, or documents conform to specified requirements. VESA local bus (VL bus) - a standard interconnection defined by the Video Electronics Standards Association for transferring video information to a computer display system. Virtual address - a binary address issued by a CPU that indirectly refers to the location of information in primary memory, such as main memory. When data is copied from disk to main memory, the physical address (which see) is changed to the virtual address. Walk-through - a review process in which a designer or programmer leads one or more other members of the development team through a segment of design or code that he or she has written, while the other members ask questions and make comments about technique, style, possible errors, violation of development standards, and other problems. Contract with Inspection. Widow - the first line or two of a paragraph appearing at the end of a page or column. Work breakdown structure (WBS) - a hierarchically organized structure of products to be output from a process. WBS may refer to a contract, project, or subset there of, e.g., software WBS. Workgroup or groupware - the software products that run on a local area network and that emphasize the sharing of programs and data among project members. Workproduct classification - a set of terms that can be used in storing, searching for, and retrieving a workproduct. The classification relies heavily on the domain lexicon and configuration scheme. Classification of workproducts is especially important when there are large numbers of workproducts, or when the workproducts are complex. Workproducts - formal and informal records or documents pertaining to software products (e.g., software components, domain characterization, reusability requirements, etc). Each workproduct includes a documented description of the rationale behind any decision made during the production of the workproduct and all historical information concerning modifications to the workproduct. WYSIWYG - acronym for 'What you see is what you get', referring to a display that closely resembles the printed equivalent. Displays and hardcopy are rarely identical because the resolutions of display devices and printers are different. |