You are on page 1of 9

International Journal of Computer Trends and Technology- volume3Issue5- 2012

A Novel Approach in Cost Estimation based on Algorithmic Model.


Prof. N. Suresh HOD/CSE Kurinji College of Engineering and Technology Manapparai 621 307. Abstract: Software engineering is the step by step process for developing an efficient system, which is expected by the user. To achieve or develop the system we are having many lifecycle models. But while considering the software development lifecycle model cost estimation is the essential thing to predict how much effort is needed to develop the system. In the phase of software deployment, overall expenses should be within the range of estimated amount in analysis phase. In this paper we propose a novel approach in cost estimation technique based on the algorithmic models. Keywords: Algorithmic model, software complexity, employee effort. I) Introduction: Estimation theory is a branch of every field that deals with estimating the values of parameters based on the existing data and methods. The parameters describe an underlying physical setting in such a way that the value of the parameters affects the distribution of the measured data. An estimator attempts to approximate the unknown parameters using the measurements. Software engineering cost estimation models and techniques are used for many purposes. The Dr. D. Manimegalai M. E., Ph. D., Prof & Head / IT National Engineering College, Kovilpatti. software budgeting is the primary thing for accuracy of the overall estimate. An important additional capability is to illuminate the cost and schedule sensitivities of software project decisions while handling the risk analysis. There are several types of cost estimation models available. Some of them are: Constructive Cost Model Wideband Delphi Putnam model Function point Analysis effort method Expert Judgement

Here is what Boehm says about the model: Basic COCOMO is good for rough order of magnitude estimates of software costs, but its accuracy is necessarily limited because of its lack of factors to account for differences in hardware constraints, personnel quality and experience, use of modern tools and techniques, and other project attributes known to have a significant influence on costs. In wideband method compared to the existing delphi method, the new method involves greater interaction and more communication between those who are participating. The Putnam model is an Empirical Page 685

ISSN: 2231-2803 http://www.internationaljournalssrg.org

International Journal of Computer Trends and Technology- volume3Issue5- 2012


software effort estimation model empirical models work by collecting software project data and fitting a curve to the data. Future effort estimates are made by providing size and calculating the associated effort using the equation which fit the original data. The functional user requirements of the software are identified and each one is categorized into one of five types: outputs, inquiries, inputs, internal files, and external interfaces. Once the function is identified and categorized into a type, it is then assessed for complexity and assigned a number of function points. Each of these functional user requirements maps to an end-user business function. The analysis effort method is a method for estimating the duration of software engineering projects. It is best suited to produce initial estimates for the length of a job based on known time duration for preparing a specification. Input to the method are numeric factors which indicate size, familiarity and complexity. In this paper we have tried a novel approach for cost estimation based on the algorithmic cost models. Algorithmic Cost Models: Most of the work carried out in the software cost estimation [2] field has focused on algorithmic cost modeling. In this estimation approach costs are analyzed using mathematical formulas and models or inputs with metrics to produce an estimated output. The formulae used in the estimation model arise from the analysis of project description. The accuracy of the model can be improved by calibrating the model to the specific development environment, which basically involves adjusting the weightings of the metrics. On an initial instinct one might expect formal models to be advantageous for their off-the-shelf qualities, but after close observation this is regarded as a disadvantage by cost estimators due to the additional overhead of calibrating the system to the local circumstances. The more time spent in calibrating a formal model the more accurate the cost estimates would be. An input requirement of an algorithmic model is to provide a metric to measure the size of the finished system. Typically lines of source code, no of employees taken, duration and external circumstance are used. These are obviously not known at the starting stage of the project. Since SLOC is also very dependant on the programming language and programming environment, it is difficult to determine at an early stage in the problem especially as requirements are likely to be sketchy. An alternative is to use function points, which are related to the functionality of the software rather than its size. A more recent approach is to use object points. This is in comparison a new methodology and has not been publicized in the same depth as function points. In essence the method is very similar to the function points but counts objects instead of functions. Algorithmic models generally provide direct Page 686

ISSN: 2231-2803 http://www.internationaljournalssrg.org

International Journal of Computer Trends and Technology- volume3Issue5- 2012


