50 years of software engineering

N.A. Sydorov

Abstract


The article is dedicated to the 50th anniversary of the key area of informatics today - software engineering. In October 2018, it was 50 years since the conference, at which the professional community of programmers and scientists put into circulation and justified the term software engineering. The article is based on the forty-five-year experience of the author in software engineering and the purposes of the article are two. In the first, to mark an important date for the main branch of the country - the software industry, and on the second, to give a complete picture of the state of affairs in software engineering, recalling those who made a system-making scientific contribution to the development of the industry. The article consists of three sections. In the first, outlines the origins and conditions that led to the emergence of software engineering. In the second, systematic results are given and the authors of these results are indicated. At the same time, such parts of software engineering are considered: programming in the aspect of the structured programming; modularization as a basis for software reuse and reuse; life cycle modeling, the importance of which is that it not only led to life cycle management, but also opened up new processes, identified new products and resources necessary for the implementation of these processes and made it possible to move on to “programming in large” that required the creation of new methods tools and professions; empirical software engineering, now, is a section of software engineering, represented by a large number and variety of metrics, tools and methods for measuring and analyzing results; a software culture that claims that only teams with a certain culture and maturity can create high-quality and reliable software; software economics and software cost estimation models; green information technologies and software, ecosystems. The third section deals with the formulation of education in software engineering, and in particular in Ukraine.

Problems in programming 2018; 4: 30-44

 


Keywords


programming; software; software engineering; education

References


Report on a conference sponsored by the NATO science committee, Garmisch, Germany, 7th to 11th October 1968, Editors: Peter Naur and Brian Randell.

Ershov A.P. The programming systems developing technology, System and theoretical programming. 1972. P. 136–184.

Bondarenko M., Sydorov M., Morozova T., Mendzebrovskiy I. Model of a graduate of Bachelor's degree "Software engineering", Higher education. 2009. N 4. P. 50–61.

Boehm B., 2006, A View of 20th and 21st Century Software engineering [Text]. ICSE'06. May 20–28. China. 2006. P. 12–29.

Ershov A.P. The ways of programming developing in USSR, Cebernetic. 6. 1976. P. 141–155.

Royce W. Managing the development of large software systems: Concepts and techniquies [Text]. Proc. Of WESCON. Aug. 1970.

Brooks F.P. The Mythical Man-Month: Essays on Software Engineering. [Text]. 1st ed. Addison–Wesley. 1975. P. 200.

Brooks F.P. No silver bullet: Essence and accidents of software engineering. [Text]. IEEE Computer. 20(4):10-19, April. 1987.

It Ukraine from a to z, http://www.uadn.net/files/ua_hightech.pdf

The developing of Ukrainian it-industry, Analytical report. 2018.

https://dou.ua/lenta/articles/jobs-and-trends-2017/?from=doufp.

Ershov A.P. Science foundations of evidence programming, AS USSR proceeding. 1984. N 10. P. 9–19.

Glushkov V., Velbytsky I, Programming technology and its problems implementa-tion, USIM. N 6. 1976. P. 75–93.

Velbytsky I. Programming technology, Technic. 1984. 279 p.

International standart ISO/IEC 8631. Information technology-Program constructs and convention for their Representation – Second edition 1989.08.01 Geneve 20, Switzerland: ISO/IEC Copyright Office, P. 7. 1989.

Lipaev V.V. ASM Software reliability. 1981.

Lipaev V.V. Software quality, Finances and statistic, 1983.

Dijkstra E.W. Structured Programming. 1975. 247 p.

Dijkstra E.W. Go To Statement Considered Harmful. Communications of the ACM. Vol. 11. N 3, March 1968. P. 147–148.

Bohm, Corrado; Giuseppe Jacopini (May 1966). "Flow Diagrams, Turing Machines and Languages with Only Two Formation Rules". Communications of the ACM. 9 (5): 366–371. CrossRef

Wilkes, Maurice (1951). "The EDSAC Computer". Proceedings of the Review of Electronic Digital Computers: 79. CrossRef

Bauer F., Gooz G. Informatics. Mir, M.: 1976. 484 p.

Segmentation and Design Strategies for Modular Programming." In T. O. Barnett and L. L. Constantine (eds.), Modular Programming: Proceedings of a National Symposium. Cambridge, Mass.: Information & Systems Press, 1968.

Parnas D.L. (December 1972). "On the Criteria To Be Used in Decomposing Sys-tems into Modules". Communications of the ACM. 15 (12): 1053–58. CrossRef

Wirth N. Programming in Modula-2. Springer-Verlag, Heidelberg, New York, 1982.

Jean Ichbiah (October 1984). «Ada: Past, Present, Future – An Interview with Jean Ichbiah, the Principal Designer of Ada». Communications of the ACM. 27 (10). P. 990–997. CrossRef

Dahl O.-J., Myhrhaug B., Nygaard K. SIMULA67, Common base language/-Oslo. 1968. 96 p.

Hoare C.A.R. An axiomatic basis for computer programming, Comm. Of ACM, 12(1969). P. 576–580.

Wirth N., Weber H. EULER: A generaliza-tion of ALGOL, and its formal definition, Comm/ of ACM. 9. 1966. P. 13–25.

Goldberg A., Robson D. SmallTalk 80 The language and its implementation, Addison-Wesley, New-York, 1983.

Maier M.W. Architecting principels for systems-of-systems, Systems engineering, 1, 4(1998). P. 267–284.

Royce W.W. Managing the development of large software systems Proceedings of IEEE WESCON, 1970. 26. P. 328–388.

Boehm B.W. Spiral Model of software Development and Enhancement. Computer. 1988. May. P. 61–73.

Sydorov M.O. Software engineering: lecture curs. K.:NAU, 2007. 140 p.

