SlideShare a Scribd company logo
1945-1965: The Beginning
The term software engineering first
appeared in the late 1950s and early
1960s. Programmers have always known
about civil, electrical, and computer
engineering and debated what engineering
might mean for software.
The NATO Science Committee sponsored
two conferences on software engineering
in 1968 and 1969, which gave the field its
initial boost. Many believe these
conferences marked the official start of the
profession of software engineering.
history 1
1965-1985: The Software Crisis
Software engineering was spurred by the so-called "software
crisis" of the 1960s, 1970s, and 1980s, which identified many of
the problems of software development.
Many software projects ran over budget and schedule. Some
projects caused property damage.
A few projects caused loss of life. The software crisis was
originally defined in terms of productivity, but evolved to
emphasize quality. Some used the term software crisis to refer to
their inability to hire enough qualified programmers.
history 2
•Cost and Budget Overruns: The OS/360 operating system was a classic
example. This decade-long project from the 1960s eventually produced one of
the most complex software systems at the time. OS/360 was one of the first
large (1000 programmers) software projects. Fred Brooks claims in The
Mythical Man Month that he made a multi-million dollar mistake of not
developing a coherent architecture before starting development.
•Property Damage: Software defects can cause property damage. Poor
software security allows hackers to steal identities, costing time, money, and
reputations.
•Life and Death: Software defects can kill. Some embedded systems used in
radiotherapy machines failed so catastrophically that they administered lethal
doses of radiation to patients. The most famous of these failures is the //Therac
25// incident.
history 3
1985-1989: Silver Bullets
For decades, solving the software crisis was
paramount to researchers and companies producing
software tools. Seemingly, they trumpeted every new
technology and practice from the 1970s to the 1990s
as a "silver bullet" to solve the software crisis. Tools,
discipline, formal methods, process, and
professionalism were touted as silver bullets:
history 4
•Tools: Especially emphasized were tools: structured programming, object-
oriented programming, CASE tools, Ada, documentation, and standards were
touted as silver bullets.
•Discipline: Some pundits argued that the software crisis was due to the lack of
discipline of programmers.
•Formal methods: Some believed that if formal engineering methodologies
would be applied to software development, then production of software would
become as predictable an industry as other branches of engineering. They
advocated proving all programs correct.
•Process: Many advocated the use of defined processes and methodologies
like the Capability Maturity Model.
•Professionalism: This led to work on a code of ethics, licenses, and
professionalism.
history 5
In 1986, Fred Brooks published his No Silver
Bullet article, arguing that no individual technology or
practice would ever make a 10-fold improvement in
productivity within 10 years.
Debate about silver bullets raged over the following
decade. Advocates for Ada, components, and
processes continued arguing for years that their
favorite technology would be a silver bullet. Skeptics
disagreed. Eventually, almost everyone accepted that
no silver bullet would ever be found. Yet, claims
about silver bullets pop up now and again, even
today.
history 6
1990-1999: The Internet
The rise of the Internet led to very rapid growth in the demand
for international information display/e-mail systems on the
World Wide Web. Programmers were required to handle
illustrations, maps, photographs, and other images, plus
simple animation, at a rate never before seen, with few well-
known methods to optimize image display/storage (such as the
use of thumbnail images).
history 7
The growth of browser usage, running on the HTML
language, changed the way in which information-display
and retrieval was organized. The widespread network
connections led to the growth and prevention of
international computer viruses on MS Windows
computers, and the vast proliferation of spam e-mail
became a major design issue in e-mail systems, flooding
communication channels and requiring semi-automated
pre-screening. Keyword-search systems evolved into
web-based search engines, and many software systems
had to be re-designed,
history 8
for international searching, depending on search
engine optimization (SEO) techniques. Human natural-
language translation systems were needed to attempt
to translate the information flow in multiple foreign
languages, with many software systems being
designed for multi-language usage, based on design
concepts from human translators. Typical computer-
user bases went from hundreds, or thousands of users,
to, often, many-millions of international users.
history 9
2020-Present: Lightweight Methodologies, Devops, Computing
Capability, Privacy and Security, and BigData
Trends in the earlier years from 2000 to 2020 focused on improving the
efficiency of development processes. Agile methods, model-driven
development, software product lines, Aspect programming, and
experiment trends were process and procedure improvements. These
trends originated within the disciplines of computer science, information
technology, and software engineering (i.e. the STEM hierarchy). In the
following years, 2021 – 2023, these trends continue, but more efficient
software development approaches are called DevOps for Development
and Operations. Also, during these years, trends in other areas have
significant impacts on software engineering – on the types of problems
addressed, on quality goals, especially security and privacy; on
processes and procedures, risks, and the scale of the environment (that
is, infrastructure, data, computing resources, user volume, and diversity).
To get a handle on all these trends, we look at the impact on the models
used in software engineering, which will indicate what changes might
come in the practice of software engineering
history 10
Trends from 2000 – 2020 continued along with many new
trends. They are listed below, along with the software
engineering models they impact:
Impact on environment and computing process models:
•DEVOPS – the set of organizational practices and tools to
improve organizational capability to deliver more efficient
applications and services.
•Cloud Computing – over-the-network delivery to clients of
computing services and information technology resources from
a network of servers.
history 11
•Quantum Computing – computing using a quantum computer based on
quantum physics; its unit of storage is the qubit. N – qubits can hold 2**n
digital bits, which get super big very quickly.
•Access and Authentication Tools – practices and tools to manage and
control access to organization digital resources and identification of
authorized users
•Cyber-Security – technology to protect systems, networks, devices, and
data from attack
•Social Platforms – internet systems that enable virtual relationships and
sharing of all types of digital data among individuals, groups, businesses,
organizations, and communities, introducing a very large number of inter-
connections and complex web relationships
•Big Data – the amount of data that is too large to be practically processed
by traditional methods
history 12
Impact on architecture models and database
models:
•Distributed and Decentralized Systems – a
system distributed over the internet without
centralized control software.
•Block Chain – a distributed, decentralized
control algorithm first used for bitcoin
management; now generalized, to refer to a
distributed database of lists of transactions
stored on a peer-to-peer network of servers.
•New Database Systems – NOSQL database
models for representing and processing
unstructured data, multiple data types, and
large amounts of data
history 13
Impact on programming language models:
•New Languages – JavaScript and Java are popular
languages for mobile applications, Python for web
applications, data analysis, and data visualization.
Newer languages have features that emphasize
support for web programming, such as minimal code
and no run-time overhead, and are compatible with
Java and JavaScript; Kotlin is an example.
•Software Application Libraries – specialized
programming libraries, for example, for data analysis,
data visualization, business automation, verification
and validation, sound and image recognition and
processing, and machine learning. The above
summary of current trends and the models they
impact indicates which models are likely to be
impacted, which, in turn, will indicate which
processes, procedures, and tools might change.
history 14
Current Trends in Software Engineering
Software engineering is a young discipline and is still developing. The
directions in which software engineering is developing include:
Aspects
Aspects help software engineers deal with quality attributes by
providing tools to add or remove boilerplate code from many areas in
the source code. Aspects describe how all objects or functions should
behave in particular circumstances. For example, aspects can add
debugging, logging, or locking control into all objects of particular
types. Researchers are currently working to understand how to use
aspects to design general-purpose code. Related concepts include
generative programming and templates.
history 15
Agile
Agile software development guides software development projects
that evolve rapidly with changing expectations and competitive
markets. Proponents of this method believe that heavy, document-
driven processes (like TickIT , CMM, and ISO 9000) are fading in
importance. Some people believe that companies and agencies
export many of the jobs that can be guided by heavy-weight
processes. Related concepts include extreme programming, scrum,
and lean software development.
Experimental
Experimental software engineering is a branch of software
engineering interested in devising experiments on software, in
collecting data from the experiments, and in devising laws and
theories from this data. Proponents of this method advocate that the
nature of software is such that we can advance the knowledge of
software through experiments only.
Model-driven
Model-driven design develops textual and graphical models as
primary design artifacts. Development tools are available that use
model transformation and code generation to generate well-organized
code fragments that serve as a basis for producing complete
applications.
history 16
Software product lines
Software product lines are a
systematic way to
produce families of software
systems instead of creating a
succession of completely
individual products. This method
emphasizes extensive,
systematic, formal code reuse to
try to industrialize the software
development process.
history 17

