Post on 01-Apr-2015
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 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 19/2/2004
Firstly, what is Engineering? 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? What is Engineering? Engineers build economically useful systems
and artefacts (anon)(anon)
What is NOT Engineering?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!!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
7
Karl Reed 19/2/2004Engineering is...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/2004Engineering is...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/2004Engineering is…Creativity Through DisciplineEngineering is…Creativity Through Discipline
QuickTime™ and aPhoto - JPEG decompressor
are needed to see this picture.
14
Karl Reed 19/2/2004Engineering is…Creativity Through DisciplineEngineering is…Creativity Through Discipline
QuickTime™ and aPhoto - JPEG decompressor
are needed to see this picture.
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/2004Engineering is…Creativity Through DisciplineEngineering is…Creativity Through Discipline
QuickTime™ and aPhoto - JPEG decompressor
are needed to see this picture.
16
Karl Reed 19/2/2004Engineering is…Creativity Through DisciplineEngineering is…Creativity Through Discipline
QuickTime™ and aPhoto - JPEG decompressor
are needed to see this picture.
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/2004Engineering is…Creativity Through DisciplineEngineering is…Creativity Through Discipline
QuickTime™ and aGIF decompressor
are needed to see this picture.
Yokahama International Port Terminal-First Prize byAlejadro Zeara-Polo & Fashid Moussavi
18
Karl Reed 19/2/2004Engineering is…Creativity Through DisciplineEngineering is…Creativity Through DisciplineYokahama International Port Terminal-2 of 3
QuickTime™ and aGIF decompressor
are needed to see this picture.
QuickTime™ and aGIF decompressor
are needed to see this picture.
19
Karl Reed 19/2/2004
WHAT IS SOFTWARE ENGINEERING?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,
Predeterminedreliability, safety, quality and environmental standards …in a…
Well managed fashion.(Reed, after Fairley and with Zucconi)
20
Karl Reed 19/2/2004
issuesBaragry’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
issuesBaragry’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
issuesBaragry’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
issuesD. 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
E =B+0.01× SFjj=1
5
∑
PM =A ×SizeE × EMi1=1
n
∏0.0 < SFj
j=1
5
∑ <3.16
y =aSE (1c) Assumptions…
1. The effort can be calculated by summing the effort for each iteration, yi=aixi
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
yT
y=r =dn +n
1+cn
⎛ ⎝
⎞ ⎠
b
yT
y=rc =dn +(1+c)b kb +(n−1)
(1+c)(1−k)n−1
⎡ ⎣
⎤ ⎦
b
27
Karl Reed 19/2/2004
Agile Methods..
Zc, k=0.3, b=1.2
0.50
0.60
0.70
0.80
0.90
1.00
1.10
1.20
1.30
1.40
0 10 20 30 40 50 60 70 80 90
n, no iterations
c=0.05
c=0.10
c=0.15
c=0.20
c=0.25
c=0.30
Zc, k=0.1,b=1.05
0.50
0.60
0.70
0.80
0.90
1.00
1.10
1.20
1.30
1.40
0 20 40 60 80 100 120
c=0.05
c=0.10
c=0.15
c=0.20
c=0.25
c=0.3
Z, b=1.2
0.50
0.60
0.70
0.80
0.90
1.00
1.10
1.20
1.30
0 20 40 60 80 100 120
n, no. iterations
c=0.05
c=0.10
c=0.15
c=0.20
c=0.25
c=0.30
Z, b=1.05
0.50
0.70
0.90
1.10
1.30
1.50
0 20 40 60 80 100 120
n, no. iterations
c=0.05
c=0.10
c=0.15
c=0.20
c=0.25
c=0.30
Interpretation.. ..’b’ is in effect a measure of difficulty, could be impacted by ‘design for evolution’