chair ieee-computer society tech. council on software engineering

20
1 Karl Reed apsec 2000 ws Software Engineering-from cottage industry to cottage industry in three generations- does it matter, and what should we do about it? Chair IEEE-Computer Society Tech. Council on Software Engineering Governor, IEEE-Computer Society(1997-1999,2000-2002), Director, Computer Sys. & Software Engineering Board, ACS, Department of Computer Science & Computer Engineering, La Trobe University Hon. Visiting Professor, Middlesex University by Assoc. Prof. Karl Reed,FACS, FIE-Aust., MSc,ARMIT liberal use will be made of ideas from Jason Baragry, David Cleary and Jacob Cybulski

Upload: noura

Post on 21-Jan-2016

25 views

Category:

Documents


0 download

DESCRIPTION

Software Engineering-from cottage industry to cottage industry in three generations-does it matter, and what should we do about it?. by Assoc. Prof. Karl Reed,FACS, FIE-Aust., MSc,ARMIT. Chair IEEE-Computer Society Tech. Council on Software Engineering - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Chair IEEE-Computer Society Tech. Council on Software Engineering

1

Karl Reed apsec 2000 ws

Software Engineering-from cottage industry to cottage industry in three generations-does it matter, and what should we do about it?

Chair IEEE-Computer Society Tech. Council on Software Engineering Governor, IEEE-Computer Society(1997-1999,2000-2002), Director, Computer Sys. & Software Engineering Board, ACS, Department of Computer Science & Computer Engineering, La Trobe University Hon. Visiting Professor, Middlesex University

by Assoc. Prof. Karl Reed,FACS, FIE-Aust., MSc,ARMIT

liberal use will be made of ideas from Jason Baragry, David Cleary and Jacob Cybulski

Page 2: Chair IEEE-Computer Society Tech. Council on Software Engineering

2

Karl Reed apsec 2000 ws

Stages of SE...Immature methodologies, Fortran, Cobol, Assembler-70’s,telephone systems

Systems Analysis and Design methodologies70’s-80’s

Formal Methods, info. Hiding, architecture, strong typing, CASE,RE,SCS,formalised testing, banking networks,internet,PC-OS,

OO,CMM,Process Modelling,re-use, cots,dig.flight control systems,EFTPOS

Large-scale s/w, comsumer

goods,engine management

systems, ABS

time to market, extreme

programming, web systems, free-ware,

94-00’s

Customer req dominate,ROI mandatory

Determinate, quality driven, high reliability, business model oriented

Unreliable, technology history free, ROI independent-business model? s/w surprises

Cottage industry, but well intentioned

Mature?Body of Knowledge but no universal success

Cottage industry, reversion to the old-days

Page 3: Chair IEEE-Computer Society Tech. Council on Software Engineering

3

Karl Reed apsec 2000 ws

2. THE CONTRADICTIONS

This Presentation...

3. THE REALITY

4. THE EXTREMA

5. THE FUTURE

1. THE DREAM

6. THE AGENDA

Page 4: Chair IEEE-Computer Society Tech. Council on Software Engineering

4

Karl Reed apsec 2000 ws

1 THE DREAM…..An engineering discipline of s/w development Nato 1968

Error-free software delivered on time and to budget The tools and methods that will make this happen

Small group of domain specific languages, Small group of domain specific design rules based on common representational models Separation between construction and design Universal representations of design results

Page 5: Chair IEEE-Computer Society Tech. Council on Software Engineering

5

Karl Reed apsec 2000 ws2. The Contradictions……

and confusion

3. Software Process.. CMM vs fine-grained process independent, Time To Market vs Planned Process, Phase incompletedness, Extreme Programming.

4. Software Process... Often mandated, but not followed… few detailed studies similar to production engineering (see Hess)5. Re-use… not successful, yet components industry emerging

2. Software Architecture.. ‘not immutable, not always determinable a’priori,multiple versions in one artefact, retrofitable…. Analog with “built” systems not clear.

1. Software Crisis… yet increasingly, successful large-scale applications are ubiquitous

Page 6: Chair IEEE-Computer Society Tech. Council on Software Engineering

6

Karl Reed apsec 2000 ws2. The Contradictions……

and confusion (cont’d)

7. Prescriptive Design processes... only slowly beginning to appear, perhaps via UML.8. Requirements Engineering... Cannot always be completed in advance..may be continuous part of the implementation process...

10. High Quality training for 30 yrs.. Yet each new s/w development wave starts with a blank mind, e.g. web-based computing

6. SWEBOK.. Organised body of knowledge opposed by leading SE players.

11. Documentation matters but.. It’s seldom actually done

9. Engineering & SE.. Poor choices of analogues from traditional domains, e.g. “immutable components”

Page 7: Chair IEEE-Computer Society Tech. Council on Software Engineering

7

Karl Reed apsec 2000 ws

A better comparison.. cost developing Windows NT vs design and plant costs for a new Pentium (Reed)

3.What is the reality?

It is argued that computer designers and manufacturers do better than software developers..

Not so.....!!!!

Compare the purchase-cost of Delphi or Foxbase with a mainframe equivalent 20 years ago... (Jones)... reductions per unit of delivered end-user functionality of 10 2 to 10 3 Extremely large complex systems, deployed with very large-scale usage,

successful package, tool and “utility” builders around for >30 years

Page 8: Chair IEEE-Computer Society Tech. Council on Software Engineering

8

Karl Reed apsec 2000 ws3.What is the reality?(cont’d)

Web-based systems with no real design

No basic data entry standards Appalling search capabilities

Unusable web-site structures The item mobility problem

Reliance on untrained web-page hackers

?Information Retrieval research ignored ?Classification and library design ignored ?Database design and query ignored

?How do you find a page whose position has been moved?

