200 likes | 308 Views
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
E N D
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 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 liberal use will be made of ideas from Jason Baragry, David Cleary and Jacob Cybulski
Immature methodologies, Fortran, Cobol, Assembler-70’s,telephone systems Customer req dominate,ROI mandatory Cottage industry, but well intentioned Systems Analysis and Design methodologies 70’s-80’s Mature? Body of Knowledge but no universal success Determinate, quality driven, high reliability, business model oriented 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 Cottage industry, reversion to the old-days Unreliable, technology history free, ROI independent-business model? s/w surprises Large-scale s/w, comsumer goods,engine management systems, ABS time to market, extreme programming, web systems, free-ware, 94-00’s Stages of SE...
This Presentation... • 1. THE DREAM • 2. THE CONTRADICTIONS • 3. THE REALITY • 4. THE EXTREMA • 5. THE FUTURE • 6. THE AGENDA
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
2. The Contradictions…… and confusion 1. Software Crisis… yet increasingly, successful large-scale applications are ubiquitous 2. Software Architecture.. ‘not immutable, not always determinable a’priori,multiple versions in one artefact, retrofitable…. Analog with “built” systems not clear. 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. The Contradictions…… and confusion (cont’d) 6. SWEBOK.. Organised body of knowledge opposed by leading SE players. 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... 9. Engineering & SE.. Poor choices of analogues from traditional domains, e.g. “immutable components” 10. High Quality training for 30 yrs.. Yet each new s/w development wave starts with a blank mind, e.g. web-based computing 11. Documentation matters but.. It’s seldom actually done
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 A better comparison.. cost developing Windows NT vs design and plant costs for a new Pentium (Reed)
3.What is the reality?(cont’d) Web-based systems with no real design • No basic data entry standards • Appalling search capabilities • Information Retrieval research ignored • Classification and library design ignored • Database design and query ignored • Unusable web-site structures • The item mobility problem • How do you find a page whose position has been moved? • Reliance on untrained web-page hackers
3. The reality No surprises….!!!(nsf report on s/w research 1998) “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) “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….
4. THE EXTREMA Fine-grained methodology & doc. inspecific shorter than time to design Time-To-Market RISK-PRONE!! Deliver novel solutions rapidly Extreme Programming Attractive to uninformed managers Web-hacking Create power for the new-wave of wunderkinder… (yet again…) RISK-AVERSE!! Safety Critical Systems Fine-grained methodology specific Mission-critical systems Deliver novel/stable solutions slowly Large-scale eftpos/on- line/whole of business (SAP) Attractive where high cost of failure Recognise established method and skill
Optimal task allocation, observed <1970 one or two people Feasibility Study Requirements Analysis Systems Analysis Program Design Programming Unit Test System Integration System Test Waterfall S/W Process Model No need for ‘third-party” readable work products! “Extreme programming”? Private s/w process? (PeSP compliant?)
5. THE FUTURE 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.
ENGINEERS WORK WITH A DEFINED FRAMEWORK.. MUCH ENGINEERING DESIGN KNOWLEDGE IS EMPIRICAL AND "RULE OF THUMB" Engineers vs software developers…Engineers explicitly…differentiate between… "problems" whose solution can be achieved using "prescribed" methods, and situations where these methods do not appear to exist.. Common, Coherent Universe of Discourse! (terms, methods, techniques) Theoretical basis of knowledge not always visible
§ is "completed", hence is not performed, and has no effect on the final system. 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.
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.... ENGINEERS CHEAT!! They invent components & methods which guarantee analyticity
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 the failure of a mission-critical system as a result of web- hacking We need “killer” techniques which are so good people will use them. 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!
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!