Presentation on theme: "1 Karl Reed 19/2/2004 A Preliminary Definition of Software Engineering “those who fail to study history are bound to repeat it” by Assoc. Prof. Karl Reed,FACS,"— Presentation transcript:
1 Karl Reed 19/2/2004 A Preliminary Definition of Software Engineering “those who fail to study history are bound to repeat it” by Assoc. Prof. Karl Reed,FACS, FIE-Aust., MSc,ARMIT
2 Karl Reed 19/2/2004 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
3 Karl Reed 19/2/2004 Firstly, what is Engineering? Engineers are concerned with maintaining and improving living standards and quality of life. …. Engineers are responsible for finding innovative solutions to various problems while protecting the earth's resources. Engineering involves the application of science and technical knowledge to create systems, services, products and materials used in everyday life. Engineering skills and designs contribute to almost every aspect of modern living. Engineers determine how and in what way the objectives of a particular project can be met safely and the wisest uses of the available resources. These resources may be budget, time, materials or even human effort. Often, engineers work together in teams with other professionals such as architects, accountants, economists, doctors, scientists and tradespeople. Each group of professionals provides knowledge and skills from their own particular area of expertise to complement the work of others.
4 Karl Reed 19/2/2004 What is Engineering? (anon) Engineers build economically useful systems and artefacts (anon) What is NOT Engineering? (.... The people who build bridges etc. are called welders, riggers plumbers, labourers, bricklayers, etc. NOT Engineers…)
5 Karl Reed 19/2/2004 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
6 Karl Reed 19/2/2004 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
7 Karl Reed 19/2/2004 Engineering is... Based upon "abstractions" validated by physical laws which.. Constrain the solution space, Provides definite failure modes, Simplifies the process of developing a universe of discourse.. None of this is true for s/w.. Existence of physical laws is neither necessary nor sufficient for engineering properties..
8 Karl Reed 19/2/2004 In summary.. 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.
12 Karl Reed 19/2/2004 Engineering is... “Design-reasoning Explicit… The design CANNOT be completed without performing explicit “reasoning”, which MUST be recorded, step by step.. Hence, the documentation is an integral part of the process, NOT SOME EXTERNALLY MANDATED MANAGERIAL REQUIREMENT! The documentation (I.e. design-reasoning record) is capable of being transmitted to third-parties who are able to use it DESPITE THIS DISCIPLINE, ENGINEERING IS CREATIVE!
13 Karl Reed 19/2/2004 Engineering is…Creativity Through Discipline
14 Karl Reed 19/2/2004 Engineering is…Creativity Through Discipline Alsop ArchitectsBlackfriars StationAlsop & Stormer's project for the reconstruction of Blackfriars Station, …was developed with a multi-disciplinary engineering and design team. The new station extends right across the river, with ticket halls at the City end and on the south bank. (Stringent) technical issues were addressed, arising from this location, (while preserving the) visual context … views across and along the river.Client: Railtrack plc Thameslink 2000 Value: £100 million Completion: Summer 2005
15 Karl Reed 19/2/2004 Engineering is…Creativity Through Discipline
16 Karl Reed 19/2/2004 Engineering is…Creativity Through Discipline Corcoran Gallery of Art, Washington DC. Designed by Ghery Partners.. “The additions’ rambunctious appearance, pierced by a series of long, sinewy windows, will be a powerful contrast to the hard, repetitive stone surface of the original building, as if the ideals trapped beneath the sombre stone have joyously spilled out into the open”. Nicolai Ourousoff, Architecture Critic, Los Angeles Times
17 Karl Reed 19/2/2004 Engineering is…Creativity Through Discipline Yokahama International Port Terminal-First Prize byAlejadro Zeara-Polo & Fashid Moussavi
18 Karl Reed 19/2/2004 Engineering is…Creativity Through Discipline Yokahama International Port Terminal-2 of 3
19 Karl Reed 19/2/2004 WHAT IS SOFTWARE ENGINEERING? THE IDENTIFICATION OF, DESIGN, CONSTRUCTION AND WHOLE OF LIFE CYCLE MAINTENANCE OF (SOCIALLY) USEFUL SYSTEMS …using… Prescribed (validated) design and implementation techniques, Standardised components, Tools, Iteration of design to achieve and determine both functional and performance objectives, …to… Predetermined resource and time constraints, Predetermined reliability, safety, quality and environmental standards …in a… Well managed fashion.(Reed, after Fairley and with Zucconi)
20 Karl Reed 19/2/2004 issues Baragry’s conjectures and their implications.. The work products problem… “ Engineers build artefacts, s/w developers build models.. s/w development is a theory building process” § Baragry compared a number of published software designs for cruise control with a number of actual hardware designs § Conclusion - engineers started with a prior, common, abstract model of the solution and “fixed” the design analytically to achieve a desired characteristic § A S/W system’s true “meaning” cannot readily be deduced by inspection of physical representation
21 Karl Reed 19/2/2004 issues Baragry’s conjectures and their implications.. The work products problem… § The conclusion was that engineers started with a prior, common, abstract model (the feed-back control system) of the solution and “fixed” the design analytically to achieve a desired characteristics § Software developers started with “mental” concepts derived based on their methodology, and used these to model (different) implementations of feed back model. § The engineer’s designs were recognisably similar, the software design’s were not! § There seemed to be no basis for choosing one set of concepts over another during the s/w designs!
22 Karl Reed 19/2/2004 issues Baragry’s conjectures and their implications.. The work products problem… § what if there is no basis for choosing one set of concepts over another during s/w designs? Maybe the design work-products (diagrams, descriptions etc.) mandated don’t represent the “thought processes” Maybe the design work-products are not transferable between developers, and hence between project phases.. Maybe there are no pre-agreed concepts at the implementation and implementation-solution levels that constitute a universe of discourse amongst the designers.. missing domain-related universe of discourse...
23 Karl Reed 19/2/2004 “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?)
24 Karl Reed 19/2/2004 issues D. Baragry’s thesis.. Theory building and its implications for s/w methodology and process That a “classic” discipline of software engineering maybe extremely difficult to develop and will differ vastly from any other form of engineering Our lack of progress is due to a combination of the nature of s/w development plus our lack of understanding of engineering --the delta isn’t correctly defined Progress towards universes of discourse at any level will require deliberate efforts, or it will be slow. Methodologies and language styles will continue to proliferate Study domains where results are “superior” to see if Baragry’s conjecture holds e.g. SCS
25 Karl Reed 19/2/2004 Iterative Development.. Basic Cocomo II Assumptions… 1. The effort can be calculated by summing the effort for each iteration, y i =a i x i bi 2. There is a ‘cost’ associated with each iteration which can be modelled as a fractional increase in size, ‘c’ 3. There is an overhead associated with the initial delivery that is (linearly) dependant on the number of increments 4. The fact that the COCOMO exponent is >1 means that the sum effort for the parts could be less than the effort for the whole
26 Karl Reed 19/2/2004 Iterative Development.. The basic idea Approach... 1. Sum the effort for the incremental approach,s and divide each by the monolithic (non-incremental) approach 2. Examine the behaviour of the ratios.. ‘n’ Equal sized increments ‘n’ increments, core of fraction ‘k’ of total, plus ‘n-1’ deliveries of equal size (of the (1-k )S remainder
27 Karl Reed 19/2/2004 Agile Methods.. Interpretation....’b’ is in effect a measure of difficulty, could be impacted by ‘design for evolution’
28 Karl Reed 19/2/2004 SO, THERE YOU HAVE IT.. A QUICK OVER VIEW OF WHAT IS MEANT BY ENGINEERING