Download presentation
Presentation is loading. Please wait.
Published byCandace Reeves Modified over 9 years ago
1
By David Sanders 11-20-08
2
Title Explanation Werewolves are quite terrifying, simply because they transform unexpectedly into horrors. To kill werewolves, you need silver bullets. Software Engineering monsters include missed schedules, blown budgets, and flawed products. Sadly, there is no “silver bullet” for these kinds of problems.
3
Essential Difficulties We must observe that the anomaly is not that software progress is slow, but rather hardware progress is so fast. The “essence” defines the difficulties inherent to the nature of the software. The “accidents” are the difficulties that are not inherent.
4
Essence Essence of a software entity is a construct of interlocking concepts: data sets, relationships among data items, algorithms, and invocations of functions. The essence is abstract. Think like CS 320 Data Structures. The author believes the hard part of building software is the specification, design, and testing of the conceptual construct, not the labor of representing it and testing the fidelity of the representation.
5
Essence Inherent properties of the essence of modern software systems include: Complexity Conformity Changeability Invisibility
6
Past Breakthroughs High-level languages Time Sharing Unified Programming Environments
7
Hopes for the Silver Ada’s philosophy and other high-level language advances. That is, modularization, abstract data types, hierarchical structuring. Object oriented programming Artificial Intelligence Expert systems Automatic programming Graphical programming Program verification Environments and tools Workstations
8
Almost to the end… Buy versus build Requirements refinement and rapid prototyping Incremental development – grow, not build, software Great designers
9
Growing Great Designers Systematically identify top designers as early as possible. The best are not always the most experienced. Assign a career mentor to be responsible for the development of the prospect, and keep a careful career file. Devise and maintain a career development plan for each prospect, including carefully selected apprenticeships. Provide opportunities for growing designers to interact with and stimulate each other.
10
Wrap up and Questions
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.