The Emergence of Software Engineering
Many persons work on producing software systems for many users.
The task description and the requirements frequently change even during the program design phase, and continue to change even after the software system has long since been in use.
The major problems encountered in development of large software systems were:
• Mastery of complexity
• Interface specification
• Project organization.
Inadequate theoretical foundation and too few methodological aids were known in both the technical and the organizational realm.
Programmers’ qualifications did not suffice to adequately solve the problems.
Software crisis (1965):
The growing economic importance of software production and the enormous expansion of the data processing branch lead to the demand for improved programming techniques becoming an increasing focus of research interests in the field of computer science.
Software engineering conferences sponsored by NATO:
• Garmisch, Germany, in 1968 [Naur 1969]
• Rome in 1969 [Buxton 1969].
Contents of the Conferences:
• Programs were defined as industrial products.
• The challenge was issued: to move away from the art of programming and toward an engineering approach to software development.
• Application of scientific approaches throughout software production as an integrated process.
• Research highlights:
> Methodical program development,
> Structuring of software systems,
> Reusability of software components,
> Project organization,
> Quality assurance,
> Requirements for software development tools,
> Automatic generation of software.