More Related Content

Similar to software engineering history2.pptx

1. Emergence of Software EngineeringIn the software industry, we.docx
1. Emergence of Software EngineeringIn the software industry, we.docx1. Emergence of Software EngineeringIn the software industry, we.docx
1. Emergence of Software EngineeringIn the software industry, we.docxjackiewalcutt
 
Oose unit 1 ppt
Oose unit 1 pptOose unit 1 ppt
Oose unit 1 pptDr VISU P
 
OOSE Unit 1 PPT.ppt
OOSE Unit 1 PPT.pptOOSE Unit 1 PPT.ppt
OOSE Unit 1 PPT.pptitadmin33
 
Introduction to Software Engineering Notes
Introduction to Software Engineering NotesIntroduction to Software Engineering Notes
Introduction to Software Engineering NotesDr Anuranjan Misra
 
Chapter 01
Chapter 01Chapter 01
Chapter 01ryan aja
 
Future of jobs and digital economy citi conference 090618
Future of jobs and digital economy citi conference 090618Future of jobs and digital economy citi conference 090618
Future of jobs and digital economy citi conference 090618Economic Strategy Institute
 
Software Engineering
Software EngineeringSoftware Engineering
Software Engineeringtanni821216
 
SE UNIT 1 NOTES OF SE SOFTWARE ENGG AND SE
SE UNIT 1 NOTES OF SE SOFTWARE ENGG AND SESE UNIT 1 NOTES OF SE SOFTWARE ENGG AND SE
SE UNIT 1 NOTES OF SE SOFTWARE ENGG AND SEAbhishekTripathi709328
 