estimates of effort or duration. In our proposed method we gave weight age for both to produce the novel approach in software cost estimation. II) Proposed Method: In our proposed method, we mainly concentrate on the product complexity, employee effort and time based on this we are going to construct the novel method. While considering the employee effort we have to consider the people who are all involved through out the development. How can we predict the person worth ability? Isnt it easy one?. Compared to every other factor determining the person effort is difficult thing, which is determined by lot of factors like analyst capability, application experience, programming capability, platform experience, a language, tool experience and personnel continuity. The above factors are not necessarily independent, and most of them are hard to quantify. In many models, some of the factors appear in combined form and some are simply ignored. Also, some factors take discrete values, resulting in an estimation function with a piece-wise form. In the proposed method we are considering only the size, security, level of technology, reliability, deadline, environment for the affecting factor of project. Mean while for employee we consider capability, experience, Domain Experience, Co operativeness, Consistency and Availability for affecting factors. In table 1 we list out all the attributes or affecting factors of the software along with the ratio of effectiveness in terms of natural language like high, low, avg, crucial and normal.

Table 1: Development method Characteristics Development Characteristics Method Size Security Level of Reliability Deadline Technology Disconnected large medium greater normal avg Mode Embedded extensive Low High Low Crucial Mode Research Mode Living Mode Very large Normal High Avg High Low High Low Crucial Normal

Environment stable Difficult/ huge interface Very hard easy

In table 2 the quantity of effectiveness out of 5 for every domain is given. Same natural language may get different values in

the quantitative method corresponding to the domain. Using both tables we can derive the complexity of the software.

ISSN: 2231-2803 http://www.internationaljournalssrg.org

Page 687

International Journal of Computer Trends and Technology- volume3Issue5- 2012


Table 2: Development method Characteristics Ratio Development Method Characteristics Size Disconnected Mode Embedded Mode Research Mode Living Mode
n

Security 2 1 5 3

Level of Technology 4 5 5 1

Reliability 2 1 5 0

Deadline Environment 3 5 5 2 3 5 4 2

3 5 4 2

PC Si SEi LT RE DE ENi / 6 i i i
i1

DE EN

- Deadline - Environment

EQU S SE LT RE - Size - Security

(1)

I= 1 to n means number of modules At the end of this formulae we can obtain the complexity of every modules that will be used in future steps.

- Level of Technology - Reliability

Table 3: Person Involvement Persons type Characterstics Capability Experience Domain Co Consistency Availability Experience operative Norm Low Norm Norm Avg Low Avg High High Low Hgh Avg Nirm High Low Low Avg Null Avg High Avg low Norm low

Analyst Designer Developer Tester

ISSN: 2231-2803 http://www.internationaljournalssrg.org

Page 688

International Journal of Computer Trends and Technology- volume3Issue5- 2012


Table 4: Person Involvement ratio analysis. Persons type Characterstics Capability Experience Domain Co Consistency Availability Experience operative 2 1 2 2 3 1 3 4 5 1 4 3 2 5 1 1 3 2 4 5 4 0 2 2 steps. It always gives better optimized cost only. After computed the cost we have to another one

Analyst Designer Developer Tester


N

EF C i EX i DEi Coi CS i AVi / 6


I 1

(2)

C EX DE CO CS AV

- Capability - Experience - Domain Experience - Co operative - Consistency - Availability factor. If the time is not sufficient to finish the work within available employee we have to increase the team size or we engaged some other person to finish the corresponding work within the time. For that in below formulae we made decision analysis.

I= 1 to n means number of employee At the end of these formulae we can obtain the effort of every employee related to the project that will be used in the forth coming steps.
NE PC / EF (3)

DESI Time / NE * WH

(4)

If its need more employees we have to estimate the corresponding cost for parallel development. III) Conclusion:

No of employee needed for finishing the project will get in this formula and also we estimate the cost to finish the project. External circumstance discussed in the table itself the average value of performance will take to the future

In this paper we provided an effective cost estimation method based on the algorithmic model. It mainly concentrates on software complexity and employee effort. This is an easy computation method to handle. In future a comparative Page 689

ISSN: 2231-2803 http://www.internationaljournalssrg.org

International Journal of Computer Trends and Technology- volume3Issue5- 2012


