Chapter 10:  Software Engineering

Software Engineering

The Software Life Cycle

Maintenance

Development vs. Maintenance

Development and Maintenance Effort

Development and Maintenance Effort

Software Development Models

The Build-and-Fix Approach

The Waterfall Model

The Waterfall Model

Iterative Development

An Iterative Development Process

Testing

Testing Techniques

Testing Techniques

Black-Box Testing

White-Box Testing

Prototypes

Throw-away  vs. Evolutionary Prototypes

Evolutionary Development

An Evolutionary Development Model

Refinement Cycle

Refinement Cycle

Refinement Cycle

Refinement Cycle

Refinement Cycle

The PaintBox Project

The PaintBox Project

The PaintBox Project

The PaintBox Project

PaintBox Refinement #1

PaintBox Refinement #1

PaintBox.java

PaintFrame.jave

ButtonBar.java

DrawingPanel.java

PaintBox Refinement #2

"(Editor:"

PaintBox.java

PaintFrame.java

ButtonBar.java

DrawingPanel.java

Shape.java

Line.java

BoundedShape.java

Rect.java

Oval.java

Poly.java

Remaining PaintBox Refinements

Summary