ارائه یک مدل جدید جهت تخمین تلاش لازم برای توسعه سرویس های نرم افزاری

نوع مقاله: پژوهشی

نویسندگان

1 دانشگاه آزاد اسلامی، واحد علوم و تحقیقات تهران

2 دانشگاه صنعتی امیرکبیر، پلی‌تکنیک تهران

چکیده

تخمین دقیق تلاش لازم برای توسعه سرویس‌های نرم افزاری یک چالش بزرگ هم در صنعت و هم برای محققین است. مفهوم تلاش یک پارامتر مهم و تأثیرگذار در فرآیند توسعه و مدیریت سرویس‌های نرم افزاری است. تخمین دقیق تلاش به مدیران پروژه کمک می‌کند تا منابع را بهتر تخصیص دهند و هزینه و زمان را طوری مدیریت کنند که پروژه در وقت و بودجه تعیین شده به اتمام برسد. یکی از مشهورترین روش‌های تخمین تلاش، استفاده از قیاس و مقایسه یک سرویس با موارد مشابه قبلی است. متأسفانه روش قیاس بدون استفاده از وزن‌های مناسب و ارزش دهی به ویژگی‌های یک سرویس، نتایج خوبی نخواهد داشت. بنابراین در این مقاله سعی شده تا با ترکیب روش قیاس و الگوریتم تکامل تفاضلی یک مدل کارا و قابل اطمینان برای برآورد تلاش لازم جهت توسعه سرویس‌های نرم افزاری ایجاد شود. مدل پیشنهادی بر روی داده‌های واقعی مستخرج از پایگاه داده ISBSG و دو پایگاه داده مصنوعی مورد ارزیابی قرار گرفت و نتایج با روش‌های مشهور تخمین تلاش مقایسه گردید؛ مقادیر به دست آمده برای مخازن داده ای ISBSG، همگن و ناهمگن به ترتیب و به ‌طور میانگین بهبود 28%، 34% و 19% را نشان می‌داد.

کلیدواژه‌ها


عنوان مقاله [English]

A Novel Model for Software Services Development Effort Estimation

نویسندگان [English]

  • Amid khatibi bardsiri 1
  • Seyyed mohsen hashemi 1
  • Mohhamdreza Razzazi 2
1 uni
2 uni
چکیده [English]

Accurate estimation of software service development effort is a great challenge both in industry and for academia. The concept of effort is an important and effective parameter in process development and software service management. The reliable estimation of effort helps the project managers to allocate the resources better and manage cost and time so that the project will be finished in the determined time and budget. One of the most popular effort estimation methods is analogy base estimation (ABE) to compare a service with similar historical cases. Unfortunately ABE is not capable of generating accurate results unless determining weights for service features. Therefore, this paper aims to make an efficient and reliable model through combining ABE method and DE algorithm to estimate the software services development effort. In fact, the DE algorithm was utilized for weighting features in the similarity function of the ABE method. The proposed hybrid model has been evaluated on a real data set and two artificial datasets. The obtained results were compared with common effort estimation methods. Obtained values indicate 28, 34 and 19 percentage improvement on the three datasets ISBSG, Moderate, and Severe, respectively.

کلیدواژه‌ها [English]

  • software services
  • effort estimation
  • analogy base estimation
  • differential evolution
  • weighting model
[1] Jorgensen, M., Shepperd, M. (2007). “A systematic review of software development cost estimation studies”. IEEE Transactions on Software Engineering, Vol. 33, No. 1, pp. 33-53.

[2] Bardsiri, V.K., et al. (2013). “LMES: A localized multi-estimator model to estimate software development effort”. Engineering Applications of Artificial Intelligence, Vol. 26, No. 10, pp. 2624-2640.

[3] Limam, N., Boutaba, R. (2010). “Assessing software service quality and trustworthiness at selection time”. IEEE Transactions on Software Engineering, Vol. 36, No. 4, pp. 559-574.

[4] Boehm, B.W., R. Madachy, and B. Steece (2000). “Software cost estimation with Cocomo II with Cdrom”. Prentice Hall PTR.

[5] Boehm, B.W. and R. Valerdi (2008). “Achievements and challenges in cocomo-based software resource estimation”. Software, IEEE, Vol. 25, No. 5, pp. 74-83.

[6] Dalkey, N. and O. Helmer (1963). “An experimental application of the Delphi method to the use of experts”. Management science, Vol. 9, No. 3, pp. 458-467.

[7] Azzeh, M. (2012). “A replicated assessment and comparison of adaptation techniques for analogy-based effort estimation”. Empirical Software Engineering, Vol. 17, No. 1-2, pp. 90-127.

[8] Azzeh, M., Y. Elsheikh, and M. Alseid (2014). “An Optimized Analogy-Based Project Effort Estimation”. International Journal of Advanced Computer Science & Applications, Vol. 5, No. 4, pp. 6-11.

[9] Breiman, L., et al. (1984). “Classification and regression trees”. CRC press.

[10] Dejaeger, K., et al. (2012). “Data mining techniques for software effort estimation: A comparative study”. IEEE Transactions on Software Engineering, Vol. 38, No. 2, pp. 375-397.

[11] Bardsiri, A.K. and S.M. Hashemi (2014). “Software Effort Estimation: A Survey of Well-known Approaches”. International Journal of Computer Science Engineering, Vol. 3, No. 1, pp. 46-50.

[12] Jones, C. (2007). “Estimating software costs: bringing realism to estimating”. McGraw-Hill Professional.

[13] Boehm, B.W. (1981). “Software engineering economics”.  Prentice-hall Englewood Cliffs (NJ).

