0% found this document useful (0 votes)
6 views3 pages

Evolution of Software Engineering

The document summarizes the evolution of software engineering from the 1940s to the present. It points out that in the initial decades, software was developed in an ad-hoc manner and without formal processes, which led to quality issues. In the following decades, new approaches emerged such as structured programming, object-oriented programming, and maturity models, improving quality but also requiring new skills from professionals.

Translated by

ScribdTranslations
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
6 views3 pages

Evolution of Software Engineering

The document summarizes the evolution of software engineering from the 1940s to the present. It points out that in the initial decades, software was developed in an ad-hoc manner and without formal processes, which led to quality issues. In the following decades, new approaches emerged such as structured programming, object-oriented programming, and maturity models, improving quality but also requiring new skills from professionals.

Translated by

ScribdTranslations
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

INSTITUTIONALJOURNALOFTHE FACULTYOFCOMPUTER SCIENCE | UNLP

.
.
.
.
.
.
.
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

2000s. The "Agile Manifesto" is signed as complex hierarchies, etc.


I intend to simplify the complexity of methodologies We are also already seeing the implementation of the
existing and in response to the 'heavy' type models Continuous Software Engineering and its corresponding
CMM, and hybrid methods emerge, which seek a technology and "philosophy" "DevOps", which manage to reduce
balance, combining the adaptability of the agile the time between a change is committed in
with the formality and documentation of the methods the system and that it goes into normal production;
rigorous. Currently, we are experiencing the rise of this type of what requires a cultural change to accept
methods, especially of Scrum, and it has been necessary shared responsibility (between development and
recycle Software Engineers into the "culture" and operation to deliver high-quality software to the user
agile techniques. final. Besides needing to learn new concepts
It is also worth noting that in this decade, there is widespread dissemination (e.g. infrastructure as code or microservices)
Model-Driven Software Development (MDSD) and it is necessary for the developer to broaden their vision with
the lines or families of software products, which entail operational elements.
an effort to the Software Engineer when working with
high-level models as the main element of Conclusions
software development and maintenance. Another topic
relevant is Distributed Software Development We have briefly summarized the history of the
especially when the teams are distributed Software Engineering and its main innovations
beyond the borders of a nation, receiving to date; however, Software Engineering
the name of Global Software Development (GSD) must evolve much more to adapt to the
that requires a much broader training of the molecular computing, quantum computing and the
Software Engineer, to solve problems such as: biological computing, etc.
inadequate communication, cultural diversity, management
of knowledge or time difference, among others. It must be recognized that, like any young discipline,
Finally, in this decade we want to highlight the Software Engineering has gone through some times
Empirical Software Engineering (ESE) and Engineering unclear paths, following certain 'trends'
of Evidence-Based Software (EBSE), which laid the foundation not knowing very well where they were driving; it is called
the foundations for experimentation and rigor in by Alan Davis 'Lemmengineering of Software', which has
Software Engineering. caused confusion and disappointment for many users and
software professionals. That is why it is very important the
2010s decade training of the Computer Engineer, who is challenged
In this decade, in addition to consolidating the lines to provide solutions to the problems
described in previous decades, we are witnessing within a certain cost and time, being responsible
a greater integration between Software Engineering to build quality products (usable, safe,
and Systems Engineering - highlighting the role of the maintainable, etc.)
non-functional requirements and, above all, security;
the importance of "Science, Management and Engineering of I wanted to conclude by saying that -paraphrasing our
the Services that require an interdisciplinary approach illustrious painter Raúl Soldi-, "the development technologies
(computer science, marketing, business management, sciences) software progresses, while Engineering of
cognitive, law, etc.) when it comes to addressing the design Software evolves, hence the difficulty sometimes to
of the services; the need to adapt the methods obtain quality software products
of software development to work in a 'world
open" -crucial when we face domains
such as ambient intelligence, the applications
aware of the context, and pervasive computing -;
Software Intensive System of Systems (SISOS)
with tens of millions of lines of code, dozens
of external interfaces, 'competitive' providers,

17

You might also like