Journal "Software Engineering"
a journal on theoretical and applied science and technology
ISSN 2220-3397

Issue N9 2024 year

DOI: 10.17587/prin.15.476-484
Software System Architecture for Estimating Software Development Time
T. E. Shulga, Professor, taiss@yandex.ru, D. E. Khramov, Postgraduate Student, dmitriy-hramov@list.ru, Yuri Gagarin State Technical University of Saratov, Saratov, 410054, Russian Federation
Corresponding author: Tatiana E. Shulga, Professor, Yuri Gagarin State Technical University of Saratov, Saratov, 410054, Russian Federation, E-mail: taiss@yandex.ru
Received on April 29, 2024
Accepted on July 16, 2024

The article is devoted to the issues of estimating the duration of software development, the solution of which can significantly improve the efficiency of software projects. The relevance of the topic is conditioned by the rapid development of software development methodologies, on which the existing algorithms of such estimation depend, and, as a consequence, by the rapid obsolescence of approaches to solving this problem. A systematic analysis of the main algorithms for estimating software development duration is carried out. The classification of such algorithms is presented. The algorithm of software development duration estimation and the idea of the system implementing it, which will allow end users to automate this process, are proposed. The approaches to implementation of algorithms of retrospective (historical) estimation, PERT, expert estimation are considered. The prospectivity of researches in the field of implementation of methods of expert evaluation using neural networks is shown. The architecture of the proposed system is described. A prototype of the system implementing the method of retrospective evaluation based on the evaluation of the speed of the development team is developed.

Keywords: software development duration estimation algorithms, classification of algorithms, historical estimation, PERT, system analysis, neural networks, prediction problem, software development team speed.
pp. 476—484
For citation:
Shulga T. E., Khramov D. E. Software System Architecture for Estimating Software Development Time, Programmnaya Ingeneria, 2024, vol. 15, no. 9, pp. 476—484. DOI: 10.17587/prin.15.476-484. (in Russian).
References:
  1. GOST R ISO/MEK 12207—2010. Informacionnaya tekhnologiya. Sistemnaya i programmnaya inzheneriya. Processy zhiznennogo cikla programmnyh sredstv, Moscow, Standartinform, 2011, 99 p. (in Russian).
  2. CHAOSREPORT 2015, available at: https://www.standish-group.com/sample_research_files/CHAOSReport2015-Final.pdf (date of access 18.06.24).
  3. Bakhirkin M. V. Decision support system for predicting software systems development cycle time: avtoref. ... dis. kan. tekh. nauk. Moscow, 2016. 22 p. (in Russian).
  4. Policyn S. A. Development of special mathematical and algorithmic support for an analysis and decision-making system when managing software development projects: avtoref. ... dis. kan. tekh. nauk, Moscow, 2017, 20 p. (in Russian).
  5. Galorath D., Evans M. Software Sizing, Estimation, and Risk Management: When Performance is Measured Performance Improves. CRC Press, 2006, 576 p. DOI: 10.1201/9781420013122.
  6. Sytnik A. A., Shul'ga T. E., Danilov N. A. Ontology of the subject area "Software Usability", Trudy instituta sistemnogo programmirovaniya RAN, 2018, vol. 30, no. 2, pp. 195—214. DOI: 10.15514/ ISPRAS-2018-30(2)-10 (in Russian).
  7. Shul'ga, T. E., Khramov D. E. Software Development Life Cycle Ontology, Vestnik Astrakhanskogo gosudarstvennogo tekhnicheskogo universiteta. Seriia: Upravlenie, vychislitel'naia tekhnika i informatika, 2023, no. 2, pp. 66—74. DOI: 10.24143/2072-9502­2023-2-66-74 (in Russian).
  8. Murtazina M. Sh. Decision support system for a flexible approach to requirements engineering based on owl ontology, Vestnik Astrahanskogo gosudarstvennogo tekhnicheskogo universiteta. Seriya: Upravlenie, vychislitel'naya tekhnika i informatika, 2018, vol. 2018, no. 4, pp. 43—55. DOI: 10.24143/2072-9502-2018-4-43-55 (in Russian).
  9. Brennan M. PERT and CPM: a Selected Bibliography, Committee of Planning Librarians. Exchange bibliography no. 53. Council of Planning Librarians. 1968.
  10. Cohn M. Agile Estimating and Planning, Upper Saddle River, NJ, USA, Prentice Hall, 2005, 368 p.
  11. Schofield C., Shepperd M. Estimating software project effort using analogy, Software Engineering, IEEE Transactions on, 1997, vol. 1, pp. 736—743. DOI: 10.1109/32.637387.
  12. Marza V., Seyyedi M. A. Fuzzy Multiple Regression Model for Estimating Software Development Time, International Journal of Engineering Business Management, 2009, vol. 1. DOI: 10.5772/6775.
  13. Garcia-Diaz N., Garcia-Virgen J., Farias-Mendoza N. et al. Software development time estimation based on a new Neuro-fuzzy approach, 2015 10th Iberian Conference on Information Systems and Technologies (CISTI), Aveiro, Portugal, 2015, рр. 1—7. DOI: 10.1109/CISTI.2015.7170378.
  14. Hamada M., Abdallah A., Kasem M., Mahmoud M. Neural Network Estimation Model to Optimize Timing and Schedule of Software Projects, 2021 IEEE International Conference on Smart Information Systems and Technologies (SIST), 2021, pp. 1—7. DOI: 10.1109/SIST50301.2021.9465887.
  15. Lopez-Martfn С., Abran A. Neural networks for predicting the duration of new software projects, Journal of Systems and Software, 2015, vol. 101, рр. 127—135. DOI: 10.1016/j.jss.2014.12.002.
  16. Pospieszny P., Czarnacka-Chrobot B., Kobylinski A. An effective approach for software project effort and duration estimation with machine learning algorithms, The Journal of Systems & Software, 2018, vol. 137, pp. 184—196. DOI: 10.13140/ RG.2.2.15248.30724.
  17. Tkinter — Python Wiki, available at: https://wiki.python.org/moin/TkInter (date of access 23.10.2023).
  18. Riverbank Computing | Introduction, available at: https://riverbankcomputing.com/software/pyqt/intro (date of access 23.10.2023).
  19. Python UY | Design GUI with Python | Python Bindings for Qt, available at: https://www.qt.io/qt-for-python (date of access 13.11.2023).
  20. Python GUI, PyQt vs TKinter, available at: https://dev.to/amigosmaker/python-gui-pyqt-vs-tkinter-5hdd (date of access 23.10.2023).
  21. PyQt vs. Tkinter — Which Should You Choose for Your Next GUI Project? available at: https://www.pythonguis.com/faq/pyqt-vs-tkinter/ (date of access 20.10.2023)