fp estimation

Upload: ivan-monteiro

Post on 07-Apr-2018

219 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/4/2019 FP Estimation

    1/45

    Function Point Estimation

    1. FP : Function Point

    2. ILF : Internal Logical File.

    3. EIF : External Interface file

    4. EI : External Inputs

    5. EO : External Outputs

    6. EQ : External Enquiries

    7. RET : Record Element Type

    8. DET : Data Element Type

    9. FTR : File Type Reference

  • 8/4/2019 FP Estimation

    2/45

    10. GSC : General System Characteristic

    11. VAF : Value Added Factor12. LOC : Line of code

  • 8/4/2019 FP Estimation

    3/45

    1.Interna ogica i e ILF : T is contains ogica y re ate ata t at resi es insi e app ication oun ary. T e

    application has to maintain data . Example like customer table which will be maintained through a Customer

    data entry screen. Note the inside application data is updated and not any external data. But if you are updating

    external application table, those tables will not be categorized as ILF.

    This contains components which will lie external of application boundary and used for only for reference

    purpose. Note : Do not include functionality like updating the external application in this section

    EI is basically from which we can maintain the ILF. Accountants definitely should have interface through which

    they can maintain (Add, Update, Delete) the customer ILF. The basic judgment factor to come out with EI is from

    user screens. Like, a customer maintenance screen which gives us an idea that we have 1 EI and 1 ILF of

    customer.

    Here data passes from inside application to outside. Example your application generates XML or CSV ( Comma

    separated values) Files. These files are then used by some external application to update the external application

    tables. So in this scenario the data is passed from your application to a external application. So these types of

    function will fall in this category.

    When you send data to external application if you are getting some output from external application. Later this

    output is updated in the ILF of internal application is also scenarios which will come under EO.

    So litmus test for identifying EO's are :-

    a) When data crosses boundary and goes and updates external application tables(EIF).

    b) In response of you data sent you get some derived data which is updated in the internal application(ILF).

    These functions will be mainly reports. They have input criteria. Any type of reports and search screens are right

    components for EQ.Note like EI and EQ they do not update any ILF or EIF.They only fetch data for display. So the

    litmus test for identifying EQ is any reports or search screens which do not update data in any tables(ILF or

    EIF).Example Balance sheet in accounting reports.A subgroup of data element inside a logical file. In our customer ILF, we can have multiple addresses or multiple

    phone numbers. So for the customer, we can have 2 RETs, Addresses and Phone numbers.

    DET is a non-repetitive field in a ILF. Please note, I have said that field should not repeat in counting again. Every

    customer ILF can have Customer Code. So the customer code becomes a DET. Every invoice can have customer

    code saying whom this invoice belongs to. But once the customer code has been counted, do not count

    customer code twice as two different DETs. But in practical scenarios, when doing function point of huge

    projects, there is possibility that you can count DET twice, make a second iteration just for removing the

    duplicate DETs.

    An FTR is a file referenced by transaction. An FTR must also be an internal logical file or external interface file.

  • 8/4/2019 FP Estimation

    4/45

    This section is the most important section. All the above 3 sections are counting sections. They relate only to

    application. But there are other things also to be considered while making a software, like are you going to make

    it an N-Tier application, what's the performance level the user is expecting etc. These are external factors which

    affect the software a lot and also the cost of it. When you submit a function point to a client, he normally will

    skip everything and come to GSC first. GSC gives us something called as VAF (Value Added Factor). There are 14

    points considered to come out with VAF (Value Added factor).

    1.Data communications: How many communication facilities are there to aid in the transfer or exchange of

    information with the application or system?

    2.Distributed data processing: How are distributed data and processing functions handled?

    3.Performance: Did the user require response time or throughput?

    4.Heavily used configuration: How heavily used is the current hardware platform where the application will be

    executed?

    5.Transaction rate: How frequently are transactions executed; daily, weekly, monthly, etc.?

    6.On-Line data entry: What percentage of the information is entered On-Line?

    7.End-user efficiency: Was the application designed for end-user efficiency?

    8.On-Line update: How many ILFs are updated by On-Line transaction?

    9.Complex processing: Does the application have extensive logical or mathematical processing?

    10.Reusability: Was the application developed to meet one or many users needs?

    11.Installation ease: How difficult is conversion and installation?

    12.Operational ease: How effective and/or automated are start-up, back up, and recovery procedures?

    13.Multiple sites: Was the application specifically designed, developed, and supported to be installed at multiple

    sites for multiple organizations?

    14.Facilitate change: Was the application specifically designed, developed, and supported to facilitate change?

    All the GSC have ratings from 0 to 5. So, the VAF formulae is something like this:

    VAF = 0.65 + ((sum of all GSC factor)/100).

  • 8/4/2019 FP Estimation

    5/45

    Transaction Section:

    Transaction section uses data

    section, that is, it maintains

    information of ILF and EIF.

    Excuse me for the short

    acronyms I am using

    everywhere, like the ILF and

    EIF there's acronym list at top

    for everything. All the down 3

    components

    adds,modifies,deletes,retrieve

    s or process information

    contained in ILF and EIF so are

    termed as Transaction Section.

  • 8/4/2019 FP Estimation

    6/45

    Less than 2 3 3 4

    2 3 4 6

    >2 4 6 6

    FTR 1 to 5 19-Jun >19

    < 2 4 4 5

    2 or 3 4 5 7

    >3 5 7 7

    FTR 1 to 5 19-Jun >19

    < 2 3 3 4

    2 or 3 3 4 6

    >3 4 6 6

    RET 1 to 19 20-50

    51 or

    more

    1 RET 7 7 10

    2 to 5 7 10 15

    >6 10 15 15

    RET 1 to 19 20-50

    51 or

    more

    1 RET 5 5 7

    2 to 5 5 7 10

    >6 7 10 10

    Section RETs FTRs DETs

    EI 1 1

    EO 1 1

    Data Elements

    EI Rating Table

    Data Elements

    FTR 1 to 4 15-May >15

    EO Rating Table

    Data Elements

    EQ Rating Table

    Data Elements

    ILF Rating Table

    EIF Rating Table

    Data Elements

    every transaction which subsection is eligible.If you

  • 8/4/2019 FP Estimation

    7/45

    EQ 1 1

    EIF 1 1

    ILF 1 1

    Simple Customer Project

    Simple Customer Project

    This is a simple project requirement where we are supposed only to do the customer form and w

    There are 2 ILFs in the above screen:

    1. The customer ILF.

    2. The Customer Address ILF.

    There are no EIFs in the above form.

    Description Number of DETNumberof RET

    ILF Customer

  • 8/4/2019 FP Estimation

    8/45

    There are total

    10 DETs, all add

    and update

    buttons, even the

    credit check

    button, the

    address list box,

    check box active,all text boxes.

    There is only one

    RET, the

    customer

    addresses. Note i

    have not included

    the credit check

    as RET as they

    are not Sub-

    elements(Childelements of

    Customer ILF).

    So according to

    the above ILF

    rankin table

    Total function 7

    Description Number of DET

    Number

    of RET

    There are total 3

    DETs, all the

    column names in

    the list box, city

    name, street

    name and pin

    For the customer

    address ILF there

    are no RET.Please

    note if this

    customer address

    screen is any

    where else and

    they have RET

    then make

    changes

    accordingly.

    Total FP 7

    Description Number of DET

    Number

    of RET

    10 1

    ILF Customer addresses

    3 0

    EIF Credit card Information

  • 8/4/2019 FP Estimation

    9/45

    The credit card

    information

    referenced is

    EIF.Note this file

    is only referenced

    for credit card

    check.

    There's only one

    textbox credit

    card number and

    hence one DET is

    put in the side

    column. and RET

    0.Looking at the

    above rating

    table the total FP

    is 5.

    Total FP 5

    Description Number of DET

    Number

    of FTR

    There are total

    10 DETs, all add

    and update

    buttons, even the

    credit check

    button, the

    address list box,

    check box active,all text boxes.

    There are 2 FTRs,

    one is the

    address and the

    second is the

    credit card

    Referring ranking

    table above

    Total Function 4

    While counting EI i have seen many people multiplying it by 3.That means we are going to do all

    EO Customer

    EI Customer

    10 2

    1 0

  • 8/4/2019 FP Estimation

    10/45

    No EO for this

    screen. As

    Customer system

    is not sending

    any information

    to external

    system which will

    add or update the

    external system.

    EQ Customer

    screen.At this

    moment there is

    no reports

    section

    here.Please note

    the display of

    cutomer

    addresses is notcounted as EQ.

    So now, let's add the total function point got from above tables :

    Section Name

    Function Point

    Counted

    ILF Customer 7

    ILF Customer

    Address 7

    EIF credit card

    information 5EI Customer 5

    Total

    Unadjusted

    Function Points 24

    So all function point comes to 24.Please note i have said this as Unadjusted function as we have

    In order to make it adjusted function point, we have to calculate and tabulate the GSC and com

    GSC Value(0-5)

    Data

    communications 1

    Distri ute ata

    processing 1

    Performance 4

    Heavi y use

    configuration 0

  • 8/4/2019 FP Estimation

    11/45

    Transaction rate 1

    On-Line ata

    entry 0

    End-user

    efficiency 4

    On-Line update 0

    Comp exprocessing 0

    Reusability 3

    Installation ease 4

    Operational ease 4

    Multiple sites 0

    Facilitate change 0

    Total 22

    So using formulae:

    ollapse | Copy Code

    VAF = 0.65 + ((sum of all GSC factor)/100). = 0.65 + (22/100) = 0.87.

    This factor affects the whole FP like anything, be very particular with this factor. So now, calcula

    adjusted FP = VAF * Total unadjusted

    FP = 0.87 * 24 = 20.88 = rounded to 21 FP.

    Now we know that the complete FP for the customer GUI is 21 FP. Now calculating the efficiency

  • 8/4/2019 FP Estimation

    12/45

  • 8/4/2019 FP Estimation

    13/45

    ith address details of it. Following is the screen.

  • 8/4/2019 FP Estimation

    14/45

  • 8/4/2019 FP Estimation

    15/45

    l CRUD functionality(ADD,UPDATE,DELETE).This is not fair as it just shows laziness of the Co

  • 8/4/2019 FP Estimation

    16/45

    not accounted other variance factor of project (Programmers leaving job, Language we will

    out with the VAF.

  • 8/4/2019 FP Estimation

    17/45

    ting the

    factor, we say that we will complete 3 FP per day, that is 7 working days. So, the whole cus

  • 8/4/2019 FP Estimation

    18/45

  • 8/4/2019 FP Estimation

    19/45

  • 8/4/2019 FP Estimation

    20/45

  • 8/4/2019 FP Estimation

    21/45

    st estimation team. Here the customer screen has add and update. I can say the 2 * 4 that'

  • 8/4/2019 FP Estimation

    22/45

    use, What architecture etc etc).

  • 8/4/2019 FP Estimation

    23/45

    tomer GUI is of 7 working days (Note do not consider Saturday and Sundays in this). I kno

  • 8/4/2019 FP Estimation

    24/45

  • 8/4/2019 FP Estimation

    25/45

  • 8/4/2019 FP Estimation

    26/45

  • 8/4/2019 FP Estimation

    27/45

    = 8 FP for this EI customer. But i adjust this factor in my buffer. If you start multiplying fo

  • 8/4/2019 FP Estimation

    28/45

  • 8/4/2019 FP Estimation

    29/45

    upper manager people will say make it 7 FP per day and over load the programmer. Thats

  • 8/4/2019 FP Estimation

    30/45

  • 8/4/2019 FP Estimation

    31/45

  • 8/4/2019 FP Estimation

    32/45

  • 8/4/2019 FP Estimation

    33/45

    r every master screen like this it will be not fair for the customer. So make a genuine count

  • 8/4/2019 FP Estimation

    34/45

  • 8/4/2019 FP Estimation

    35/45

    hy programmer works at night.

  • 8/4/2019 FP Estimation

    36/45

  • 8/4/2019 FP Estimation

    37/45

  • 8/4/2019 FP Estimation

    38/45

  • 8/4/2019 FP Estimation

    39/45

    t the first half and later in buffer add the extra FPs.So over here i count this as 1 EI and not

  • 8/4/2019 FP Estimation

    40/45

  • 8/4/2019 FP Estimation

    41/45

  • 8/4/2019 FP Estimation

    42/45

  • 8/4/2019 FP Estimation

    43/45

  • 8/4/2019 FP Estimation

    44/45

  • 8/4/2019 FP Estimation

    45/45

    multiply by any factor.