24
Internet Engineering Jan Nikodem, Ph.D. Software Engineering

Internet Engineering Jan Nikodem, Ph.D. Software Engineering · Theengineering paradigm Software Engineering Lecture 3. Nationality;German, mathematician, theoretical physicist, Technical

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Internet Engineering Jan Nikodem, Ph.D. Software Engineering · Theengineering paradigm Software Engineering Lecture 3. Nationality;German, mathematician, theoretical physicist, Technical

Internet Engineering

Jan Nikodem, Ph.D.

Software Engineering

Page 2: Internet Engineering Jan Nikodem, Ph.D. Software Engineering · Theengineering paradigm Software Engineering Lecture 3. Nationality;German, mathematician, theoretical physicist, Technical

The engineering paradigm

Software Engineering Lecture 3

Page 3: Internet Engineering Jan Nikodem, Ph.D. Software Engineering · Theengineering paradigm Software Engineering Lecture 3. Nationality;German, mathematician, theoretical physicist, Technical

Nationality; German,mathematician , theoretical

physicist, Technical University of Munich Friedrich L. Bauer

1924

The term "software crisis" was coined at the first NATO Software Engineering Conference in 1968

by:

Friedrich. L. Bauer

3/24

Page 4: Internet Engineering Jan Nikodem, Ph.D. Software Engineering · Theengineering paradigm Software Engineering Lecture 3. Nationality;German, mathematician, theoretical physicist, Technical

Nationality; Dutch,astronomer, Regnecentralen, Niels Bohr Institute, Technical University of Denmark, University of Copenhagen.

Peter Naur 1928

The term "software crisis" was coined at the first NATO Software Engineering Conference in 1968

by: Peter Naur

4/24

Page 5: Internet Engineering Jan Nikodem, Ph.D. Software Engineering · Theengineering paradigm Software Engineering Lecture 3. Nationality;German, mathematician, theoretical physicist, Technical

Nationality; Dutch,astronomer, Regnecentralen, Niels Bohr Institute, Technical University of Denmark, University of Copenhagen.

Peter Naur 1928

What should be our response to software crisis

which provided with too little quality,

too late deliver and over budget ?

5/24

Page 6: Internet Engineering Jan Nikodem, Ph.D. Software Engineering · Theengineering paradigm Software Engineering Lecture 3. Nationality;German, mathematician, theoretical physicist, Technical

NATO conference in Garmisch-Partenkirchen, 1968

Peter Naur 1928

Software should following an

engineering paradigm

6/24

Page 7: Internet Engineering Jan Nikodem, Ph.D. Software Engineering · Theengineering paradigm Software Engineering Lecture 3. Nationality;German, mathematician, theoretical physicist, Technical

Nationality; Swiss,electrical engineer, computer scientist ETH Zürich, IBM Zürich Research Laboratory,Institute for Media Communications

Martin Reiser

The hope is that the progress in hardware will

cure all software ills.

The Oberon System User Guide and Programmer's Manual. ACM Press

7/24

Page 8: Internet Engineering Jan Nikodem, Ph.D. Software Engineering · Theengineering paradigm Software Engineering Lecture 3. Nationality;German, mathematician, theoretical physicist, Technical

Nationality; Swiss,electrical engineer, computer scientist ETH Zürich, IBM Zürich Research Laboratory,Institute for Media Communications

Martin Reiser

However, a critical observer may note that

software manages to outgrow hardware in size

and sluggishness.The Oberon System User Guide and Programmer's Manual. ACM Press

8/24

Page 9: Internet Engineering Jan Nikodem, Ph.D. Software Engineering · Theengineering paradigm Software Engineering Lecture 3. Nationality;German, mathematician, theoretical physicist, Technical

Nationality; Swiss,electronic engineer, computer scientistETH Zürich, University of California, Berkeley, Stanford UniversityUniversity of Zurich. Xerox PARC. Niklaus Emil Wirth

1934

Wirth's computing adageSoftware is getting slower more rapidly than

hardware becomes faster.

9/24

Page 10: Internet Engineering Jan Nikodem, Ph.D. Software Engineering · Theengineering paradigm Software Engineering Lecture 3. Nationality;German, mathematician, theoretical physicist, Technical

N. E. Wirth

A Brief History of SEI. The 1960s and the Origin of Software Engineering

Computers emergenced from the closed laboratory of electrical engineers into the public domain.

There was no interactivity between man andcomputer.

10/24

Page 11: Internet Engineering Jan Nikodem, Ph.D. Software Engineering · Theengineering paradigm Software Engineering Lecture 3. Nationality;German, mathematician, theoretical physicist, Technical

N. E. Wirth

A Brief History of SEII. Programming as a Discipline

High-level language became an ill-understood buzzword. What, if anything, was to be “high-level”?

Software engineers were judged by the number of lines of code produced per hour [sic].

11/24

Page 12: Internet Engineering Jan Nikodem, Ph.D. Software Engineering · Theengineering paradigm Software Engineering Lecture 3. Nationality;German, mathematician, theoretical physicist, Technical

N. E. Wirth

A Brief History of SEIII. Abstraction