Lehman M.M. "Programs, life cycles, and laws of software evolution", Proceedings of the IEEE, September 1980. P. 1060–1076.

Neighbors J.M. Software construction using components, Ph.D. Thesis, Dept. of Infor-mation and Computer Science, University of California, Irvin, 1981.

Neighbors J.M. "the draco approach to constructings of t ware from reusable com-ponents, "IEEE transactions on software engineering. September 1984. Vol. 10, N 5. P. 564–574.

Boehm B.W. Improving Software Productivity. Computer. 1987. Vol. 20, N 9. P. 43–57.

Prieto-Diaz R. and Freeman P. "Classifying Software for Reusability," IEEE Software. P. 6–16. January 1987.

Biggerstaff T.J. "An Assessment and Analysis of Software Reuse," In Advances in Computers 34, M. Yovits, Ed., Academic Press, New York, NY. 1992. P. 1–57.

Biggerstaff T.J. and Richter C. "Reusability Framework, Assessment, and Directions," IEEE Software 4, 1987. 2. P. 41–49.

Biggerstaff T.J. Design recovery for maintenance and reuse, Computer, july, 1989. P. 36–49.

Chikofsky E.J., CrossII J.H. Reverse engineering and design recovery: a taxonomy, IEEE Software, January, 1990. P. 13–17.

Chikofsky E.J Foreword, Comm. Of ACM. Vol. 37. N 5. 1994. P. 24.

Software evolution and feedback, Theory and practice, edited by N. H. Madhavji, Wiley. 2006. 570 p.

Fenton N., Pfleeger S., Glass R., Science and substance: A challenge to software engineers, IEEE Software, 1994. 11(4). P. 86–95.

Basili, Editorial, Empirical software engineering journal, 1996 1(2).

Soloway E., Ehrlich K., Empirical studies of programming knowledge, IEEE Transactions on software engineering. 1984. Vol. 10. N 5. P. 595–607.

L.L. Constantine The Peopleware Papers: Notes on the Human Side of Software. NJ: Prentice Hall., 2001.

Humphrey W.S. Characterizing the Software Process: A Maturity Framework (CMU/SEI-87-TR-11, ADA182895). Pittsburgh, Pa.: Software Engineering Institute, Carnegie Mellon University, 1987.

Humphrey, Watts S. Managing the Software Process. Reading, MA: Addison-Wesley, 1989.

Software Engineering Institute. CMMI A-Specification, Version 1.3, July 15, 1998.

Software engineering code of ethics and professional practice (Version 5.2) as recommended by the IEEE-CS/ACM Joint Task Force on Software Engineering Ethics and Professional Practices https://www.ics.uci.edu/~redmiles/ics131-FQ03/week08ethics/IEEE-ACM-Ethics

Gotterbarn D., Miller K., Rogerson S. SOFTWARE ENGINEERING CODE OF ETHICS, Comm. Of ACM. 1997. Vol. 4, N 11. P. 110–118.

Barry Boehm Software Engineering Eco-nomics IEEE Transactions on Software Engineering. 1984. Vol. SE-10 (1). P. 4–21

Barry Boehm. Software Engineering Economics. Prentice-Hall 1981.

Barry Boehm, Chris Abts, A. Winsor Brown, Sunita Chulani, Bradford K. Clark, Ellis Horowitz, Ray Madachy, Donald J. Reifer, and Bert Steece. Software Cost Estimation with COCOMO II (with CD-ROM). Englewood Cliffs, NJ:Prentice-Hall. 2000.

Shingo S. Study of Toyota production system, Productivity press, 1981.

Poppendieck, Mary. Implementing lean software development : from concept to cash. Mary Poppendieck, Tom Poppendieck. 2007.

Orsato R.J. Sustainability strategies, Business press. 2009. 243 p.

Chen A.J.W., Boudrean M.-C., Watson R.T. Information systems and ecological sustainability. Journal Of Systems and Information Technology. 2008. Vol. 10. N 3. P. 186–201.

Dyllick I., Hockerts K. Beyond the business case for corporate sustainability. – Busenes strategy and the Environment. Vol. 11. P. 130–141.

Chen W., Watson R.T. Information systems and ecological sustainability. Journal of systems and Information technology. 2008. Vol. 140. N 3. P. 186–201.

Harnessing Green IT: Principles and Practices, (with GR Gangadharan; Eds), Wiley and IEEE Computer Society Press. 2012.

Lyubimsky E.Z. Towards a society building programs. Programming. N 1. 2009. P. 4–10.

Stefan Naumann, Sustainability Informatics – A new Subfield of Applied Informatics? Environmental Informatics and Industrial Ecology, Shaker Verlag, Aachen 2008.

Mircea Lungu, Towards reverse engineering software ecosystems 2008 IEEE International Conference on Software Maintenance.

Lungu M. Reverse Engineering Software Ecosystems.PhD thesis, University of Lugano, October 2009.

SWEBOK Guide V3. 0б 2014, IEEE Society.

https://www.acm.org/binaries/content/assets/education/se2014.pdf

Sydorov M. Software engineering department, Computer-Class. 2001. N 8. P. 17–19.

Sydorov M. Is the software engineering subject or postgraduate, Proceeding of Conference "Software systems developing – the role in information society. January 27–28, 2005.

Sydorov M. Is the software engineering subject or postgraduate, Corporate Systems. N 2, 2005. P. 22–27.

Sydorov M. Is the software engineering education subject or postgraduate, USIM. 2006. N 2. P. 25–34.

Sydorov M., Menzebrovsky I. Software engineer education in Ukraine, Proceeding of Conference "Management of Quality of engineering education and education innovation technologies". 2008. Part 1. P. 14–18.




DOI: https://doi.org/10.15407/pp2018.04.030

Refbacks

  • There are currently no refbacks.