Software Development: The Waterfall Model

Steven Zeil

Last modified: Jun 17, 2014

Contents:
1. Software Development Process Models
1.1 Components of the Waterfall Model
2. The Focus of CS250

1. Software Development Process Models


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.


The Waterfall Model

1.1 Components of the Waterfall Model


Requirements analysis and definition

What is a requirement?

May range from very abstract to a detailed mathematical specification


The requirements document


Requirements definition

Example

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

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.


System and software design


Architectural Design

Global decisions that affect the entire system.

Examples:


High-Level Design

Divide the system into modules


Low-Level Design

Design the data structures and algorithms for an individual module.


Implementation

Probably the most familiar activity


Verification & Validation

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


Verification


Validation

Testing


V&V


Operation and maintenance

As requirements evolve and bug reports come in from the field

2. The Focus of CS250


The Focus of CS250