...

DARKSN

Waterfall Development Model

The waterfall development methodology follows a linear workflow, cascading from top to bottom through several stages that focus on distinct goals. Once the development process begins, no alterations or extensions to the project scope are permitted, necessitating comprehensive requirement gathering during the planning stage. Developers must complete each stage before progressing, resulting in the software being implemented as the finished product at the project's conclusion.

Discovery
Design
Coding
Testing
Deployment
Maintenance

Suitable for:

  • Projects with well-defined, unchanging requirements and objectives
  • Projects where timeline and budget control is critical

V-model

The V-model is an extension of the Waterfall methodology that emphasizes testing in parallel with the development process. Each subsequent development phase can only start after testing for the previous stage, thus reducing the probability of defects and errors in the final product and ensuring high software quality. However, the focus on the testing activities can make the development time-consuming and costly.

Suitable for:

  • Projects that can use Waterfall but demand higher levels of quality and reliability
Business req. specification
System req. specification
High level design
Low level design
Coding
Acceptance testing
System integration testing
Component testing
Unit testing
Verification:

Review of the product development process to find whether the requirements are met

Validation:

Confirmation that the software meets customer expectations post-development

Scheme title: Software development life cycle in the V-model

Rapid application development

RAD promotes short development cycles and rapid delivery of functional software. This model focuses on iterative app development, where the project is broken down into smaller modules developed in parallel by different teams. The RAD model implies gathering requirements through focus groups, prototyping and early user testing to get customer feedback and accommodate possible requirement changes before the development starts. It also emphasizes reusing software components across the system, adhering to strict upfront dependencies planning and precise project scheduling and coordinating, extensive requirements elaboration and software design efforts, as well as a team of highly experienced analysts and architects.

Suitable for:

  • Projects where requirements can be identified upfront
  • Systems that can be modularized
Elicit requirements
Modularize requirements
Develop module 1
Develop module 2
Develop module N
Team 1
Team 2
Team N
Integrate all the modules
Test the final product & deliver

Scheme title: Process model for Rapid application development