SDLC REVIEWER

SDLC Models Overview

  • There are various Software Development Life Cycle (SDLC) models to guide the software development process.

  • Each model follows a series of steps to ensure a successful outcome.

  • 9 Models of SDLC:

    1. Waterfall Model

    2. V-Model

    3. Iterative Model

    4. Spiral Model

    5. Agile Model

    6. Fish Model

    7. Big-Bang Model

    8. RAD Model (Rapid Application Development)

    9. Prototype Model

1. Waterfall Model

  • All processes of software development divided into various phases:

    • Planning and Requirements

    • Analysis

    • Designing

    • Development/Coding

    • Testing

    • Deployment

    • Maintenance

  • Phases executed sequentially—output of one phase is the input for the next.

  • No ability to go back to previous phases once completed.

Waterfall Model Phases

  • Requirement Analysis

  • System Design

  • Implementation

  • Testing

  • Deployment

  • Maintenance

Advantages and Disadvantages of Waterfall Model

Advantages:

  • Simple and easy to understand.

  • Easy to manage due to its rigid structure.

  • Each phase completed one at a time, ensuring clarity.

  • Well-documented processes and outcomes.

Disadvantages:

  • Changes require restarting the entire process, complicating revisions.

  • Not suitable for large or complex projects.

2. V-Model

  • 'V' stands for Verification and Validation, structure resembles a V shape.

  • Verification on the left side (with phases including Requirement Analysis, System Design, Architecture Design, Module Design) and Validation on the right side (includes Unit Testing, Integration Testing, System Testing, Acceptance Testing).

  • Testing associated with every single phase, done parallelly to ensure quality.

Advantages and Disadvantages of V-Model

Advantages:

  • Simple and easy to understand and implement.

  • Ideal for smaller projects with well-defined requirements.

  • Each component tested alongside development phases, reducing error chances.

Disadvantages:

  • Not suitable for large or complex projects.

  • Difficult to make changes once testing begins, potentially affecting satisfaction.

3. Iterative Model

  • Similar to the Waterfall Model but allows returning to previous phases for revisions.

  • Streamlines time, cost, and effort, providing flexibility when changes are required.

  • Considered an advanced version of the Waterfall Model.

Advantages and Disadvantages of Iterative Model

Advantages:

  • Easy to understand and execute.

  • Early development of working functionality.

  • Less costly to adjust scope or requirements.

  • Easier testing and debugging during smaller iterations.

Disadvantages:

  • Requirement changes can lead to budget overrun.

  • Uncertain project completion dates due to evolving requirements.

4. Spiral Model

  • Divided into four quadrants:

    1. Objective determination and alternative solution identification.

    2. Risk identification and resolution.

    3. Development and verification.

    4. Review and planning for next phase.

  • Each spiral iteration revisits these phases, enhancing risk management and project refinement.

5. Agile Model

  • Agile implies a fast pace, ideal for projects with short deadlines.

  • Tasks divided into smaller iterations for rapid delivery.

  • Customer interaction is key; working software is delivered after each iteration.

Advantages and Disadvantages of Agile Model

Advantages:

  • Minimal resource requirements; quick project delivery.

  • Frequent communication with the client; adaptive methods.

  • Allows changes to be implemented regularly.

Disadvantages:

  • Lack of documentation can lead to confusion.

  • Transfer of knowledge to new team members may be challenging.

  • Heavy dependency on customer clarity.

6. Fish Model

  • Verification and validation are conducted in parallel by different teams across phases.

  • Engages in comprehensive reviews and tests through distinct teams, yielding a fish-like structure diagram.

Advantages and Disadvantages of Fish Model

Advantages:

  • Easy to implement, produces secure and high-quality software.

  • Documentation generated as phases are completed.

Disadvantages:

  • More expensive in terms of cost and time.

  • Not suitable for small projects.

7. Big-Bang Model

  • No specific process, starts with required resources input only.

  • Outputs may or may not meet customer requirements; suitable for small projects or academic work.

Advantages and Disadvantages of Big-Bang Model

Advantages:

  • Simple to understand; little-to-no planning required.

  • Minimal resource requirements.

Disadvantages:

  • High risk and uncertainty; unsuited for large projects.

  • Poor for ongoing projects.

8. Prototype Model

  • Prototypes are limited-functionality software models, providing a framework for user evaluation.

  • Aids in understanding user-specific requirements and serves as a risk reduction tool.

Prototyping Model Phases

  1. Requirements Analysis

  2. Design

  3. Prototyping

  4. Review and Refine

  5. Customer Evaluation

  6. Test and Develop

Advantages and Disadvantages of Prototyping

Advantages:

  • Users shape future development, discovering errors early.

  • Reduced risk of failure; encourages communication among team members.

  • High customer satisfaction from early prototypes.

Disadvantages:

  • Labor-intensive and time-consuming.

  • Risk of excessive change requests; possible poor documentation due to variable needs.

9. RAD Model (Rapid Application Development)

  • Focuses on minimal planning; splits projects into small modules.

  • Modules can be assigned to various teams and then integrated.

  • Designed to expedite the development process using effective tools.

robot