If you want to buy the project management book mail [email protected]  for more details or call any of our book shops MUMBAI-22078296/97/022-22070989, KOLKATA-22826518/19 HYDERABAD-24756967,24756400,BANGALORE-25587923, 25584641,AHMEDABAD-26421611,BHATINA(PUNJAB)-2237387,CHENNAI-28410796,28550491,DELHI/NEWDELHI-23254990/91,23325760,26415092,24691288.If you want to write to the author directly email at [email protected]
 

Home

(I) Can you explain concept of FTR, ILF, EIF, EI, EO , EQ and GSC ?

 

Elements of Function Points

Following are the elements of FPA.

Internal Logical Files (ILF)

Following are points to be noted for ILF: -

            Elementary process of application.

 

Caution: - Do not make a mistake of mapping one to one relationship between ILF and technical database design, then FPA can go very misleading. The main difference between ILF and technical database is ILF is logical view and database is physical structure (Technical Design). Example Supplier database design will have tables like Supplier, Supplier Address, SupplierPhonenumbers, but from ILF point of view its only Supplier. As logically they are all Supplier details.

                                         

 

Figure: - ILF example

External Interface File (EIF)

 

       application.

 

Record Element Type (RET)

Following are points to be noted for RET

 

      child relationship. Example: - Supplier had multiple addresses and every address

      can have multiple phone numbers (See detail image below which shows database

      diagrams).So Supplier, Supplier Address and Supplier phone numbers are RET’s.

 

 

 

                                            Figure: - RET

 

Please note the whole database is one supplier ILF as all belong to one logical section. RET quantifies the relationship complexity of ILF and EIF.

DET (Data element types)

Following are the points to be noted for DET counting: -

 

            we have kept auto increment field (Supplierid) for primary key. Supplierid field

            from user point of view never exists at all , its only from software designing

            aspect, so does not qualifies for DET.

            ILF again, it should be counted only once.

            its relationship in “supplieraddress” table is counted as DET. So “Supplierid_fk”

            in supplieraddress table is counted as DET. Same folds true for

            “Supplieraddressid_fk”.

 

File Type Reference (FTR)

Following are points to be noted for FTR: -

 

      always have one FTR in any EP.

 

External Input (EI)

Following are points to be noted for EI: -

 

            Elementary Process” Section] in which data is received from external

            application boundary.

            Example: - User Interaction Screens, when data comes from User Interface

            to Internal Application.

            Example: - A calculator application does not maintain any data, but still the

            screen of calculator will be counted as EI.

            An import batch process running from command line does not have screen,

            but still should be counted as EI as it helps passing data from External

            Application Boundary to Internal Application Boundary.

 

External Inquiry (EQ)

Following are points to be noted for EQ: -

 

            more ILF or EIF.

            calculated data. Derived data is not just mere retrieval but are combined with

            additional formulae to generate results. Derived data is not part of ILF or EIF,

            they are generated on fly.

 

Note:- No hard and fast rules that only simple reports are EQ’s.Simple view functionality can also be counted as EQ.

 

External Output (EO)

Following are points to be noted for EO: -

 

            Application Boundary to External Application Boundary.

in business.

      EO’s twice.

 

Major difference between EO and EQ is that data passes across application boundary.

Example: - Exporting Accounts transaction to some external file format like XML or

some other format. Which later the external accounting software can import. Second

important difference is in EQ its non-derived data and EO has derived data.

 

General System Characteristic Section (GSC)

This section is the most important section. All the above discussed sections are counting

sections. They relate only to application. But there are other things also to be considered

while making software, like are you going to make it an N-Tier application, what's the

performance level the user is expecting etc these other factors are called GSC. 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) and its

associated rating table.

 

Data Communications

 

How many communication facilities are there to aid in the transfer or exchange of

information with the application or system?

 

Rating                                                          

Description

0

Application is pure batch processing or a standalone PC.

1

Application is batch but has remote data entry or remote Printing.

