Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Why software engineering is not a real engineering

Sergey Arkhipov
February 26, 2015
84

Why software engineering is not a real engineering

Small presentation for my english course.

Sergey Arkhipov

February 26, 2015
Tweet

Transcript

  1. What engineering is Engineering (from Latin ingenium, meaning "cleverness" and

    ingeniare, meaning "to contrive, devise") is the application of scientific, economic, social, and practical knowledge in order to invent, design, build, maintain, research, and improve structures, machines, devices, systems, materials and processes.
  2. What engineering is Engineering (from Latin ingenium, meaning "cleverness" and

    ingeniare, meaning "to contrive, devise") is the application of scientific, economic, social, and practical knowledge in order to invent, design, build, maintain, research, and improve structures, machines, devices, systems, materials and processes.
  3. What engineering is Engineering works with • Well-defined systems •

    Well-defined quality metrics • Well-defined estimation process
  4. What engineering is Engineering works with • Well-defined systems •

    Well-defined quality metrics • Well-defined estimation process
  5. What software engineering is Software engineering is the study and

    an application of engineering to the design, development, and maintenance of software. Typical formal definitions of software engineering are: • "the application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software"; • "an engineering discipline that is concerned with all aspects of software production"; • "the establishment and use of sound engineering principles in order to economically obtain software that is reliable and works efficiently on real machines."
  6. What software engineering is Gerald Weinberg: • If builders built

    buildings the way programmers wrote programs, then the first woodpecker that came along would destroy civilization. • An expert is a person who avoids the small errors while sweeping on to the grand fallacy. Edsger Dijkstra • Program testing can be a very effective way to show the presence of bugs, but it is hopelessly inadequate for showing their absence. • Computer Science is no more about computers than astronomy is about telescopes. • As long as computing science is not allowed to save the computer industry, we had better see to it that the computer industry does not kill computing science.
  7. Programming is amateur • Engineering works with well-defined systems, programming

    always works with weakly defined systems. • Engineering has good quality assurance procedures, programming can assure that some software in some cases assuming appropriate circumstances if conditions are good works fine.
  8. Programming is amateur • Engineering works with well-defined systems, programming

    always works with weakly defined systems. • Engineering has good quality assurance procedures, programming can assure that some software in some cases assuming appropriate circumstances if conditions are good works fine. • Engineering has estimatable process, programming estimations has an astrology precision.
  9. Programming is amateur • Engineering works with well-defined systems, programming

    always works with weakly defined systems. • Engineering has good quality assurance procedures, programming can assure that some software in some cases assuming appropriate circumstances if conditions are good works fine. • Engineering has estimatable process, programming estimations has an astrology precision. • Nothing really changed from 80s.