You are on page 1of 20

By : Dr.

Anjali
Assistant Professor
ABV-IIITM Gwalior
EVOLUTION OF SOFTWARE
PRESENTATION TITLE

ENGINEERING : FROM AN ART TO


ENGINEERING DISCIPLINE

2
PRESENTATION TITLE W H Y I S S O F T WA R E E N G I N E E R I N G I M P O RTA N T ?

For example: If someone wants to travel from Punjab to


Delhi. There are two approaches one can follow to achieve
the same result:
1.The normal approach is just to go out and catch the
bus/train that is available.
2.A systematic approach is constructed as Firstly check on
Google Maps about distance and after analyzing the timing
of trains and buses online and after that, match user’s
preference suppose user have some work till 4:00 PM and
trains slot are: 1:00 PM, 6:00 PM then the user will choose
6:00 PM time slot and reach Delhi.
From the above situation, one can easily analyze that Iron Triangle: This concept is often
Creating a systematic Approach is more optimal and time summed up as “Pick Two: Quality,
and cost-effective as compared to a normal approach. This Time, Cost”.
will same occur while designing Software. So in Software
Engineering working on an Engineering or a Systematic
3
approach is more beneficial.
Note: Complex systems need a disciplined approach for designing, developing and managing them.
PRESENTATION TITLE

WHAT IS
SOFTWARE
ENGINEERING?

Software engineering is the application of


systematic, quantifiable processes to the
development and evolution of software
products for customers, subject to cost,
schedule, and regulatory constraints.

4
PRESENTATION TITLE

T H E H I S TO RY O F
S O F T WA R E
ENGINEERING

1950s: Emergence of Software Engineering Concepts


•1950s: The field of software engineering begins to take shape
alongside the development of electronic computers. Pioneering
work by computer scientists like Grace Hopper lays the
groundwork for early programming languages.
•1956: The term "software engineering" is coined by Anthony
Oettinger at the NATO Software Engineering Conference.

5
PRESENTATION TITLE

T H E H I S TO RY O F
S O F T WA R E
ENGINEERING

1960s: Initial Methodologies and Software Crisis Awareness


•1960s: The demand for software grows rapidly, leading to the realization
of the software crisis, where the complexity of software projects exceeds
the capacity of existing development methods.
•1968: NATO holds the first Software Engineering Conference,
emphasizing the need for systematic software development methodologies.

6
PRESENTATION TITLE
T h e F i r s t C o n f e r e n c e , T h e I B M 3 6 0 P r o j e c t , A n d H a m i l t o n ’s E x p e r i e n c e s O n
The Apollo Mission Identified Many Problems That Had No Clear Solutions:

The first conference, the IBM 360 project, and Hamilton’s experiences on the Apollo mission
identified many problems that had no clear solutions:
When you’re solving a problem that doesn’t yet have a solution, what is a good process for
building a solution?
When software does so many different things, how can you know software “works”?
How can you make progress when no one on the team understands every part of the program?
When people leave a project, how do you ensure their replacement has all of the knowledge they
had?
When no one understands every part of the program, how do you diagnose defects?
When people are working in parallel, how do you prevent them from clobbering each other’s
work?
If software engineering is about more than coding, what skills does a good coder need to have?
What kinds of tools and languages can accelerate a programmers work and help them prevent
mistakes?
How can projects not lose sight of the immense complexity of human needs, values, ethics, and
policy that interact with engineering decisions?

7
PRESENTATION TITLE

T H E H I S TO RY O F
S O F T WA R E
ENGINEERING

1970s: Methodologies and Structured Programming


•1970s: Structured programming principles gain prominence, promoting
modular and organized code. Edsger Dijkstra and others contribute
significantly to formalizing programming practices.
•1970s: Waterfall model, one of the earliest formalized software
development methodologies, is introduced, emphasizing a linear and
sequential approach to software development.

8
PRESENTATION TITLE

T H E H I S TO RY O F
S O F T WA R E
ENGINEERING

1980s: Rise of Object-Oriented Programming and Agile


Beginnings
•1980s: Object-oriented programming (OOP) gains popularity,
introducing concepts like classes and inheritance. Languages like
Smalltalk and C++ emerge as early OOP implementations.
•1986: The Capability Maturity Model (CMM) is introduced to assess
and improve the maturity of software processes.
•1987: The term "Agile" is first used in the context of software
9
development.
PRESENTATION TITLE

SOFTWARE CRISIS
• Example: 1982, Therac-25 machines

• AECL sold eleven Therac-25 machines that were used in the United States and Canada
beginning in 1982.

• Unfortunately, six accidents involving significant overdoses of radiation to patients