Page 9: Chair IEEE-Computer Society Tech. Council on Software Engineering

9

Karl Reed apsec 2000 ws

“F1. Current software has too many surprises. The sources of surprise are poorly understood.”

Sources of surprises... Real and apparent unpredictability in behaviour…(real and apparent ambiguity of languages)

No surprises….!!!(nsf report on s/w research 1998)

“Teenagers have less trouble with PC software because they are adept at playing computer games” Charles Wright, editor Melbourne Age “green pages” computer section 2000

“Building ‘bots’ that play computer games with near human competence is not that hard” US researcher in AI….

3. The reality

Page 10: Chair IEEE-Computer Society Tech. Council on Software Engineering

10

Karl Reed apsec 2000 ws

4. THE EXTREMA

Time-To-Market

Extreme Programming

Web-hacking

Safety Critical Systems

Create power for the new-wave of wunderkinder… (yet again…)

Deliver novel solutions rapidly

Attractive to uninformed managers

Fine-grained methodology & doc. inspecific shorter than time to design

Mission-critical systems

Large-scale eftpos/on- line/whole of business (SAP)

Recognise established method and skill

Deliver novel/stable solutions slowly

Attractive where high cost of failure

Fine-grained methodology specific

RISK-AVERSE!!

RISK-PRONE!!

Page 11: Chair IEEE-Computer Society Tech. Council on Software Engineering

11

Karl Reed apsec 2000 ws

“Extreme programming”?

System Test

Programming

Unit Test

Program Design

Systems Analysis

Feasibility Study

Requirements Analysis

System Integration

Optimal task allocation, observed <1970 one or two people

Waterfall S/W Process Model

No need for ‘third-party” readable work products!

Private s/w process? (PeSP compliant?)

Page 12: Chair IEEE-Computer Society Tech. Council on Software Engineering

12

Karl Reed apsec 2000 ws

Engineering is..

“A directed process of decision making leading to the design of a realisable artefact in which criteria exist for choices which guarantee optimal outcomes according to some pre-determined criteria”

Requires.. Mathematics of a particular kind “teachable” to undergrads, plus prescribed processes ..

Physical laws provide basis for pruning the solution space.

5. THE FUTURE

Page 13: Chair IEEE-Computer Society Tech. Council on Software Engineering

13

Karl Reed apsec 2000 ws

ENGINEERS WORK WITH A DEFINED FRAMEWORK..

MUCH ENGINEERING DESIGN KNOWLEDGE

IS EMPIRICAL AND "RULE OF THUMB"Engineers vs software developers…Engineers explicitly…differentiate between…

situations where these methods do not appear to exist..

"problems" whose solution can be achieved using "prescribed" methods, and

Common, Coherent Universe of Discourse! (terms, methods, techniques)

Theoretical basis of knowledge not always visible

Page 14: Chair IEEE-Computer Society Tech. Council on Software Engineering

14

Karl Reed apsec 2000 ws

§ is "completed", hence is not performed, and has no effect on the final system.

Philosophy of "design" and "architecture"Philosophy of "design" and "architecture"

Various levels of reuse of design (cf "ordinary" architecture) for components and artefacts design …

§ is known to be achievable, hence incompleteness is irrelevant, but may impact final system.

§ is known to be achievable, but may need to be completed to ensure final system is "correct".

§ is not known to be achievable …cf Sydney opera house.

This can be understood easily in terms of standard building architecture.

Page 15: Chair IEEE-Computer Society Tech. Council on Software Engineering

15

Karl Reed apsec 2000 ws

Engineers… design artefacts to interface with the real world… (Baragry 1997)”

Engineers vs software developers…(cont’d)

“S/W developers… attempt to build models of real-world phenomena

ENGINEERS DON’T BUILD SYSTEMS!!ENGINEERS DON’T BUILD SYSTEMS!!

the result of an “engineering” process is a set of design the result of an “engineering” process is a set of design documents and plans which will be used by someone else of documents and plans which will be used by someone else of lesser training (but higher aptitude)lesser training (but higher aptitude)

Compare with software development....Compare with software development....

ENGINEERS CHEAT!!ENGINEERS CHEAT!!They invent components & methods which guarantee They invent components & methods which guarantee

analyticityanalyticity

Page 16: Chair IEEE-Computer Society Tech. Council on Software Engineering

16

Karl Reed apsec 2000 ws

Page 17: Chair IEEE-Computer Society Tech. Council on Software Engineering

17

Karl Reed apsec 2000 wsThe result of an engineering design

Page 18: Chair IEEE-Computer Society Tech. Council on Software Engineering

18

Karl Reed apsec 2000 ws

RETAININ

G WALL

Page 19: Chair IEEE-Computer Society Tech. Council on Software Engineering

19

Karl Reed apsec 2000 ws 6. Conclusion.. The Agenda …

The Maintenance of Analycality Various engineering fields have high-speed design and

construction methodologies… But they recognise the existence of lower bounds.

We need “killer” techniques which are so good people will use them.

We need the failure of a mission-critical system as a result of web-hacking

We need enforceable international standards for performance, usability and security

THE NEXT GENERATION OF THE WORLD’S INFRUSTRUCTURE CANNOT DEPEND UPON THE STANDARDS OF A COTTAGE INDUSTRY!

THE ALTERNATIVE.. THE END OF QUALITY!

Page 20: Chair IEEE-Computer Society Tech. Council on Software Engineering

20

Karl Reed apsec 2000 ws 6. Conclusion.. The Agenda …

The Maintenance of Analycality

THE GREAT ACHIEVEMENT OF THE 20TH CENTURY WAS THE CREATION OF QUALITY...

If s/w development becomes a cottage industry again…

WE WILL SEE THE END OF QUALITY!