Upload
noura
View
27
Download
0
Embed Size (px)
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
Citation preview
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
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
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
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
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
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”
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
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?
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
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!!
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?)
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
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
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.
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
16
Karl Reed apsec 2000 ws
17
Karl Reed apsec 2000 wsThe result of an engineering design
18
Karl Reed apsec 2000 ws
RETAININ
G WALL
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!
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!