You are here

Automated Function Point Analysis

Description:

OBJECTIVE: Develop an innovative function point analysis software tool for program managers that achieves requirements for estimating software costs. DESCRIPTION: The Navy uses estimates of software size such as Source Lines of Code (SLOC)) to determine software development efforts and their associated combat system development costs. There are significant variations in methods used for estimating SLOC, which introduce risk. Current SLOC estimates are a prediction of end-product code size that varies with code language (such as Java, C++) and software design approach. Estimates of new, modified, and reused SLOC to implement a capability are based upon a Subject Matter Expert"s (SME) judgment which makes the resulting estimate highly subjective (Ref 1). Program Managers are required to prevent program cost overruns. They rely upon accurate cost estimates and software development metrics to ensure programs are executable and not at risk of cost overruns. The use of SLOC creates high risk cost estimates due to the potential for significant variation in methods for estimating end-product source lines of code. The International Function Point User Group (IFPUG) has developed a Function Point based methodology to estimate software costs that is more accurate than the SLOC methodology. The Navy"s transition to the Function Point based methodology has been hindered because existing historical cost data is based upon SLOC. Significant manual effort is needed to transition from the current Navy SLOC practice to the current industry Function Point methodology. The Object Management Group (OMG) recently adopted an Automated Function Point (AFP) Specification. The standard defines how to count function points that can be used to ensure software counting consistency and will provide the standard required to enable transition from SLOC to Function Point based software estimation methodologies (Ref 2, 3). However, innovation is required to adapt the standard for Navy use. Techniques will be needed to provide information required to support software size estimation. The Navy has already adopted a number of OMG standards such as the Unified Modeling Language (UML), Data Distribution Service (DDS) publish/subscribe, and the System Modeling Language (SysML). The Navy has determined that using the OMG AFP Specification will provide better estimates related directly to capability requirements that are available prior to software design. The Navy needs a tool to identify existing function points within its collection of software. After identifying the function points, innovative approaches are required for the development of algorithms that can use the function points to efficiently sort through the source code and generate accurate function point estimates that comply with industry standards. Techniques will be required for determining which files have associated functionality, association of functionality to desired software capability, and presentation of the data to support size estimation. The resulting technology should assist with identifying key areas of focus and provide understandable rationale for reported function point estimates. Once function points have been calculated, the user should be able to identify changes in capability requirements to enable calculation of changes in function points and associated software size. The tool should determine how requirements will be used to support analysis of software impacts related to implementing the new capability. This innovation will ensure accurate estimates of end product software size and thus reduce escalated cost estimates. PHASE I: The company will develop a concept for an innovative function point analysis software tool that meet the requirements described above. The company will demonstrate the feasibility of the concept in meeting Navy needs and will establish that the concept can be feasibly developed into a useful product for the Navy. Feasibility will be established by analytical modeling. The small business will provide a Phase II development plan that addresses technical risk reduction and provides performance goals and key technical milestones. PHASE II: Based on the results of Phase I and the Phase II development plan, the small business will develop a prototype tool for evaluation. The prototype will be evaluated to determine its capability in meeting the performance goals defined in Phase II development plan and the Navy requirements for an innovative function point analysis software tool. System performance will be demonstrated through prototype evaluation and modeling or analytical methods over the required range of parameters including numerous deployment cycles. Evaluation results will be used to refine the prototype into an initial design that will meet Navy requirements. The company will prepare a Phase III development plan to transition the technology to Navy use. PHASE III: The company will be expected to support the Navy in transitioning the technology for Navy use. The company will develop an innovative function point analysis software tool according to the Phase III development plan for evaluation to determine its effectiveness in an operationally relevant environment. The company will support the Navy for test and validation to certify and qualify the system for Navy use. PRIVATE SECTOR COMMERCIAL POTENTIAL/DUAL-USE APPLICATIONS: Given that the proposed tool is based upon an OMG standard, the tool has private sector commercial applicability. Numerous industries (e.g. banking, security, aerospace, etc.) use function points as a basis for estimating software development effort. Function point estimates are currently calculated manually, but an OMG standard based tool provides for added efficiency and estimating consistency.
US Flag An Official Website of the United States Government