Software Development: The Waterfall Model

Steven Zeil

Last modified: Dec 26, 2016
Contents:

1 Software Development Process Models

A software development process is a structured series of activities that comprise the way in which an organization develops software projects.

2 The Waterfall Model

 

3 Components of the Waterfall Model

3.1 Requirements Analysis and Definition

3.1.1 What is a requirement?

May range from very abstract to a detailed mathematical specification

3.1.2 The requirements document

3.1.3 Requirements definition

Example

  1. The software must provide a means of representing and accessing external files created by other tools.

3.1.4 Requirements specification

Sample Reqts Specification

1.1 The user should be provided with facilities to define the type of external files

1.2 Each external file type may have an associated tool which may be applied to the file.

1.3 Each external file type may be represented as a specification (icon) on the user’s display.

1.4 Facilities should be provided for the icon representing an external file type to be defined by the user.

1.5 When the user selects an icon representing an external file, the effect of that selection is to apply the tool associated with the type of the external file to the file represented by the selected icon.

3.2 Design

3.2.1 Architectural Design

Global decisions that affect the entire system.

Examples:

3.2.2 High-Level Design

Divide the system into modules

3.2.3 Low-Level Design

Design the data structures and algorithms for an individual module.

3.3 Implementation

Probably the most familiar activity

3.4 Verification & Validation

Verification & Validation: assuring that a software system meets the users’ needs

3.4.1 Verification

3.4.2 Validation

3.4.3 Testing

3.4.4 V&V

3.5 Operation and Maintenance

As requirements evolve and bug reports come in from the field

4 The Focus of this Course