Presented by-Praveen Chaurasia
Abhinav Shukla
SDLC
A framework that describes the activity performed at each stage of a software development project.
SDLC PHASES
Requirement Gathering and Analysis
Design
Development
Testing
Implementation
Maintenance
SDLC MODEL
To help understand and implement the SDLC phases various SDLC model have been created by software development expert universities and standard organizations.
REASONS FOR USING SDLC MODEL
Provides basis for project planning ,estimating and scheduling
Provide framework for standard set of terminologies, activity& deliverable
Provide mechanism for project tracking & control
Increase visibility of project progress to all stakeholders
Advantage of choosing An Appropriate SDLC
Increase development speed
Increase product quality
Improve tracking and control
Improve client and relation
Decrease project risk
Decrease project management overhead
COMMON LIFE CYCLE MODELS
Waterfall
Spiral
Agile
WATERFALL MODEL
Oldest and most well known SDLC model
Follow a Sequence step by step process from requirement analysis to maintenance
System that have well-define and understood requirements are good fit for waterfall model
User Requirements
Software Requirements
Architecture Design
Detailed design & Coding
Testing
Delivery
The WaterfallLifecycle Workflow
”Swimmingupstream”
ADVANTAGE OF WATERFALL MODEL
Easy to understand
Provide structure
Set requirement stability
Good for management control
DISADVANTAGE OF WATERFALL MODEL
It does not allow for much reflection or revision.
Estimating time and costs with any degree of accuracy is often extremely difficult.
Designs that look feasible on paper turn out to be expensive or difficult in practice.
SPIRAL MODEL
Process is represented as a spiral rather than as a sequence of activities with backtracking.
Each loop in the spiral represents a phase in the process.
Suitable for large, expensive and complicated projects
SPIRAL MODEL
ADVANTAGE OF SPIRAL MODEL
Risks are explicitly assessed and resolved throughout the process.
Software engineers can start working on the project earlier rather than wading through a lengthy early design process.
DISADVANTAGE OF SPIRAL MODEL
Requires highly skilled people in risk analysis and planning
Requires more time, and is more expensive
Estimates of budget and time are harder to judge at the beginning of the project since the requirements evolve through the process
AGILE(XP) MANIFESTOXP = Extreme Programming emphasizes:
Individuals and interactions
– Over processes and tools
Working software
– Over documentation
Customer collaboration
– Over contract negotiation
Responding to change
– Over following a plan
AGILE PRINCIPLES Continuous delivery of software
Continuous collaboration with customer
Continuous update according to changes
Value participants and their interaction
Simplicity in code
AGILE ADVANTAGE
Lightweight methods suit small-medium size projects
Produces good team cohesion
Emphasises final product
Iterative
Test based approach to requirements and quality assurance
AGILE DISADVANTAGE Difficult to scale up to large projects where
documentation is essential
Needs experience and skill
Programming pairs is costly
Test case construction is a difficult and specialised skill
SOFTWARE TESTING
“Testing is the process of executing a program with the intention of finding errors.”
“Testing can show the presence of bugs but never their absence.”
OBJECTIVE TESTING uncover as many as error(or bug) as possible in a
given produce.
Demonstrate a given software product matching its requirement specification.
Validate the quality of a software testing using the minimum cost and effort.
Generate high quality test case, perform effective test and issue correct and helpful problem report.
TESTING METHOLOGY
BLACK BOX TESTING
WHITE BOX TESTING
BLACK BOX TESTING
No knowledge of internal program design or code required
Testing are based on requirement and functionality
WHITE BOX TESTING
Knowledge of the internal program design and code required.
Test are based on coverage of code statement,branches,path,condition.
LEVEL OF TESTING
Unit testing
Integration testing
System testing
UNIT TESTING
Test each module individually.
Follows a white box testing.
INTEGRATION TESTING Once all modules have been tested, integration testing is
perform.
It is systematic testing
Produce test to identify errors associated with interfacing.
TYPES:- Big bang integration testing
Top down integration testing
Bottom up integration testing
Mixed integration testing
SYSTEM TESTING This system as a whole is tested to uncover requirement
errors.
verifies that all system element work properly and that overall system function and performance has been achieved.
TYPES:- Alfa testing
Beta testing
Acceptance testing
Performance testing