0% found this document useful (0 votes)
19 views

SDLC - Introduction To Methodologies & Version Control

trew

Uploaded by

rangeeshsr
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
19 views

SDLC - Introduction To Methodologies & Version Control

trew

Uploaded by

rangeeshsr
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 26

SDLC - Introduction to

methodologies &
Version control
Contents:
What is SDLC?
Types Of SDLC Methods.
What is Agile Methodology?
What is SCRUM Methodology?
Software Development Life
Cycle (SDLC)
- Definition: SDLC is a process used by software development teams to design,
develop, and test high-quality software.
- Importance: Ensures that software meets customer requirements, is delivered
on time, and is within budget.
- Phases of SDLC:
1. Planning: Defining the scope, objectives, and resources for the project.
2. Requirements: Gathering and analyzing requirements from stakeholders.
3. Design: Creating a detailed design plan for the software.
4. Implementation: Developing the actual code based on the design.
5. Testing: Verifying that the software meets the specified requirements.
6. Deployment: Releasing the software to users.
7. Maintenance: Updating and maintaining the software to meet changing
requirements.
Stage-1: Planning and Requirement Analysis
Stage-2: Defining Requirements
Stage-3: Designing Architecture
Stage-4: Developing Product
Stage-5: Product Testing and Integration
Stage-6: Deployment and Maintenance of
Products
Software Development
Life Cycle Models
1. Waterfall Model
2. Agile Model
3. Iterative Model
4. Spiral Model
5. V-Shaped Model
6. Big Bang Model
1. Waterfall Model
• Definition: Sequential design process, where progress is seen as flowing steadily downwards (like
a waterfall) through several phases.
• Phases:
• Requirements Analysis
• System Design
• Implementation
• Testing
• Deployment
• Maintenance
• Advantages:
• Simple and easy to understand
• Well-structured
• Works well for small projects with clear requirements
• Disadvantages:
• Less flexible
• Difficult to go back to previous stages once completed
2. Agile Model
• Definition: Iterative approach to software development, emphasizing
flexibility and customer satisfaction through rapid delivery of working software.
• Key Concepts:
• Iterative and incremental development
• Adaptive planning
• Time-boxed iterations (Sprints)
• Continuous feedback and improvement
• Advantages:
• Emphasizes customer satisfaction
• Flexible to changing requirements
• Rapid delivery of working software
• Disadvantages:
• Requires active customer involvement
• Can be challenging for large projects
3. Iterative Model

• Definition: Development is carried out in multiple cycles


(iterations), with each cycle adding new functionality.
• Key Points:
• Each iteration goes through the phases of requirements, design,
implementation, and testing.
• Iterations are short, typically 2-4 weeks.
• Feedback from each iteration is used to improve the next.
• Advantages:
• Allows for incremental development
• Good for projects with changing requirements
• Disadvantages:
• Requires more management effort to oversee multiple iterations
4. Spiral Model
• Definition: Combines iterative development with elements
of the waterfall model.
• Key Features:
• Focuses on risk analysis and management
• Progresses through four quadrants: Determine objectives, Identify
and resolve risks, Development and test, Planning for next iteration
• Advantages:
• Allows for extensive risk management
• Suitable for large and complex projects
• Disadvantages:
• Can be costly and time-consuming due to risk analysis
5. V-Shaped Model
• Definition: Extension of the waterfall model with an
emphasis on verification and validation.
• Key Points:
• Each phase of development is followed by a phase of testing.
• Testing is planned in parallel with the corresponding phase of
development.
• Advantages:
• Early detection of defects
• Reduces rework
• Disadvantages:
• Can be rigid and less adaptable to change
6. Big Bang Model
• Definition: Minimal planning and documentation, with
development and testing happening simultaneously.
• Key Features:
• Development and testing occur in parallel
• Suitable for small projects with unclear or rapidly changing
requirements
• Advantages:
• Quick development cycle
• Suitable for experimental or research projects
• Disadvantages:
• High risk due to minimal planning
• May lead to chaotic development process
Types of testing:
• Unit Testing:
1. Purpose: To test individual units or components of the software in isolation.
2. Approach: Developers write unit tests for functions, methods, or classes to ensure they
work correctly.
• Integration Testing:
1. Purpose: To test how individual units or components work together.
2. Approach: Test cases are designed to verify interactions between integrated components.
• Functional Testing:
1. Purpose: To ensure that the software functions as expected from the end user's
perspective.
2. Approach: Test cases are based on the software's specifications and requirements.
• Regression Testing:
1. Purpose: To ensure that new code changes do not adversely affect existing functionality.
2. Approach: Re-running previously conducted tests to verify that existing functionalities still
work.
Types of testing:
• System Testing:
• Purpose: To test the entire software system as a whole.
• Approach: Test cases cover the entire system's functionality and behavior.
• Acceptance Testing:
• Purpose: To determine whether the software meets the customer's requirements.
• Approach: Tests are usually conducted by the customer or end user.
• Performance Testing:
1. Purpose: To assess the speed, responsiveness, and stability of the software under
different conditions.
2. Approach: Various tests, such as load testing and stress testing, are performed to
evaluate performance metrics.
• Security Testing:
1. Purpose: To identify vulnerabilities and ensure that the software is secure from potential
threats.
2. Approach: Tests are conducted to identify and address security weaknesses in the
software.
Types of testing:
• Usability Testing:
1.Purpose: To evaluate the software's user interface and user
experience.
2.Approach: Tests involve real users interacting with the
software to provide feedback on its usability.
• Compatibility Testing:
1.Purpose: To ensure that the software works correctly across
different platforms, browsers, and devices.
2.Approach: Tests are conducted on various platforms and
devices to check for compatibility issues.
Agile methodology
1.Scrum
2.Kanban
SCRUM
• Iterations: Work is divided into time-boxed iterations called
sprints, usually 2-4 weeks long.
• Roles: Defines specific roles like Scrum Master, Product Owner,
and Scrum Team.
• Artifacts: Includes artifacts such as Product Backlog, Sprint
Backlog, and Burndown Chart.
• Meetings: Prescribes regular meetings like Daily Standups, Sprint
Planning, Sprint Review, and Sprint Retrospective.
• WIP Limit: While Scrum does not enforce Work In Progress (WIP)
limits, some teams use them to manage their work.
• Adaptability: Allows for changes to be made during the sprint
only if they do not affect the sprint goal.
Kanban
• Iterations: Work is continuous with no predefined iteration length.
• Roles: Typically has no predefined roles, though teams may
choose to have roles like Kanban Lead or Manager.
• Artifacts: Mainly uses a Kanban Board with columns representing
different stages of the workflow.
• Meetings: Does not prescribe specific meetings, but teams may
hold regular standups or other meetings as needed.
• WIP Limit: Central to Kanban, WIP limits are used to manage and
optimize the flow of work.
• Adaptability: Allows for changes at any time, focusing on the flow
of work rather than fixed iterations.

You might also like