resulting in death occurred between 1985 and 1987 (Leveson & Turner 1993). Patients
reported being “burned by the machine” which some technicians reported, but the
company thought was impossible.

• The Therac-25 incident involved what has been called one of the worst computer bugs
in history (Lynch 2017), though it was largely a matter of overall design issues rather
than a specific coding error.

10
T H E H I S TO RY O F
S O F T WA R E
ENGINEERING

1990s: Internet Boom and Agile Manifesto


•1990s: The proliferation of the internet leads to a surge in software
development. The focus shifts towards client-server architecture and
distributed computing.
•1994: The Unified Modeling Language (UML) is introduced as a
standard visual modeling language for software engineering.
•2001: The Agile Manifesto is formulated, emphasizing principles
such as customer collaboration, responding to change, and
delivering working software.
11
PRESENTATION TITLE

SOFTWARE CRISIS
• Example: 1992, London Ambulance Service

• Considered the largest ambulance service in the world.

• Overloaded problem.

• It was unable to keep track of the ambulances and their statuses. Sending multiple units to
some locations and no units to other locations.

• Generates many exceptions messages.

• 46 deaths.

12
PRESENTATION TITLE

SOFTWARE CRISIS

Example : Ariane 5 Explosion (1996)

• European Space Agency spent 10 years and $7 billion to


produce Ariane 5.

• Crash after 36.7 seconds.

• Caused by an overflow error. Trying to store a 64-bit number


into a 16-bit space.

• Watch the video: http://www.youtube.com/watch?v=z-r9cYp3tTE

13
PRESENTATION TITLE

T H E H I S TO RY O F
S O F T WA R E
ENGINEERING

2000s: DevOps and Continuous Integration


•2000s: DevOps practices gain traction, emphasizing collaboration
between development and operations teams to improve efficiency
and reliability.
•2008: Continuous Integration (CI) and Continuous Deployment
(CD) practices become more widespread, enabling faster and more
reliable software delivery.

14
PRESENTATION TITLE

SOFTWARE CRISIS

Example 1: 2009,Computer glitch delays flights

Saturday 3rd October 2009-London, England (CNN)

Dozens of flights from the UK were delayed Saturday after a glitch in an air traffic
control system in Scotland, but the problem was fixed a few hours later.

The agency said it reverted to backup equipment as engineering worked on the system.

The problem did not create a safety issue but could cause delays in flights.

Read more at:


http://edition.cnn.com/2009/WORLD/europe/10/03/uk.flights.delayed

15
PRESENTATION TITLE

T H E H I S TO RY O F
S O F T WA R E
ENGINEERING

2010s: Cloud Computing and Machine Learning Integration


•2010s: Cloud computing becomes a dominant paradigm, transforming
the way software is deployed and maintained.
•2014: DevOps evolves into DevSecOps, integrating security into the
development and operations processes.
•2010s: Machine Learning and Artificial Intelligence find widespread
application in software engineering, impacting areas such as data
analysis, testing, and automation.
16
PRESENTATION TITLE

T H E H I S TO RY O F
S O F T WA R E
ENGINEERING

2020s: Continued Evolution and Emphasis on Ethical AI


•2020s: Software engineering continues to evolve, with an increasing
emphasis on sustainability, ethical AI, and responsible development
practices.
•2020s: New methodologies and frameworks emerge, addressing the
challenges posed by distributed and remote development teams.
•2020s: The software engineering community actively addresses ethical
concerns related to AI, data privacy, and the societal impact of
technology.
17
CASE STUDY: THE VOLKSWAGEN
PRESENTATION TITLE

EMISSIONS SCANDAL
Between 2009 and 2015, Volkswagen (VW) won several environmental awards for cars it called “Clean
Diesels.” The company sold 11 million of them worldwide, 50,000 of them in the USA.14
On September 3, 2015, VW admitted that it had misused software to mislead regulators and the public
about emissions. The software was designed to engage emissions controls only while a car was being
tested for emissions. The designers knew how the test would be conducted, and they programmed the
software to detect whether the car was being tested. The car passed the Environmental Protection Agency’s
(EPA’s) emissions test with flying colors. During normal real-world driving, the software disengaged the
emissions controls. NOx emissions were 40 times higher during real-world driving than they were during a
test. When news of the deception became public, VW stock lost a third of its market value in two trading
days. The company’s reputation was damaged. Lawsuits were filed around the world. Between the April
2016 $18.32 billion recall campaign and the January 2017 $4.3 billion EPA fine, the monetary cost to the
company was in excess of $22 billion for these two charges alone. Meanwhile, lawsuits continued in
countries across the world.

18
Therefore…
A well-disciplined approach to software
development and management is
necessary. This is called engineering.
THANK YOU

You might also like