Download presentation
Presentation is loading. Please wait.
Published byLoraine Osborne Modified over 9 years ago
1
No Silver Bullet - Essence and Accident in Software Engineering By: R. Adam Mead
2
Software Construction Essential Tasks n Exploiting the mass market to avoid constructing what can be bought. n Using rapid prototyping as part of a planned iteration in establishing software requirements. n Growing Software organically, adding more and more function to systems as they are run, used and tested. n Identifying and developing the great conceptual designers of the rising generation.
3
Does It Have to Be Hard? - Essential Difficulties n Observe that it is not software process that are so slow it is that hardware progress are so fast. n The essence of a software entity is a construct of interlocking concepts: data sets, relationships among data items, algorithms, and invocations of functions.
4
Complexity n Software is more complex for their size then an others human construction. n Many problems of developing software products derive from this essential complexity and its nonlinear increases with size. n The increase in size makes communication among team members hard. n Problem are: product flaws, cost overruns, schedule delays. n Are not only technical problems, management problems too.
5
Conformity n Conformity comes from the fact that all new software must conform to the way things where done in the past, because it is hard to change everyone. n Main reason software must conform is that it is new on the scene.
6
Changeability n Being able to change something after it has been constructed is a new concept. n Software must be able to change, and the complexity of the systems becomes harder to follow. n All successful software gets changed. n Successful software also survives beyond the normal life of the machine vehicle for which it is first written for.
7
Invisibility n Software has no 3-D way on which it can be laid out. n Software does not have one map or graph, it will have multiple maps and graphs. n Software has data flow charts, time sequence graphs, and other types of things. n Communication becomes hard because each person my see it a different way.
8
Past Breakthroughs Solved Accidental Difficulties n High-Level Languages n Time-Sharing
9
High-level Languages n The most powerful thing to happen to software development ever. n It allows that some types on data structures, operation, classes etc, to be used by any machine. n Programmers don’t have to develop software for individual machines.
10
Time-Sharing n Most observers credit the time-sharing improvement to better programmers, and better programming languages. n Programs run faster because of the high-level languages. n Do not have to accommodate for machine language anymore.
11
Hopes for the Silver n Object-oriented programming n Artificial Intelligence n Expert Systems n Automatic programming n Graphics programming
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.