FORMATION AND DEVELOPMENT OF SOFTWARE ENGINEERING AS A KNOWLEDGE AREA
DOI:
https://doi.org/10.14308/ite000684Keywords:
software engineering, professional training, software, software system, programming, design, simulationAbstract
The article presents an analysis of the main stages of the development of software engineering (SE) as a branch of knowledge, highlights the fundamental components of the training of future software engineers, identifies trends in the development of this industry for the next decade.
The modern SE is based on three groups of key principles: the basic concepts of computer science, related to data structures, algorithms, programming languages and their semantics, analysis, computational, computational models, etc.; engineering fundamentals related to architecture, engineering processes, trade-offs and costs, standardization, quality and warranties, and other components that provide an approach to design and problem-solving; socio-economic foundations that include the process of creating and evolving artifacts, as well as issues related to politics, markets, user-friendliness and socio-economic impacts; it provides the basis for the formation of engineering artifacts that will fit their purpose.
Modern SE is an integral part of the overwhelming majority of innovations in all areas of the development of society, science and technology, offering systemic, practical, cost-effective solutions for computing tasks and information processing tasks. During the SE development as a separate industry, considerable experience in designing, implementing, testing and documenting software has been accumulated; system scientific, technological approaches and methods for designing and designing computer programs have been highlighted. At the same time, researchers note that SE has not yet reached the level of sustainability as other areas of engineering. Analysis of the historical stages of the development of the SE showed that despite the universal recognition of the importance of using the mathematical apparatus of logic, automata theory and linguistics in software development, it was created empirically without its use. The factor forcing practitioners to turn to the mathematical foundations of an SE is the increasing complexity of software and the inability of empirical approaches to its development and management to cope with it. The professional training of software engineers highlighted the problem of the rapid obsolescence of the technological content of education, the solution of which lies in its fundamentalization through the identification of the basic foundations of the industry.
Downloads
Metrics
References
1. International Organization for Standardization (ISO) (2010). 24765:2010. ISO/IEC/IEEE International Standard. Systems and software engineering -- Vocabulary. DOI : 10.1109/IEEESTD.2010.5733835.
2. International Organization for Standardization (ISO) (1990). 610.12-1990. IEEE Standard Glossary of Software Engineering Terminology. DOI : 10.1109/IEEESTD.1990.101064.
3. Bauer, F. L. (1972). Software Engineering. Information Processing 71: Proceedings of IFIP Congress 71, Ljubljana, Yugoslavia, August 23-28, 1971, Vol. 1, Foundations and Systems, 530 - 538. Amsterdam: North-Holland Publishing Company.
4. Benington, H. D. (1956). Production of Large Computer Programs. Proceedings of Symposium on advanced programming methods for digital computers, Washington, D.C., June 28-29, pp. 15 - 28. US Navy Mathematical Computing Advisory Panel, US Office of Naval Research.
5. Boehm, B. A. (2006). View of 20th and 21st Century Software Engineering. Proceedings of the 28th international conference on Software engineering ICSE'06. Shanghai, China (May 20-28, 2006), 12 29. New York : ACM. DOI : 10.1145/1134285.1134288.
6. Boehm, B. A. (2006). View of 20th and 21st Century Software Engineering : ICSE 2006 Keynote Address. Retrieved from https://isr.uci.edu/icse-06/program/keynotes/Boehm-Keynote.ppt.
7. Boehm, B. W. (1976). Software Engineering. IEEE Transactions on Computers, 25, (12), 1226 - 1241.
8. Brooks, F. P. Jr. (1987). No Silver Bullet – Essence and Accident in Software Engineering. Computer, 20 (4), 10 - 19. DOI : 10.1109/MC.1987.1663532.
9. Buckley, F. J. (1993). Standards: defining software engineering as a profession. Computer, 26 (8), 76 78. DOI : 10.1109/2.223554.
10. Dijkstra, E. W. (1971). On a Methodology of Design. MC-25 Informatica Symposium, 4.1 - 4.10. Amsterdam : Mathematisch Centrum.
11. Brennecke, A. & Keil-Slawik, R. (Eds.) (1996). History of Software Engineering : Position Papers for Dagstuhl Seminar 9635 on August 26 - 30, 1996. Retrieved from: https://www.dagstuhl.de/ Reports/96/9635.pdf.
12. Hosier, W. A. (1961). Pitfalls and Safeguards in Real-Time Digital Systems with Emphasis on Programming. IRE Transactions on Engineering Management, 8 (2), 99 - 115. DOI:10.1109/iret-em.1961.5007599
13. Mead, N. R., Garlan, D. & Shaw, M. (2018). Half a Century of Software Engineering Education: the CMU Exemplar. IEEE Software. DOI : 10.1109/MS.2018.290110743.
14. Mills, H. D. (1972). Mathematical Foundations for Structured Programming. Gaithersburg : Federal Systems Division, International Business Machines Corporation, IV, 62. Retrieved from http://trace.tennessee.edu/utk_harlan/56.
15. Mills, H. D. (1977). Software Engineering. Science, 195 (4283), 1199 - 2105.
16. Oettinger, A. A. (1966). Letter to the ACM membership. Communications of the ACM, 9 (8), 545 546.
17. Perlis, A. J. (1969). Identifying and developing curricula in software engineering. Proceedings of the May 14-16, 1969, spring joint computer conference on XX - AFIPS '69 (Spring), 540 - 541. Boston, Massachusetts. New York : ACM. DOI: 10.1145/1476793.1476877.
18. Pucinski, R. C. (1969). The Challenge for the 1970s in Information Retrieval. Software Engineering COINS III : Proceedings of the Third Symposium on Computer and Information Sciences held in Miami beach, Florida, December 1969, Vol. 2, XVII-XX. London: Academic Press. DOI: 10.1016/B978-0-12-696202-4.50006-1.
19. Randell, B. (2018). Fifty Years of Software Engineering - or - The View from Garmisch. arXiv:1805.02742 [cs.SE]. Retrieved from https://arxiv.org/abs/1805.02742.
20. Royce, W. W. (1970). Managing the Development of Large Software Systems: Concepts and Techniques. Proceedings of IEEE WESCON, Los Angeles, 25-28 August 1970, 1 - 9.
21. Shaw, M. (2009). Continuing Prospects for an Engineering Discipline of Software. IEEE Software, 26 (6), 64 - 67. DOI : 10.1109/ms.2009.172.
22. Shaw, M. (1990). Prospects for an Engineering Discipline of Software. IEEE Software, 7 (6), 15 - 24.
23. Shaw, M. (1997). Three Patterns that help explain the development of Software Engineering. History of Software Engineering : Position Papers for Dagstuhl Seminar 9635 on August 26-30, 1996, III+57. Retrieved from https://www.dagstuhl.de/Reports/96/9635.pdf.
24. Naur, P. & Randell, B. (Eds.) (1968). Software Engineering: Report on a Conference sponsored by the NATO Science Committee, Garmisch, Germany, 7th to 11th October 1968. Brussels : Scientific Affairs Division, NATO.
25. Buxton, J. N. & Randell, B. (Eds.) (1970). Software Engineering Techniques: Report on a Conference sponsored by the NATO Science Committee, Rome, Italy, 27th to 31st October 1969. Brussels : Scientific Affairs Division, NATO.
26. Tou, J. T. (Ed.) (1970). Software Engineering – A New Profession. Software Engineering COINS III : Proceedings of the Third Symposium on Computer and Information Sciences held in Miami beach, Florida, December, 1969, 1, 1 - 6. London : Academic Press. DOI: 10.1016/B978-0-12-395495-4.50009-X.
27. Williams, A. S. (1976). Software engineering: tools of the profession. Submitted in partial fulfillment of the requirements for the degree of Master of Science in Computer Science. Naval Postgraduate School. Monterey.
28. Брукс, Ф. П. (1979). Как проектируются и создаются программные комплексы. Москва: Наука.
29. Дзержинский, Ф. Я. & Райков, Л. Д. (1990). Что такое программная инженерия. Программирование, 2, 67-79.
30. Лингер, Р., Миллс, Х. & Уитт, Б. (1982). Теория и практика структурного программирования. Москва: Мир.
31. МОН України (2012). Про затвердження Переліку пріоритетних напрямів освіти і науки щодо навчання студентів та аспірантів, стажування наукових і науково-педагогічних працівників у провідних вищих навчальних закладах та наукових установах за кордоном у 2012 році: Наказ № 315. Відновлено з http://zakon2.rada.gov.ua/laws/show/z0500-1.
32. Кабінет Міністрів України (2011). Про затвердження переліку пріоритетних тематичних напрямів наукових досліджень і науково-технічних розробок на період до 2020 року, Постанова № 942. Відновлено з http://zakon5.rada.gov.ua/laws/show/942-2011-%D0%BF.
</uk>
<en>
1. International Organization for Standardization (ISO) (2010). 24765:2010. ISO/IEC/IEEE International Standard. Systems and software engineering -- Vocabulary. DOI : 10.1109/IEEESTD.2010.5733835.
2. International Organization for Standardization (ISO) (1990). 610.12-1990. IEEE Standard Glossary of Software Engineering Terminology. DOI : 10.1109/IEEESTD.1990.101064.
3. Bauer, F. L. (1972). Software Engineering. Information Processing 71: Proceedings of IFIP Congress 71, Ljubljana, Yugoslavia, August 23-28, 1971, Vol. 1, Foundations and Systems, 530 - 538. Amsterdam: North-Holland Publishing Company.
4. Benington, H. D. (1956). Production of Large Computer Programs. Proceedings of Symposium on advanced programming methods for digital computers, Washington, D.C., June 28-29, pp. 15 - 28. US Navy Mathematical Computing Advisory Panel, US Office of Naval Research.
5. Boehm, B. A. (2006). View of 20th and 21st Century Software Engineering. Proceedings of the 28th international conference on Software engineering ICSE'06. Shanghai, China (May 20-28, 2006), 12 29. New York : ACM. DOI : 10.1145/1134285.1134288.
6. Boehm, B. A. (2006). View of 20th and 21st Century Software Engineering : ICSE 2006 Keynote Address. Retrieved from https://isr.uci.edu/icse-06/program/keynotes/Boehm-Keynote.ppt.
7. Boehm, B. W. (1976). Software Engineering. IEEE Transactions on Computers, 25, (12), 1226 - 1241.
8. Brooks, F. P. Jr. (1987). No Silver Bullet – Essence and Accident in Software Engineering. Computer, 20 (4), 10 - 19. DOI : 10.1109/MC.1987.1663532.
9. Buckley, F. J. (1993). Standards: defining software engineering as a profession. Computer, 26 (8), 76 78. DOI : 10.1109/2.223554.
10. Dijkstra, E. W. (1971). On a Methodology of Design. MC-25 Informatica Symposium, 4.1 - 4.10. Amsterdam : Mathematisch Centrum.
11. Brennecke, A. & Keil-Slawik, R. (Eds.) (1996). History of Software Engineering : Position Papers for Dagstuhl Seminar 9635 on August 26 - 30, 1996. Retrieved from: https://www.dagstuhl.de/ Reports/96/9635.pdf.
12. Hosier, W. A. (1961). Pitfalls and Safeguards in Real-Time Digital Systems with Emphasis on Programming. IRE Transactions on Engineering Management, 8 (2), 99 - 115. DOI:10.1109/iret-em.1961.5007599
13. Mead, N. R., Garlan, D. & Shaw, M. (2018). Half a Century of Software Engineering Education: the CMU Exemplar. IEEE Software. DOI : 10.1109/MS.2018.290110743.
14. Mills, H. D. (1972). Mathematical Foundations for Structured Programming. Gaithersburg : Federal Systems Division, International Business Machines Corporation, IV, 62. Retrieved from http://trace.tennessee.edu/utk_harlan/56.
15. Mills, H. D. (1977). Software Engineering. Science, 195 (4283), 1199-2105.
16. Oettinger, A. A. (1966). Letter to the ACM membership. Communications of the ACM, 9 (8), 545 546.
17. Perlis, A. J. (1969). Identifying and developing curricula in software engineering. Proceedings of the May 14-16, 1969, spring joint computer conference on XX - AFIPS '69 (Spring), 540-541. Boston, Massachusetts. New York : ACM. DOI: 10.1145/1476793.1476877.
18. Pucinski, R. C. (1969). The Challenge for the 1970s in Information Retrieval. Software Engineering COINS III : Proceedings of the Third Symposium on Computer and Information Sciences held in Miami beach, Florida, December 1969, Vol. 2, XVII-XX. London: Academic Press. DOI: 10.1016/B978-0-12-696202-4.50006-1.
19. Randell, B. (2018). Fifty Years of Software Engineering - or - The View from Garmisch. arXiv:1805.02742 [cs.SE]. Retrieved from https://arxiv.org/abs/1805.02742.
20. Royce, W. W. (1970). Managing the Development of Large Software Systems: Concepts and Techniques. Proceedings of IEEE WESCON, Los Angeles, 25-28 August 1970, 1-9.
21. Shaw, M. (2009). Continuing Prospects for an Engineering Discipline of Software. IEEE Software, 26 (6), 64 - 67. DOI : 10.1109/ms.2009.172.
22. Shaw, M. (1990). Prospects for an Engineering Discipline of Software. IEEE Software, 7 (6), 15 - 24.
23. Shaw, M. (1997). Three Patterns that help explain the development of Software Engineering. History of Software Engineering : Position Papers for Dagstuhl Seminar 9635 on August 26-30, 1996, III+57. Retrieved from https://www.dagstuhl.de/Reports/96/9635.pdf.
24. Naur, P. & Randell, B. (Eds.) (1968). Software Engineering: Report on a Conference sponsored by the NATO Science Committee, Garmisch, Germany, 7th to 11th October 1968. Brussels : Scientific Affairs Division, NATO.
25. Buxton, J. N. & Randell, B. (Eds.) (1970). Software Engineering Techniques: Report on a Conference sponsored by the NATO Science Committee, Rome, Italy, 27th to 31st October 1969. Brussels : Scientific Affairs Division, NATO.
26. Tou, J. T. (Ed.) (1970). Software Engineering – A New Profession. Software Engineering COINS III : Proceedings of the Third Symposium on Computer and Information Sciences held in Miami beach, Florida, December, 1969, 1, 1 - 6. London : Academic Press. DOI: 10.1016/B978-0-12-395495-4.50009-X.
27. Williams, A. S. (1976). Software engineering: tools of the profession. Submitted in partial fulfillment of the requirements for the degree of Master of Science in Computer Science. Naval Postgraduate School. Monterey.
28. Brooks, F. P. (1979). How software systems are designed and created. Moscow: Nauka.
29. Dzerjinskiy, F. Ya. & Raykov, L. D. (1990). What is software engineering. Programmirovanie, 2, 67 79.
30. Linger, R. C., Mills, H.D. & Witt, B.I. (1982). Structured Programming: Theory and Practice. Moscow: Mir.
31. The Cabinet of Ministers of Ukraine (2012). On Approval of the List of Priority Areas of Education and Science for Students and Postgraduate Students, internship of scientific and scientific-pedagogical workers in leading higher educational establishments and scientific institutions abroad in 2012, Order № 315. Retireved from http://zakon2.rada.gov.ua/laws/show/z0500-1.
32. The Cabinet of Ministers of Ukraine (2011). On approval of the list of priority thematic areas of scientific research and scientific and technical developments for the period until 2020, Postanova № 942. Retireved from http://zakon5.rada.gov.ua/laws/show/942-2011-%D0%BF.
</en>
Downloads
Published
How to Cite
Issue
Section
License
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.