Software Engineering - Software Development Lifecycle Model | Classic Waterfall Model

Pybeginner
By -
3 minute read
0

The classic waterfall model is intuitively the most obvious way to develop software. While the classic waterfall model is elegant and intuitively obvious, it is not a practical model in the sense that it cannot be used in real software development projects. Thus, this model can be considered a theoretical form of software development. But all other lifecycle models are essentially derived from the classic waterfall model.

It divides the life cycle into the following phases:



1. Feasibility Study - The main objective of the feasibility study is to determine whether it would be financially and technically feasible to develop the product.


2. Requirements analysis and specification: - The objective of the requirements analysis and specification phase is to understand the exact requirements of the customer and document them accordingly. This phase consists of two distinct activities, namely:


  1. Requirements gathering and analysis
  2. Requirements specification

The purpose of the requirements gathering activity is to collect all relevant information from the customer about the product to be developed. This is done to clearly understand customer requirements so that incompleteness and inconsistencies are removed.


The requirements analysis activity is initiated by collecting all relevant data about the product to be developed from the users of the product and the customer through interviews and discussions.



The Requirements Specification: During this activity, user requirements are organized into a Software Requirements Specification (SRS) document. Customer requirements identified during the requirements gathering and analysis activity are organized into an SRS document. The important components of this document are the functional requirements, non-functional requirements, and implementation objectives.


3. Design: - The purpose of the design phase is to transform the requirements specified in the SRS document into a structure suitable for implementation in some programming language. In technical terms, during the design phase the software architecture is derived from the SRS document. Two distinct approaches are available: the traditional design approach and the object-oriented design approach.


4. Coding and Unit Testing:-The purpose of the coding phase (sometimes called the implementation phase) of software development is to translate the software design into source code. Each project component is implemented as a program module. The final product of this phase is a set of program modules that have been individually tested. During this phase, each module is tested to determine the correct functioning of all individual modules. It involves testing each module in isolation, as this is the most efficient way to debug the errors identified at this stage.


5. System integration and testing: -The integration of different modules is carried out after they have been coded and tested in the unit. During the system integration and testing phase, modules are integrated in a planned way.


6. Maintenance: -Maintaining a typical software product requires much more than the effort required to develop the product itself. Maintenance involves performing one or more of three types of activities:


1 . Correction of errors that were not discovered during the product development phase. This is called corrective maintenance.


2. Improve system implementation, and improve system functionality according to customer requirements. This is called perfective maintenance.

3. Porting the software to work in a new environment. For example, portability may be necessary for software to work on a new computer platform or with a new operating system. This is called adaptive maintenance.


Post a Comment

0Comments

Post a Comment (0)