Solved

Intermediate COCOMO model

Posted on 2003-11-26
2
1,831 Views
Last Modified: 2013-12-04
I want to ask you how can I estimate the code size of a system using function points in the intermediate COCOMO model??

Cheers
0
Comment
Question by:sakkias
2 Comments
 
LVL 9

Expert Comment

by:bhagyesht
Comment Utility
you can get some estimattion tools from www.SoftstarSystems.com
0
 
LVL 45

Accepted Solution

by:
sunnycoder earned 500 total points
Comment Utility
http://tiefighter.et.tudelft.nl/~arthur/cocomo/cocomo.html

Function Point calculation
To calculate Effort and Development time using Cocomo you need an estimate of delivered lines of code. A function point analysis is a method of calculation lines of code using function points. The function point method was originaly developed bij Albrecht. A function point is a rough estimate of a unit of delivered functionality of a software project. To calculate the number of function points for a software project one counts all the user inputs, user outputs, user inquiries, number of files and number of external interfaces splitting them up in simple, average and complex ones.
Number of user inputs
Each user input that provides distinct application oriented data to the software is counted.
Number of user outputs
Each user output that provides application oriented information to the user is counted. In this context "output" refers to reports, screens, error messages, etc. Individual data items within a report are not counted separately.
Number of user inquiries
An inquiry is defined as an on-line input that results in the generation of some immediate software response in the form of an on-line output. Each distinct inquiry is counted.
Number of files
Each logical master file is counted.
Number of external interfaces
All machine-readable interfaces that are used to transmit information to another system are counted.
By multiplying these found countings using the table below a total count is created.
Measurement parameter  Weighting factor
Simple  Average  Complex  
Number of user inputs  3  4  6  
Number of user outputs  4  5  7  
Number of user inquiries  3  4  6  
Number of files  7  10  15  
Number of external interfaces  5  7  10  

This count total isn't the number of function points. To get those we have to use the following formula:

FP= count total x [0.65 + 0.01 x SUM(Fi)]
The only part of the formula we haven't explained yet is the SUM(Fi) part. This is anumber that says something about the Technical complexity. It is generated bij giving a rate on a scale of 0 to 5 for each of the next questions. The hig her the rate the more important the function is.
Does the system require reliable backup and recovery?
Are datacommunications required?
Are there distributed processing functions?
Is preformance critical?
Will the system run in an existing, heavuly utilized operational enviroment?
Does the system require on-line data entry?
Does the on-line data entry require the input transaction to be build over multiple screens or operations?
Are the master files updated online?
Are the input, outputs, files or inquiries complex?
Is the internal processing complex?
Is the code designed to be reusable?
Are conversions and installation included in the design?
Is the system designed for multiple installations in different organizations?
Is the applications designed to facilitate change and ease of use bij the user?
The final step is to get from function points to lines of code. That can be done by multiplying the number function points with a factor that is different for every programming language. This factor discribes how many source lines it takes to implement 1 function point.

further reference
http://www.dacs.dtic.mil/databases/url/key.hts?keycode=4:7
http://www.sei.cmu.edu/activities/str/descriptions/fpa_body.html
0

Featured Post

Threat Intelligence Starter Resources

Integrating threat intelligence can be challenging, and not all companies are ready. These resources can help you build awareness and prepare for defense.

Join & Write a Comment

Whether you've completed a degree in computer sciences or you're a self-taught programmer, writing your first lines of code in the real world is always a challenge. Here are some of the most common pitfalls for new programmers.
A short article about problems I had with the new location API and permissions in Marshmallow
An introduction to basic programming syntax in Java by creating a simple program. Viewers can follow the tutorial as they create their first class in Java. Definitions and explanations about each element are given to help prepare viewers for future …
In this fourth video of the Xpdf series, we discuss and demonstrate the PDFinfo utility, which retrieves the contents of a PDF's Info Dictionary, as well as some other information, including the page count. We show how to isolate the page count in a…

728 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

14 Experts available now in Live!

Get 1:1 Help Now