SWE-610-Lec-1-Software-Intro duction(1).pptx
SWE-610-Lec-1-Software-Intro duction(1).pptxSWE-610-Lec-1-Software-Intro duction(1).pptx
SWE-610-Lec-1-Software-Intro duction(1).pptxnohaaalrajhi
 
BCO 117 IT Software for Business Lecture Reference Notes.docx
BCO 117 IT Software for Business Lecture Reference Notes.docxBCO 117 IT Software for Business Lecture Reference Notes.docx
BCO 117 IT Software for Business Lecture Reference Notes.docxjesuslightbody
 

Similar to software engineering history2.pptx (20)

1. Emergence of Software EngineeringIn the software industry, we.docx
1. Emergence of Software EngineeringIn the software industry, we.docx1. Emergence of Software EngineeringIn the software industry, we.docx
1. Emergence of Software EngineeringIn the software industry, we.docx
 
Chapter 01
Chapter 01Chapter 01
Chapter 01
 
Learning activity 4
Learning activity 4Learning activity 4
Learning activity 4
 
Oose unit 1 ppt
Oose unit 1 pptOose unit 1 ppt
Oose unit 1 ppt
 
OOSE Unit 1 PPT.ppt
OOSE Unit 1 PPT.pptOOSE Unit 1 PPT.ppt
OOSE Unit 1 PPT.ppt
 
Introduction to Software Engineering Notes
Introduction to Software Engineering NotesIntroduction to Software Engineering Notes
Introduction to Software Engineering Notes
 
Week1.pptx
Week1.pptxWeek1.pptx
Week1.pptx
 
Chapter 01
Chapter 01Chapter 01
Chapter 01
 
Future of jobs and digital economy citi conference 090618
Future of jobs and digital economy citi conference 090618Future of jobs and digital economy citi conference 090618
Future of jobs and digital economy citi conference 090618
 
lecture 1.pdf
lecture 1.pdflecture 1.pdf
lecture 1.pdf
 
Software Engineering
Software EngineeringSoftware Engineering
Software Engineering
 
ch1_introduction (1).ppt
ch1_introduction (1).pptch1_introduction (1).ppt
ch1_introduction (1).ppt
 
ch1_introduction (2).ppt
ch1_introduction (2).pptch1_introduction (2).ppt
ch1_introduction (2).ppt
 
Software Engineering
Software EngineeringSoftware Engineering
Software Engineering
 
SE UNIT 1 NOTES OF SE SOFTWARE ENGG AND SE
SE UNIT 1 NOTES OF SE SOFTWARE ENGG AND SESE UNIT 1 NOTES OF SE SOFTWARE ENGG AND SE
SE UNIT 1 NOTES OF SE SOFTWARE ENGG AND SE
 
