Hello everyone. Welcomes to Master2Teach Step by Step Guide
In this video, you will learn - what is functional point in software engineering.
How to calculate function point for project estimation and we will see the
examples of functional point calculation with its uses. I will try my best to
explain step by step if you happen subscribe to our channel please click on
the subscribe button and subscribe to our YouTube channel. It's really
difficult to weigh the real values or worth of software. One of the best way to
estimate the software development cost and time is based on the previous
software development experience. To measure the standard worth of the
software, as a unit of software worth Function Point was developed. Function
Point was first defined by Allan of IBM in 1977. It is used effectively as a means
for measuring the functionality delivered by a system. Function Point measures
functionality from the users point of view like what the user received from
the software and what the user requests from the software. It focuses on what
functionality is being delivered. According to the Wiki, "A Functional Point"
is a unit of measurement to express the amount of business functionality an
information system provide to a user. Using historical data, the functional
point matrix can then be used to Estimate the cost or effort required to
design code and test the software. Predict the number of errors that will
be encountered during testing. Forecast the number of components and/or the
number of projected source lines in the implemented system. Function Points are
derived using an empirical relationship based on countable measures of software's
information domains and qualitative assessments of software complexity. The
five functional units which is considered information domains as input to
calculate the functional point are Internal Logic Files ILF - The controlling
for logically related data that is present within the system.
External Interface Files EIF - The control data or other logical
data refer by the system but presents in another system. External Input EI - Data or
control info that comes from outside our system. External Output EO -
Data that goes out of the system after generation. External Enquiries EQ -
Combination of input and output resulting data retrieval. Now let's move
to calculate Functional Point. To calculate functional point the
functional relationship is used. Function Point is equal to UFP x CAF
where UFP is Unadjusted Functional Point and CAF is Complexity
Adjustment Factor. let's follow a step-by-step. Step one - Calculating
unadjusted function point. Each Function Point is ranked according to complexity.
There exists predefined weights for the each Functional Point in each category.
Organization that use functional point methods develop criteria for determining
whether a particular entry is simple, average, or complex. Nonetheless the
determination of complexity is somewhat subjective. Unadjusted Function Point is
equals to sum of all the complexity of the EI's, EO's, EQ's, ILF's,
and EIF's - External inputs, External outputs, Externally Enquiries, External
Interface Files, and Internal Logic Files. Step 2 - Calculating CAF - Complexity
Adjustment Factor. Complexity adjustment factor as we know complexity adjustment
factor is equal to 0.65 + 0.01 x summation Fi where Fi is Value
Adjustment Factor based on responses to the following 14 questions.
Complexity Adjustment Factor is calculated using 14 aspects of
processing complexity and these 14 questions answer on the scale of zero to
five. 0 means No influence or No Important, 1 means Incidental, 2 means
Moderate, 3 means Average, 4 means Significant, 5 means Essential. To illustrate
the use of functional point metric let's see a simple analysis model- SafeHome
The function manages user interaction accepting a user password to activate or
deactivate the system and allows inquiries on the status of security
zones and various security sensor the pungsong displays our series of
prompting messages and sends appropriate control signals to various components of
the security system. The data flow diagram is evaluated to determine the
set of the key information domain measures required for computation of
the Funcation Point metric. Three external inputs - password, panic
button and activate or deactivate. Two external inquiries - zone inquiry and
sensor inquiry. One ILF - System configuration file. Two external inputs -
messages and sensor status and four EIF's test sensor, zone setting, activate
deactivate and alarm alert.
Now calculating unadjusted function point with the simple weighting factor
Therefore UFP unadjusted function point is equals to 50.
Now moving to calculate CAF as we know CF is equal to 0.65 + 0.01 x
summation Fi. Let's calculate in a moderately complex product then
summation Fi is equal to 14 x 2 is equals to 28 coz all the 14 questions
are answered in the moderate which is equal to 2 so that 14 x 2 is equal
to 28. CAF is equal to 0.93 As we know function point is equal to
UFP x CAF. Unadjusted function point is equal to 50 and CAF is
equal to 0.93 therefore function point is equal to 46.5
Based on the projected function point value derived from the requirement
model, the project team can estimate the overall implemented size of the SafeHome
user interaction function. Assumed that past data indicates that one function point
translate into sixty lines of code and that 12 function points are produced
for each person - month of efforthe. These historical data provides the project
manager with input and planning information that is based on the
requirements models rather than preliminary estimates. Assume further
that past projects have found an average of three errors per function point
during requirements and design review and four errors per function point during
the unit and integration testing. These data can ultimately helps you to assess
the completeness of your review and testing activities. Let's see one more
example of calculating functional point. Given the functional values, calculate
the functional point when complexity adjustment factor are significantly
complex product and weighting factor are high. User Input is equal to 55, User
Output is equal to 35, User Enquiries 40, User files 8 whereas External Interfaces
5. We know that functional point is equals to unadjusted function point
multiplication of CAF Complexity adjustment factor.
Where UFP is equals to Sum of all the Complexities of all the 5 inputs variables
and CAF is equal to 0.65 x 0,01 x summation fi and where submission
Fi is equals to value adjustment factor. Now let's calculate Unadjusted
function point. Filling table data - here we are required to calculate in the
high weighting factor so that unadjusted funciton point is equals to 330
plus 245 plus 240 plus 120 plus 15 which is equal to 985. Now moving to
calculate CAF complexity adjustment factor CAF is equal to 0.65 plus 0.01
into summation Fi. Here we are required to calculate all 14 complexity factors
in significantly complex means summation Fi is equal to 14 x 4 is equal to
56. Therefore CAF is equal to 1.21
What if, if complexity factor of 5 questions are average, 5 questions are moderate
and 4 questions are no influence then summation Fi is equal to 5 x 3
plus 5 x 2 plus 4 x 0 is equal to 25
Therefore final functional point is equal to UFP x CAF unadjusted
function point multiplication of CAF is complexity adjustment factor. Therefore
function point is equal to 985 x 1.21 which
is equal to 1191.85. In this way, we can
calculate the unadjusted function point complexity factor and finally functional
point from which we can estimate the lines of codes required to develop the
software, the number of probability errors, the effort required, development time, etc
concerning previous data. I hope you learn from this video tutorial. If you
have any questions or comments please make sure to leave a comments in the
comment section below also please be sure to like this video and subscribe to
my channel if you haven't already. Thank you very much for watching. Check us out
for more in IT tutorial and guide on website master2teach.com and we will
see you again soon bye