Presentation on theme: "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."— Presentation transcript:
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( , ), 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 methodologies 70’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
4 Karl Reed apsec 2000 ws 1THE 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 ws 2. 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 ws 2. 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 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 ws 3.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!! the result of an “engineering” process is a set of design documents and plans which will be used by someone else of lesser training (but higher aptitude) Compare with software development.... Compare with software development.... ENGINEERS CHEAT!! They invent components & methods which guarantee analyticity
16 Karl Reed apsec 2000 ws
17 Karl Reed apsec 2000 ws The result of an engineering design
18 Karl Reed apsec 2000 ws RETAINING 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!