[14] Albrecht, A.J. and Gaffney, J.E. (1983). “Software function, source lines of code, and development effort prediction: a software science validation”. IEEE Transactions on Software Engineering, Vol. 9, No. 6, pp. 639-648.

[15] Andreou, A.S. and Papatheocharous, E. (2008). “Software Cost Estimation using Fuzzy Decision Trees”. 23rd IEEE/ACM International Conference on Automated Software Engineering (ASE '08). IEEE Computer Society, USA, pp. 371-374.

[16] Shepperd, M. and C. Schofield (1997). “Estimating software project effort using analogies”. IEEE Transactions on Software Engineering, Vol. 23, No. 11, pp. 736-743.

[17] Bardsiri, V.K., et al. (2013). “A PSO-based model to increase the accuracy of software development effort estimation”. Software Quality Journal, Vol. 21, No. 3, pp. 501-526.

[18] Azzeh, M. (2011). “Software effort estimation based on optimized model tree”. 7th International Conference on Predictive Models in Software Engineering, Canada, ACM, pp. 1-8.

[19] Shukla, R., M. Shukla, and T. Marwala (2014). “Neural network and statistical modeling of software development effort”. Second International Conference on Soft Computing for Problem Solving (SocProS), Springer, pp. 189-198.

[20] Azzeh, M., D. Neagu, and P.I. Cowling (2010). “Fuzzy grey relational analysis for software effort estimation”. Empirical Software Engineering, Vol. 15, No. 1, pp. 60-90.

[21] Angelis, L. and I. Stamelos (2000). “A simulation tool for efficient analogy based cost estimation”. Empirical software engineering, Vol. 5, No. 1, pp. 35-68.

[22] Chiu, N.-H. and S.-J. Huang (2007). “The adjusted analogy-based software effort estimation based on similarity distances”. Journal of Systems and Software, Vol. 80, No. 4, pp. 628-640.

[23] Hsu, C.-J. and C.-Y. Huang (2011). “Comparison of weighted grey relational analysis for software effort estimation”. Software Quality Journal, Vol. 19, No. 1, pp. 165-200.

[24] Li, Y., M. Xie, and T. Goh (2007). “A study of genetic algorithm for project selection for analogy based software cost estimation”. International Conference on Industrial Engineering and Engineering Management, Singapore, IEEE, pp. 1256-1260.

[25] Li, Y.-F., M. Xie, and T. Goh (2009). “A study of the non-linear adjustment for analogy based software cost estimation”. Empirical Software Engineering, Vol. 14, No. 6, pp. 603-643.

[26] Walkerden, F. and R. Jeffery (1999). “An empirical study of analogy-based software effort estimation”. Empirical software engineering, Vol. 4, No. 2, pp. 135-158.

[27] Wu, D., J. Li, and Y. Liang (2013). “Linear combination of multiple case-based reasoning with optimized weight for software effort estimation”. The Journal of Supercomputing, Vol. 64, No. 3, pp. 898-918.

[28] Ferrucci, F., et al. (2010). “Genetic programming for effort estimation: an analysis of the impact of different fitness functions”. Second International Symposium on Search Based Software Engineering (SSBSE), Italy, IEEE, pp. 89-98.

[29] Huang, S.-J. and N.-H. Chiu (2006). “Optimization of analogy weights by genetic algorithm for software effort estimation”. Information and software technology, Vol. 48, No. 11, pp. 1034-1045.

[30] Li, J., et al. (2007). “A flexible method for software effort estimation by analogy”. Empirical Software Engineering, Vol. 12, No. 1, pp. 65-106.

[31] Storn, R. and K. Price (1997). “Differential evolution–a simple and efficient heuristic for global optimization over continuous spaces”. Journal of global optimization, Vol. 11, No. 4, pp. 341-359.

[32] Mohanty, B., S. Panda, and P. Hota (2014). “Controller parameters tuning of differential evolution algorithm and its application to load frequency control of multi-source power system”. International Journal of Electrical Power & Energy Systems, Vol. 54, pp. 77-85.

[33] Hu, Z., et al. (2014). “A convergent differential evolution algorithm with hidden adaptation selection for engineering optimization”. Mathematical Problems in Engineering, Vol. 2014, pp. 1-18.

[34] Nassif, A.B., D. Ho, and L.F. Capretz (2013). “Towards an early software estimation using log-linear regression and a multilayer perceptron model”. Journal of Systems and Software, Vol. 86, No. 1, pp. 144-160.

[35] Kocaguneli, E. and T. Menzies (2013). “Software effort models should be assessed via leave-one-out validation”. Journal of Systems and Software, Vol. 86, No. 7, pp. 1879-1890.

[36] Mair, C., M. Shepperd, and M. Jørgensen (2005). “An analysis of data sets used to train and validate cost prediction systems”. ACM SIGSOFT Software Engineering Notes, ACMpp, pp. 1-6.

[37] ISBSG (2011). “International Software Benchmarking standard Group”, www.isbsg.org.

[38] Pickard, L., B. Kitchenham, and S. Linkman (2001). “Using simulated data sets to compare data analysis techniques used for software cost modelling”. IEEE Proceedings-Software, Vol. 148, No. 6, pp. 165-174.

[39] Ahmed, M.A., M. Omolade Saliu, and J. AlGhamdi (2005). “Adaptive fuzzy logic-based framework for software development effort prediction”. Information and Software Technology, Vol. 47, No. 1, pp. 31-48.

[40] Li, Y.-F., M. Xie, and T.N. Goh (2009). “A study of project selection and feature weighting for analogy based software cost estimation”. Journal of Systems and Software, Vol. 82, No. 2, pp. 241-252.