Software Development Life Cycle
Software Development Life Cycle
MID-
SYLLABUS
1. Waterfall Model
The Waterfall Model is one of the earliest and most traditional
SDLC models. It follows a linear and sequential approach, where
each phase must be completed before moving to the next. There is
no overlap between phases.
Advantages:
Simple and easy to understand.
Well-structured documentation.
Works well for projects with well-defined requirements.
Disadvantages:
No flexibility to accommodate changes.
Late-stage testing increases risk and cost.
Not suitable for complex or evolving projects.
2. Iterative Model
The Iterative Model is a development approach where the
software is built and improved in repeated cycles (iterations).
Each iteration involves planning, design, coding, testing, and
evaluation.
Process Flow:
Advantages:
Allows flexibility and accommodates changes.
Early risk detection and issue resolution.
Continuous feedback improves quality.
Disadvantages:
Requires significant user involvement.
Might be costly due to frequent changes.
Can lead to scope creep if not well managed.
3. Spiral Model
The Spiral Model is a risk-driven model that combines elements of
both Waterfall and Iterative models. It focuses on risk
assessment and continuous refinement.
Disadvantages:
Expensive and time-consuming.
Requires skilled expertise.
Difficult to estimate time and cost.
4. Prototype Model
The Prototype Model is an approach where a working prototype
is built before developing the actual software. This helps in refining
requirements and getting user feedback early.
Process Flow:
Advantages:
Reduces misunderstandings about requirements.
Increases user involvement and satisfaction.
Detects and fixes issues early.
Disadvantages:
Can lead to excessive changes and rework.
Increases cost and complexity.
Final product development may be delayed.
5. Agile Model
The Agile Model is a flexible and adaptive approach that
promotes incremental development with continuous
collaboration between developers and stakeholders.
Key Features of Agile:
Iterative and Incremental Development – Small releases with frequent
updates.
Customer Collaboration – Continuous feedback from users.
Adaptive Planning – Changes are quickly incorporated.
Cross-Functional Teams – Developers, testers, and business
stakeholders work together.
Advantages:
Fast delivery and continuous improvement.
High adaptability to changing requirements.
Strong collaboration between teams and stakeholders.
Disadvantages:
Requires active user involvement.
Can be challenging to manage without experience.
Less focus on documentation.
Phases of SDLC:
SDLC Models:
Waterfall Model
Iterative Model
Spiral Model
Agile Model
Prototype Model
V-Model (Verification and Validation Model)
Advantages of SDLC:
Structured and organized approach.
Reduces project risks and failures.
Ensures high-quality software.
Disadvantages of SDLC:
Can be time-consuming.
Requires detailed planning and documentation.
May not fit highly dynamic projects.
1.
Structural Diagrams:
2.
3.
Behavioral Diagrams:
4.
5.
Interaction Diagrams:
6.
Advantages of UML:
Standardized and widely used.
Helps in system visualization and documentation.
Improves communication among development teams.
Disadvantages of UML:
Can be complex for small projects.
Requires training to understand effectively.