Computer systems are machines of large complexity.

This complexity can be mastered intellectually by one

tool only: Abstraction.

12/24

Page 13: Internet Engineering Jan Nikodem, Ph.D. Software Engineering · Theengineering paradigm Software Engineering Lecture 3. Nationality;German, mathematician, theoretical physicist, Technical

N. E. Wirth

A Brief History of SEIV. The Advent of the Micro-Computer

Computing went public.

”Testing may show the presence of errors, but it can never prove their absence.

Software Engineering is programming for those who can’t.”

E.W.Dijkstra

13/24

Page 14: Internet Engineering Jan Nikodem, Ph.D. Software Engineering · Theengineering paradigm Software Engineering Lecture 3. Nationality;German, mathematician, theoretical physicist, Technical

N. E. Wirth

A Brief History of SEV. Programming as a mathematical discipline

Programming was obtaining a mathematical basis.

Programs were no longer just code for controlling computers, but static texts that could be subjected to mathematical reasoning.

A solution was to lie in a disciplined mannerof programming, rather than a rigorousscientific theory.

14/24

Page 15: Internet Engineering Jan Nikodem, Ph.D. Software Engineering · Theengineering paradigm Software Engineering Lecture 3. Nationality;German, mathematician, theoretical physicist, Technical

N. E. Wirth

A Brief History of SEVI. The Era of the Personal Workstation

Up to 1980 the commonly accepted model of computing was transforming data from their given state to the result, gradually transforming input into output.

This view of computing stemmed from theoriginal task of computers: computingnumerical results

15/24

Page 16: Internet Engineering Jan Nikodem, Ph.D. Software Engineering · Theengineering paradigm Software Engineering Lecture 3. Nationality;German, mathematician, theoretical physicist, Technical

N. E. Wirth

A Brief History of SEVII. Abundance of Computer Power

A wild growth of varieties of variants is not in interestof high-quality engineering and professionalism.

The writing of complicated code and the nasty decryption by others is apparently considered easier or more economical than the careful design and description of clean interfaces of modules.

16/24

Page 17: Internet Engineering Jan Nikodem, Ph.D. Software Engineering · Theengineering paradigm Software Engineering Lecture 3. Nationality;German, mathematician, theoretical physicist, Technical

N. E. Wirth

A Brief History of SEVIII. Wasteful Software

Careful design is time consuming, costly.

But it is still cheaper than unreliable, difficult software, when the cost of “maintenance” is not factored in.

17/24

Page 18: Internet Engineering Jan Nikodem, Ph.D. Software Engineering · Theengineering paradigm Software Engineering Lecture 3. Nationality;German, mathematician, theoretical physicist, Technical

Conclusion 1A primary effort must be education

toward a sense of quality!!!

• Programmers must become engaged crusaders against home-made complexity.

•The cancerous growth of complexity is not a thing to be admired; it must be fought wherever possible.

18/24

Page 19: Internet Engineering Jan Nikodem, Ph.D. Software Engineering · Theengineering paradigm Software Engineering Lecture 3. Nationality;German, mathematician, theoretical physicist, Technical

Conclusion 1 (cont’d)

A primary effort must be education toward a sense of quality!!!

• Programmers must be given time and respect for work of high quality. This is crucial and ultimately more effective than better tools and rules.

• Let us embark on a global effort to prevent softwarefrom becoming known as softwaste!

19/24

Page 20: Internet Engineering Jan Nikodem, Ph.D. Software Engineering · Theengineering paradigm Software Engineering Lecture 3. Nationality;German, mathematician, theoretical physicist, Technical

Conclusion 2

Systems can be designed with utmost

care and professionalism,

yet they remain error-prone if built on a

complex and unreliable platform.

20/24

Page 21: Internet Engineering Jan Nikodem, Ph.D. Software Engineering · Theengineering paradigm Software Engineering Lecture 3. Nationality;German, mathematician, theoretical physicist, Technical

Conclusion 3

We must stop the crazy drive for more complexity.

Software manuals of several hundred pages are an unmistakable symptom of their inadequacy.

21/24

Page 22: Internet Engineering Jan Nikodem, Ph.D. Software Engineering · Theengineering paradigm Software Engineering Lecture 3. Nationality;German, mathematician, theoretical physicist, Technical

Conclusion 4Software engineering would be the primary beneficiary of a professionaleducation in disciplined programming.

Engineers in industry, supposedly mustbe compatible with the rest ofthe world, and to deviate from established standards might be fatal.

22/24

Page 23: Internet Engineering Jan Nikodem, Ph.D. Software Engineering · Theengineering paradigm Software Engineering Lecture 3. Nationality;German, mathematician, theoretical physicist, Technical

Readings

• Niklaus Wirth,A Brief History of Software EngineeringIEEE Annals of the History of Computing - Volume 30, Number 3, July-September 2008, pp. 32-39, DOI: 10.1353/ahc.0.0021

23/24

Page 24: Internet Engineering Jan Nikodem, Ph.D. Software Engineering · Theengineering paradigm Software Engineering Lecture 3. Nationality;German, mathematician, theoretical physicist, Technical