Question

what are c# methodes for calculating unadjusted metrics to adjusted metrics? write down code as well.

what are c# methodes for calculating unadjusted metrics to adjusted metrics?

write down code as well.
0 0
Add a comment Improve this question Transcribed image text
Answer #1

Counting Function Point (FP):

F=14*scale

Scale varies from 0 to 5 according to character of Complexity Adjustment Factor (CAF). Below table shows scale:

0 - No Influence
1 - Incidental
2 - Moderate
3 - Average
4 - Significant
5 - Essential

Step 2:

Calculate Complexity Adjustment Factor (CAF):

CAF = 0.65 + ( 0.01 * F )

Step 3: Calculate Unadjusted Function Point (UFP).

TABLE (Required)

FUNCTION UNITS LOW AVG HIGH
EI 3 4 6
EO 4 5 7
EQ 3 4 6
ILF 7 10 15
EIF 5 7 10

Multiply each individual function point to corresponding values in TABLE.

Step 4: Calculate Function Point

FP = UFP * CAF

Example:

Given the following values, compute function point when all complexity adjustment factor (CAF) and weighting factors are average.

User Input = 50
User Output = 40
User Inquiries = 35
User Files = 6
External Interface = 4

Explanation:

Step 1: As complexity adjustment factor is average (given in question), hence,

scale = 3.
F = 14 * 3 = 42 

Step 2:

CAF = 0.65 + ( 0.01 * 42 ) = 1.07 

Step 3: As weighting factors are also average (given in question) hence we will multiply each individual function point to corresponding values in TABLE.

UFP = (50*4) + (40*5) + (35*4) + (6*10) + (4*7) = 628 

Step-4:

Function Point = 628 * 1.07 = 671.96 

Code:

using namespace std;

  

// Function to calculate Function Point

void calfp(int frates[][3], int fac_rate)

{

  

    // Function Units

    string funUnits[5] = {

        "External Inputs",

        "External Outputs",

        "External Inquiries",

        "Internal Logical Files",

        "External Interface Files"

    };

  

    // Weight Rates

    string wtRates[3] = { "Low", "Average", "High" };

  

    // Weight Factors

    int wtFactors[5][3] = {

        { 3, 4, 6 },

        { 4, 5, 7 },

        { 3, 4, 6 },

        { 7, 10, 15 },

        { 5, 7, 10 },

    };

  

    int UFP = 0;

  

    // Calculating UFP (Unadjusted Function Point)

    for (int i = 0; i < 5; i++) {

  

        for (int j = 0; j < 3; j++) {

  

            int freq = frates[i][j];

  

            UFP += freq * wtFactors[i][j];

        }

    }

  

    // 14 factors

    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 operations ?",

        "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 ?"

    };

  

    /*

    Rate Scale of Factors

    Rate the following aspects on a scale of 0-5 :-

    0 - No influence

    1 - Incidental

    2 - Moderate

    3 - Average

    4 - Significant

    5 - Essential

    */

  

    int sumF = 0;

  

    // Taking Input of factors rate

    for (int i = 0; i < 14; i++) {

  

        int rate = fac_rate;

  

        sumF += rate;

    }

  

    // Calculate CFP

    double CAF = 0.65 + 0.01 * sumF;

  

    // Calculate Function Point (FP)

    double FP = UFP * CAF;

  

    // Output Values

    cout << "Function Point Analysis :-" << endl;

  

    cout << "Unadjusted Function Points (UFP) : " << UFP << endl;

  

    cout << "Complexity Adjustment Factor (CAF) : " << CAF << endl;

  

    cout << "Function Points (FP) : " << FP << endl;

}

  

// driver function

int main()

{

    int frates[5][3] = {

        { 0, 50, 0 },

        { 0, 40, 0 },

        { 0, 35, 0 },

        { 0, 6, 0 },

        { 0, 4, 0 }

    };

  

    int fac_rate = 3;

  

    calfp(frates, fac_rate);

  

    return 0;

}

 
Add a comment
Know the answer?
Add Answer to:
what are c# methodes for calculating unadjusted metrics to adjusted metrics? write down code as well.
Your Answer:

Post as a guest

Your Name:

What's your source?

Earn Coins

Coins can be redeemed for fabulous gifts.

Not the answer you're looking for? Ask your own homework help question. Our experts will answer your question WITHIN MINUTES for Free.
Similar Homework Help Questions
ADVERTISEMENT
Free Homework Help App
Download From Google Play
Scan Your Homework
to Get Instant Free Answers
Need Online Homework Help?
Ask a Question
Get Answers For Free
Most questions answered within 3 hours.
ADVERTISEMENT
ADVERTISEMENT
ADVERTISEMENT