2

Application is batch but has remote data entry and remote Printing.

3                               

                                  13

 

Application includes online data collection or TP (Teleprocessing) front end to a batch process or query system.

4         

 

Application is more than a front-end, but supports only one Type of TP communications protocol.

5

Application is more than a front-end, and supports more than One type of TP communications protocol.

 

                    Table   : - Data Communication

Distributed data processing

 

How are distributed data and processing functions handled?

 

 

 

Rating

Description

0                            

 

Application does not aid the transfer of data or processing Function between components of the system.

1

Application prepares data for end user processing on another component of the system such as PC spreadsheets and PC DBMS

2

Data is prepared for transfer, then is transferred and processed on another component of the system (not for end-user Processing).

3

Distributed processing and data transfer are online and in One direction only.

4

Distributed processing and data transfer are online and in Both directions.

5

Processing functions are dynamically performed on the most Appropriate component of the system

 

                      Table   : - Distributed data processing

 

 

Performance

Did the user require response time or throughput?

 

Rating    

Description

0

No special performance requirements were stated by the User.

1

Performance and design requirements were stated and Reviewed but no special actions were required.

2    

Responsetimeorthroughputiscriticalduringpeakhours.NospecialdesignforCPU utilization was required. Processing deadline is for the next business day.

3

Response time or through put is critical during all business hours. No special design for CPU utilizationwasrequired.Processingdeadlinerequirementswithinterfacing systems Are constraining.

4

In addition, stated user performance requirements are stringent enough to require performance analysis tasks in the Design phase.

5

In addition, performance analysis tools were used in the design,     development, and/or implementation phases to meet The stated user performance requirements.

                                                 

Table   :- Performance

Heavily used configuration

 

How heavily used is the current hardware platform where the application will be executed?

 

Rating    

Description

0

No explicit or implicit operational restrictions are included.

1

Operational restrictions do exist, but are less restrictive than a typical application. No special effort is needed to meet the Restrictions.

2

Some security or timing considerations are included.

3

Specific processor requirement for a specific piece of the Application is included.

4

Stated operation restrictions require special constraints on the application in the central processor or a dedicated Processor.

5

In addition, there are special constraints on the application in The distributed components of the system.

 

Table   : - Heavily used configuration

 

Transaction rate

How frequently are transactions executed; daily, weekly, monthly, etc.?

 

Rating    

Description

0

No peak transaction period is anticipated.

1

Peak transaction period (e.g., monthly, quarterly, seasonally, Annually) is anticipated.

2

Weekly peak transaction period is anticipated.

3

Daily peak transaction period is anticipated.

4

High transaction rate(s) stated by the user in the application requirements or service level agreements are high enough to Require perform ance analysis tasks in the design phase.

5

High transaction rate(s) stated by the user in the application requirem ents or service level agreements are high enough to require performance analysis tasks and, in addition, require the use of performance analysis tools in the design, Development, and/or installation phases.

 

 

Table   :- Transaction rate

 

On-Line data entry

 

What percentage of the information is entered On-Line?

 

 

Rating

Description

0

All transactions are processed in batch mode.

1

1% to7% of transactions is interactive data entry.

2

8% to15% of transactions is interactive data entry.

3

16% to23% of transactions is interactive data entry.

4

24% to30% of transactions is interactive data entry.

5

M orethan30% of transactions is interactive data entry.

 

Table   :- Online data entry

End-user efficiency

 

Was the application designed for end-user efficiency? There are seven end-user efficiency factors which govern how this point is rated.

 

 

Sr no    

End-user Efficiency Factor

1

Navigational aids(for example, function keys, jumps, dynamically generated menus)

2

Menus

3

Online help and documents

4

Automated curs or movement

5

Scrolling

6

Remote printing(via online transactions)

7

Preassigned function keys

8

Batch jobs submitted from online transactions

9

Cursor selection of screen data

10

Heavy use of reverse video, highlighting, colors underlining, and other indicators

