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

SDLC - Introduction To Methodologies & Version Control

trew

Uploaded by

rangeeshsr
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
14 views

SDLC - Introduction To Methodologies & Version Control

trew

Uploaded by

rangeeshsr
Copyright
© © All Rights Reserved
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