A Model-Driven Decision Support System for Software Cost Estimation (Case Study: Projects in NASA60 Dataset)

Document Type : Original Article

Author

Department of Statistics, Mathematics and Computer Sciences, Allameh Tabataba’i University

Abstract

Estimating the costs of software development is one of the most important activities in software project management. Inaccuracies in such estimates may cause irreparable loss. A low estimate of the cost of projects will result in failure on delivery on time and indicates the inefficiency of the software development team. On the other hand, high estimates of resources and costs for a project will waste opportunities for other projects. This paper presents a methodology for estimating the costs of software development. The methodology is a model-driven decision support system that consists of four subsystems; namely Data subsystem, Model subsystem, User Interface subsystem, and Knowledge subsystem. The core supports of this system are based on coherent theory on the nature of collaborative work and their mathematical models in software engineering that included in the model subsystem. This core provides a theoretical foundation for decision optimizations on the optimal labor allocation, the shortest duration determination, and the lowest workload effort and costs estimation. The experimental results and evaluations on Dataset NASA60 show that the proposed system has significant conformance with experience in practice. Based on the proposed decision support system, a wide range of fundamental problems in software project organization and cost estimation can be solved rigorously.

Keywords


1) AIS Special Interest Groups (2018), Association For Information Systems, https://aisnet.org/, Last Date Visit: 3 Oct 2018
2) Alter, S.L. Decision Support Systems: Current Practice and Continuing Challenge. Reading, MA: Addison-Wesley, 1980.
3) Bhandari S. (2016), FCM based conceptual framework for software effort estimation, 3rd IEEE International Conference on Computing for Sustainable Global Development (INDIACom), pp. 2584-2588.
4) Boehm B.W. (1987), Improving Software Productivity, IEEE Computer, Vol. 20, No. 9, pp.43.
5) Brooks F.P. Jr. (1975), The Mythical Man-Month. Essays on Software Engineering, Addison Wesley Longman, Inc., Boston.
6) Burstein F.; Holsapple C. W., Handbook on Decision Support Systems, Berlin: Springer Verlag, 2008
7) Daniel J. Power, Decision Support Systems: Concepts and Resources for Managers, Greenwood Publishing Group, 2002
8) Donzelli, P. (2006), A Decision Support System for Software Project Management. IEEE Software, Vol. 23(4): p. 67-75.
9) Holsapple, C.W., and A. B. Whinston (1996), Decision Support Systems: A Knowledge-Based Approach, West Publishing.
10) Jones C. (1981), Programming Productivity – Issues for the Eighties, IEEE Press, Silver Spring, MD.
11) Jones C. (1986), Programming Productivity, McGraw-Hill Book Co., NY.
12) Kan Qi ; Barry W. Boehm (2017), A light-weight incremental effort estimation model for use case driven projects, 28th IEEE Annual Software Technology Conference (STC), pp. 1-8.
13) Li Jun L., Jianming L., Yongqin1 J., Qingzhang C. (2008), Development of the Decision Support System for Software Project Cost Estimation, 2008 International Symposium on Information Science and Engineering.
14) Livermore J. (2005), Measuring Programmer Productivity, http://home.sprynet.com/-jgarriso/
15) Lunesu M.L., Münchb J., Marchesic M., Kuhrmann M. (2018), Using simulation for understanding and reproducing distributed software development processes in the cloud, Information and Software Technology, Vol. 103, PP. 226-238
16) Menzies. T, Port. D, Chen. Zh, Hihn. J. (2005), Validation Methods for Calibrating Software Effort Models, ICSE ACM.
17) Pashaei Barbin J., Rashidi H. (2015), A Decision Support System for Estimating Cost of Software Projects Using A Hybrid Of Multi-Layer Artificial Neural Network and Decision Tree, International Journal In Foundations Of Computer Science & Technology Vol.5 (6), PP 23-31.
18) Pressman R. S. (2014), Software Engineering: A Practitioner's Approach, 8th Edition, McGraw-Hill.
19) Rashidi H. (2014), Software Engineering-A programming approach,” 2nd edition., Allameh Tabataba’i University Press (in Persian), Iran.
20) Sangwan, Om Prakash (2017). Software effort estimation using machine learning techniques, Cloud Computing, Data Science & Engineering-Confluence, 2017 7th International Conference on. IEEE.
21) Sharda R ., Aronson J., Turban E. (2015), Business Intelligence and Analytics: Systems for Decision Support, 10th Edition, Pearson Prentice Hall.
22) Sommerville Y. (2018), Software Engineering, 10th Edition, Pearson Education.
23) Wagner J., Planners Lab Software, TeraData University Network, http://plannerslab.com/, Last Date Visit: 3 Oct 2018
24) Wang Y. (2006a), A Mathematical Model for Explaining the Mythic Man-Month, Proceedings of the 19th IEEE Canadian Conference onElectrical and Computer Engineering (CCECE'06), Ottawa, Canada, May.
25) Wang Y. (2006b), Software Engineering Foundations. A Transdisciplinary and Rigorous Perspective, CRC Software Engineering Series, Vol.2, CRC Press, USA.
26) Wood D. J. and B. Gray (1991), Towards a Comprehensive Theory of Collaboration, Journal of Applied Behavioral Science, 27(2), 139-162.
27) Venkataiah, V., Mohanty, R., Nagaratna, M. (2019), Application of Hybrid Techniques to Forecasting Accurate Software Cost Estimation, International Journal of Recent Technology and Engineering 7(6), pp. 408-412.
28) El Bajta, M., Idri, A. (2019), A Software Cost Estimation Taxonomy for Global Software Development Projects, ICSOFT 2019 - Proceedings of the 14th International Conference on Software Technologies, pp. 218-225.
29) Resmi, V., Vijayalakshmi, S. (2019), Kernel Fuzzy Clustering With Output Layer Self-Connection Recurrent Neural Networks for Software Cost Estimation, Journal of Circuits, Systems and Computers, Article in press.
30) Rivadeh, M., Khadivar, A. (2019), A model for software development cost Estimation with System Dynamic Approach, Iranian Journal of Information Processing Management 34(3), pp. 1343-1370.
31) Parthasarathi Patra, H., Rajnish, K. (2019), A New High-Performance Empirical Model for Software Cost Estimation, International Journal of Computer-Aided Engineering and Technology 11(4-5), pp. 601-612.
32) Naik, P., Nayak, S. (2019), Intelligence-Software Cost Estimation Model for Optimizing Project Management, Advances in Intelligent Systems and Computing 984, pp. 433-443.
33) Khan, M.S., Ul Hassan, C.A., Shah, M.A., Shamim (2018), A., Software Cost and Effort Estimation Using a New Optimization Algorithm Inspired by Strawberry Plant, ICAC 2018 - 2018 24th IEEE International Conference on Automation and Computing: Improving Productivity through Automation and Computing, 8749003.
34) Prasad, B.M.G., Sreenivas, P.V.S., Veena, C., Software Project Effort Duration and Cost Estimation Using Regression Testing and Adaptive Firefly Algorithm (AFA) (2019), International
Journal of Engineering and Advanced Technology 8(2), pp. 104-111