Evolution of Software Engineering
Evolution of Software Engineering
.
.
.
.
.
.
.
Evolution of the
.
.
.
.
.
Engineering of
.
.
.
.
Software and the
.
Mario Piazzini
.
.
.
.
.
formation of
[Link]@[Link]
PhD in Computer Science
.
.
.
.
.
professionals
University Professor .
from Castilla La Mancha . The software industry is nearly seventy years old.
Scientific Director of Alarcos .
. and during this period has made significant progress, already
Quality Center UCLM .
. that we have more programming languages
.
. sophisticated, more mature development processes, and
.
. the applications that are built today
.
. are more complex. In fact, the software is
.
. part of our lives, it is in all devices
.
. what we handle, means of transportation, systems of
.
. telecommunications, medical equipment, systems of
.
. public administration and finance, in art, in leisure
.
. and in entertainment. Ultimately, as Bjarne said
.
. Stroustrup: "Our civilization runs on software."
.
.
.
. Now then, it must be taken into account as pointed out
.
.
. Grady Booch said: "software development has been,
.
. it is and will probably be fundamentally difficult.
. Indeed, increasingly more systems are being built
.
.
. complex from a technological point of view. To what
.
. it is also necessary to add, many times, problems in
.
. the governance of technologies and information systems
.
. defects produced by prioritizing the startup
.
. from timely systems - sacrificing their
.
. quality-, and the lack of training of those responsible for
.
. software development.
.
.
.
. Next, we will summarize the evolution of the
.
. Software Engineering from its inception to
. the current situation; which according to Barry Boehm, has followed a
.
. thesis, antithesis, and synthesis process that would explain the
.
.
. different proposals and counterproposals that have been
.
. happened over these decades; pointing out the
.
. new demands that have arisen in training
.
. of the professionals.
.
.
.
15
INSTITUTIONALJOURNALOFTHE FACULTYOFCOMPUTER SCIENCE | UNLP
• The 1940s and 1950s, in these decades the cost of of non-conformity of processes they tried to resolve with
hardware era tremendously superior to that of software, standards such as DoD-STD-2167 or MIL-STD-1521B
which therefore had a much relative importance by the Department of Defense of the US that,
minor. It was also considered that the software was in order to improve the quality of its systems and evaluate
it could develop in the same way it develops to its suppliers, they commission the then recently
the hardware; and, in fact, the first engineers created Software Engineering Institute (SEI) of the
the ones who dealt with the software were the same ones that Carnegie Mellon University, a maturity model of
they were developing the hardware. the software capability (SW-CMM) that Watts would develop
Humphrey. As for technology, it is being automated.
• The 1960s, despite significant successes such as part of the software life cycle, appearing the
NASA's missions are starting to become evident. known as the first generation of tools
that software is very different from hardware CASE, and object-oriented programming languages
in order to be treated the same way. It is the time objects that, although they began at the end of the decade
of the famous "spaghetti codes" (very difficult to from the sixties with the Simula language and in the seventies
understand even by whom it was written) and the appearance with Smalltalk, they spread mainly in the decade
of "heroes" who after several sleepless nights from the eighties with the emergence of C++, Objective-C and
they managed to fix the software at the last minute for Eiffel. The training of software professionals
meet the set deadlines. In the NASA/IEEE Software It then requires the management of CASE tools,
Engineering Workshop of 1966; and the conferences of the understand the great paradigm shift represented by the
NATO in 1968 and 1969 analyzed the 'software crisis', and object-oriented programming, and acquire knowledge about the
fundamental ideas such as 'reuse' were proposed software processes and maturity models.
the 'software architecture'. In 1968 it also appears
Dijkstra's article 'Go To Statement Considered Harmful' 1990s, during which the developments occur
Harmful” that drove structured programming and models related to process improvement
the concept is cited for the first time at the IFIP congress software, such as Ideal, TSP or PSP, and the standards and
of 'software factory'. However, the quality standards such as ISO 9126, ISO 12207, ISO
the training of professionals continues to be ad-hoc and 9000-3, etc. Also during this decade it is consolidated.
more focused on systems and programming than object-oriented programming (OO) as an approach to
in a true Software Engineering. development of computer systems, appearing more
of a hundred methodologies, which ultimately lead to the
1970s, in this decade the organizations appearance of the Unified Modeling Language (UML) and the
they started to check that the software costs Unified Process (UP). It also arises in the nineties.
they surpassed those of the hardware. Parnas proposes the the following decades multitude of techniques and knowledge
modular decomposition and the concept of concealment about the construction of object-oriented systems:
of information (information hiding), Chen the model patterns, heuristics, refactorings, etc. What
E/R and Royce the waterfall life cycle model. It implies a deepening in the training of the
The training of engineering professionals professionals who must acquire all these "good
Software then focuses on methodologies "practices" for the correct construction of software.
structured (Warnier, Jackson, Myers, Yourdon and On the other hand, the problems of the year 2000 and the Euro,
Constantine, Gane and Sarson, Demarco, SSADM, MERISE, that further sharpened the classic problems of
etc.) that represented a significant advance in the analysis software maintenance, made them reconsider
and software design. many organizations the convenience of outsourcing
(outsourcing) its maintenance processes,
• 1980s. Leo Osterweil gave a talk. driving the creation by many companies
guest at the International Conference on Software of centers and units specifically dedicated to the
Engineering (ICSE) whose title was 'Software processes' outsourcing. The management and development of software
are software too” which meant the beginning of a new outsourced demand for knowledge and skills
approach to software processes. The problems specialized for Software Engineers.
16
INSTITUTIONALMAGAZINE OFTHE FACULTYOFCOMPUTER SCIENCE | UNLP
17