Project managers and software engineers often have to prepare estimates for effort and schedules. For this, they need to have a good understanding of the amount of work involved in a project. The time and effort required for the project activities can be measured based on the size of the product to be built.
It is necessary to know the size of the product in order to estimate the cost and the duration required to build it. This estimation helps in planning the project effectively. In addition, knowledge of the product size for different projects enables us to compare the quality and the costs across projects. Two approaches are used to measure the size of a software product—lines of code (LOC) and function points (FP).
Measuring the Size of Software Products course includes:
- Measurement of Software Product Size
- Basic Procedure for Computing Function Points
- The Backfiring Technique
This course has been co-authored by the internationally recognized consultant and authority on software engineering—Dr. Roger S. Pressman.
This course will enable you to:
- Explain the importance of measuring the software product sizeand the characteristics of lines of code (LOC) and function points (FP).
- Explain the basic procedure for computing function points.
- Explain how to convert the number of source code statements to function points (FP) using the backfiring technique.
You receive a certificate of completion after successfully completing this course.
Measuring the size of a software product is necessary for estimation and project planning. It is also required for normalizing the data across projects. There are two broad approaches used for measuring the size of software products. These are:
- Direct measure of the technical size of a product using lines of code (LOC)
- Indirect measure of the functional size of a product using function points (FP)
LOC has been historically popular and was earlier considered convenient. However, it has many drawbacks, such as its dependence on the programming language and its inability to accommodate non-procedural languages, reflect algorithm complexity, and cater to reuse. Therefore, LOC is not preferred nowadays. On the other hand, FP represents the user’s view of the functionality delivered. It is independent of technical implementation and is easy to compute during the initial stages of a project. FP overcomes the drawbacks of LOC and is now accepted as a suitable size measure.
For existing application systems, the size in FP is usually not available. However, the number of source code statements can be obtained easily for such systems. The backfiring technique, proposed by Capers Jones, provides a quick retrofit to obtain an approximate function point count for existing application systems for which the number of source code statements of the programming languages used is available.
The backfiring technique helps in deriving the probable FP count for an application system from the number of source code statements. The probable FP count is for a system of average complexity. This count can be further adjusted, using a complexity multiplier, to take into account the complexity of the system.