ch1_introduction.ppt
ch1_introduction.pptch1_introduction.ppt
ch1_introduction.ppt
 
IT Fundamentals
IT FundamentalsIT Fundamentals
IT Fundamentals
 
Chapter 01
Chapter 01Chapter 01
Chapter 01
 
SWE-610-Lec-1-Software-Intro duction(1).pptx
SWE-610-Lec-1-Software-Intro duction(1).pptxSWE-610-Lec-1-Software-Intro duction(1).pptx
SWE-610-Lec-1-Software-Intro duction(1).pptx
 
BCO 117 IT Software for Business Lecture Reference Notes.docx
BCO 117 IT Software for Business Lecture Reference Notes.docxBCO 117 IT Software for Business Lecture Reference Notes.docx
BCO 117 IT Software for Business Lecture Reference Notes.docx
 

More from Mohamed Alashram

More from Mohamed Alashram (20)

software engineering history
software     engineering         historysoftware     engineering         history
software engineering history
 
lung cancer
lung                                 cancerlung                                 cancer
lung cancer
 
cancer incidence .pdf
cancer         incidence             .pdfcancer         incidence             .pdf
cancer incidence .pdf
 
cancer introduction .pdf
cancer            introduction      .pdfcancer            introduction      .pdf
cancer introduction .pdf
 
cancer etiology .pdf
cancer               etiology       .pdfcancer               etiology       .pdf
cancer etiology .pdf
 
oncology. pdf
oncology.                                        pdfoncology.                                        pdf
oncology. pdf
 
molecular biology1 .pdf
molecular           biology1         .pdfmolecular           biology1         .pdf
molecular biology1 .pdf
 
photosynthesis lecture1 introduction.pdf
photosynthesis lecture1 introduction.pdfphotosynthesis lecture1 introduction.pdf
photosynthesis lecture1 introduction.pdf
 
history of computer hardware .pdf
history   of computer      hardware  .pdfhistory   of computer      hardware  .pdf
history of computer hardware .pdf
 
Energy and metabolism.pdf
Energy          and        metabolism.pdfEnergy          and        metabolism.pdf
Energy and metabolism.pdf
 
Management leadership .pdf
Management           leadership      .pdfManagement           leadership      .pdf
Management leadership .pdf
 
biology introduction . pdf
biology          introduction   .     pdfbiology          introduction   .     pdf
biology introduction . pdf
 
cell membrane .pdf
cell    membrane                    .pdfcell    membrane                    .pdf
cell membrane .pdf
 
Charteris tics of life .pdf
Charteris tics       of        life .pdfCharteris tics       of        life .pdf
Charteris tics of life .pdf
 
biology introduction .pdf
biology                 introduction .pdfbiology                 introduction .pdf
biology introduction .pdf
 
AWS directory application.pdf
AWS         directory    application.pdfAWS         directory    application.pdf
AWS directory application.pdf
 
data science .1.pdf
data      science                 .1.pdfdata      science                 .1.pdf
data science .1.pdf
 
interacting with AWS2 .pdf
interacting       with    AWS2      .pdfinteracting       with    AWS2      .pdf
interacting with AWS2 .pdf
 
interacting with AWS . pdf
interacting   with   AWS   .          pdfinteracting   with   AWS   .          pdf
interacting with AWS . pdf
 
cloud computing .pdf
cloud                    computing  .pdfcloud                    computing  .pdf
cloud computing .pdf
 

Recently uploaded

Gyanartha SciBizTech Quiz slideshare.pptx
Gyanartha SciBizTech Quiz slideshare.pptxGyanartha SciBizTech Quiz slideshare.pptx
Gyanartha SciBizTech Quiz slideshare.pptxShibin Azad
 
size separation d pharm 1st year pharmaceutics
size separation d pharm 1st year pharmaceuticssize separation d pharm 1st year pharmaceutics
size separation d pharm 1st year pharmaceuticspragatimahajan3
 
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaasiemaillard
 
PART A. Introduction to Costumer Service
PART A. Introduction to Costumer ServicePART A. Introduction to Costumer Service
PART A. Introduction to Costumer ServicePedroFerreira53928
 
[GDSC YCCE] Build with AI Online Presentation
[GDSC YCCE] Build with AI Online Presentation[GDSC YCCE] Build with AI Online Presentation
[GDSC YCCE] Build with AI Online PresentationGDSCYCCE
 
