ch7 software production process n.
Skip this Video
Loading SlideShow in 5 Seconds..
Ch7: Software Production Process PowerPoint Presentation
Download Presentation
Ch7: Software Production Process

Loading in 2 Seconds...

  share
play fullscreen
1 / 25
Download Presentation

Ch7: Software Production Process - PowerPoint PPT Presentation

melantha-ganis
85 Views
Download Presentation

Ch7: Software Production Process

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

  1. Ch7: Software Production Process

  2. Waterfall models • Invented in the late 1950s for large air defense systems, popularized in the 1970s • Main characteristics:

  3. Waterfall models (contd..) Feasibility study Requirements Design Coding and module testing Integration and system testing Delivery, deployment, and maintenance

  4. Waterfall models (contd..) • Organizations adopting waterfall models: • Example: Military Standard (MIL-STD-2167)

  5. Evaluation of the waterfall model • Contributions to the understanding of software process: • Characteristics of a strict waterfall model: .

  6. Evaluation of the waterfall model (contd..) • Problems with the waterfall model:

  7. Evaluation of the waterfall model (contd..) • Characteristics of the waterfall model potentially lead to high maintenance costs: • In summary, software evolution is not anticipated or planned.

  8. Waterfall model with feedback Feasibility study Requirements Design Coding and module testing Integration and system testing Delivery, deployment, and maintenance

  9. Evolutionary models • Brooks advocates building a product twice: • Evolutionary or incremental approach: • Evolutionary model has several different versions

  10. Evolutionary models (contd..) • Evolutionary process model (Boehm): • Delivered increment: • Development strategy (Glib, 1988): • Must use waterfall process discipline.

  11. Evolutionary models (contd..) • Incremental implementation model: Waterfall model used until the implementation phase.

  12. Evolutionary models (contd..) • Incremental development and delivery model: Incremental approach expanded to all stages of life cycle. • Achieves finer granularity in the process. • Waterfall model is followed for different portions. • Increments developed after feedback received from the user. • Allows users to understand what they actually need leading to changes in requirements.

  13. Evolutionary models (contd..) • Evolutionary prototype: • Evolutionary models and maintenance:

  14. Evaluation of evolutionary models • Problems with evolutionary models: • Advantages to evolutionary models:

  15. Transformation model • Transformation model has roots in formal specifications. • Views software development as a sequence of steps that transform a specification into an implementation: • Transformation may be done manually or by a software engineer. • Still a theoretical reference model.

  16. Transformation model (contd..)

  17. Transformation model (contd..) • Two main stages: • Requirements analysis: • Optimization: • Transformation controlled by software engineering • Before transformation, specifications are verified against user expectations. • Transformation model supported by software development environment. Tools for:

  18. Transformation model (contd..) • Major advantage over waterfall model: • Problems: • Transformation model has been studied for small programs as a way of proving correctness.

  19. Spiral model • Purpose: • Metamodel: • Guiding principles: • Risk: • Risk management (Boehm):

  20. Spiral model (contd..) • Focuses on identifying and eliminating high-risk problems by careful process design. • Cyclic model with four stages: • Allows unstated requirements to become part of next specification cycle:

  21. Spiral model (contd..)

  22. Assessment of process models • Historical evolution: • Waterfall: • Evolutionary: • Transformation: • Spiral:

  23. Assessment of process models (contd..) • No detailed comparison of models. • Initial comparison of waterfall vs. evolutionary shows: • Flexibility needed to reduce risks • Waterfall may be useful as a reference structure for documentation

  24. Assessment of process models (contd..) • In general, waterfall model is too rigid and should be replaced by a model that adopts some features of evolutionary approach. • Factors influencing evolution of software production process

  25. Software evolution: Legacy software • Existing software must evolve because requirements change • Re-engineering • Reverse engineering