no silver bullet essence and accident in software engineering n.
Skip this Video
Loading SlideShow in 5 Seconds..
No Silver Bullet - Essence and Accident in Software Engineering PowerPoint Presentation
Download Presentation
No Silver Bullet - Essence and Accident in Software Engineering

Loading in 2 Seconds...

play fullscreen
1 / 11

No Silver Bullet - Essence and Accident in Software Engineering - PowerPoint PPT Presentation

Download Presentation
No Silver Bullet - Essence and Accident in Software Engineering
An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

  1. No Silver Bullet - Essence and Accident in Software Engineering By: R. Adam Mead

  2. Software Construction Essential Tasks • Exploiting the mass market to avoid constructing what can be bought. • Using rapid prototyping as part of a planned iteration in establishing software requirements. • Growing Software organically, adding more and more function to systems as they are run, used and tested. • Identifying and developing the great conceptual designers of the rising generation.

  3. Does It Have to Be Hard? - Essential Difficulties • Observe that it is not software process that are so slow it is that hardware progress are so fast. • 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 • Software is more complex for their size then an others human construction. • Many problems of developing software products derive from this essential complexity and its nonlinear increases with size. • The increase in size makes communication among team members hard. • Problem are: product flaws, cost overruns, schedule delays. • Are not only technical problems, management problems too.

  5. Conformity • 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. • Main reason software must conform is that it is new on the scene.

  6. Changeability • Being able to change something after it has been constructed is a new concept. • Software must be able to change, and the complexity of the systems becomes harder to follow. • All successful software gets changed. • Successful software also survives beyond the normal life of the machine vehicle for which it is first written for.

  7. Invisibility • Software has no 3-D way on which it can be laid out. • Software does not have one map or graph, it will have multiple maps and graphs. • Software has data flow charts, time sequence graphs, and other types of things. • Communication becomes hard because each person my see it a different way.

  8. Past Breakthroughs Solved Accidental Difficulties • High-Level Languages • Time-Sharing

  9. High-level Languages • The most powerful thing to happen to software development ever. • It allows that some types on data structures, operation, classes etc, to be used by any machine. • Programmers don’t have to develop software for individual machines.

  10. Time-Sharing • Most observers credit the time-sharing improvement to better programmers, and better programming languages. • Programs run faster because of the high-level languages. • Do not have to accommodate for machine language anymore.

  11. Hopes for the Silver • Object-oriented programming • Artificial Intelligence • Expert Systems • Automatic programming • Graphics programming