11

Hard copy user documentation of online transactions

1 2    

Mouse interface

1 3    

Pop-up windows

14

.As few screens as possible to accomplish a business  function

15

Bilingual support(supports two languages; count as four items)

16

Multilingual support (supports more than two languages; count as six items).

 

Table: - End user efficiency factor

 

Rating    

Description

0

None of the above.

1

  One to three of the above.

2

Four to five of the above.

3

Six or more of the above, but there are no specific user Requirements related to efficiency.

4

Six or more of the above, and stated requirements for end-user efficiency are strong enough to require design tasks for human factors to be included (for example, minimize keystrokes, maximize defaults, use of templates).

5

Six or more of the above, and stated requirements for end-user efficiency are strong enough to require use of special tools and processes to demonstrate that the objectives have been achieved.

Table   : End user efficiency

On-Line update

 

How many ILF’s are updated by On-Line transaction?

 

 

Rating    

Description

0

None of the above.

1

Online update of one to three control files is included. Volume of updating I slow and recovery is easy.

2

Online update off our or more control files is included. Volume of updating is low and recovery easy.

3

Online update of major internal logical files is included.

4

In addition, protection against data lost is essential and has been specially designed and programmed in the system.

5

In addition, high volumes bring cost considerations into the Recovery process. Highly automated recovery procedures With minimum operator intervention are included.

 

Table   :- Online update

Complex processing

 

Does the application have extensive logical or mathematical processing?

 

 

S r no

Complex Processing Factor

1

Sensitive control(for example, special audit     processing)and/or application specific security Processing

2

Extensive logical processing

3

Extensive mathematical processing

4

Much exception processing resulting in incomplete transactions that must be processed again, for  example, incomplete ATM transactions caused by TP interruption, missing data values, or failed edits

5    

Complex processing to handle multiple input/output possibilities, for example, multimedia, or device independence

                                                        

Table   :- Complex processing factor

 

Rating

Description

   0

None of the above.

   1

Any one of the above.

   2

Any two of the above.

   3

Any three of the above.

   4

Any four of the above.

   5

All five of the above

Table: - Complex processing

Reusability

Was the application developed to meet one or many user’s needs?

 

 

Rating

Description

0

No reusable code.

1

Reusable code is used within the application.

2

Less than 10% of the application considered more than one user's needs.

3

Ten percent (10%) or more of the application considered more than one user's needs.

4

The application was specifically packaged and/or documented to ease re-use, and the application is customized by the user at source code level.

5

The application was specifically packaged and/or documented to ease re-use, and the application is customized for use by means of user parameter maintenance.

Table   : - reusability

Installation ease

 

How difficult is conversion and installation

 

Description

Rating

0

No special considerations were stated by the user, and no special setup is required for installation.

1

No special considerations were stated by the user but special setup is required for installation.

2

Conversion and installation requirements were stated by the user and conversion and installation guides were provided and         tested. The impact of conversion on the project is not considered to be important.

Conversion and installation requirements were stated by the user, and conversion and installation guides were provided And tested. The impact of conversion on the project is Considered to be important.

4

In addition to 2 above, automated conversion and installation Tools were provided and tested.

5

In addition to 3 above, automated conversion and installation Tools were provided and tested.

                                                   

Table   : Installation ease

Operational ease

 

How effective and/or automated are start-up, back up, and recovery procedures?

 

Rating    

Description

0

No special operational considerations so other than the normal Back- up procedures were stated by the user.

1-4    

One, some, or all of the following items apply to the Application.  Select all that apply. Each item has a point Value of one, except as noted otherwise.

Effective start-up, back-up, and recovery processes were Provided, but operator intervention is required.

Effective start-up, back-up, and recovery processes were provided, but no operator intervention is required(count as Two items).

The application minimizes the need for tape mounts.

The application minimizes the need for paper handling.

5

The application is designed for unattended operation. Unattended operation means no operator intervention is required to operate the system other than to startup or shutdown the    application.

