SlideShare a Scribd company logo
1 of 6
Software Task Estimation




                                                              Copy Number   _____




Copyright © All Rights Reserved.                                                Page 1
Document Control

Change Record


                                   Date               Author                    Version     Change Reference

                                   7th June 2010      Venkat Alagarsamy         Draft       No previous document




Reviewers


                                   Name                                                   Position




Distribution


                                   Copy No.        Name                                        Location

                                   1               Library Master
                                   2
                                   3
                                   4




Connect


                                   Type                   Location

                                   Linkedin               https://www.linkedin.com/in/venkatalagarsamy
                                   Scribd                 http://www.scribd.com/VenkatAlagarsamy
                                   Slideshare             http://www.slideshare.net/VenkatAlagarsamy
                                   Blog                   http://venkatalagarsamy.blogspot.in/
                                   Facebook               https://www.facebook.com/Venkatachalapathi.alagarsamy




Copyright © All Rights Reserved.                                                                                   Page 2
Contents


                                   Document Control ............................................................................................................. 2
                                   Overview ............................................................................................................................ 4
                                         Traditional Methods ................................................................................................... 4
                                         Estimating Life Cycle.................................................................................................. 4
                                         Estimating Program Volume ..................................................................................... 4
                                               How to estimate the project based on KSLOC? ............................................................... 4
                                               How to calculate KSOLC? ................................................................................................ 5




Copyright © All Rights Reserved.                                                                                                                                         Page 3
Overview
Though everyone has a favourite theory as to why software failures occur. In my view projects are failed because
poor cost and incorrect estimates than by technical, political, or team problems. Software cost estimation is not an
art. It is a science. Only few organizations and individuals understand this science.

It is possible to accurately and consistently predict development life cycle costs and schedules for a wide range of
projects. Using this concept, to estimate the cost, the only tool required is spredsheet.


Traditional Methods
The traditional methods that are used to estimate the size and/or volume of the program/task are:
    Code size in kilo bytes (Program Volume)
    Function points


Estimating Life Cycle
Accuracy of cost estimates varies based on the software development stage. Early uncertainty is largely based on
variances in the input parameters to the estimate. Later uncertainty in the estimate is based on the variance to the
estimating models. Initially, at the concept stage, you may be presented with high-level definition of the project.
Though the requirements may not yet be fully understood, the general purpose of the new software can be
recognized. At this point estimates with an accuracy of plus or minus 50% are typical for an experienced estimator
using informal techniques such as historical comparisons and/or group consensus.

The key to accuracy lies in making periodic reestimates through out the project life cycle, there by identifying the
problems rarely enough to take corrective action.


Estimating Program Volume
The first step in preparing an estimate is to characterize the project volume. One measure is the number of source
lines of code or SLOC. A SLOC is a human return line of code that is not a blank line or commen. Same line
should not be counted more than once, even if the code appears several times in an application. Normally the
workload is estimated in terms of KSLOC.

       How to estimate the project based on KSLOC?
       Person months of effort required for the project is arrived by multiplying estimated quantity of KSLOC and
       the effort required per KSLOC. This is the bease of all estimating models.

       Table: Common Values for linear productivity factor#
       The values in the table below are derived from work by Barry Boehm(COCOMO), Raymond Kyle and the
       U.S. Air Force Cost Analysis Agency’s revised COCOMO (REVIC), and firms or organizations working
       directly with the Cost Xpert Group.

                                                                                     Exponential Size Penalty
                         Project Type               Linear Productivity Factor
                                                                                             Factor
         Default                                  2.94                             1.052
         Embedded Development                     2.58                             1.110
         eCommerce Development                    3.6                              1.030
         Web Enabling                             3.3                              1.030
         Military Development                     2.77                             1.072
         ERP                                      3.96                             1.926
         Enterprise Application Integration       4.08                             2.136

       Man months for the smaller projects are calculated as:
       The Person Man-day = KSLOC * Linear Productivity Factor * 30
       For example,
       To web enable an exsisting application of size 10,000 SOLC it would take, 10 * 3.3 * 30 = 990 Man-day.