Students, digital devices and success - Andreas Schleicher - 27 May 2024..pptx
Students, digital devices and success - Andreas Schleicher - 27 May 2024..pptxStudents, digital devices and success - Andreas Schleicher - 27 May 2024..pptx
Students, digital devices and success - Andreas Schleicher - 27 May 2024..pptxEduSkills OECD
 
Incoming and Outgoing Shipments in 2 STEPS Using Odoo 17
Incoming and Outgoing Shipments in 2 STEPS Using Odoo 17Incoming and Outgoing Shipments in 2 STEPS Using Odoo 17
Incoming and Outgoing Shipments in 2 STEPS Using Odoo 17Celine George
 
2024_Student Session 2_ Set Plan Preparation.pptx
2024_Student Session 2_ Set Plan Preparation.pptx2024_Student Session 2_ Set Plan Preparation.pptx
2024_Student Session 2_ Set Plan Preparation.pptxmansk2
 
Removal Strategy _ FEFO _ Working with Perishable Products in Odoo 17
Removal Strategy _ FEFO _ Working with Perishable Products in Odoo 17Removal Strategy _ FEFO _ Working with Perishable Products in Odoo 17
Removal Strategy _ FEFO _ Working with Perishable Products in Odoo 17Celine George
 
The Last Leaf, a short story by O. Henry
The Last Leaf, a short story by O. HenryThe Last Leaf, a short story by O. Henry
The Last Leaf, a short story by O. HenryEugene Lysak
 
Basic Civil Engg Notes_Chapter-6_Environment Pollution & Engineering
Basic Civil Engg Notes_Chapter-6_Environment Pollution & EngineeringBasic Civil Engg Notes_Chapter-6_Environment Pollution & Engineering
Basic Civil Engg Notes_Chapter-6_Environment Pollution & EngineeringDenish Jangid
 
Benefits and Challenges of Using Open Educational Resources
Benefits and Challenges of Using Open Educational ResourcesBenefits and Challenges of Using Open Educational Resources
Benefits and Challenges of Using Open Educational Resourcesdimpy50
 
Post Exam Fun(da) Intra UEM General Quiz 2024 - Prelims q&a.pdf
Post Exam Fun(da) Intra UEM General Quiz 2024 - Prelims q&a.pdfPost Exam Fun(da) Intra UEM General Quiz 2024 - Prelims q&a.pdf
Post Exam Fun(da) Intra UEM General Quiz 2024 - Prelims q&a.pdfPragya - UEM Kolkata Quiz Club
 
Salient features of Environment protection Act 1986.pptx
Salient features of Environment protection Act 1986.pptxSalient features of Environment protection Act 1986.pptx
Salient features of Environment protection Act 1986.pptxakshayaramakrishnan21
 
INU_CAPSTONEDESIGN_비밀번호486_업로드용 발표자료.pdf
INU_CAPSTONEDESIGN_비밀번호486_업로드용 발표자료.pdfINU_CAPSTONEDESIGN_비밀번호486_업로드용 발표자료.pdf
INU_CAPSTONEDESIGN_비밀번호486_업로드용 발표자료.pdfbu07226
 
The Art Pastor's Guide to Sabbath | Steve Thomason
The Art Pastor's Guide to Sabbath | Steve ThomasonThe Art Pastor's Guide to Sabbath | Steve Thomason
The Art Pastor's Guide to Sabbath | Steve ThomasonSteve Thomason
 
Telling Your Story_ Simple Steps to Build Your Nonprofit's Brand Webinar.pdf
Telling Your Story_ Simple Steps to Build Your Nonprofit's Brand Webinar.pdfTelling Your Story_ Simple Steps to Build Your Nonprofit's Brand Webinar.pdf
Telling Your Story_ Simple Steps to Build Your Nonprofit's Brand Webinar.pdfTechSoup
 

Recently uploaded (20)

Gyanartha SciBizTech Quiz slideshare.pptx
Gyanartha SciBizTech Quiz slideshare.pptxGyanartha SciBizTech Quiz slideshare.pptx
Gyanartha SciBizTech Quiz slideshare.pptx
 
