cusec 20021 changing software engineering peter grogono department of computer science concordia...
TRANSCRIPT
![Page 1: CUSEC 20021 Changing Software Engineering Peter Grogono Department of Computer Science Concordia University](https://reader030.vdocuments.net/reader030/viewer/2022032708/56649e685503460f94b63a0c/html5/thumbnails/1.jpg)
CUSEC 2002 1
Changing Software Engineering
Peter Grogono
Department of Computer Science
Concordia University
![Page 2: CUSEC 20021 Changing Software Engineering Peter Grogono Department of Computer Science Concordia University](https://reader030.vdocuments.net/reader030/viewer/2022032708/56649e685503460f94b63a0c/html5/thumbnails/2.jpg)
CUSEC 2002 2
Software Engineering is changing
![Page 3: CUSEC 20021 Changing Software Engineering Peter Grogono Department of Computer Science Concordia University](https://reader030.vdocuments.net/reader030/viewer/2022032708/56649e685503460f94b63a0c/html5/thumbnails/3.jpg)
CUSEC 2002 3
Making changes to
Software Engineering
![Page 4: CUSEC 20021 Changing Software Engineering Peter Grogono Department of Computer Science Concordia University](https://reader030.vdocuments.net/reader030/viewer/2022032708/56649e685503460f94b63a0c/html5/thumbnails/4.jpg)
CUSEC 2002 4
The Engineering of changing Software
![Page 5: CUSEC 20021 Changing Software Engineering Peter Grogono Department of Computer Science Concordia University](https://reader030.vdocuments.net/reader030/viewer/2022032708/56649e685503460f94b63a0c/html5/thumbnails/5.jpg)
CUSEC 2002 5
![Page 6: CUSEC 20021 Changing Software Engineering Peter Grogono Department of Computer Science Concordia University](https://reader030.vdocuments.net/reader030/viewer/2022032708/56649e685503460f94b63a0c/html5/thumbnails/6.jpg)
CUSEC 2002 6
![Page 7: CUSEC 20021 Changing Software Engineering Peter Grogono Department of Computer Science Concordia University](https://reader030.vdocuments.net/reader030/viewer/2022032708/56649e685503460f94b63a0c/html5/thumbnails/7.jpg)
CUSEC 2002 7
![Page 8: CUSEC 20021 Changing Software Engineering Peter Grogono Department of Computer Science Concordia University](https://reader030.vdocuments.net/reader030/viewer/2022032708/56649e685503460f94b63a0c/html5/thumbnails/8.jpg)
CUSEC 2002 8
![Page 9: CUSEC 20021 Changing Software Engineering Peter Grogono Department of Computer Science Concordia University](https://reader030.vdocuments.net/reader030/viewer/2022032708/56649e685503460f94b63a0c/html5/thumbnails/9.jpg)
CUSEC 2002 9
![Page 10: CUSEC 20021 Changing Software Engineering Peter Grogono Department of Computer Science Concordia University](https://reader030.vdocuments.net/reader030/viewer/2022032708/56649e685503460f94b63a0c/html5/thumbnails/10.jpg)
CUSEC 2002 10
![Page 11: CUSEC 20021 Changing Software Engineering Peter Grogono Department of Computer Science Concordia University](https://reader030.vdocuments.net/reader030/viewer/2022032708/56649e685503460f94b63a0c/html5/thumbnails/11.jpg)
CUSEC 2002 11
![Page 12: CUSEC 20021 Changing Software Engineering Peter Grogono Department of Computer Science Concordia University](https://reader030.vdocuments.net/reader030/viewer/2022032708/56649e685503460f94b63a0c/html5/thumbnails/12.jpg)
CUSEC 2002 12
![Page 13: CUSEC 20021 Changing Software Engineering Peter Grogono Department of Computer Science Concordia University](https://reader030.vdocuments.net/reader030/viewer/2022032708/56649e685503460f94b63a0c/html5/thumbnails/13.jpg)
CUSEC 2002 13
![Page 14: CUSEC 20021 Changing Software Engineering Peter Grogono Department of Computer Science Concordia University](https://reader030.vdocuments.net/reader030/viewer/2022032708/56649e685503460f94b63a0c/html5/thumbnails/14.jpg)
CUSEC 2002 14
If builders built buildings theway programmers wroteprograms, then the firstwoodpecker that came alongwould destroy civilization.
Jerry Weinberg
![Page 15: CUSEC 20021 Changing Software Engineering Peter Grogono Department of Computer Science Concordia University](https://reader030.vdocuments.net/reader030/viewer/2022032708/56649e685503460f94b63a0c/html5/thumbnails/15.jpg)
CUSEC 2002 15
![Page 16: CUSEC 20021 Changing Software Engineering Peter Grogono Department of Computer Science Concordia University](https://reader030.vdocuments.net/reader030/viewer/2022032708/56649e685503460f94b63a0c/html5/thumbnails/16.jpg)
CUSEC 2002 16
![Page 17: CUSEC 20021 Changing Software Engineering Peter Grogono Department of Computer Science Concordia University](https://reader030.vdocuments.net/reader030/viewer/2022032708/56649e685503460f94b63a0c/html5/thumbnails/17.jpg)
CUSEC 2002 17
![Page 18: CUSEC 20021 Changing Software Engineering Peter Grogono Department of Computer Science Concordia University](https://reader030.vdocuments.net/reader030/viewer/2022032708/56649e685503460f94b63a0c/html5/thumbnails/18.jpg)
CUSEC 2002 18
Paradigm shifts
• Structured design• Abstract data types• Information hiding• Object oriented design• Aspect oriented design• Learner centered design
![Page 19: CUSEC 20021 Changing Software Engineering Peter Grogono Department of Computer Science Concordia University](https://reader030.vdocuments.net/reader030/viewer/2022032708/56649e685503460f94b63a0c/html5/thumbnails/19.jpg)
CUSEC 2002 19
Programming languages
• COBOL• FORTRAN• C• Pascal• C++• Java• C#
![Page 20: CUSEC 20021 Changing Software Engineering Peter Grogono Department of Computer Science Concordia University](https://reader030.vdocuments.net/reader030/viewer/2022032708/56649e685503460f94b63a0c/html5/thumbnails/20.jpg)
CUSEC 2002 20
But, as we look to the horizon of adecade hence, we see no silver
bullet.
Fred Brooks
![Page 21: CUSEC 20021 Changing Software Engineering Peter Grogono Department of Computer Science Concordia University](https://reader030.vdocuments.net/reader030/viewer/2022032708/56649e685503460f94b63a0c/html5/thumbnails/21.jpg)
CUSEC 2002 21
I find myself more and more exasperatedwith great inflexible sets of rules that
manycompanies try to pour into concrete andsanctify as rules. The idea that a singlemethod should govern even two differentprojects is highly suspect: the differencesbetween projects are much more
importantthan the similarities.
Tom DeMarco
![Page 22: CUSEC 20021 Changing Software Engineering Peter Grogono Department of Computer Science Concordia University](https://reader030.vdocuments.net/reader030/viewer/2022032708/56649e685503460f94b63a0c/html5/thumbnails/22.jpg)
CUSEC 2002 22
Progress 1995 - 2000Cancelled 31% 23%
Challenged 53% 49%
Successful 23% 16%
Overrun 12% 2.5%
Cost of failure
$81 billion $75 billion
Cost overrun $59 billion $22 billion
![Page 23: CUSEC 20021 Changing Software Engineering Peter Grogono Department of Computer Science Concordia University](https://reader030.vdocuments.net/reader030/viewer/2022032708/56649e685503460f94b63a0c/html5/thumbnails/23.jpg)
CUSEC 2002 23
void qsort
(
char *base,
unsigned count,
int size,
int (*compar)
(void *px, void *py)
);
![Page 24: CUSEC 20021 Changing Software Engineering Peter Grogono Department of Computer Science Concordia University](https://reader030.vdocuments.net/reader030/viewer/2022032708/56649e685503460f94b63a0c/html5/thumbnails/24.jpg)
CUSEC 2002 24
template<
typename RandomAccessiterator,
typename Compare>
void sort(
RandomAccessIterator first,
RandomAccessIterator last,
Compare comp );
![Page 25: CUSEC 20021 Changing Software Engineering Peter Grogono Department of Computer Science Concordia University](https://reader030.vdocuments.net/reader030/viewer/2022032708/56649e685503460f94b63a0c/html5/thumbnails/25.jpg)
CUSEC 2002 25
![Page 26: CUSEC 20021 Changing Software Engineering Peter Grogono Department of Computer Science Concordia University](https://reader030.vdocuments.net/reader030/viewer/2022032708/56649e685503460f94b63a0c/html5/thumbnails/26.jpg)
CUSEC 2002 26
![Page 27: CUSEC 20021 Changing Software Engineering Peter Grogono Department of Computer Science Concordia University](https://reader030.vdocuments.net/reader030/viewer/2022032708/56649e685503460f94b63a0c/html5/thumbnails/27.jpg)
CUSEC 2002 27
BMW Series 7 has 65 microprocessors
• One for each headlight• One for each airbag• One for the rear-view mirror• Transmission talks to mirrors• ABS talks to the radio• GPS talks to the cell phone
![Page 28: CUSEC 20021 Changing Software Engineering Peter Grogono Department of Computer Science Concordia University](https://reader030.vdocuments.net/reader030/viewer/2022032708/56649e685503460f94b63a0c/html5/thumbnails/28.jpg)
CUSEC 2002 28
![Page 29: CUSEC 20021 Changing Software Engineering Peter Grogono Department of Computer Science Concordia University](https://reader030.vdocuments.net/reader030/viewer/2022032708/56649e685503460f94b63a0c/html5/thumbnails/29.jpg)
CUSEC 2002 29
• BMW hires automotive engineers and teaches them to program
• Boeing hires aeronautical engineers and teaches them to program
• Software engineers must learn to speak the jargon
![Page 30: CUSEC 20021 Changing Software Engineering Peter Grogono Department of Computer Science Concordia University](https://reader030.vdocuments.net/reader030/viewer/2022032708/56649e685503460f94b63a0c/html5/thumbnails/30.jpg)
CUSEC 2002 30
![Page 31: CUSEC 20021 Changing Software Engineering Peter Grogono Department of Computer Science Concordia University](https://reader030.vdocuments.net/reader030/viewer/2022032708/56649e685503460f94b63a0c/html5/thumbnails/31.jpg)
CUSEC 2002 31
Software Engineers
![Page 32: CUSEC 20021 Changing Software Engineering Peter Grogono Department of Computer Science Concordia University](https://reader030.vdocuments.net/reader030/viewer/2022032708/56649e685503460f94b63a0c/html5/thumbnails/32.jpg)
CUSEC 2002 32
![Page 33: CUSEC 20021 Changing Software Engineering Peter Grogono Department of Computer Science Concordia University](https://reader030.vdocuments.net/reader030/viewer/2022032708/56649e685503460f94b63a0c/html5/thumbnails/33.jpg)
CUSEC 2002 33
What Software Engineers have to do:
• Learn to talk to other engineers• Be familiar with lots of tools and
techniques• Know how to choose the best tools• Be prepared to learn local
practices• Stop being scared by mathematics• Accept professional responsibilities
![Page 34: CUSEC 20021 Changing Software Engineering Peter Grogono Department of Computer Science Concordia University](https://reader030.vdocuments.net/reader030/viewer/2022032708/56649e685503460f94b63a0c/html5/thumbnails/34.jpg)
CUSEC 2002 34
What Software Engineering educators have to do:
• Identify basic principles• Relate principles to practice• Be active researchers• Be leaders, not followers• Keep improving the curriculum• Insist on high standards
![Page 35: CUSEC 20021 Changing Software Engineering Peter Grogono Department of Computer Science Concordia University](https://reader030.vdocuments.net/reader030/viewer/2022032708/56649e685503460f94b63a0c/html5/thumbnails/35.jpg)
CUSEC 2002 35
• Training = how to use a tool
• Education = how to choose the best tool
![Page 36: CUSEC 20021 Changing Software Engineering Peter Grogono Department of Computer Science Concordia University](https://reader030.vdocuments.net/reader030/viewer/2022032708/56649e685503460f94b63a0c/html5/thumbnails/36.jpg)
CUSEC 2002 36
What Software Engineering researchers have to do:
• Empirical research: find out what works, what doesn’t work, and why
• Theoretical research: discover the basic principles that underlie software engineering
• Stop selling snake oil
![Page 37: CUSEC 20021 Changing Software Engineering Peter Grogono Department of Computer Science Concordia University](https://reader030.vdocuments.net/reader030/viewer/2022032708/56649e685503460f94b63a0c/html5/thumbnails/37.jpg)
CUSEC 2002 37
But, in our enthusiasm, we could notresist carrying out a complete overhaulof the system, during whichweaknesses were exposed, analyzed,and replaced with new weaknesses.
Bruce Leverett
![Page 38: CUSEC 20021 Changing Software Engineering Peter Grogono Department of Computer Science Concordia University](https://reader030.vdocuments.net/reader030/viewer/2022032708/56649e685503460f94b63a0c/html5/thumbnails/38.jpg)
CUSEC 2002 38
Logic, like whiskey, loses itsbeneficial effect when taken in
toolarge quantities.
Lord Dunsany (1878-1957)
![Page 39: CUSEC 20021 Changing Software Engineering Peter Grogono Department of Computer Science Concordia University](https://reader030.vdocuments.net/reader030/viewer/2022032708/56649e685503460f94b63a0c/html5/thumbnails/39.jpg)
CUSEC 2002 39
You are not here to worship what is
known, but to question it.
Nancy Leveson
![Page 40: CUSEC 20021 Changing Software Engineering Peter Grogono Department of Computer Science Concordia University](https://reader030.vdocuments.net/reader030/viewer/2022032708/56649e685503460f94b63a0c/html5/thumbnails/40.jpg)
CUSEC 2002 40
Rules are my very humble,obedient servants.
Josef Haydn (1732-1809)
![Page 41: CUSEC 20021 Changing Software Engineering Peter Grogono Department of Computer Science Concordia University](https://reader030.vdocuments.net/reader030/viewer/2022032708/56649e685503460f94b63a0c/html5/thumbnails/41.jpg)
CUSEC 2002 41