Professional Documents
Culture Documents
7, JULY 2011
ISSN 2079-8407
Ph.D Student, Mewar University (Gangrar) Chittodgarh Rajasthan India 2 Dean-Professor(CS/IT) BRCM CET,Bahal Bhiwani 1 callchetan_nagar@yahoo.com,2 anuradixit@gmail.com
ABSTRACT
According to Roger S Pressman Software efforts estimation is not an exact science. Day per day competition in the software industries is increasing; in such scenario accurate efforts estimation is become an important task. Efforts estimation is one of essential activity of software development which is providing basis for other software activities like scheduling, planning .Software cost and efforts estimation is become a challenge for IT industries. There are lot of methods are existing for efforts and cost estimation, but people do not know how to use these methods. Industries only concentrating on KLOC for efforts estimation, but there is a lot of other parameter like efforts of reuse must be include in efforts estimation. IT industries are making two types of project. First, which has a specific customer; all requirements are given by this customer. Second, in which requirement are gather by using some survey In case of second type of project efforts estimation become much difficult because we do not have a specific customer and we have to estimate efforts accurately and complete the project within time limit ,because we have a no of competitors . So a systematic approach is required for efforts estimation .This paper is suggesting a systematic way of efforts estimation, which will cover all phases of software development and it is trying to involve all those parameter that may affect the efforts of a software project.
Keywords KLOC (Kilo Line of Code),.UCP (Use Case Point), FP (Function Point), these are all unit of software size. Software Efforts estimation, Person-month, Person-Hours these are units of efforts.
I. INTRODUCTION
Software efforts estimation is one of important activity of software development. Software cost estimation plays an important role in software engineering practice, often determining the success or failure of contract negotiation and project execution. Cost estimations deliverables such as effort, schedule, and staff requirements are valuable information for project formation and execution. They are used as key inputs for: Project bidding and proposal Budget and staff allocation Project planning, progress monitoring and control Investment decision Tradeoff and risk analysis Stakeholder negotiation and expectations management
software estimating are driven by the nature of software as a product. Other problems are created by the nature of the estimating methodologies. Software cost estimation is a continuing activity which starts at the proposal stage and continues through the lift time of a project. Continual cost estimation is to ensure that the spending is in line with the budget.
When we complete efforts estimation, we got the person - month or Person- hours required to build that project. Now we have to make a plan that will shows that which activity will be complete on what time and how much effort will be required to complete it According to Roger S pressman Softwares are developed not manufactured. Manufactured word used for physical component. Efforts estimation for a physical component is simple and easy. Efforts estimation for a software component is difficult process. There are, however, aspects of the process that are peculiar to software estimating. Some of the unique aspects of
312
ISSN 2079-8407
data to predict KLOC, but no project will completely same with previous project, so some intelligence and experience will be required for a better estimation. Here we will use advance COCOMO for estimation.
TABLE III EFFORTS ADJUSTMENT FACTORS USED IN ADVANCE COCOMO OTHER THAN INTERMEDIATE COCOMO
Scale Factor PREC Sample Value nominal CMM Level (upper) nominal nominal I Project Description Precedence. Process maturity. Team cohesion. Development flexibility. Architecture and risk resolution.
Using the following table1 we can calculate Use Case used in a project
313
ISSN 2079-8407
i. ii.
UCP=UUCP*TCF*EF TCF is Technical Complexity Factor, which is sum of 13 complexity parameters.[6] EF is Experience Factor, which is sum of 08 complexity parameters.[6] Effort= UCP *ER (Efforts will be in man hours) ER is efforts rate. ER is the no of man hours will required to write a UCP.
iii.
iv.
The coordinator gives an estimation form to each expert. Each expert presents his own estimation (without discussing with others) The coordinator gathers all forms and sums up them (including mean or median) on a form and ask experts to start another iteration. Steps (ii-iii) are repeated until an approval is gained.
Figure 1 shows an example of using Delphi technique in which eight experts contributed and final convergence was determined after passing four stages (Mahmud S et al. ,2008).
In the given graph when both the line will cross to each other, that point will be final point, which shows efforts estimated.
In this method a similarity function is defined which compares features of two projects. There are two popular similarity function namely Euclidean similarity (ES) and Manhattan similarity (MS) (Shepperd, M, Schofield, C, 1997, Chiu, N, Huang, S.J, 2007). p and p' are projects w is the weight is assigned to each feature and varies between 0 and 1. Fi and f ' display the ith feature of each project and n demonstrates the number of features. is used for obtaining the none zero results. The MS formula is very similar to ES but it computes the absolute difference between features.
i i
Above specified range of percentage is not fixed for every project and every company, it project by project and may very company by company. We are suggesting a formula that will cover all the phases of software development.
314
ISSN 2079-8407
Following steps must be followed for the efforts estimation A. Calculate efforts of requirement analysis (Ea). It is the first phase of software development, in which we try to gather the complete requirement of the project. We can use 4GT if required. In the analysis phase we perform requirement analysis, feasibility analysis , SRS making , Planing and scheduling B. When we completely understand the problem then we have to estimate % of reuse (Components are previously build up and present in library). So we need to estimate the efforts required Er to establish a interface with other components C. Now find % of reuse with change(Component can be reuse but some change will required ) So we need to estimate the efforts required Erc to make desired change and establish a interface with other components D. Now we have to follow one method for efforts estimation which is specified in previous section and calculate required for development Ed. It is always recommended that we must use more than one method for estimation. If we are getting a large difference between efforts estimated by these methods than we have to re estimate and check where mistake was take place. Ed= (E1+E2+E3..En)/N E1, E2, E3..En is the efforts estimated by different methods and N is the no of methods. E. Now we have to estimate efforts for testing Et F. Estimate efforts for documentation Edc
Software development completed after a set of activity like analysis, design, coding and testing Fig 2 showing the steps of software development and corresponding efforts required to complete that steps
Analysis
Ea Er
Ed
Et
Documentation
Edc
Eit
Here paper is suggesting another parameter %of Error. We know that actual efforts always deviate from efforts estimated by using some formula. So we are adding a % of Error to the efforts estimated. Now the question is that how to estimate % of error, for that we have to collect old data and calculate the deviation, from these we have to find %of Error.% of Error will not same for all kind of projects ,we have to categories the old projects and calculate the difference between efforts estimated and actual efforts. We can use following formula for calculating % of Error: % of Error= SUM of deviation of N old projects / N
G. Estimate efforts for implementation and taring for end user Eit. H. If we are using incremental approach than we will deliver first increment and ask customer for change (if any). That change must be incorporate when we will deliver re of first increment with changes and second increment. So we also need to estimate efforts required for such changes .Ei So the actual efforts required development is: for the complete
Now estimated efforts will be E=E+ % of Error For every next project we have to see that was the % of error that we have added in previous estimation. If still we are finding much difference between actual efforts and efforts estimated. Than have to check following things: A. Process/ methods of estimation: - We are not following the proper method of estimation for such kind of project.
E=Ea+Er+Erc+Ed+Et+EdcEit+Ei
315
ISSN 2079-8407
B. Prediction of parameters(Cost Drivers):Prediction of cost driver is not correct C. Calculation of % error: - Formula we are using to find % of error need to revise.
[5]
Roger E Masse An Analysis of the Evolution of COCOMO and Function Point July 8 1997. http://www.rogermasse.com/papers/softwaremetrics/ Edward R Carroll Estimating Software Based on Use Case Point October 2005 Companion to the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications. Boehm, B.W., et al.: Software Cost Estimation with COCOMO II. Prentice Hall, NY(2000) Boehm, B. and C. Abts, Software Development CostEstimation Approaches-A Survey. Annals of Software Engineering, 2000. 10(1-4): p. 177-205. Boehm, B. W., & Valerdi, R. Achievements and challenges in cocomo-based software resource estimation, IEEE Software, 25(5),7483.doi:10.1109/MS ,2008. Yinhuan, Z., W. Beizhan, et al. "Estimation of software projects effort based on function point". Computer Science & Education. ICCSE. 4th International Conference on,2009 Galorath, D. D., & Evans, M. W. Software sizing, estimation, and risk management: When performance is measured performance improves. Boca Raton, FL: Auerbach, 2006. Matson, J., Barrett B., Mellichamp J., SoftwareDevelopment Cost Estimation Using Function Points, IEEE Transactions on Software Engineering, vol. 20,no.4, April 1994, pp. 275287. Symons C., Function Point Analysis: Difficulties and Improvements, IEEE Transactions on Software Engineering, Vol. 14, No. 1, January, 1988. Lvesque G., Bevo V., Measuring Size for the Development of a Cost Model: A Comparison of Results Based on COSMIC FFP and Slim BackFiring Function Points, Proceedings of the 11th International Workshop on Software Measurement, Montreal, Canada 2001, IWSM 2001. Pressman R.S., Software Engineering: A Practitioners Approach, fourth edition, The McGraw- Hill Companies, Inc., 1997.
IV. CONCLUSION
There are many methods available for efforts estimation, but industries not using those methods because they are very complex and not easy to understand. In this paper we have try to provide a systematic approach for efforts estimation. That approach much simple and easy to understand. Here we have calculated efforts by relating the software development activities. This approach is also useful for bingers who recently entered in software development. Strong monitoring policies will be required to make software efforts estimation successful. Following points we must be consider for accurate efforts estimation: I. Estimation team must contain most experience person of your software development team, because value of most of parameter is depend on the prediction and a experience person can predict more accurately. J. Do not use a single method for estimation. If we are using one method for estimation and some mistake will take than no way to check it. K. We must maintain a database for reference to next projects. L. We have to make a work break down structure and follow it strictly. M. Estimate efforts for all phases of software development, same that we done in this paper.
[6]
[7]
[8]
[9]
[10]
[11]
[12]
REFERENCES
[1] Vahid Khatibi, Dayang N. A. Jawawi Software Cost Estimation Methods: Review, Journal of Emerging Trends in Computing and Information Sciences Volume 2 No. 1 January 2011. Boehm, Software Engineering Economics, Prentice Hall, 1981. Chiu , N.H., Huang, S.J., The adjusted analogybased software effort estimation based on similarity distances, Journal of Systems and Software 80 (4), 628640.2007 Cuadrado-Gallego, J. J., Rodri, et al. Analogies and Differences between Machine Learning and Expert Based Software Project Effort Estimation. Software Engineering Artificial Intelligence Networking and Parallel/Distributed Computing (SNPD), 11th ACIS International Conference [15] [13]
[2]
[14]
[3]
[4]
316