Page 133 - DCAP304_DCAP515_SOFTWARE_PROJECT_MANAGEMENT
P. 133
Unit 6: Effort Estimation
developers to produce large amounts of software to meet an ever expanding need from users. As Notes
systems grow a method to understand and communicate size needs to be used. Function Point
Analysis is a structured technique of problem solving. It is a method to break systems into
smaller components, so they can be better understood and analyzed.
Function points are a unit measure for software much like an hour is to measuring time, miles
are to measuring distance or Celsius is to measuring temperature. Function Points are an ordinal
measure much like other measures such as kilometers, Fahrenheit, hours, so on and so forth
Human beings solve problems by breaking them into smaller understandable pieces. Problems
that may appear to be difficult are simple once they are broken into smaller parts — dissected
into classes. Classifying things, placing them in this or that category, is a familiar process.
Everyone does it at one time or another — shopkeepers when they take stock of what is on their
shelves, librarians when they catalog books, secretaries when they file letters or documents.
When objects to be classified are the contents of systems, a set of definitions and rules must be
used to place these objects into the appropriate category, a scheme of classification. Function
Point Analysis is a structured technique of classifying components of a system. It is a method to
break systems into smaller components, so they can be better understood and analyzed. It
provides a structured technique for problem solving.
In the world of Function Point Analysis, systems are divided into five large classes and general
system characteristics. The first three classes or components are External Inputs, External Outputs
and External Inquires each of these components transacts against files therefore they are called
transactions. The next two Internal Logical Files and External Interface Files are where data is
stored that is combined to form logical information. The general system characteristics assess
the general functionality of the system.
Function Point Analysis was developed first by Allan J. Albrecht in the mid 1970s. It was an
attempt to overcome difficulties associated with lines of code as a measure of software size, and
to assist in developing a mechanism to predict effort associated with software development. The
method was first published in 1979, then later in 1983 . In 1984 Albrecht refined the method and
since 1986, when the International Function Point User Group (IFPUG) was set up, several
versions of the Function Point Counting Practices Manual have been published by IFPUG. The
current version of the IFPUG Manual is 4.1. A full function point training manual can be
downloaded from this website.
Objectives of Function Point Analysis
Frequently the term end user or user is used without specifying what is meant. In this case, the user
is a sophisticated user. Someone that would understand the system from a functional perspective—
more than likely someone that would provide requirements or does acceptance testing.
Since Function Points measures systems from a functional perspective they are independent of
technology. Regardless of language, development method, or hardware platform used, the
number of function points for a system will remain constant. The only variable is the amount of
effort needed to deliver a given set of function points; therefore, Function Point Analysis can be
used to determine whether a tool, an environment, a language is more productive compared
with others within an organization or among organizations. This is a critical point and one of
the greatest values of Function Point Analysis.
Function Point Analysis can provide a mechanism to track and monitor scope creep. Function
Point Counts at the end of requirements, analysis, design, code, testing and implementation can
be compared. The function point count at the end of requirements and/or designs can be compared
to function points actually delivered. If the project has grown, there has been scope creep. The
amount of growth is an indication of how well requirements were gathered by and/or
LOVELY PROFESSIONAL UNIVERSITY 127