analysis will be done with other existing methods. V) References: [1] Bennett and Rajlich, Software Maintenance and Evolution: a Roadmap, in A. Finkelstein (ed.), The Future of Software Engineering, ICSE 2000, June 4-11, Limerick, Ireland, pp 75 87. [2] Granja-Alvarez JC and BarrancoGarcia MJ, A Method for Estimating Maintenance Cost in a Software Project: A Case Study, J. Software Maintenance: Res. And Practice, vol. 9, 1997, pp 161 175. [3] Jorgensen M, Experience with the Accuracy of Software Maintenance Task Effort Prediction Models, IEEE Transactions on Software Engineering, Vol. 21, No. 8, August 1995, pp 674 681. [4] Ramil JF, Lehman MM and Kahen G, The FEAST Approach to Quantitative Process Modelling of Software Evolution Processes, Proc. PROFES 2000, 2nd International Conference on Product Focused Software Process Improvement, Oulu, Finland, June 20 - 22, 2000, in Frank Bomarius and Markku Oivo (eds.) LNCS 1840, Springer Verlag, Berlin, 2000, pp 311 325. [5] Lehman MM, Rules and Tools for Software Evolution Planning and Management, Pre-prints FEAST 2000 Workshop, Imp. Col., 10 - 12 Jul. 2000, pp 53 68. [7] G. Blitz, Jarry, M. Coles, Dhillon, C. Fagan. Fundamental Practices for Secure Software Development: A guide to most effective secure practices today. Safe Code Software Forum for Excellence in Code, 2008. [8] G. McGraw. Testing for Security during Development: Why We Should Scrap Penetrate-andPatch. IEEE Aerospace and Electronic Systems, 13(4):1315, 1998. [9] G. McGraw. Software Penetration Testing, Building Security In. published by IEEE Computer Society, 2005. [10] Barbato, A. Montes, Vijaykumar. Methodologies and Tools for Software Vulnerabilities Identification. [11] G. McGraw. Automated Code Review Tools Used for Security, How Things WorK. Cigital, 2005 [12] G. McGraw. Software Security Testing, Building Security In. published by IEEE Computer Society, 2004. [13] Allen, Julia, Barnum, Sean, Ellison, Robert, McGraw, Gary, Mead, Nancy. Software Security Engineering: A Guide for Project Managers. Addison-Wesley, 2008. [14] M. U. A. Khan, M. Zulkernine. A Survey on Requirements and [6] G. McGraw. Software Security, Building Security. In published by IEEE Computer Society, 2004.

ISSN: 2231-2803 http://www.internationaljournalssrg.org

Page 690

International Journal of Computer Trends and Technology- volume3Issue5- 2012


Design Methods for Secure Software Development. Technical Report No. 2009 562 , School of Computing, Queens University, Kingston, Ontario, Canada, 2009. [15] Sodiya, Onashoga, Ajayi. Towards Building Secure Software Systems, Issues in Informing Science and Information Technology . 3: 2006. [16] Bruce Powel Douglass. In: Real-time agility The Harmony/ESW method for Real-time and Embedded Systems Development, Pearson Education, Inc., June 2009, pp. 197410. [17] Anders Mattsson, Bjorn Lundell, Brain Lings and Brain Fitzgerald, Linking Model-Driven Development and Software Architecture: A Case Study, IEEE Transactions on Software engineering, vol. 35, no. 1, JanuaryFebruary 2009. [18] Maria Jose Escalona and Gustavo Aragon, NDT. A ModelDriven Approach for Web Requirements, IEEE Transactions on Software Engineering, vol. 34, no. 3, May - June 2008. [19] Spyros T. Halkidis, Nikolaos Tsantalis, Alexander Chatzigeorgiou, and George Stephanides, Architectural Risk Analysis of Software. Systems Based on Security Patterns, IEEE Transactions on Dependable and Secure Computing, vol. 5, no. 3, July - September 2008. [20] Patrizio Pelliccione, Paola Inverardi, and Henry Muccini, CHARMY: A Framework for Designing and Verifying Architectural Specifications, IEEE Transactions on Software Engineering, vol. 35, no. 3, MayJune 2009. [21] Jan Jurjens and Yijun Yu, Tools for Model-based Security Engineering: Models vs. Code, ASE 2007. [22] Jan Jurjens, Jorg Schreck and Yijun Yu, Automated Analysis of Permission-Based Security using UMLsec, The Open University, GB, O2 (Germany), Munich. [23] Bruce Powel Douglass, RealTime Agility The Harmony/ESW Methods for Real-Time and Embedded Systems Development, Pearson Education Inc., 2009, pp. 193-410. [24] Johan Peeters, Agile Security Requirements Engineering, Independent. [25] Hossein Keramati Seyed, Hassan Mirian, Hosseinabadi, Integrating Software Development Security Activities with Agile Methodologies, Sharif University of Technology, IEEE 2008. [26] M. Siponen, R. Baskerville, T. Kuivalainen, Extending Security in Agile Software Development Methods. [27] Xiaocheng Ge, Richard F. Paige, Fiona A. C. Polack, Howard Chivers, Phillip J. Brooke, Agile Page 691

ISSN: 2231-2803 http://www.internationaljournalssrg.org

International Journal of Computer Trends and Technology- volume3Issue5- 2012