size separation d pharm 1st year pharmaceutics
size separation d pharm 1st year pharmaceuticssize separation d pharm 1st year pharmaceutics
size separation d pharm 1st year pharmaceutics
 
“O BEIJO” EM ARTE .
“O BEIJO” EM ARTE                       .“O BEIJO” EM ARTE                       .
“O BEIJO” EM ARTE .
 
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
 
PART A. Introduction to Costumer Service
PART A. Introduction to Costumer ServicePART A. Introduction to Costumer Service
PART A. Introduction to Costumer Service
 
[GDSC YCCE] Build with AI Online Presentation
[GDSC YCCE] Build with AI Online Presentation[GDSC YCCE] Build with AI Online Presentation
[GDSC YCCE] Build with AI Online Presentation
 
Students, digital devices and success - Andreas Schleicher - 27 May 2024..pptx
Students, digital devices and success - Andreas Schleicher - 27 May 2024..pptxStudents, digital devices and success - Andreas Schleicher - 27 May 2024..pptx
Students, digital devices and success - Andreas Schleicher - 27 May 2024..pptx
 
Incoming and Outgoing Shipments in 2 STEPS Using Odoo 17
Incoming and Outgoing Shipments in 2 STEPS Using Odoo 17Incoming and Outgoing Shipments in 2 STEPS Using Odoo 17
Incoming and Outgoing Shipments in 2 STEPS Using Odoo 17
 
2024_Student Session 2_ Set Plan Preparation.pptx
2024_Student Session 2_ Set Plan Preparation.pptx2024_Student Session 2_ Set Plan Preparation.pptx
2024_Student Session 2_ Set Plan Preparation.pptx
 
Removal Strategy _ FEFO _ Working with Perishable Products in Odoo 17
Removal Strategy _ FEFO _ Working with Perishable Products in Odoo 17Removal Strategy _ FEFO _ Working with Perishable Products in Odoo 17
Removal Strategy _ FEFO _ Working with Perishable Products in Odoo 17
 
The Last Leaf, a short story by O. Henry
The Last Leaf, a short story by O. HenryThe Last Leaf, a short story by O. Henry
The Last Leaf, a short story by O. Henry
 
NCERT Solutions Power Sharing Class 10 Notes pdf
NCERT Solutions Power Sharing Class 10 Notes pdfNCERT Solutions Power Sharing Class 10 Notes pdf
NCERT Solutions Power Sharing Class 10 Notes pdf
 
Basic Civil Engg Notes_Chapter-6_Environment Pollution & Engineering
Basic Civil Engg Notes_Chapter-6_Environment Pollution & EngineeringBasic Civil Engg Notes_Chapter-6_Environment Pollution & Engineering
Basic Civil Engg Notes_Chapter-6_Environment Pollution & Engineering
 
Benefits and Challenges of Using Open Educational Resources
Benefits and Challenges of Using Open Educational ResourcesBenefits and Challenges of Using Open Educational Resources
Benefits and Challenges of Using Open Educational Resources
 
Post Exam Fun(da) Intra UEM General Quiz 2024 - Prelims q&a.pdf
Post Exam Fun(da) Intra UEM General Quiz 2024 - Prelims q&a.pdfPost Exam Fun(da) Intra UEM General Quiz 2024 - Prelims q&a.pdf
Post Exam Fun(da) Intra UEM General Quiz 2024 - Prelims q&a.pdf
 
Salient features of Environment protection Act 1986.pptx
Salient features of Environment protection Act 1986.pptxSalient features of Environment protection Act 1986.pptx
Salient features of Environment protection Act 1986.pptx
 
INU_CAPSTONEDESIGN_비밀번호486_업로드용 발표자료.pdf
INU_CAPSTONEDESIGN_비밀번호486_업로드용 발표자료.pdfINU_CAPSTONEDESIGN_비밀번호486_업로드용 발표자료.pdf
INU_CAPSTONEDESIGN_비밀번호486_업로드용 발표자료.pdf
 
Word Stress rules esl .pptx
Word Stress rules esl               .pptxWord Stress rules esl               .pptx
Word Stress rules esl .pptx
 
The Art Pastor's Guide to Sabbath | Steve Thomason
The Art Pastor's Guide to Sabbath | Steve ThomasonThe Art Pastor's Guide to Sabbath | Steve Thomason
The Art Pastor's Guide to Sabbath | Steve Thomason
 
