COST ESTIMATION- ALGORITHMIC APPROACH GODKNOWS T PESANAI R183853Z CON GODWIN R SIGAUKE R1710743B CON ANORLD SHOKO R182714Z CON AUGUSTINE CHITIMBE R174422A CON NYASHA C MAKAMANZI R186272Z CON INNOCENT GWARA R1710853P CON Algorithmic Method This software cost estimation technique use the mathematical equations to perform the software estimation. The mathematical equations are based on historical data or theory. SLOC (source line of code), function points, and other cost drivers are the inputs. For most algorithmic model, calibration to the specific software environment can be performed to improve the estimation. Examples of the parametric models are COCOMO (Constructive Cost Model), COCOMO II, Putnam's software life-cycle model (SLIM). 1. COCOMO model Disadvantages COCOMO is factual and easy to interpret. One can clearly understand how it works. Accounts for various factors that affect cost of the project. Works on historical data and hence is more predictable and accurate. The drivers are very helpful to understand the impact on the different factors that affect the project costs.. Disadvantages COCOMO model ignores requirements and all documentation. It ignores customer skills, cooperation, knowledge and other parameters. It oversimplifies the impact of safety/security aspects. It ignores hardware issues It ignores personnel turnover levels It is dependent on the amount of time spent in each phase. The hierarchy levels of COCOMO 1. Basic COCOMO model 2. Intermediate COCOMO model 3. Detailed COCOMO model Basic COCOMO model The model is used as a function of the program size in the computing software effort and cost. • Mostly used for small to medium-sized software projects in order to perform a speedy, rough estimation. • It considered to be more effective in circumstance where only a rough effort estimate is required. • The equation for estimating the software efforts for the basic model is: MAN-MONTHS = K1* (Thousands of Delivered Source Instructions) K2 • Where K1 and K2 are two parameters dependent on the application and development environment. Factors Concerning the required characteristics Complexity of the software 1. Required reliability 2. Size of data base 3. Required efficiency (memory and execution time) 4. Analyst and programmer capability 5. Experience of team in the application area 6. Experience of team with the programming language and computer 7. Use of tools and software engineering practices 2.Putnam model Another popular software cost model is the Putnam model. The form of this model is: Technical constant C= size * B1/3 * T4/3 Total Person Months B=1/T4 *(size/C)3 T= Required Development Time in years Size is estimated in LOC Where: C is a parameter dependent on the development environment and It is determined on the basis of historical data of the past projects. Rating: C=2,000 (poor), C=8000 (good) C=12,000 (excellent). Weakness of the PUTNAM model • One significant problem with the PUTNAM model is that it is based on knowing, or being able to estimate accurately, the size (in lines of code) of the software to be developed. There is often great uncertainty in the software size. It may result in the inaccuracy of cost estimation. • Depends on the accuracy of size estimation Function Point Analysis Based Methods The Function Point Analysis is another method of quantifying the size and complexity of a software system in terms of the functions that the systems delivers to the user. There are two steps in counting function points: 1. Counting the user functions. The raw function counts are arrived at by considering a linear combination of five basic software components: external inputs, external outputs, external inquiries, logic internal files, and external interfaces, each at one of three complexity levels: simple, average or complex.. .The sum of these numbers, weighted according to the complexity level, is the number of function counts (FC). The advantages of function point analysis based model are: • function points can be estimated from requirements specifications or design specifications, thus making it possible to estimate development cost in the early phases of development. • function points are independent of the language, tools, or methodologies used for implementation. • non-technical users have a better understanding of what function points are measuring since function points are based on the system user's external view of the system Advantages • The function point can be estimated from either the requirements specifications or the design specification, which makes it possible to estimate the development costs in the development's early phases. • The function points are independent of the language, tools or methodologies that have been used for implementation. • Non-technical users are able to obtain a better understanding of what the function points are measuring, as the function points have been based on the system user's own external view of the system. 3. Function Point Analysis Based Methods cont... 2.Adjusting for environmental processing complexity. The final function points is arrived at by multiplying FC by an adjustment factor that is determined by considering 14 aspects of processing complexity. This adjustment factor allows the FC to be modified by at most 35% or -35%. The Formula for calc.. function point analysis based model : 14 PCA = 0.65 + 0.01*( i 1 ci ) Function Point cont.... • Where PCA = processing complexity adjustment and then ci = complexity factors. • As a result, the various Function Points can vary +/- 35 percent from the original Function counts. • Once they have computed, these Function points can be used in order to compare the size of the project that is proposed, compare with previous projects.