Presentation is loading. Please wait.

Presentation is loading. Please wait.

Ch7: Software Production Process. 1 Waterfall models  Invented in the late 1950s for large air defense systems, popularized in the 1970s  Main characteristics:

Similar presentations


Presentation on theme: "Ch7: Software Production Process. 1 Waterfall models  Invented in the late 1950s for large air defense systems, popularized in the 1970s  Main characteristics:"— Presentation transcript:

1 Ch7: Software Production Process

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

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

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

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

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

7 6 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 7 Waterfall model with feedback Feasibility study Requirements Design Coding and module testing Integration and system testing Delivery, deployment, and maintenance

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

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

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

12 11 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 12 Evolutionary models (contd..)  Evolutionary prototype:  Evolutionary models and maintenance:

14 13 Evaluation of evolutionary models  Problems with evolutionary models:  Advantages to evolutionary models:

15 14 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 15 Transformation model (contd..)

17 16 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 17 Transformation model (contd..)  Major advantage over waterfall model:  Problems:  Transformation model has been studied for small programs as a way of proving correctness.

19 18 Spiral model  Purpose:  Metamodel:  Guiding principles:  Risk:  Risk management (Boehm):

20 19 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 21 Assessment of process models  Historical evolution:  Waterfall:  Evolutionary:  Transformation:  Spiral:

23 22 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 23 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 24 Software evolution: Legacy software  Existing software must evolve because requirements change  Re-engineering  Reverse engineering


Download ppt "Ch7: Software Production Process. 1 Waterfall models  Invented in the late 1950s for large air defense systems, popularized in the 1970s  Main characteristics:"

Similar presentations


Ads by Google