In the physical world size is the measure of volume or mass. But in the software world, various expressions of size include measures such as lines of code, number of features or function, function point and their derivatives, etc.
  • In software development, if we get the correct size estimation then the estimation of effort and cost becomes realistic.
  • Software size estimation is used to make the estimation of the size of the software.
There are two types of software size estimation techniques are:-
  • Lines of code (LOC or SLOC)
  • Function points (FP)

1.  Line of code (LOC or SLOC)

  • LOC (Line of code) is used to measure the amount of code in a program.
  • LOC (Line of code) is the simplest and commonly used to measure the code program length.
  • LOC (Line of code) is divide into two types:-
           i)  Physical LOC (Physical line of code)
          ii)  Logical LOC (Logical line of code)

A logical line of code

  • It measures the number of 'statements' but their specific definitions are tied to specific computer language.
  • The logical line of code is less sensitive to formatting and style conventions.
  • LOC measures are often stated without giving their definition, and logical LOC can often be significantly different from physical LOC.
  • Normally, in the logical line of code, we count declaration, actual code including logic and computation. 

Physical line of code

  • The physical line of code is a count of "non-blank, non-comment lines" in the text of the program's code.
  • Physical line of code, measures are sensitive to the formatting and style convention of the language used to develop the code.

ADVANTAGE OF LINE OF CODE (LOC)

  • It is very simple/easy to count and calculate from the developed code.
  • Chances of failure reduce.
  • It's widely used and universally accepted. 
  • It permits a comparison of size and productivity metrics. between numerous development teams.
  • It directly relates to the tip product.
  • LOC is simply measured upon project completion.
  • Continuous improvement activities exist for estimation techniques.    

DISADVANTAGE OF LINE OF CODE (LOC)

  • LOC is a language dependant.
  • LOC is technology dependant.
  • It is not transparent.
  • difficult to live LOC within the early stages of a replacement product.
  •  No business is customary for measurement LOC.
  • LOC can't be used for normalizing if platforms and languages are totally different.

2.  Function point (FP)

  • It is a structured technique to measure software size.
  • It is introduced by Allen Albrecht of IBM in 1979.
  • The Function Point overcome some of the disadvantages of the LOC.
  • The basic idea behind the FP is that the size of the software product is directly dependent on the number and type of different functions it performs.
  • The Function Point is only measured functionality of the software that is been produced and it is measured that functionality from the user point of view.

The five major components or function units are:-


1.  Internal Logical Files (ILF)

The control information/data or logically related data that is present within the system.

2.  External Interface Files (EIF)

The control data or other logical data that is referenced by the system but present another system.

3.  External Input (EI)

Data/control information that comes from outside in our system.

4.  External Output (EO)

Data that goes out of the system after generation.

5.  External Enquiries (EQ) 

Combination of input/output.

ADVANTAGE OF FUNCTION POINT:-

  • It will be applied early within the software system development life cycle.
  • It's freelance of the artificial language, technology, techniques.
  • It provides a reliable relationship to effort.
  • The creation of additional perform points will outline the productivity goals as critical LOC.
  • Productivity comes written in numerous languages will be measured.
  • They'll be counted early and sometimes.
  • They'll be used for GUI systems.
  • It considers environmental factors

DISADVANTAGE OF FUNCTION POINT:-

  • It wants subjective evaluations with plenty of judgment concerned.
  • Several efforts and price models square measure supported LOC, thus perform points got to be reborn.
  • Less analysis knowledge is obtainable on performing points as compared to LOC.
  • It's performed when the creation of style specifications.
  • It's low accuracy of evaluating as a subjective judgment is concerned.
  • Because the learning curve is sort of long its difficult to achieve proficiency.
  • It's a time intense methodology.