Copyright © All Rights Reserved.                                                                                       Page 4
The above equation could be used only for smaller projects. Productivity varies with project size. In fact,
       large projects are significantly less productive than small projects- probably because they require increased
       coordination and communication time, plus more rework due to misunderstandings. This would lead to
       penalize large projects for decreased efficiency. The exponential size penalty factor column in above table
       helps with penalty adjustments.

       Man months for the larger projects are calculated as:
       The Person Man-Day = KSLOC * Linear Productivity FactorExponential Sise Penalty Factor * 30
       For the same above example (Web enabling an exsisting application) and the project is big,
       The new estimated time would be, 10 * 3.31.030 * 30 = 1,026 Man-days.

       The above examples are applicable only when the number of KSLOC is known.

       How to calculate KSOLC?
       There are two approaches to this. They are:

                Direct Estimation
                Function points with backfiring

       For both approaches the fundamental input variables are the experts and developers opinion.

       Direct Estimation:

       Normally, the first step in estimating the number of lines of code is the break the project down into modules
       or some other logical grouping.

       For example, a very high-level breakdown might be front-end process, middle-tier process, Database code
       and Reports. Then the developers use their experience in building similar systems to estimate the number of
       source lines of code required.

       It is suggested to get three different types of estimate from every input resource. They are:

                Best case estimate (BEST)
                Worst case estimate (WORST)
                Expected case estimate (EXPECTED)

       Based on these estimates calculate the Mean and Standard Deviation as,

              Mean = (BEST + WORST + (4 * EXPECTED)) / 6
              Standard Deviation = (WORST – BEST) / 6

       Standard Deviation is a measure of how much deviation can be expected in the final number. For example,
       the mean plus three times the Standard Deviation will ensure that there is a 99% probability that the project
       would be completed as estimated.

       Function point estimation with backfiring:

       An alternative to direct SLOC estimating is to start with function points, and then use a process called
       backfiring to convert them to SLOC.

       To determine the number of function points, start by estimating the number of external inputs, external
       interface files, external outputs, external queries and logical internal tables.

                External inputs are largely data entry screens. If a screen contains a tabbed notebook or similar
                 metaphor, each tab counted as a separate external input.
                External interface files are file-based inputs or outputs. Each record format within the file, or, in the
                 case of XML, each data object type, would count as a separate interface file even if residing in the
                 same physical file.
                External outputs are reports.

Copyright © All Rights Reserved.                                                                                         Page 5
    External queries are message or external function-based communication “into” or ”out” of
                 application.
                Logical internal tables are the number of tables in the database, assuming the database was third
                 normal form or better.

       Table: Factors for coverting raw values into factor points

          Raw Type                                                 Function Point Conversion Factor
          External Inputs                                          4
          External Interface Files                                 7
          External Outputs                                         5
          External Queries                                         4
          Logical Internal Tables                                  10

       To convert from these raw values into an actual count of function points, the raw numbers must be
       multiplied by a conversion factor from above table.

       For example, if there is a eCommerce system consisting of ten data entry screens, five interface files, thirty
       reports, twenty queries and ten logical internal tables, then the total function points are:

       (10 * 4) + (5 * 7) + (30 * 5) + (20 * 4) + (10 * 10) = 405 Function Points

       By converting this function points into SOLC using the following table rule.

       Table: Lines of code per function point by programming language

          Language                                                 SLOC per fun ction point
          C++                                                      53
          COBOL                                                    107
          Oracle                                                   25
          SQL                                                      13
          VB                                                       24
          Java                                                     43
          .NET Framework                                           70
          J2EE Framework                                           70
          HTML                                                     14

       For example,
       To implement 405 Function Points using J2EE frame work,
                     it requires 405 * 70 = 30,375 SLOC.
       To implement a eCommerce systems using J2EE frame work,
                     it takes about 30,375 * 3.31.030 * 30 = 3,316 Man-days.




Copyright © All Rights Reserved.                                                                                        Page 6

More Related Content

Similar to Software Task Estimation

Record matching over query results
Record matching over query resultsRecord matching over query results
Record matching over query results
ambitlick
 
Aws development test_environments
Aws development test_environmentsAws development test_environments
Aws development test_environments
saifam
 
