Online Learning Platform

Software Engineering and Software Testing > Size Estimation > Project size estimation

Project size estimation:

 

Project size estimation is an important and crucial matter in software engineering because it helps in planning and allocating resources.

The following are some techniques:

 

Expert Judgment: When there is limited information available about the project, we collect opinion a group of experts in the relevant field to estimate the project size. They will definitely express the approximate project size based on their experience and expertise.

 

Analogous Estimation: when historical data is available for similar projects,

We can estimate the project size based on the similarities between the current project and previously completed projects.

 

Bottom-up Estimation: if we can divide the project into smaller modules or tasks, and then each task is estimated separately. Later, summing all the estimates will give us overall project estimate.

 

Three-point Estimation: To estimate the project size three values are used: optimistic, pessimistic, and most likely. These values are then used to calculate the expected project size using a formula such as the PERT formula.

 

Function Points: In this technique estimation of project size is based on the functionality provided by the software. Each function points are considered on factors such as inputs, outputs, inquiries, and files.

 

Use Case Points: This technique involves estimating the project size based on the number of use cases that are related to the software. Each use case point are considered on factors such as the complexity of each use case, the number of actors involved, and the number of use cases.

 

Estimation of the size of the software

Estimation of the size of the software is an essential part of Software Project Management. It helps the project manager to further predict the effort and time which will be needed to build the project. Various measures are used in project size estimation. Some of these are:  

  • Lines of Code
  • Number of entities in ER diagram
  • Total number of processes in detailed data flow diagram
  • Function points

 

  1. Lines of Code (LOC): LOC counts the total number of lines of source code in a project. The units of LOC are: 
  • KLOC- Thousand lines of code
  • NLOC- Non-comment lines of code
  • KDSI- Thousands of delivered source instruction

 

The main advantages of this process is that it is universally accepted and used by in many models. After the project completion, LOC is easily quantified, and it is very simple to use. The main disadvantages of this process is that different programming languages contain a different number of lines, difficult to estimate the size in the early stages of the project.

 

  1. Number of entities in ER diagram: ER model describes the entities and their relationships. Number of entities in ER model are used to measure the estimation of the size of the project. So size estimation can be done during the initial stages of planning. Eventually this similar to the LOC process.

 

  1. Total number of processes in detailed data flow diagram:Data Flow Diagram (DFD) shows the main processes/functions involved in software and the flow of data between them. So, the number of functions in DFD are used to predict software size.

 

  1. Function Point Analysis:Number and type of functions used in the software are utilized to find FPC (function point count). The steps in function point analysis are:  
  • Number of functions of each proposed type.
  1. External Inputs: Functions related to data entering the system.
  2. External outputs: Functions related to data exiting the system.
  3. External Inquiries: They lead to data retrieval from the system but don’t change the system.
  4. Internal Files: Logical files maintained within the system. Log files are not included here.
  5. External interface Files: These are logical files for other applications which are used by our system.

 

  • Unadjusted Function Points (UFP): Categorizing each of the above five function types like simple, average, or complex based on their complexity and weighted sum of all the functions.

 

  • Total Degree of Influence (TDI): A score (0-5) is given on the ’14 general characteristics’ of a software to find the degree of influence of each of them. The sum of all 14 degrees of influence will give the TDI. The 14 general characteristics are:

 

  • Data Communications
  • Distributed Data Processing
  • Performance
  • Heavily Used Configuration
  • Transaction Rate
  • On-Line Data Entry
  • End-user Efficiency
  • Online Update
  • Complex Processing
  • Reusability
  • Installation Ease
  • Operational Ease
  • Multiple Sites and
  • Facilitate Change. 

 

  • Value Adjustment Factor(VAF): The formula to calculate VAF is

               VAF = (TDI * 0.01) + 0.65 

 

  • Function Point Count(FPC): The formula to calculate FPC is

                FPC = UFP * VAF

No More

No More

Feedback
ABOUT

Statlearner


Statlearner STUDY

Statlearner