ch7: software production process

Post on 04-Jan-2016

29 Views

Category:

Documents

3 Downloads

Preview:

Click to see full reader

DESCRIPTION

Ch7: Software Production Process. Waterfall models. Invented in the late 1950s for large air defense systems, popularized in the 1970s Main characteristics:. Waterfall models (contd..). Feasibility study. Requirements. Design. Coding and module testing. Integration and system testing. - PowerPoint PPT Presentation

TRANSCRIPT

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:

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

top related