Telling Your Story_ Simple Steps to Build Your Nonprofit's Brand Webinar.pdf
Telling Your Story_ Simple Steps to Build Your Nonprofit's Brand Webinar.pdfTelling Your Story_ Simple Steps to Build Your Nonprofit's Brand Webinar.pdf
Telling Your Story_ Simple Steps to Build Your Nonprofit's Brand Webinar.pdf
 

software engineering history2.pptx

  • 1. 1945-1965: The Beginning The term software engineering first appeared in the late 1950s and early 1960s. Programmers have always known about civil, electrical, and computer engineering and debated what engineering might mean for software. The NATO Science Committee sponsored two conferences on software engineering in 1968 and 1969, which gave the field its initial boost. Many believe these conferences marked the official start of the profession of software engineering. history 1
  • 2. 1965-1985: The Software Crisis Software engineering was spurred by the so-called "software crisis" of the 1960s, 1970s, and 1980s, which identified many of the problems of software development. Many software projects ran over budget and schedule. Some projects caused property damage. A few projects caused loss of life. The software crisis was originally defined in terms of productivity, but evolved to emphasize quality. Some used the term software crisis to refer to their inability to hire enough qualified programmers. history 2
  • 3. •Cost and Budget Overruns: The OS/360 operating system was a classic example. This decade-long project from the 1960s eventually produced one of the most complex software systems at the time. OS/360 was one of the first large (1000 programmers) software projects. Fred Brooks claims in The Mythical Man Month that he made a multi-million dollar mistake of not developing a coherent architecture before starting development. •Property Damage: Software defects can cause property damage. Poor software security allows hackers to steal identities, costing time, money, and reputations. •Life and Death: Software defects can kill. Some embedded systems used in radiotherapy machines failed so catastrophically that they administered lethal doses of radiation to patients. The most famous of these failures is the //Therac 25// incident. history 3
  • 4. 1985-1989: Silver Bullets For decades, solving the software crisis was paramount to researchers and companies producing software tools. Seemingly, they trumpeted every new technology and practice from the 1970s to the 1990s as a "silver bullet" to solve the software crisis. Tools, discipline, formal methods, process, and professionalism were touted as silver bullets: history 4
  • 5. •Tools: Especially emphasized were tools: structured programming, object- oriented programming, CASE tools, Ada, documentation, and standards were touted as silver bullets. •Discipline: Some pundits argued that the software crisis was due to the lack of discipline of programmers. •Formal methods: Some believed that if formal engineering methodologies would be applied to software development, then production of software would become as predictable an industry as other branches of engineering. They advocated proving all programs correct. •Process: Many advocated the use of defined processes and methodologies like the Capability Maturity Model. •Professionalism: This led to work on a code of ethics, licenses, and professionalism. history 5
  • 6. In 1986, Fred Brooks published his No Silver Bullet article, arguing that no individual technology or practice would ever make a 10-fold improvement in productivity within 10 years. Debate about silver bullets raged over the following decade. Advocates for Ada, components, and processes continued arguing for years that their favorite technology would be a silver bullet. Skeptics disagreed. Eventually, almost everyone accepted that no silver bullet would ever be found. Yet, claims about silver bullets pop up now and again, even today. history 6
  • 7. 1990-1999: The Internet The rise of the Internet led to very rapid growth in the demand for international information display/e-mail systems on the World Wide Web. Programmers were required to handle illustrations, maps, photographs, and other images, plus simple animation, at a rate never before seen, with few well- known methods to optimize image display/storage (such as the use of thumbnail images). history 7
  • 8. The growth of browser usage, running on the HTML language, changed the way in which information-display and retrieval was organized. The widespread network connections led to the growth and prevention of international computer viruses on MS Windows computers, and the vast proliferation of spam e-mail became a major design issue in e-mail systems, flooding communication channels and requiring semi-automated pre-screening. Keyword-search systems evolved into web-based search engines, and many software systems had to be re-designed, history 8
  • 9. for international searching, depending on search engine optimization (SEO) techniques. Human natural- language translation systems were needed to attempt to translate the information flow in multiple foreign languages, with many software systems being designed for multi-language usage, based on design concepts from human translators. Typical computer- user bases went from hundreds, or thousands of users, to, often, many-millions of international users. history 9
  • 10. 2020-Present: Lightweight Methodologies, Devops, Computing Capability, Privacy and Security, and BigData Trends in the earlier years from 2000 to 2020 focused on improving the efficiency of development processes. Agile methods, model-driven development, software product lines, Aspect programming, and experiment trends were process and procedure improvements. These trends originated within the disciplines of computer science, information technology, and software engineering (i.e. the STEM hierarchy). In the following years, 2021 – 2023, these trends continue, but more efficient software development approaches are called DevOps for Development and Operations. Also, during these years, trends in other areas have significant impacts on software engineering – on the types of problems addressed, on quality goals, especially security and privacy; on processes and procedures, risks, and the scale of the environment (that is, infrastructure, data, computing resources, user volume, and diversity). To get a handle on all these trends, we look at the impact on the models used in software engineering, which will indicate what changes might come in the practice of software engineering history 10
  • 11. Trends from 2000 – 2020 continued along with many new trends. They are listed below, along with the software engineering models they impact: Impact on environment and computing process models: •DEVOPS – the set of organizational practices and tools to improve organizational capability to deliver more efficient applications and services. •Cloud Computing – over-the-network delivery to clients of computing services and information technology resources from a network of servers. history 11
  • 12. •Quantum Computing – computing using a quantum computer based on quantum physics; its unit of storage is the qubit. N – qubits can hold 2**n digital bits, which get super big very quickly. •Access and Authentication Tools – practices and tools to manage and control access to organization digital resources and identification of authorized users •Cyber-Security – technology to protect systems, networks, devices, and data from attack •Social Platforms – internet systems that enable virtual relationships and sharing of all types of digital data among individuals, groups, businesses, organizations, and communities, introducing a very large number of inter- connections and complex web relationships •Big Data – the amount of data that is too large to be practically processed by traditional methods history 12
  • 13. Impact on architecture models and database models: •Distributed and Decentralized Systems – a system distributed over the internet without centralized control software. •Block Chain – a distributed, decentralized control algorithm first used for bitcoin management; now generalized, to refer to a distributed database of lists of transactions stored on a peer-to-peer network of servers. •New Database Systems – NOSQL database models for representing and processing unstructured data, multiple data types, and large amounts of data history 13
  • 14. Impact on programming language models: •New Languages – JavaScript and Java are popular languages for mobile applications, Python for web applications, data analysis, and data visualization. Newer languages have features that emphasize support for web programming, such as minimal code and no run-time overhead, and are compatible with Java and JavaScript; Kotlin is an example. •Software Application Libraries – specialized programming libraries, for example, for data analysis, data visualization, business automation, verification and validation, sound and image recognition and processing, and machine learning. The above summary of current trends and the models they impact indicates which models are likely to be impacted, which, in turn, will indicate which processes, procedures, and tools might change. history 14
  • 15. Current Trends in Software Engineering Software engineering is a young discipline and is still developing. The directions in which software engineering is developing include: Aspects Aspects help software engineers deal with quality attributes by providing tools to add or remove boilerplate code from many areas in the source code. Aspects describe how all objects or functions should behave in particular circumstances. For example, aspects can add debugging, logging, or locking control into all objects of particular types. Researchers are currently working to understand how to use aspects to design general-purpose code. Related concepts include generative programming and templates. history 15
  • 16. Agile Agile software development guides software development projects that evolve rapidly with changing expectations and competitive markets. Proponents of this method believe that heavy, document- driven processes (like TickIT , CMM, and ISO 9000) are fading in importance. Some people believe that companies and agencies export many of the jobs that can be guided by heavy-weight processes. Related concepts include extreme programming, scrum, and lean software development. Experimental Experimental software engineering is a branch of software engineering interested in devising experiments on software, in collecting data from the experiments, and in devising laws and theories from this data. Proponents of this method advocate that the nature of software is such that we can advance the knowledge of software through experiments only. Model-driven Model-driven design develops textual and graphical models as primary design artifacts. Development tools are available that use model transformation and code generation to generate well-organized code fragments that serve as a basis for producing complete applications. history 16
  • 17. Software product lines Software product lines are a systematic way to produce families of software systems instead of creating a succession of completely individual products. This method emphasizes extensive, systematic, formal code reuse to try to industrialize the software development process. history 17