Treasury Board of Canada Secretariat
Symbol of the Government of Canada

ARCHIVED - Estimate Software Product Size - Basic Procedure


Warning This page has been archived.

Archived Content

Information identified as archived on the Web is for reference, research or recordkeeping purposes. It has not been altered or updated after the date of archiving. Web pages that are archived on the Web are not subject to the Government of Canada Web Standards. As per the Communications Policy of the Government of Canada, you can request alternate formats on the "Contact Us" page.

Annex A – Lexicon

Refer to the Enhanced Management Framework Lexicon or insert a reference to your organisation's Lexicon.

Annex B – Acronyms

Refer to the Enhanced Management Framework Acronyms or insert a reference to your organisation's Acronyms.

Annex C – Flowcharting Symbols

Flowcharting Symbols  
Parallelograms represent inputs and outputs to or from a process/procedure.  
   
Flowcharting Symbols Flowcharting Symbols
Rectangles represent individual process/procedure activities. Diamonds represent important decision points in the process/procedure.
   
Flowcharting Symbols

Flowcharting Symbols
Flowcharting Symbols
Lines with arrowheads connect symbols to show the progression or direction of the activities. Circles represent connectors when a process/procedure flowchart continues on the next page.

Annex D – Bibliography

Boehm, Barry, Software Engineering Economics, Prentice Hall, New Jersey, 1991.

Garmus, David, Herron, David, Measuring the Software Process: A Practical Guide to Functional Measurements, Yourdon Press, 1996.

Jones, Capers, Applied Software Measurement: Assuring Productivity and Quality, McGraw-Hill, Inc., New York, 1996.

Refer to Enhanced Management Framework Web Links.

Annex E – Document Change Control

This chart contains a history of this documents revision. The document itself should be stored in revision control, and a brief description of each version should be entered in the revision control system. That brief description can be repeated in this section.

Revision Number Date of Issue Author(s) Brief Description of Change
0.1 1999-08-24 EMF/PPTO Initial Draft
0.2 1999-09-06 EMF/PPTO Revised Draft
0.3 1999-09-14 EMF/PPTO Reviewers' Comments
0.4 1999-09-23 EMF/PPTO Spreadsheet Annex Added
1.0 1999-11-09 EMF/PPTO First Draft
1.0 2000-01-18 EMF/PPTO Second Draft
       

Annex F –Project Estimates Formula(s) Documentation for Software Product Size – Sheet 1

1. Functional Size Measure
Elements (1A) Count (1B)Weight Total
Inputs   4 (1A)*(1B)
Outputs   5 (1A)*(1B)
Master Files   7 (1A)*(1B)
Inquiries   4 (1A)*(1B)
Interfaces   7 (1A)*(1B)
Algorithms (Optional)   3 (1A)*(1B)
(1C) Functional Size Measure Sum Column


2. Problem Complexity  
Meaning Description (2A) Entry  
Very Low Simple algorithms and calculations -20%  
Low Majority of simple algorithms and calculations -10%  
Average Algorithms and calculations of average complexity. Use of standard math and statistical routines. Basic matrix and vector operations 0%  
High Some difficult or complex calculations. Basic numerical analysis, multi-variable interpolation, ordinary differential equations, basic truncation and round-off concerns. +10%  
Very High Many difficult algorithms and complex calculations. Difficult numerical analysis, partial differential equations, difficult matrix equations, analysis of noisy data. +20%  
(2B) Problem Complexity Adjustment Choose from Column 2A
(2C) Problem Complexity (1C)*(2B)
3. Data Complexity  
Meaning Description (3A) Entry  
Very Low Simple data with few variables, low complexity -20%  
Low Numerous variables but simple data relationships -10%  
Average Multiple fields. Multiple fields and data interactions 0%  
High Complex file structures and data interactions +10%  
Very High Very complex file structure and data interactions +20%  
(3B) Data Complexity Adjustment Choose from

Column 3A

(3C) Data Complexity (1C)*(3B)
(3D) Total Functional Size Measure (1C) + (2C) + (3C)


4. Language Multiplier

go to: http://www.spr.com/library/0langtbl.htm for Programming Languages Table

Language (4A) Multiplier  
COBOL II 107  
C++ 53  
PowerBuilder 16  
Smalltalk 21  
Program Generator 16  
SQL 13  
Database 40  
Visual Basic 5 29  
(4B) Language Multiplier Choose from Column 4A
(4C)Estimated KSLOC (3D)*(4B)/1000


5. Confidence Level  
Meaning Description (5A) Entry  
Little Known If little is known about the requirements. 2.5  
A lot of to be determined(s) If the requirements are well understood but there is some To Be Determined (TBD) in the documentation describing them. 2.0  
Some to be determined(s) If the requirements are well understood but there is a lot To Be Determined (TBD) in the documentation describing them. 1.5  
No to be determined(s) If the requirements are well understood and there is no To Be Determined (TBD) in the documentation describing them. 1.0  
(5B) Confidence Level Choose from Column 5A
(5C) Total KSLOC (4C)*(5B)