Basic-Project-Estimation-1999
Basic-Project-Estimation-1999Basic-Project-Estimation-1999
Basic-Project-Estimation-1999
Michael Wigley
 
GenRays Project Scope Document
GenRays Project Scope DocumentGenRays Project Scope Document
GenRays Project Scope Document
April Drake
 
Sukumar Nayak-Agile-DevOps-Cloud Management
Sukumar Nayak-Agile-DevOps-Cloud ManagementSukumar Nayak-Agile-DevOps-Cloud Management
Sukumar Nayak-Agile-DevOps-Cloud Management
Sukumar Nayak
 
PROJECT FAST INVENTORY Delivere.docx
PROJECT FAST INVENTORY  Delivere.docxPROJECT FAST INVENTORY  Delivere.docx
PROJECT FAST INVENTORY Delivere.docx
woodruffeloisa
 

Similar to Software Task Estimation (20)

Source Code vs. Binary Code Analysis
Source Code vs. Binary Code AnalysisSource Code vs. Binary Code Analysis
Source Code vs. Binary Code Analysis
 
Software architecture for developers
Software architecture for developersSoftware architecture for developers
Software architecture for developers
 
Record matching over query results
Record matching over query resultsRecord matching over query results
Record matching over query results
 
Digital Content Retrieval Final Report
Digital Content Retrieval Final ReportDigital Content Retrieval Final Report
Digital Content Retrieval Final Report
 
ASAS 2014 - Simon Brown
ASAS 2014 - Simon BrownASAS 2014 - Simon Brown
ASAS 2014 - Simon Brown
 
Aws development test_environments
Aws development test_environmentsAws development test_environments
Aws development test_environments
 
Performance testing wreaking balls
Performance testing wreaking ballsPerformance testing wreaking balls
Performance testing wreaking balls
 
Basic-Project-Estimation-1999
Basic-Project-Estimation-1999Basic-Project-Estimation-1999
Basic-Project-Estimation-1999
 
GenRays Project Scope Document
GenRays Project Scope DocumentGenRays Project Scope Document
GenRays Project Scope Document
 
Browser core red bus presentation
Browser core red bus presentation Browser core red bus presentation
Browser core red bus presentation
 
Lotus
LotusLotus
Lotus
 
Sukumar Nayak-Agile-DevOps-Cloud Management
Sukumar Nayak-Agile-DevOps-Cloud ManagementSukumar Nayak-Agile-DevOps-Cloud Management
Sukumar Nayak-Agile-DevOps-Cloud Management
 
Design Patterns in Electronic Data Management
Design Patterns in Electronic Data ManagementDesign Patterns in Electronic Data Management
Design Patterns in Electronic Data Management
 
PROJECT FAST INVENTORY Delivere.docx
PROJECT FAST INVENTORY  Delivere.docxPROJECT FAST INVENTORY  Delivere.docx
PROJECT FAST INVENTORY Delivere.docx
 
NEW BACKEND.pdf
NEW BACKEND.pdfNEW BACKEND.pdf
NEW BACKEND.pdf
 
sada_shopping
sada_shoppingsada_shopping
sada_shopping
 
Guide to Software Estimation
Guide to Software EstimationGuide to Software Estimation
Guide to Software Estimation
 
Single Page Application Best practices
Single Page Application Best practicesSingle Page Application Best practices
Single Page Application Best practices
 
Trevo project management documentation
Trevo project management documentationTrevo project management documentation
Trevo project management documentation
 
Cw comp1640 211453_mo233_20131120_214054_1314
Cw comp1640 211453_mo233_20131120_214054_1314Cw comp1640 211453_mo233_20131120_214054_1314
Cw comp1640 211453_mo233_20131120_214054_1314
 

More from Venkat Alagarsamy

Enterprise mobileapplicationsecurity
Enterprise mobileapplicationsecurityEnterprise mobileapplicationsecurity
Enterprise mobileapplicationsecurity
Venkat Alagarsamy
 
Introduction to software testing
Introduction to software testingIntroduction to software testing
Introduction to software testing
Venkat Alagarsamy
 
Cross platform mobile application architecture for enterprise
Cross platform mobile application architecture for enterpriseCross platform mobile application architecture for enterprise
Cross platform mobile application architecture for enterprise
Venkat Alagarsamy
 