Development of Secure Web Applications, ICWE06, July 11-14, ACM. [28] Chapter 9, In Design Approaches, pp. 133-143. [29] David Janzen, Hossein Saiedian, Test-Driven Development: Concepts, Taxonomy, and Future Direction, IEEE Computer Society. [30] Lazar, B. Parv, S. Motogna, I. G. Czibula, and C. L. Lazar, An Agile MDA Approach for Executable UML Structured Activities, Studia University BabesBoyai, Informatica, Vol. LII, No. 2, 2007. [31] John Hunt, In: Agile Software Construction, Springer, London 2006. [32] Scott W. Ambler, Executive Summary, an Agile Approach to Enterprise Architecture, Cutter Consortium Enterprise Architecture Executive Summary, Vol. 7, No. 5. [33] Noura Abbas, Andrew M. Gravell, Gray B. Wills, Historical Roots of Agile Methods Where did Agile Thinking Come from?, University of Southampton, UK. [34] Tom DeMarco, Barry Boehm, The Agile Methods Fray, Software Technologies, IEEE Computer Society, June 2002. [35] Jim Highsmith, Alistair Cockburn, Agile Software Development: The Business of Innovation, Software Management, ACM 2001. [36] Barry Boehm, Richard Turner, Using Risk to Balance Agile and Plan-Driven Methods, IEEE Computer Society, June 2003. [37] Jaelson Castro, Manuel Kolp, John Mylopoulos, A RequirementsDriven Software Development Methodology. [38] Koen Yskout, Riccardo Scandariato, Bart De Win, Wouter Joosen, Transforming Security Requirements into Architecture, IEEE 2008, Third International Conference on Availability, Reliability, and Security. [39] Meenakshi Deshmukh, Security Requirements Engineering Process, Seminar in Information System, Security Engineering, 2009. [40] Siv Hilde Houmb, Shareeful Islam, Eric Knauss, Jan Jurjens, Kurt Schneider, Eliciting Security Requirements and Tracing them to Design: An Integration of Common Criteria, Heuristics and UMLsec, JRE_SR_Elicitation 2009. [41] Golnaz Elahi, Eric Yu, Nicola Zannone, A Vulnerability-Centric Requirements Engineering Framework Analyzing Security Attacks, Countermeasures, and Requirements Based on Vulnerabilities. [42] D. Verndon and G. McGraw, Risk Analysis in Software Design, IEEE Security & Privacy, vol. 2, no. 4, 2004, pp. 7984. [43] C.E. Landwehr et al., A Taxonomy of Computer Program Page 692

ISSN: 2231-2803 http://www.internationaljournalssrg.org

International Journal of Computer Trends and Technology- volume3Issue5- 2012


Security Flaws, with Examples, tech. report NRL/ FR/554293/9591, Naval Research Laboratory, Nov. 1993. [44] G. McGraw, Software Security, IEEE Security & Privacy, vol. 2, no. 2, 2004, pp. 8083. [45] G. Hoglund and G. McGraw, Exploiting Software, AddisonWesley, 2004. [46] J. Whittaker and H. Thompson, How to Break Software Security, Addison-Wesley, 2003. [47] Ramil JF, Lehman MM and Kahen G, The FEAST Approach to Quantitative Process Modelling of Software Evolution Processes, Proc. PROFES 2000, 2nd International Conference on Product Focused Software Process Improvement, Oulu, Finland, June 20 - 22, 2000, in Frank Bomarius and Markku Oivo (eds.) LNCS 1840, Springer Verlag, Berlin, 2000, pp 311 325. [48] Ramil JF, Why COCOMO Works' Revisited or Feedback Control as a Cost Factor, Pre-Prints FEAST 2000 Workshop, Imp. Col., London, 10 - 12 Jul. 2000, pp 89 94. [49] Ramil JF, Lehman MM, Metrics of Software Evolution as Effort Predictors - A Case Study, Proc. ICSM 2000, Int. Conference on Software Maintenance, 11-14 Oct. 2000, San Jose, CA, forthcoming. [50] Robertson J and Robertson S, Mastering the Requirement Process, Addison-Wesley, London, 1999. [51] Shepperd M, Schonfied C and B Kitchenham, Effort Estimation Using Analogy, Proc ICSE 18, 1996, pp 170 178. [52] Stark GE, Software Maintenance Lessons Learned, WESS 98, Bethesda MD, Nov. 16, 1998, pp 17 19. [53] Staudenmayer N, Graves T, Marron JS, Mockus A, Siy H, Votta L and Perry D, Adapting to a New Environment: How a Legacy Software Organization Copes with Volatility and Change, 5th Int. Product Dev. Manag. Conference, Como, Italy, May 1998. [54] Vensim Reference Manual, Ver. 1.62, Ventana Systems Inc., Belmont, MA, 1995.

ISSN: 2231-2803 http://www.internationaljournalssrg.org

Page 693

You might also like