12.8 Taylor’s Theorem: Error Analysis for Series Tacoma Narrows Bridge: November 7, 1940.
watch?v=HxTZ446tbzE Tacoma Narrows Newsreel
Transcript of watch?v=HxTZ446tbzE Tacoma Narrows Newsreel
![Page 1: watch?v=HxTZ446tbzE Tacoma Narrows Newsreel](https://reader030.fdocuments.net/reader030/viewer/2022012410/616a63b111a7b741a351f63a/html5/thumbnails/1.jpg)
http://www.youtube.com/watch?v=HxTZ446tbzETacoma Narrows Newsreel
![Page 2: watch?v=HxTZ446tbzE Tacoma Narrows Newsreel](https://reader030.fdocuments.net/reader030/viewer/2022012410/616a63b111a7b741a351f63a/html5/thumbnails/2.jpg)
software crisis
a term coined at the first NATO Software Engineering Conferences (1968)http://homepages.cs.ncl.ac.uk/brian.randell/NATO/
![Page 3: watch?v=HxTZ446tbzE Tacoma Narrows Newsreel](https://reader030.fdocuments.net/reader030/viewer/2022012410/616a63b111a7b741a351f63a/html5/thumbnails/3.jpg)
does not meet requirements
inefficient
of low quality
difficult to maintain
Software is ...
![Page 4: watch?v=HxTZ446tbzE Tacoma Narrows Newsreel](https://reader030.fdocuments.net/reader030/viewer/2022012410/616a63b111a7b741a351f63a/html5/thumbnails/4.jpg)
over-budget
over-time(or never delivered)
unmanageable
Projects are...
![Page 5: watch?v=HxTZ446tbzE Tacoma Narrows Newsreel](https://reader030.fdocuments.net/reader030/viewer/2022012410/616a63b111a7b741a351f63a/html5/thumbnails/5.jpg)
1968
![Page 6: watch?v=HxTZ446tbzE Tacoma Narrows Newsreel](https://reader030.fdocuments.net/reader030/viewer/2022012410/616a63b111a7b741a351f63a/html5/thumbnails/6.jpg)
The major cause of the software crisis is that the machines have become several orders of magnitude more powerful! To put it quite bluntly: as long as there were no machines, programming was no problem at all; when we had a few weak computers, programming became a mild problem, and now we have gigantic computers, programming has become an equally gigantic problem.
Edsger Dijkstra, inThe Humble Programmer
This is an issue of size. Small programs are relatively easy to write and maintain. As the tasks we want to solve grow, so do the programs we write. As a program grows, so does its complexity. We need to find ways to tame the complexity.
![Page 7: watch?v=HxTZ446tbzE Tacoma Narrows Newsreel](https://reader030.fdocuments.net/reader030/viewer/2022012410/616a63b111a7b741a351f63a/html5/thumbnails/7.jpg)
Complexitymatters.
Size matters, but only because of complexity.Size of what we can do, and size of what we want to do.
![Page 8: watch?v=HxTZ446tbzE Tacoma Narrows Newsreel](https://reader030.fdocuments.net/reader030/viewer/2022012410/616a63b111a7b741a351f63a/html5/thumbnails/8.jpg)
... the creative application of scientific principles to design or develop structures, machines, apparatus, or manufacturing processes ... with full cognizance of their design ... as respects an intended function, economics of operation, and safety to life and property.
How to manage the complexity? Engineers practice disciplines and follow processes that enable the creation of artifacts repeatable, predictable, measurable, high quality.
Engineering as defined by ABET’s predecessor.
![Page 9: watch?v=HxTZ446tbzE Tacoma Narrows Newsreel](https://reader030.fdocuments.net/reader030/viewer/2022012410/616a63b111a7b741a351f63a/html5/thumbnails/9.jpg)
After having watched the video at the top of class, I can’t help but chuckle at the irony...
(courtesy of http://www.viruscomix.com/page329.html)
![Page 10: watch?v=HxTZ446tbzE Tacoma Narrows Newsreel](https://reader030.fdocuments.net/reader030/viewer/2022012410/616a63b111a7b741a351f63a/html5/thumbnails/10.jpg)
<quiz>
I am not grading this. It isn’t a quiz. It is a self-assessment.Honesty is the best policy.Your answers will help me design and implement this course better.
![Page 11: watch?v=HxTZ446tbzE Tacoma Narrows Newsreel](https://reader030.fdocuments.net/reader030/viewer/2022012410/616a63b111a7b741a351f63a/html5/thumbnails/11.jpg)
Software Development
Lifecycle
![Page 12: watch?v=HxTZ446tbzE Tacoma Narrows Newsreel](https://reader030.fdocuments.net/reader030/viewer/2022012410/616a63b111a7b741a351f63a/html5/thumbnails/12.jpg)
analysisdesign
implementationtesting
deploymentmaintenance
These are things we can or should do when we create a program.They are often called stages because software roughly progresses through them in order.
![Page 13: watch?v=HxTZ446tbzE Tacoma Narrows Newsreel](https://reader030.fdocuments.net/reader030/viewer/2022012410/616a63b111a7b741a351f63a/html5/thumbnails/13.jpg)
NA
TO
SO
FTW
ARE E
NG
INEERIN
G C
ON
FEREN
CE 1
968
13
3. S
oftw
are
En
gin
eerin
g
IDENTIFIES PROBLEMAND PRODUCES FIRSTTENTATIVE DESIGN
COMPLETESYSTEM
SPECIFICATIONPROBLEMRECOGNITION
AN ERROR-PRONETRANSLATION PROCESS
SYSTEM
ACCEPT-
ANCE
COMPLETELYOPERATIONAL
SYSTEMOBSOLESCENCE
MAINTENANCEIMPLEMENTATION
WORKING SYSTEM
DETERMINES FORMAND METHODOF SYSTEM
DESCRIPTIONOF
PROBLEM
ANALYSIS DESIGN
TRADITIONAL CONCEPTS OFPROGRAMMING COVER THIS SPAN
IN PRACTICE PROGRAMMERS PERFORM DUTIES OVER THIS SPAN
SCHEMATIC FOR THE TOTAL PROGRAMMING(SOFTWARE SYSTEM-BUILDING) PROCESS
ADAPTS SYSTEMTO ENVIRONMENT
CORRECTS ANDMODIFIES SYSTEM
INSTALLATION
Figure 2. From Selig: Documentation for service and users. Originally due to Constantine.
Notice: Page 13 of the report of the 1968 NATO conference.-- no testing-- “obsolescence”-- discussion of programming and what programmers do
![Page 14: watch?v=HxTZ446tbzE Tacoma Narrows Newsreel](https://reader030.fdocuments.net/reader030/viewer/2022012410/616a63b111a7b741a351f63a/html5/thumbnails/14.jpg)
analysisdesign
implementationtesting
deploymentmaintenance
That diagram had feedforward, but no feedback.When we lock these stages in a time progression, they become a process for development.
![Page 15: watch?v=HxTZ446tbzE Tacoma Narrows Newsreel](https://reader030.fdocuments.net/reader030/viewer/2022012410/616a63b111a7b741a351f63a/html5/thumbnails/15.jpg)
Waterfall Model
This once was how people were taught to build software.
![Page 16: watch?v=HxTZ446tbzE Tacoma Narrows Newsreel](https://reader030.fdocuments.net/reader030/viewer/2022012410/616a63b111a7b741a351f63a/html5/thumbnails/16.jpg)
It is now frequently derided in the literature and in practice.But...It is also still a model you will seen used in practice by many, many companies.(Some, even as they tell you they aren’t doing it!)
![Page 17: watch?v=HxTZ446tbzE Tacoma Narrows Newsreel](https://reader030.fdocuments.net/reader030/viewer/2022012410/616a63b111a7b741a351f63a/html5/thumbnails/17.jpg)
http://www.stsc.hill.af.mil/crosstalk/1995/01/Comparis.asp“A Comparison of Software Development Methodologies”Reed Sorensen, Software Technology Support Center
![Page 18: watch?v=HxTZ446tbzE Tacoma Narrows Newsreel](https://reader030.fdocuments.net/reader030/viewer/2022012410/616a63b111a7b741a351f63a/html5/thumbnails/18.jpg)
metaphor
We liken our activity to another and learn from the connection.
![Page 19: watch?v=HxTZ446tbzE Tacoma Narrows Newsreel](https://reader030.fdocuments.net/reader030/viewer/2022012410/616a63b111a7b741a351f63a/html5/thumbnails/19.jpg)
Making software
isengineering.
If so, then we should do what engineers do.
![Page 20: watch?v=HxTZ446tbzE Tacoma Narrows Newsreel](https://reader030.fdocuments.net/reader030/viewer/2022012410/616a63b111a7b741a351f63a/html5/thumbnails/20.jpg)
Making software
is likeengineering.
Many people take a broader view.SE is like engineering, and we should learn as much as we can from engineers, who have been practicing much longer than we, and in harsher circumstances. (Bridges fall down!)
![Page 21: watch?v=HxTZ446tbzE Tacoma Narrows Newsreel](https://reader030.fdocuments.net/reader030/viewer/2022012410/616a63b111a7b741a351f63a/html5/thumbnails/21.jpg)
analysisdesign
implementationtesting
deploymentmaintenance
These things are definitely part of making software. Engineers can teach us a lot.
But making software is also not like engineering. How?
![Page 22: watch?v=HxTZ446tbzE Tacoma Narrows Newsreel](https://reader030.fdocuments.net/reader030/viewer/2022012410/616a63b111a7b741a351f63a/html5/thumbnails/22.jpg)
Programming is not like material craft in that undoing something you’ve done is easy far more often than not.
Courtesy of Brian Marick, a long-time software developer and consultant.
This is one example. There are others. (Can you think of some?)
![Page 23: watch?v=HxTZ446tbzE Tacoma Narrows Newsreel](https://reader030.fdocuments.net/reader030/viewer/2022012410/616a63b111a7b741a351f63a/html5/thumbnails/23.jpg)
We will consider similarity and dissimilarity, and learn what both can teach us.The dominant metaphor of this courseis engineering.But we will also look at responses to traditional engineering, at other approaches.Learning anything involves learning it both inside and out. Skepticism.
![Page 24: watch?v=HxTZ446tbzE Tacoma Narrows Newsreel](https://reader030.fdocuments.net/reader030/viewer/2022012410/616a63b111a7b741a351f63a/html5/thumbnails/24.jpg)
http://www.cs.uni.edu/~wallingf/teaching/172/
The mechanics of course: readings, assignments, project, exams.My course design is agile development:-- identify essential requirements, prioritized, implement the top priorities first.The questions you answered earlier are a part of my analysis.
![Page 25: watch?v=HxTZ446tbzE Tacoma Narrows Newsreel](https://reader030.fdocuments.net/reader030/viewer/2022012410/616a63b111a7b741a351f63a/html5/thumbnails/25.jpg)
what this courseis and isn’t
![Page 26: watch?v=HxTZ446tbzE Tacoma Narrows Newsreel](https://reader030.fdocuments.net/reader030/viewer/2022012410/616a63b111a7b741a351f63a/html5/thumbnails/26.jpg)
not(only)
the software engineeringof large corporations
software at different scalesPrincipal and Microsoft Word, and also the small companies you will work forGoogle and boutique web siteslarge programs — and small programs
![Page 27: watch?v=HxTZ446tbzE Tacoma Narrows Newsreel](https://reader030.fdocuments.net/reader030/viewer/2022012410/616a63b111a7b741a351f63a/html5/thumbnails/27.jpg)
the skills and techniques that make usproductiveand good
I would like for you to begin thinking about software development as something worth doing better, something worth thinking about so that you can do better.Learn and develop practices that make you a star.
![Page 28: watch?v=HxTZ446tbzE Tacoma Narrows Newsreel](https://reader030.fdocuments.net/reader030/viewer/2022012410/616a63b111a7b741a351f63a/html5/thumbnails/28.jpg)
One can never trust an engineer who does not have to wash his hands before he eats dinner.
Kiichiro Toyoda,the founder of Toyota
Software engineers make software.We should learn skills and tools that will help us do that better.
![Page 29: watch?v=HxTZ446tbzE Tacoma Narrows Newsreel](https://reader030.fdocuments.net/reader030/viewer/2022012410/616a63b111a7b741a351f63a/html5/thumbnails/29.jpg)
<quiz>
problem ... weakness ... pain ... gap in your knowledge or skill set
Be specific.