Automatic error recovery is a feature Of the application.

Table: - operational ease

Multiple sites

 

Was the application specifically designed, developed, and supported to be installed at

multiple sites for multiple organizations?

 

Description

Rating

0

User requirements do not require considering the needs of More than one user/installation site.

1

Needs of multiple sites were considered in the design, and the application is designed to operate only under identical Hardware and software environments.

2

Needs of multiple sites were considered in the design, and the application is designed to operate only under similar Hardware and or software environments.

3

Needs of multiple sites were considered in the design, and the application is designed to operate under different Hardware and or software environments.

4

Documentation and support plan are provided and tested to support the application at multiple sites and the application is as described by 1 or 2.

5

Documentation and support plan are provided and tested to support the application at multiple sites and the application is as described by 3.

Table   : - Multiple sites

Facilitate change

 

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

 

The following characteristics can apply for the application

 

Sr no

Facilitate factors

0

None of above

1                                                           

Flexible query and report facility is provided that can handle simple requests; for example, and/or logic applied to only one internal logical file (count as one item).

2

Flexible query and report facility is provided that can handle requests of average complexity for example, and/or logic applied to more than one internal logical file (count as two items).

3

Flexible query and report facility is provided that can handle complex requests, for example, and/or logic combinations on one or more internal logical files (count as three items).

4

Business control data is kept in tables that are maintained by the user with online interactive Processes, but changes take effect only on the next business day.

5

Business control data is kept in tables that are maintained by the user with online interactive Processes and the changes take effect immediately (count as two items)

Table   : Facilitate change factors

 

Rating

Description

   0

None of the above.

   1

Any one of the above.

   2

Any two of the above.

   3

Any three of the above.

   4

Any four of the above.

   5

All five of the above

Table: - Facilitate change

 

All the above GSC are rated from 0-5.Then VAF is calculated from the equation below:-

 

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

 

Note: - GSC has not been accepted in software industry widely. Many software companies use Unadjusted Function point rather than adjusted. ISO has also removed GSC from its books and only kept unadjusted function points as the base for measurement. Read GSC acceptance in software industry Rating Tables for All elements of Function Points.

Below shown are look up tables which will be referred during counting.

 

EI Rating Table

 

 

 

                                                  

Data Elements

 

 

FTR                                           

1to 4

5 to 15

Greater than 15

Less than 2                                 

3

3

4

Equal to 2                                   

3

4

6

Greater than 2                             

4                                              

4

6

                                    

                        Table   :- EI rating table

 

This table says that in any EI (External Input), if your DET count (Data Element) and

FTR (File Type Reference) exceed these limits, then this should be the FP (Function Point). Example, if your DET (data element) exceeds >15 and FTR (File Type Reference)

is greater than 2, then the Function Point count is 6. The rest down tables also show the

same things. These tables will be there before us when we are doing function point count.

The best is put these values in Excel with formulae so that you have to only put quantity

in the appropriate section and you get the final value.

 

EO Rating Table

 

     Data Elements

FTR

         1 to 5

           6 to 19           

Greater than 19  

Less than 2        

            4           

              4

              5

2 or 3

            4           

              5

              7

Greater than 2    

            5           

              7

  7

                                                               

                                     Table   :- EO rating table

 

EQ Rating Table

 

 

 

 

Data Elements

 

 

FTR                     

1 to 5                

6 to 19        

Greater than 19

Less than 2

3

3

4

2 or 3

3

4

6

Greater than 2

4

6

6

                                    

Table   :- EQ rating table

ILF Rating Table

 

Data Elements

 

RET

1 to 19

20 to 50

51 or more

1 RET

7

7

10

2 to 5

7

10

15

Greater than 6

10

15

15

EIF Rating Table

RET

1 to 19

20 to 50

51 or more

1 RET

5

5

7

2 to 5

5

7

10

Greater than 6

7

10

10

                                       

