No Silver Bullet Fred Brooks - PowerPoint PPT Presentation

1 / 10
About This Presentation
Title:

No Silver Bullet Fred Brooks

Description:

... with each other in some non-linear fashion - complexity is an essential property. ... great designers - NASA story; cultivate ... – PowerPoint PPT presentation

Number of Views:152
Avg rating:3.0/5.0
Slides: 11
Provided by: liv2
Category:
Tags: brooks | bullet | fred | silver

less

Transcript and Presenter's Notes

Title: No Silver Bullet Fred Brooks


1
No Silver Bullet - Fred Brooks
  • No single development in either technology or in
    management technique promises even one order of
    magnitude of improvement in productivity,
    reliability or simplicity
  • Hard part of building software is the
    specification, design and testing of the
    conceptual constructs for a system, not the labor
    of representing it - essence/accidents

2
Four issues of difficulty
  • Complexity - no two parts are alike very large
    number of states scaling up not merely a
    repetition of the same elements in larger sizes
    elements interact with each other in some
    non-linear fashion - complexity is an essential
    property.
  • Descriptions of a software entity that abstract
    away its complexity often abstract away its
    essence

3
  • Increased complexity causes increased
    communication problems. From the complexity
    comes the difficulty of enumerating, much less
    understanding, all the possible states of the
    program, and from that comes unreliability.
  • From the complexity of function comes the
    difficulty of invoking function, which makes
    programs hard to use. From the complexity of
    structure comes the difficulty of extending
    programs to new functions without creating side
    effects.
  • Management, communication and personnel turnover
    exacerbate all of the above.

4
  • Conformity - to many human institutions and
    systems to which it interfaces conceived as most
    conformable
  • Changeability - software changes very easily, but
    ramifications serious. Software is embedded in a
    cultural matrix of applications, users, laws and
    machine vehicles - all changing continually and
    their changes inexorably force change upon the
    software product.

5
  • Invisibility - Software is invisible and
    unvisualizable. The reality of software is not
    inherently embedded in space. When we go to
    diagram we find several structures - flow of
    control, flow of data, patterns of dependency,
    time sequence and name - space relationships.
    Graphs are not planar, much less hierarchical
    (there is no good structure). Visualization is
    an important toolfor dealing with conceptual
    complexity.

6
Past breakthroughs solved accidents
  • High level languages enhance representation
  • time sharing - quick turnaround benefits
  • unified programming environments - help us better
    manage conceptual constructs, but not figure out
    what they should be.

7
Hopes for the Silver
  • Ada - encourages modern design and
    modularization, ADT, hierarchical structuring,
    etc
  • OOP - helps with representation and other issues
  • AI - the hard thing about building software is
    deciding what one wants to say, not saying it.

8
  • Expert Systems - benefit is separation of
    application complexity from the program itself -
    where is the expert?
  • Automatic programming - very domain dependent
  • Graphical programming - when software is hard to
    visualize, how can this help?
  • Program verification - works on code, but want to
    work on eliminating errors upstream.

9
  • Environments and tools - hierarchical file
    systems, uniform file formats, generalized tools,
    SDE editors.
  • LCAM - biggest gain yet to be realized from
    programming environments is the use of integrated
    database systems to keep track of the myriad of
    details that must be recalled accurately by the
    individual programmer and kept current for the
    group of collaborators on a single system.
  • Workstations - speed compiling.

10
Promising Attacks
  • Time of task S (frequency)i x (time)i
  • attacks of the formulation of complex conceptual
    structures buy vs. build reqts refinement and
    rapid prototyping incremental development - grow
  • conceptual constructs are too difficult to
    specify in advance and too complex to be built
    faultlessly
  • great designers - NASA story cultivate
Write a Comment
User Comments (0)
About PowerShow.com