More from Venkat Alagarsamy (8)

Wearable Tech - What is Next?
Wearable Tech - What is Next?Wearable Tech - What is Next?
Wearable Tech - What is Next?
 
IoT in Healthcare
IoT in HealthcareIoT in Healthcare
IoT in Healthcare
 
Introduction to NFC
Introduction to NFCIntroduction to NFC
Introduction to NFC
 
Enterprise mobileapplicationsecurity
Enterprise mobileapplicationsecurityEnterprise mobileapplicationsecurity
Enterprise mobileapplicationsecurity
 
Application of RFID in Fashion Retail outlet
Application of RFID in Fashion Retail outletApplication of RFID in Fashion Retail outlet
Application of RFID in Fashion Retail outlet
 
Introduction to RFID
Introduction to RFIDIntroduction to RFID
Introduction to RFID
 
Introduction to software testing
Introduction to software testingIntroduction to software testing
Introduction to software testing
 
Cross platform mobile application architecture for enterprise
Cross platform mobile application architecture for enterpriseCross platform mobile application architecture for enterprise
Cross platform mobile application architecture for enterprise
 

Recently uploaded

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 

Recently uploaded (20)

How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 

Software Task Estimation

  • 1. Software Task Estimation Copy Number _____ Copyright © All Rights Reserved. Page 1
  • 2. Document Control Change Record Date Author Version Change Reference 7th June 2010 Venkat Alagarsamy Draft No previous document Reviewers Name Position Distribution Copy No. Name Location 1 Library Master 2 3 4 Connect Type Location Linkedin https://www.linkedin.com/in/venkatalagarsamy Scribd http://www.scribd.com/VenkatAlagarsamy Slideshare http://www.slideshare.net/VenkatAlagarsamy Blog http://venkatalagarsamy.blogspot.in/ Facebook https://www.facebook.com/Venkatachalapathi.alagarsamy Copyright © All Rights Reserved. Page 2
  • 3. Contents Document Control ............................................................................................................. 2 Overview ............................................................................................................................ 4 Traditional Methods ................................................................................................... 4 Estimating Life Cycle.................................................................................................. 4 Estimating Program Volume ..................................................................................... 4 How to estimate the project based on KSLOC? ............................................................... 4 How to calculate KSOLC? ................................................................................................ 5 Copyright © All Rights Reserved. Page 3
  • 4. Overview Though everyone has a favourite theory as to why software failures occur. In my view projects are failed because poor cost and incorrect estimates than by technical, political, or team problems. Software cost estimation is not an art. It is a science. Only few organizations and individuals understand this science. It is possible to accurately and consistently predict development life cycle costs and schedules for a wide range of projects. Using this concept, to estimate the cost, the only tool required is spredsheet. Traditional Methods The traditional methods that are used to estimate the size and/or volume of the program/task are:  Code size in kilo bytes (Program Volume)  Function points Estimating Life Cycle Accuracy of cost estimates varies based on the software development stage. Early uncertainty is largely based on variances in the input parameters to the estimate. Later uncertainty in the estimate is based on the variance to the estimating models. Initially, at the concept stage, you may be presented with high-level definition of the project. Though the requirements may not yet be fully understood, the general purpose of the new software can be recognized. At this point estimates with an accuracy of plus or minus 50% are typical for an experienced estimator using informal techniques such as historical comparisons and/or group consensus. The key to accuracy lies in making periodic reestimates through out the project life cycle, there by identifying the problems rarely enough to take corrective action. Estimating Program Volume The first step in preparing an estimate is to characterize the project volume. One measure is the number of source lines of code or SLOC. A SLOC is a human return line of code that is not a blank line or commen. Same line should not be counted more than once, even if the code appears several times in an application. Normally the workload is estimated in terms of KSLOC. How to estimate the project based on KSLOC? Person months of effort required for the project is arrived by multiplying estimated quantity of KSLOC and the effort required per KSLOC. This is the bease of all estimating models. Table: Common Values for linear productivity factor# The values in the table below are derived from work by Barry Boehm(COCOMO), Raymond Kyle and the U.S. Air Force Cost Analysis Agency’s revised COCOMO (REVIC), and firms or organizations working directly with the Cost Xpert Group. Exponential Size Penalty Project Type Linear Productivity Factor Factor Default 2.94 1.052 Embedded Development 2.58 1.110 eCommerce Development 3.6 1.030 Web Enabling 3.3 1.030 Military Development 2.77 1.072 ERP 3.96 1.926 Enterprise Application Integration 4.08 2.136 Man months for the smaller projects are calculated as: The Person Man-day = KSLOC * Linear Productivity Factor * 30 For example, To web enable an exsisting application of size 10,000 SOLC it would take, 10 * 3.3 * 30 = 990 Man-day. Copyright © All Rights Reserved. Page 4
  • 5. The above equation could be used only for smaller projects. Productivity varies with project size. In fact, large projects are significantly less productive than small projects- probably because they require increased coordination and communication time, plus more rework due to misunderstandings. This would lead to penalize large projects for decreased efficiency. The exponential size penalty factor column in above table helps with penalty adjustments. Man months for the larger projects are calculated as: The Person Man-Day = KSLOC * Linear Productivity FactorExponential Sise Penalty Factor * 30 For the same above example (Web enabling an exsisting application) and the project is big, The new estimated time would be, 10 * 3.31.030 * 30 = 1,026 Man-days. The above examples are applicable only when the number of KSLOC is known. How to calculate KSOLC? There are two approaches to this. They are:  Direct Estimation  Function points with backfiring For both approaches the fundamental input variables are the experts and developers opinion. Direct Estimation: Normally, the first step in estimating the number of lines of code is the break the project down into modules or some other logical grouping. For example, a very high-level breakdown might be front-end process, middle-tier process, Database code and Reports. Then the developers use their experience in building similar systems to estimate the number of source lines of code required. It is suggested to get three different types of estimate from every input resource. They are:  Best case estimate (BEST)  Worst case estimate (WORST)  Expected case estimate (EXPECTED) Based on these estimates calculate the Mean and Standard Deviation as, Mean = (BEST + WORST + (4 * EXPECTED)) / 6 Standard Deviation = (WORST – BEST) / 6 Standard Deviation is a measure of how much deviation can be expected in the final number. For example, the mean plus three times the Standard Deviation will ensure that there is a 99% probability that the project would be completed as estimated. Function point estimation with backfiring: An alternative to direct SLOC estimating is to start with function points, and then use a process called backfiring to convert them to SLOC. To determine the number of function points, start by estimating the number of external inputs, external interface files, external outputs, external queries and logical internal tables.  External inputs are largely data entry screens. If a screen contains a tabbed notebook or similar metaphor, each tab counted as a separate external input.  External interface files are file-based inputs or outputs. Each record format within the file, or, in the case of XML, each data object type, would count as a separate interface file even if residing in the same physical file.  External outputs are reports. Copyright © All Rights Reserved. Page 5
  • 6. External queries are message or external function-based communication “into” or ”out” of application.  Logical internal tables are the number of tables in the database, assuming the database was third normal form or better. Table: Factors for coverting raw values into factor points Raw Type Function Point Conversion Factor External Inputs 4 External Interface Files 7 External Outputs 5 External Queries 4 Logical Internal Tables 10 To convert from these raw values into an actual count of function points, the raw numbers must be multiplied by a conversion factor from above table. For example, if there is a eCommerce system consisting of ten data entry screens, five interface files, thirty reports, twenty queries and ten logical internal tables, then the total function points are: (10 * 4) + (5 * 7) + (30 * 5) + (20 * 4) + (10 * 10) = 405 Function Points By converting this function points into SOLC using the following table rule. Table: Lines of code per function point by programming language Language SLOC per fun ction point C++ 53 COBOL 107 Oracle 25 SQL 13 VB 24 Java 43 .NET Framework 70 J2EE Framework 70 HTML 14 For example, To implement 405 Function Points using J2EE frame work, it requires 405 * 70 = 30,375 SLOC. To implement a eCommerce systems using J2EE frame work, it takes about 30,375 * 3.31.030 * 30 = 3,316 Man-days. Copyright © All Rights Reserved. Page 6