Table   :- ILF rating table.

 

Steps to Count Function Points

This section will discuss the practical way of counting the FP and coming out with a

Man/Days on a project.

 

            discussed above): This whole FP count will be called as "unadjusted function

            point".

            come out with total VAF. Formula for VAF = 0.65 + (sum of all GSC factor/

            100).

            function point = VAF * Unadjusted function point.

            called as "Performance factor".

]

 Let’s try to implement these details in a sample customer project.

           

Sample Customer Project

We will be evaluating the customer GUI. So we will just scope what the customer GUI is all about.

 

Following is the scope of the customer screen:-

      credit card check.

 

 

 

Figure:- Custom screen

 

There is one ILF in the above screen:

 

There is one EIF in the above form.

 

Following the ILF counting rules

            addresses belong logically to customer category.

            Elementary process of application. Customer resides in inside application

            boundary as we have full access over it.

            

So hence goes the counting below for ILF

 

ILF Customer

Description

Number of DET

Number of RET

There are total 9 DETs, alladd 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.

9

1

So according to the above ILF ranking table

Total function

7

                                     Table   : - ILF for the customer

 

EIF lie outside the application boundary.

 

EI Credit Card Information

 

 

 

Number of DET      

Number of RET

Description

 

 

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.

 

 

 

1

 

 

 

 

 

 

1

So according to the above ranking table

Total function

5

 

                       Table   : - EI for the customer

Following EIF rules define in the previous sections:

            Elementary Process” Section] in which data is received from external

            application boundary. Customer detail is received from external boundary

            that is customer input screen.

            sample project Customer ILF is maintained.

 

It is two because processing logic for add and update is different.

 

 

EI Add Customer

Number of DET      

Number of FTR

Description

 

 

There are total 9 DETs, all add and update buttons, even the credit check button, the address list box, check box active, all text boxes.

There are 3 FTRs, one is the address and the second is the credit card information and third is customer himself.

 

 

 

9

 

 

 

 

 

 

3

So according to the above ranking table

Total function

6

                                                                    

                                                                  Table   : - EI for the add customer

 

 

EI Update Customer

Description                               

Number of DET

Number of RET

There are total 9 DETs, all add and update buttons, even the credit check button, the address list box, check box active, all text boxes.

There are 3 FTRs, one is the address and the second is the credit card information and third is customer himself.

 

 

 

 

9                                              

 

 

 

 

 

 

 

3

So according to the above ranking table                                           

Total function

6

                                                   

                                       Table   : - EI for the update customer

 

While counting EI I have seen many people multiplying it by 3.That means we are going

to do all CRUD functionality (ADD, UPDATE, and DELETE).This is not fair as it just

shows laziness of the Cost estimation team. Here the customer screen has add and update.

I can say the 2 * 6 that's = 12 FP for this EI customer. But later when some refers to your

FP sheet he will be completely lost.

 

Following are rules to recognize EO: -

 

Credit card check process can be complex as the credit card API complexity is still not

known. Data that is credit card information crosses from credit card system to Customer

system.

 

 

EO check credit card

 

 

Description

       Number of DET 

         Number of RET

One DET Credit Card number and one RET credit card itself. Note if there are no RET we count default as one. Look for RET counting rules defined in previous section.

                                                                           

                 1

 

 

 

 

 

               

                   1

So according to the above ranking table         

 

          Total function     

 

                   4

 

                                    Table   :- EO to check the credit card

 

Following are rules to recognize EQ: -

            more ILF or EIF. For editing the customer we will need to retrieve the customer

            details.               

            customer code is inputted from the same screen.

            while the customer is editing the customer data.

            displayed does not contain any complex calculations.

 

 

EQ Display Customer Edit Information

 

Description

Number of DET

Number of FTR

There are 5 DETs to be retrieved Customer Code, Customer Name, Credit Card number, Active, Customer Address. Only customer details and customer address will be referenced.

                            

 

