Section 4 Functional Overview of Reuse Library The library is an organization of personnel,tools,and procedures whose activities are directed at facilitating reuse of software life-cycle products to meet specific goals of cost-effectiveness and productivity.This section presents an overview of the library's activities and resources as a context for the standards and guidelines in the following sections. 4.1 Initial versus Final Operating Capability This standard concentrates on the initial operating capability (IOC),the actions essential to supporting reuse that must be present when the library is first placed in operation.As reuse ber omes standard practice for software engineering and the library becomes well established. additional resources may be allocated so that the library can assume a final operating capability (FOC). In the remainder of this manual,some FOC activities and issues will be mentioned when necessary to present a clear and understandable picture of reuse issues;in each case,they will be identified as such. 42 Primary Function of Library The main purpose for the existence of the reuse library is ready access to reusable software life- cycle products by the staff of the supported NATO project.Most of the library's activities are directed toward this end. 4.3 Approach The library staff receives direction in the form of specific operational objectives,principally aimed at making software reuse cost-effective.The staff also manages a continually revised list of RSCs believed to advance those aims which are proposed for inclusion in the library This guidance drives a set of coordinated activities with the result that RSCs are added to the library,made available to application engineers for use in projects,and continually improved. These activities include: rank proposed RSCs.The library evaluat ind pr ons.asess the efforteach proposed t note quire it,an compare it with RSCsaready in the.Thisallows the proposed RSCsin the ist to be ranked by priority so that scarce resources may be allocated for the best return. 41
4-1 Section 4 Functional Overview of Reuse Library The library is an organization of personnel, tools, and procedures whose activities are directed at facilitating reuse of software life-cycle products to meet specific goals of cost-effectiveness and productivity. This section presents an overview of the library’s activities and resources as a context for the standards and guidelines in the following sections. 4.1 Initial versus Final Operating Capability This standard concentrates on the initial operating capability (IOC), the actions essential to supporting reuse that must be present when the library is first placed in operation. As reuse becomes standard practice for software engineering and the library becomes well established, additional resources may be allocated so that the library can assume a final operating capability (FOC). In the remainder of this manual, some FOC activities and issues will be mentioned when necessary to present a clear and understandable picture of reuse issues; in each case, they will be identified as such. 4.2 Primary Function of Library The main purpose for the existence of the reuse library is ready access to reusable software lifecycle products by the staff of the supported NATO project. Most of the library’s activities are directed toward this end. 4.3 Approach The library staff receives direction in the form of specific operational objectives, principally aimed at making software reuse cost-effective. The staff also manages a continually revised list of RSCs believed to advance those aims which are proposed for inclusion in the library. This guidance drives a set of coordinated activities with the result that RSCs are added to the library, made available to application engineers for use in projects, and continually improved. These activities include: Evaluate and rank proposed RSCs. The library evaluates each proposed RSC to note the demand priority, verify assumptions, assess the effort needed to acquire it, and compare it with RSCs already in the library. This allows the proposed RSCs in the list to be ranked by priority so that scarce resources may be allocated for the best return
Acquire RSCs.Library staff members obtain the actual life-cycle (b bsolictdevelopment orbpucmmere y priority off-the-shelf(COTS)products. Assess RSC Quality.The staff examine the acq uired material for c with Standards and Gu delines for the Design an Development of Reusable Components,completeness,satisfaction of the original requirements and support for the stated objectives,and reusability.RSCs must meet minimum acceptance standards Each accepted RSC is given a quality rating and deficiencies,if any,are noted in the documentation. Document RSCs.Like test scripts,adequate documentation should be furnished with each RsC.The staff members verify its completeness.index it as needed to conform with a standard organization,and extract some items for special purposes. Classify RSCs.To permit automated search and retrieval,each RSC is assigned a set of descriptive keywords corresponding to several different viewpoints.This method, known as a faceted classification scheme,allows reusers to find library RSCs easily by describing their characteristics and is easily extensible to accommodate future RSCs and technologies. Assimilate RSCs.Once all supporting material is assembled for a given RSC,the staff installs it in the library and enters its description in the catalogue. Distribute RSCs.The staff ensures that project engineers and managers are made aware of new additions to the catalogue.When a user selects an RSC from the library, certain actions must take place in order to ensure that the complete RSC in its latest version is delivered and to provide for effective future support to this customer.Many of these actions are perfo d automatically by the lib ary mponent retrieval system Manage RSCs.The libra erforms various activities in su upport of configuration manag ment,including kee RSCmaintenance issues. ing track of RSC users and serving a point of contact for 4.4 Other Functions in Support of Reuse In addition to ensuring that RSCs are available,the library is in a position to provide other support to help ensure that the benefits of reuse are realized,including Manage Library Tools As a mini um the library operates an aut nated RSC retrieval system to manage the col ction of reusa ts. This includes providing user accounts and maintaining the vocabulary of the classification scheme. Assist Users.The library distributes published anuals like Standards and Guideli for Reuse Procedures and Standards and Guidelines for the Development of Reusab Sofhware Components,user documentation for library tools like the automated RSC retrieval system,and the catalogue of RSCs in the library.In addition,some degree of on-call assistance is available to users,as well as a personal walk-through for first-time users of the retrieval system. 4-2
4-2 Acquire RSCs. Library staff members obtain the actual life-cycle products for each proposed RSC (by priority) by soliciting its development or by purchasing commercial off-the-shelf (COTS) products. Assess RSC Quality. The staff examine the acquired material for conformance with Standards and Guidelines for the Design and Development of Reusable Software Components, completeness, satisfaction of the original requirements and support for the stated objectives, and reusability. RSCs must meet minimum acceptance standards. Each accepted RSC is given a quality rating and deficiencies, if any, are noted in the documentation. Document RSCs. Like test scripts, adequate documentation should be furnished with each RSC. The staff members verify its completeness, index it as needed to conform with a standard organization, and extract some items for special purposes. Classify RSCs. To permit automated search and retrieval, each RSC is assigned a set of descriptive keywords corresponding to several different viewpoints. This method, known as a faceted classification scheme, allows reusers to find library RSCs easily by describing their characteristics and is easily extensible to accommodate future RSCs and technologies. Assimilate RSCs. Once all supporting material is assembled for a given RSC, the staff installs it in the library and enters its description in the catalogue. Distribute RSCs. The staff ensures that project engineers and managers are made aware of new additions to the catalogue. When a user selects an RSC from the library, certain actions must take place in order to ensure that the complete RSC in its latest version is delivered and to provide for effective future support to this customer. Many of these actions are performed automatically by the library component retrieval system. Manage RSCs. The library performs various activities in support of configuration management, including keeping track of RSC users and serving as a point of contact for RSC maintenance issues. 4.4 Other Functions in Support of Reuse In addition to ensuring that RSCs are available, the library is in a position to provide other support to help ensure that the benefits of reuse are realized, including: Manage Library Tools. As a minimum, the library operates an automated RSC retrieval system to manage the collection of reusable software products. This includes providing user accounts and maintaining the vocabulary of the classification scheme. Assist Users. The library distributes published manuals like Standards and Guidelines for Reuse Procedures and Standards and Guidelines for the Development of Reusable Software Components, user documentation for library tools like the automated RSC retrieval system, and the catalogue of RSCs in the library. In addition, some degree of on-call assistance is available to users, as well as a personal walk-through for first-time users of the retrieval system
Measure Reuse Success.The library collects considerable data for a continuing assessment of the effectiveness of the library's procedures and tools,the usefulness of its RSC collection,the accuracy of RSC classifications,and the general responsiveness of the library to the needs of users.Some of this data is passed on to NATO agencies charged with answering the broader question of the cost-effectiveness of software reuse 43
4-3 Measure Reuse Success. The library collects considerable data for a continuing assessment of the effectiveness of the library’s procedures and tools, the usefulness of its RSC collection, the accuracy of RSC classifications, and the general responsiveness of the library to the needs of users. Some of this data is passed on to NATO agencies charged with answering the broader question of the cost-effectiveness of software reuse
PART II STANDARD
PART II STANDARD
Section 5 Requirement Analysis To succeed,reuse support of a software engineering activity must have well-defined,well-understood requirements based on the cost-effectiveness and operational benefits expected.The library staff must understand these goals and translate them into specific supporting objectives attainable in the course of the library's activities. 5.1 General Cost-Effectiveness/Operational Objectives 5.1.1 All library operations will support NATO reuse objectives. The agency responsible for the success of the reuse effort as a whole provides detailed guidance to the library on the comprehensive reuse benefits expected.In general,these will include: Cost savings in software developmen Cost savings in testing and configuration management Reduced development time Cost savings in software maintenance For certain projects,or under FOC,additional objectives might include: Cost savings in system design Higher quality and increased subsystem reliability Greater interoperability G5.1.1.1 Be sure that NATO reuse objectives are understood. G5.1.1.2 Be sure that NATO reuse objectives are communicated to the library staff. 5.2 Library Supporting Objectives 5.2.1 Define specific objectives,in terms of library actions and goals,that support NATO reuse objectives. The scope of a comprehensive reuse program is broader than the role played by the library, thus,NATO objectives by themselves are too broad to define the library's mission. The library staff must define clear,verifiable objectives that will support the directed cost- effectiveness and operational objectives 51
5-1 Section 5 Requirement Analysis To succeed, reuse support of a software engineering activity must have well-defined, well-understood requirements based on the cost-effectiveness and operational benefits expected. The library staff must understand these goals and translate them into specific supporting objectives attainable in the course of the library’s activities. 5.1 General Cost-Effectiveness/Operational Objectives 5.1.1 All library operations will support NATO reuse objectives. The agency responsible for the success of the reuse effort as a whole provides detailed guidance to the library on the comprehensive reuse benefits expected. In general, these will include: • Cost savings in software development • Cost savings in testing and configuration management • Reduced development time • Cost savings in software maintenance For certain projects, or under FOC, additional objectives might include: • Cost savings in system design • Higher quality and increased subsystem reliability • Greater interoperability G5.1.1.1 Be sure that NATO reuse objectives are understood. G5.1.1.2 Be sure that NATO reuse objectives are communicated to the library staff. 5.2 Library Supporting Objectives 5.2.1 Define specific objectives, in terms of library actions and goals, that support NATO reuse objectives. The scope of a comprehensive reuse program is broader than the role played by the library; thus, NATO objectives by themselves are too broad to define the library’s mission. The library staff must define clear, verifiable objectives that will support the directed costeffectiveness and operational objectives