the science of computing and the engineering of software

20
The Science of Computing and the Engineering of Software Tony Hoare Europython Birmingham 1 July, 2009 1

Upload: miron

Post on 10-Feb-2016

23 views

Category:

Documents


0 download

DESCRIPTION

The Science of Computing and the Engineering of Software. Tony Hoare Europython Birmingham 1 July, 2009. ScienceEngineering. pure scientist. engineering scientist. . scientific engineer. practicing engineer. ScienceEngineering. long-term. short-term. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: The Science of Computing and the Engineering of Software

The Science of Computing and the Engineering of Software

Tony Hoare

Europython Birmingham

1 July, 2009

1

Page 2: The Science of Computing and the Engineering of Software

Science Engineering

• pure scientist

engineering scientist

scientific engineer

practicing engineer

..........

2

Page 3: The Science of Computing and the Engineering of Software

Science Engineering

• long-term • short-term

3

Page 4: The Science of Computing and the Engineering of Software

Science Engineering

• long-term• idealism

• short-term• compromise

4

Page 5: The Science of Computing and the Engineering of Software

Science Engineering

• long-term• idealism• certainty

• short-term• compromise• risk management

5

Page 6: The Science of Computing and the Engineering of Software

Science Engineering

• long-term• idealism• certainty• perfection

• short-term• compromise• risk management• adequacy

6

Page 7: The Science of Computing and the Engineering of Software

Science Engineering

• long-term• idealism• certainty• perfection• generality

• short-term• compromise• risk management• adequacy• specificity

7

Page 8: The Science of Computing and the Engineering of Software

Science Engineering

• long-term• idealism• certainty• perfection• generality• separation

• short-term• compromise• risk management• adequacy• specificity• integration

8

Page 9: The Science of Computing and the Engineering of Software

Science Engineering

• long-term• idealism• certainty• perfection• generality• separation• unification

• short-term• compromise• risk management• adequacy• specificity• integration• diversity

9

Page 10: The Science of Computing and the Engineering of Software

Science Engineering

• long-term• idealism• certainty• perfection• generality• separation• unification• originality

• short-term• compromise• risk management• adequacy• specificity• integration• diversity• best practice

10

Page 11: The Science of Computing and the Engineering of Software

Science Engineering

• long-term• idealism• certainty• perfection• generality• separation• unification• originality• formality

• short-term• compromise• risk management• adequacy• specificity• integration• diversity• best practice• intuition

11

Page 12: The Science of Computing and the Engineering of Software

Science Engineering• long-term• idealism• certainty• perfection• generality• separation• unification• originality• formality• correctness

• short-term• compromise• risk• adequacy• specificity• amalgamation• diversity• best practice• intuition• dependability

12

Page 13: The Science of Computing and the Engineering of Software

The Science of Computing

13

Page 14: The Science of Computing and the Engineering of Software

The Science of Computing

14

Page 15: The Science of Computing and the Engineering of Software

The Science of Computing

15

Page 16: The Science of Computing and the Engineering of Software

The Science of Computing

16

Page 17: The Science of Computing and the Engineering of Software

The Science of Computing

17

Page 18: The Science of Computing and the Engineering of Software

Science delivers results

• as a software engineering toolsetcovering all phases of software development– specification, design, coding, testing,

modification, evolution, ...

integrating the services of– program analysers, type checkers, theorem

provers, code generators, test case generators, ...

18

Page 19: The Science of Computing and the Engineering of Software

Technology transfer

Science of correctness

Design automation

Program analysis

Engineering of dependability

19

Page 20: The Science of Computing and the Engineering of Software

One day ...

• Software will be the most reliable component of every product which contains it.

• Software engineering will be the most dependable of all engineering professions.

• Because of the successful interplay of research– into the science of programming – and the engineering of software

20