5

 

 

 

 

 

2

 

 

 

So according to the above ranking table                                               

Total function

3

 

                                    Table   :- EQ to display customer edit

 

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

 

Function Point

Section Name Counted

ILF Customer

 

EO Credit Card check system

4

EIF credit card information

5

EI Customer (Add and update)

12

EQ display customer edit information

3

Total Unadjusted

Function Points

31

 

Table   :- Total of all function point

 

So unadjusted function point comes to 31.Please note I have said this as Unadjusted

function as we have not accounted other variance factor of project (Programmers leaving job, Language we will use, what architecture etc etc).

 

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

and come out with the VAF.

 

 

GSC

Value(0-5)

Data communications

 1

Distributed data processing

 1

Performance

 4

Heavily used configuration

 0

Transaction rate

 1

On-Line data entry

 0

End-user efficiency

 4

On-Line update

 0

Complex processing

 0

Reusability

 3

Installation ease

 4

Operational ease

 4

Multiple sites

 0

Facilitate change

 0

Total

22

 

                                         Table: - GSC

 

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,

calculating the Adjusted FP = VAF * Total unadjusted

 

FP = 0.87 * 31 = 26.97 = rounded to 27 FP.

 

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

efficiency factor, we say that we will complete 3 FP per day that is 9 working days. So, the whole customer GUI is of 9 working days (Note do not consider Saturday and Sundays in this). I know upper manager people will say make it 7 FP per day and over load the programmer. That’s why programmer works at night.

 

Considering SDLC (System Development Life Cycle)

 

Before reading this section please refer to different SDLC cycles  questions in the previous chapters.

 

The main intention of introducing this section is because quotations are heavily affected

by which software life cycle you follow. Because deliverables change according to SLDC

model the project manager chooses for the project. Example for waterfall model we will

have Requirement documents, Design documents, Source code and testing plans. But for

prototyping models in addition to the documents above we will also need to deliver the

rough prototype. For build and fix model we will not deliver any of the documents and

the only document delivered will be source code. So according to SDLC model deliverables change and hence the quotation. We will divide the estimation across requirement, design, implementation (coding) and testing .In what way the estimation has to divide across all deliverables is all up to the project manager and his plans.

 

 

Phase

Percentage distribution effort

Requirements

10% of total effort

Design Phase

20% of total effort

Coding

100 % of total effort

Testing

10% of total effort

 

Table   :- Phase wise distribution of effort

 

The above sample is total 100 % distribution of effort across various phases. But note function point or any other estimation methodology only gives you total execution estimation. So you can see in the above distribution we have given coding as 100 %. But as said it up to the project manager to change according to scenarios .Ok now from the above function point estimation the estimation is 7 days let’s try to divide it across all phases.

 

 

Phase               

 

 

Percentage distribution effort                       

 

Distribution of man/

days across  phases

 

Requirements    

 

10 % of total effort

 

0.9 days

 

Design Phase                              

 

20 % of total effort

 

1.8 days

 

Coding                                        

 

60 % of total effort

 

7 days

 

Testing                                        

 

10 % of total effort

0.9 days

Total                                            9 day

 

10.6 days

 

Table   :- Phase wise effort distribution of man days

 

The above table shows the division of project man/days across project. Now let’s put

down the final quotation. Just a small comment about test cases.

 

Total number of Test Cases = (Function Point) raised to power of 1.2.This is as suggested

from caper Jones.

 

If you want to buy the project management book mail [email protected]  for more details or call any of our book shops MUMBAI-22078296/97/022-22070989, KOLKATA-22826518/19 HYDERABAD-24756967,24756400,BANGALORE-25587923, 25584641,AHMEDABAD-26421611,BHATINA(PUNJAB)-2237387,CHENNAI-28410796,28550491,DELHI/NEWDELHI-23254990/91,23325760,26415092,24691288.If you want to write to the author directly email at [email protected]
 

Home

Hosted by www.Geocities.ws

1