Professional Documents
Culture Documents
DELHI TECHNOLOGICAL
UNIVERSITY
INDEX
Sno. EXPERIMENT Page No. SIGN
10
[Type here]
3
EXPERIMENT: 1
AIM: Write a program to implement function point analysis and calculate productivity, quality, cost
and documentation of the project.
THEORY:
What is Function Point Analysis?
Function Point Analysis (FPA) is a method or set of rules of Functional Size Measurement. It assesses
the functionality delivered to its users, based on the user’s external view of the functional
requirements. It measures the logical view of an application not the physically implemented view or
technical view.
Components of Function Point Analysis
Based on the interaction of the system components internally and with external users, applications, etc
they are categorized into five types:
External Inputs (EI): This is the process of capturing inputs from users like control
information or business information and store it as internal/external logic database files.
External Outputs (EO): This is the process of sending out data to external users or systems.
The data might be directly grabbed from database files or might undergo some system-level
processing.
Inquiries (EQ): This process includes both input and output components. The data is then
processed to extract relevant information from internal/external database files.
Internal Logic File (ILF): This is the set of data present within the system. The majority of
the data will be interrelated and are captured via the inputs received from the external sources.
External Logic File (ELF): This is the set of data from external resources or external
applications. The majority of the data from the external resource is used by the system for
reference purpose
CODE:
#include <iostream>
using namespace std;
string funUnits[5] = {
"External Inputs",
"External Outputs",
"External Inquiries",
"Internal Logical Files",
"External Interface Files"
};
[Type here]
4
int wtFactors[5][3] = {
{ 3, 4, 6 },
{ 4, 5, 7 },
{ 3, 4, 6 },
{ 7, 10, 15 },
{ 5, 7, 10 },
};
int UFP = 0;
string aspects[14] = {
"reliable backup and recovery required ?",
"data communication required ?",
"are there distributed processing functions ?",
"is performance critical ?",
"will the system run in an existing heavily utilized operational environment ?",
"on line data entry required ?",
"does the on line data entry require the input transaction to be built over multiple screens or
operation?” "are the master files updated on line ?",
"is the inputs, outputs, files or inquiries complex ?",
"is the internal processing complex ?",
"is the code designed to be reusable ?",
"are the conversion and installation included in the design ?",
"is the system designed for multiple installations in different organizations ?",
"is the application designed to facilitate change and ease of use by the user ?"
};
int sumF = 0;
sumF += rate;
}
[Type here]
5
cout << "Unadjusted Function Points (UFP) : " << UFP << endl;
cout << "Complexity Adjustment Factor (CAF) : " << CAF << endl;
cout << "Source Lines of Code (SLOC): "<< SLOC <<" LOC"<< endl;
[Type here]
6
}
int main()
{
int frates[5][3] = {
{ 0, 70, 0 },
{ 0, 10, 0 },
{ 0, 50, 0 },
{ 0, 20, 0 },
{ 0, 10, 0 }
};
int fac_rate = 3;
calfp(frates, fac_rate);
return 0;
}
OUTPUT:
CONCLUSION:
FPA method is suitable for estimating the size, cost, productivity, development time, documentation
and quality for a project.
[Type here]