Information Technology Reference
In-Depth Information
software applications were measured using “dollars per LOC,” productivity was
measured in terms of “lines of code per time unit,” and quality was measured in
terms of “defects per KLOC” where “K” was the symbol for 1,000 lines of code.
However, as higher level programming languages were created, the LOC metric was
not as effective. For example, LOC could not measure non coding activities such as
requirements and design.
As time progressed from the 1960s until today, hundreds of programming lan-
guages developed, applications started to use multiple programming languages, and
applications grew from less than 1,000 lines of code to millions of lines of code. As
a result, the LOC metric could not keep pace with the evolution of software.
The lines of code metric does not work well when there is ambiguity in counting
code, which always occurs with high-level languages and multiple languages in the
same application. LOC also does not work well for large systems where coding is
only a small fraction of the total effort. In fact, the LOC metric became less and
less useful until about the mid-1980s, when the metric actually started to become
harmful. In fact, in some types of situations, using the LOC metric could be viewed
as a professional malpractice if more than one programming language is part of the
study or the study seeks to measure real economic productivity. Today, a better metric
to measure economic productivity for software is probably function point metrics,
which is discussed in the next section.
17.2.2
Function Point Metrics
The function point metric generally is used to measure productivity and quality.
Function points were introduced in the late 1970s as an alternative to the lines of
code metric, and the basis of the function point metric is the idea that as a programming
language becomes more powerful, fewer lines of code are necessary to perform a
function (LaPlante, 2005). A function typically is defined as a collection of executable
statements that perform a certain task. 4 The measure of software productivity is the
number of functions a development team can produce given a certain amount of
resources without regard to the number of lines of code. If the defect per unit of
functions is low, then the software should have a better quality even though the
defects per KLOC value could be higher.
The following five software characteristics for each module represent its function
points:
Number of inputs to the application (I)
Number of outputs (O)
Number of under inquires (Q)
Number of files used (F)
Number of external interfaces (X)
4 http://www.informit.com/articles/article.aspx?p
=
30306&rll
=
1
Search WWH ::




Custom Search