Software Engineering

Science vs. Engineering

Computer Science as a Science

Computer Science as a Science (cont'd)

Adding a Customer

The Difference Between Computer Science and Software Engineering

History of the Role of Software

Elements of the Continuing Software Crisis

Elements of the Software Crisis (cont'd)

Key Factors Altering Software Engineering Practice Since 1970's

The Goal of Software Engineering: Software Quality

Views of Software Quality (cont'd)

User Views

Product Views

Relating the User and Product Views

Elements of a Software Engineering Discipline

Elements of a Software Engineering Discipline (cont'd)

Software Development Steps

Software Developer Roles

Programming Team Organization

Other Software Personnel

Software Process Models

Waterfall Model

Elements of the Waterfall Model

Drawbacks of the Waterfall Model

The Uncontrolled Software Process

Prototyping

Waterfall Model With Prototyping

Validation and Verification

Validation and Verification (cont'd)

Software Development Focus

The V Model

The Prototype as a Central Element

Reducing "Cycle" Time: Phased Development

Two Approaches to Phased Development

The Transformational Model: "Automatic" Programming