Skip to content

Mathematical Evaluation of Function Points

Analysis by David Maiolo delves into the application of function points in software engineering system designs. These function points serve as a quantifiable measure indicating the business functionality an information system offers to its users. The cost of a single function point is...

Mathematical Assessment of Functional Units
Mathematical Assessment of Functional Units

Mathematical Evaluation of Function Points

News Article: COCOMO and Function Points Estimate Software Development Costs for Complex Systems

The Constructive Cost Model (COCOMO) is a powerful tool used in conjunction with Function Points to estimate software development effort and cost. This methodology, first applied in the development of the Network Image Deployment (NID) system, converts Function Points into an equivalent number of lines of code (LOC), a requirement for COCOMO's calculations.

Function Points quantify a software's functionality based on user requirements and complexity, capturing aspects such as network image distribution, device compatibility, and deployment workflows. By converting Function Points into LOC using standard conversion ratios for the target programming language, the size of the software that COCOMO requires is established.

COCOMO then applies its formulas, based on the estimated LOC and project attributes, to calculate development effort (person-months), time, and cost. For a complex system like the NID, the appropriate COCOMO model type (basic, intermediate, or detailed) is chosen depending on the system's complexity.

The typical workflow involves:

  1. Function Point Analysis (FPA): Breaking down the NID system's functionalities (inputs, outputs, interfaces, inquiries, files) and assigning weights/complexity factors to calculate total Function Points.
  2. Translating Function Points to LOC: Using language-specific conversion values (e.g., 1 Function Point ≈ 50-100 LOC depending on the language) to calibrate the size of software that COCOMO requires.
  3. Applying COCOMO Formulas: For the basic COCOMO model, effort E and time T are estimated with the following equations:

[ E = a \times (KLOC)^b \quad \text{person-months} ] [ T = c \times (E)^d \quad \text{months} ]

where KLOC is thousands of lines of code from Function Points, and constants a, b, c, d depend on the project type (organic, semi-detached, embedded).

  1. Adjusting for NID system specifics: As NID involves network interactions, image processing, and likely embedded components, intermediate or detailed COCOMO models can incorporate cost drivers related to hardware constraints, team experience, and software reliability requirements.

This approach results in more accurate effort, schedule, and cost estimates for complex systems like NID. Function Points better capture functional requirements upfront, while COCOMO translates these into the resources needed for implementation.

The analysis by David Maiolo explains the use of Function Points in software engineering system designs, and the calculations are performed using the Early Design model in COCOMO. Additionally, COCOMO provides an automated calculation of the risk associated with a project, the number of full-time software programmers needed, the total estimated effort for a project, and the total schedule for a project. It can also automatically estimate the maintenance activity duration and the average maintenance staffing level.

The cost of a single Function Point is calculated based on past projects, and the analysis includes source lines of code (SLOC) for each module and total SLOC for the entire project. Function Points are a unit of measurement used to express the amount of business functionality an information system provides to a user.

For those interested, a link to the full resolution document is provided at the top of the page for Documentation Thumbnails. The analysis also includes the use of COCOMO, an algorithmic software cost estimation model, to further refine the Function Point calculations.

  1. The Constructive Cost Model (COCOMO) estimates development effort and cost for complex projects by first converting Function Points into equivalent lines of code (LOC), then applying its formulas to calculate these aspects based on the estimated LOC and project attributes.
  2. In the analysis performed using the Early Design model in COCOMO, Function Points are used to express the amount of business functionality an information system provides to a user, and the cost of a single Function Point is calculated based on past projects, which involves the use of COCOMO, a technology-based software cost estimation model.

Read also:

    Latest