TheScienceofComputingand theEngineeringofSoftware TonyHoare - - PowerPoint PPT Presentation

the science of computing and the engineering of software
SMART_READER_LITE
LIVE PREVIEW

TheScienceofComputingand theEngineeringofSoftware TonyHoare - - PowerPoint PPT Presentation

TheScienceofComputingand theEngineeringofSoftware TonyHoare QconConference 11March2009 1 Science Engineering purescientist engineeringscientist .......... scientificengineer


slide-1
SLIDE 1

The
Science
of
Computing
and the
Engineering
of
Software

Tony
Hoare Qcon
Conference 11
March
2009

1

slide-2
SLIDE 2

Science Engineering

  • pure
scientist

engineering
scientist scientific
engineer practicing
engineer ..........

2

slide-3
SLIDE 3

Science Engineering

  • long‐term
  • short‐term

3

slide-4
SLIDE 4

Science Engineering

  • long‐term
  • idealism
  • short‐term
  • compromise

4

slide-5
SLIDE 5

Science Engineering

  • long‐term
  • idealism
  • certainty
  • short‐term
  • compromise
  • risk
management

5

slide-6
SLIDE 6

Science Engineering

  • long‐term
  • idealism
  • certainty
  • perfection
  • short‐term
  • compromise
  • risk
management
  • adequacy

6

slide-7
SLIDE 7

Science Engineering

  • long‐term
  • idealism
  • certainty
  • perfection
  • generality
  • short‐term
  • compromise
  • risk
management
  • adequacy
  • specificity

7

slide-8
SLIDE 8

Science Engineering

  • long‐term
  • idealism
  • certainty
  • perfection
  • generality
  • separation
  • short‐term
  • compromise
  • risk
management
  • adequacy
  • specificity
  • integration

8

slide-9
SLIDE 9

Science Engineering

  • long‐term
  • idealism
  • certainty
  • perfection
  • generality
  • separation
  • unification
  • short‐term
  • compromise
  • risk
management
  • adequacy
  • specificity
  • integration
  • diversity

9

slide-10
SLIDE 10

Science Engineering

  • long‐term
  • idealism
  • certainty
  • perfection
  • generality
  • separation
  • unification
  • originality
  • short‐term
  • compromise
  • risk
management
  • adequacy
  • specificity
  • integration
  • diversity
  • best
practice

10

slide-11
SLIDE 11

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

slide-12
SLIDE 12

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

slide-13
SLIDE 13

The
Science
of
Computing

13

slide-14
SLIDE 14

The
Science
of
Computing

14

slide-15
SLIDE 15

The
Science
of
Computing

15

slide-16
SLIDE 16

The
Science
of
Computing

16

slide-17
SLIDE 17

The
Science
of
Computing

17

slide-18
SLIDE 18

Science
delivers
results

  • as
a
software
engineering
toolset

covering
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

slide-19
SLIDE 19

Domain
Models

  • describe
the
real
world

– ...
things,
people,
requirements,
constraints

  • in
natural
language,
  • with
diagrams,
pictures,
examples,
  • and
mathematical
or
logical
formulae

– where
appropriate.

  • Compare
scientific
ontology,
knowledge
based

systems,
common
sense
reasoning
(Cyc)
...

19

slide-20
SLIDE 20

Specification
and
design
patterns

  • Cover
a
range
of
alternative
designs

– listing
the
necessary
decisions – and
the
criteria
for
taking
them

  • Well‐structured
for
generality/specificity
  • Supported
by
tools

– Development
environments,
animators,
analysers and
code
generators....

20

slide-21
SLIDE 21

Technology
transfer

Science
of
correctness 


Design
automation Program
analysis 






Engineering
of
dependability

21

slide-22
SLIDE 22

One
day
...

  • Software
will
be
the
most
reliable
component
  • f
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

22