Classical Waterfall Model

Classical Waterfall Model

No alt text provided for this image

Classical waterfall model is a software process model. It is a sequential approach where each activity of a process represents a separate phase and arrange in linear order. Another name for this model is “Linear Sequential Model”. This model divides the software life cycle into six phases.

· Feasibility Study

· Requirements Analysis & Specification

· Design

· Implementation (Coding) & Unit Testing

· Integration & System Testing

· Maintenance

Feasibility Study

A feasibility study is a methodology which determines whether the project is financially worthwhile and technically feasible. When conducting a feasibility study, we can get a basic understand of the problem. Then we can generate alternative solutions and strategies. Strategies can be evaluated as

·Estimated technical difficulty

·Estimated resources

·Estimated development effort

·Estimated development time & cost

Cost/benefit analysis can be used to determine which solution are feasible. Sometimes none of the solutions may be feasible due to

· Resource Limitations.

· Technical Difficulty.

· High Cost.

· Long Development Time

The Requirement Phase

Responsibility of the requirement phase is to document the customer requirements. This phase can be divided into 2 distinct activities.

· Requirements Gathering and Analysis

· Requirements Specification

Requirements Gathering and Analysis

Following activities can be done to gather information

· Meetings

· Interviews

· Discussions

By gathering of information members should identify and eliminate errors of the solution. By conducting requirement gathering and analysis we can understand exactly what the customer needs. Not the thing that they asked.

Requirement Specification

After gathering of requirements, they should be documented in a Software Requirement Specification (SRS). Requirement specification involves documenting the requirements. SRS is the legal contract between the software company and the customer. After the end of the requirement phase customer can approve the SRS document

The Design Phase

In this phase, the problem is further elaborated by drawing sketches and diagram. There are several methods and tools that the software companies used in the designing phase.

When talking about the design phase Structured analysis is an important fact in this phase. The structured analysis is carried out using data flow diagram (DFD).

· Identify the major tasks to be performed by the system

· Identify all data flows into or out of these tasks

· Recursively decompose each task into sub-tasks and identify all data flows between the sub-tasks

· Stop at the algorithm level (when each task can be represented by 1/2 page of pseudo-code)

After Structured analysis, next thing is Structured Design.

According to the requirement, a designer can draw a high-level architecture diagram or low-level architecture diagrams

The Implementation Phase

This is the coding phase. Developer separate task and implement. Each implementing task is known as a module. Each module is implemented as a stand-alone unit. After that unit testing is done. The purpose of unit testing is to ensure that is unit is works correctly in isolation. The product of this phase is a set of independently tested software modules.

The Testing Phase

Testing phase can be divided into 2 steps

· Integration Testing

· System Testing

Integration Testing

Integration testing is done first. Developer tries to combine modules and testing whether those combined is working properly. Integrating modules one at a time makes error location and correction much easier. At the end of this testing, all the system is tested with sample data.

System Testing

System testing is done to ensure the system meets the requirement specified in the SRS document.

This testing is taking place after all modules are integrated. At the end of the Testing phase system is delivered to the customer.

Maintenance

There are 3 categories in the maintenance phase

Corrective Maintenance

Eliminate errors that were not discovered during system development

Perfective Maintenance

To improve the existing system. Adding more functionalities

Adaptive Maintenance

Modify the system to a new environment such as changing the hardware device, operating system

Problems of the classic waterfall model

So far, we discussed the phases of the waterfall model. But did you know that there are problems in this waterfall model? Let’s see what they are.

The classical waterfall model is idealistic

It assumes that no defects are introduced during any of the development phases.

In practice, defects are introduced during every phase of the software life cycle

Hence feedback paths must be added to the classical waterfall model.

The resulting Iterative Waterfall Model is one of the most widely used process models….


To view or add a comment, sign in

More articles by Udara Abeythilake

Others also viewed

Explore content categories