0% found this document useful (0 votes)
35 views6 pages

Software Development Life Cycle

The document outlines the Software Development Life Cycle (SDLC) and various models including Waterfall, Iterative, Spiral, Prototype, and Agile. Each model has distinct phases, advantages, and disadvantages, catering to different project needs and complexities. Additionally, it introduces Unified Modeling Language (UML) as a tool for designing and documenting software systems.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
35 views6 pages

Software Development Life Cycle

The document outlines the Software Development Life Cycle (SDLC) and various models including Waterfall, Iterative, Spiral, Prototype, and Agile. Each model has distinct phases, advantages, and disadvantages, catering to different project needs and complexities. Additionally, it introduces Unified Modeling Language (UML) as a tool for designing and documenting software systems.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 6

Software Development Life Cycle (SDLC)

and Various Models


Software Development Life Cycle (SDLC) is a structured approach to
software development that defines different stages of building,
testing, and deploying software. Several models have been
designed to guide development processes, ensuring efficiency,
quality, and timely delivery.

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.

Phases of the Waterfall Model:

1. Requirement Analysis – Gathering and documenting business needs.


2. System Design – Creating architectural blueprints and system
specifications.
3. Implementation (Coding) – Developers write the actual code based on
the design.
4. Testing – The software undergoes rigorous testing to identify defects.
5. Deployment – The final product is deployed in a real-world environment.
6. Maintenance – Fixing issues, making updates, and improving the system.

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:

1. Initial Requirements – Basic requirements are gathered.


2. Design & Development – A basic version of the system is built.
3. Testing & Evaluation – The software is tested and reviewed.
4. Refinement – New features and improvements are added in subsequent
iterations.
5. Final Deployment – Once all iterations meet the desired outcome, the
product is finalized.

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.

Phases of the Spiral Model:

1. Planning – Identifying objectives, constraints, and alternatives.


2. Risk Analysis – Identifying and mitigating potential risks.
3. Engineering (Development & Testing) – Creating prototypes, coding,
and testing.
4. Evaluation & Refinement – Feedback is gathered, and refinements are
made in each spiral cycle.
Advantages:
 Effective risk management.
 Suitable for complex and high-risk projects.
 Frequent feedback improves the end product.

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:

1. Requirement Gathering – Initial requirements are collected.


2. Quick Design – A simple prototype is created.
3. Prototype Development – A functional model is built.
4. User Feedback & Refinement – Users evaluate the prototype, and
improvements are made.
5. Final Development – After multiple iterations, the final system is
developed.

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.

Popular Agile Frameworks:


 Scrum – Uses short sprints, daily standups, and defined roles (Scrum
Master, Product Owner).
 Kanban – Focuses on visual workflows and limiting work-in-progress tasks.
 Extreme Programming (XP) – Emphasizes code quality, continuous
testing, and rapid feedback.

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.

6. Software Development Life Cycle


(SDLC)
SDLC is a systematic process that defines steps to design,
develop, test, and deploy software.

Phases of SDLC:

1. Planning – Defining project scope, budget, and schedule.


2. Requirement Analysis – Gathering functional and non-functional
requirements.
3. System Design – Architectural and technical blueprint creation.
4. Implementation (Coding) – Developers write the source code.
5. Testing – Quality assurance and bug fixing.
6. Deployment – Releasing the software to users.
7. Maintenance – Updates, bug fixes, and enhancements.

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.

7. Unified Modeling Language (UML)


UML (Unified Modeling Language) is a visual modeling
language used in software engineering for designing and
documenting software systems.

Types of UML Diagrams:

1.

Structural Diagrams:

2.

o Class Diagram – Represents system classes and their


relationships.
o Object Diagram – Shows instances of objects in a system.
o Component Diagram – Represents system components and
dependencies.
o Deployment Diagram – Illustrates hardware and software
deployment.

3.

Behavioral Diagrams:

4.

o Use Case Diagram – Represents user interactions with the


system.
o Sequence Diagram – Shows the sequence of messages between
objects.
o Activity Diagram – Represents workflows and business processes.
o State Diagram – Displays the states of an object.

5.

Interaction Diagrams:

6.

o Communication Diagram – Shows object interactions.


o Timing Diagram – Represents object behavior over time.

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.

You might also like