Penguin
Blame: SoftwareEngineering
EditPageHistoryDiffInfoLikePages
Annotated edit history of SoftwareEngineering version 10, including all changes. View license author blame.
Rev Author # Line
10 DavidHallett 1 The supposed engineering discipline of [Software] creation.
2 StuartYeates 2
3 SoftwareEngineering differs from ComputerScience in that it favours reliability, stability and usefulness over novelty. The general approach is usually to start with a small, working, system and incrementally add features and fix [Bug]s as they arise.
4
8 AristotlePagaltzis 5 There are a number of important techniques and approaches in SoftwareEngineering, including (none of these lists is anywhere near complete):
2 StuartYeates 6
8 AristotlePagaltzis 7 !!! Design
2 StuartYeates 8
8 AristotlePagaltzis 9 * Flow Diagram
10 * Data Dictionary
11 * [UML]
12 * Specifications
5 HansOesterholt 13
8 AristotlePagaltzis 14 !!! Testing
15
16 * RegressionTesting
17 * UnitTesting
18
19 !!! Tool Support
20
21 * Code generation tools: [Compiler]s, [CompilerCompiler]s
22 * BugZilla
23
24 !!! Methodologies
25
26 * [Literate Programming | http://www.literateprogramming.com]
27 * [Elemental Programming | http://www.elemental-programming.org]
9 DavidHallett 28 * [Extreme Programming | http://www.extremeprogramming.org]
8 AristotlePagaltzis 29 * Agile Software Development
3 JohnMcPherson 30
31 ----
8 AristotlePagaltzis 32
33 A Software Engineer, a Hardware Engineer and a Departmental Manager were on their way to a meeting in Switzerland. They were driving down a steep mountain road when suddenly the brakes on their car failed. The car careened almost out of control down the road, bouncing off the crash barriers, until it miraculously ground to a halt, scraping along the mountainside. The car's occupants, shaken but unhurt, now had a problem: they were stuck halfway down a mountain in a car with no brakes. What were they to do?
3 JohnMcPherson 34
35 "I know", said the Departmental Manager, "Let's have a meeting, propose a Vision, formulate a Mission Statement, define some Goals, and by a process of Continuous Improvement, Change Management, Re-Engineering and Service Integration, find a solution to the Critical Problems, and we can be on our way."
36
8 AristotlePagaltzis 37 "No, no", said the Hardware Engineer, "That will take far too long, and besides, that method has never worked before. I've got my Swiss Army knife with me, and in no time at all I can strip down the car's braking system, isolate the fault, fix it, and we can be on our way."
3 JohnMcPherson 38
39 "Well", said the Software Engineer, "Before we do anything, I think we should push the car back up the road and see if it happens again."
40
41 -- author unknown