The document discusses the main phases and models of the software development life cycle (SDLC). It describes common SDLC models like waterfall, spiral, and agile. The waterfall model involves sequential phases from requirements to maintenance. The spiral model is iterative with risk assessment. Agile emphasizes iterative development, collaboration, and responding to change. Testing methodologies like black box and white box testing are also summarized along with levels of testing from unit to system.
Introduction by presenters Praveen Chaurasia and Abhinav Shukla.
Defines SDLC as a framework covering all phases of software project development, detailing its importance and purposes.Describes various SDLC models created to aid in project planning, tracking, control, and enhancing stakeholder visibility.
Discusses the advantages of selecting the right SDLC, including improved development speed, product quality, and reduced risks.
Introduces three common SDLC models: Waterfall, Spiral, and Agile.
Describes the Waterfall model's sequential process, suitable for projects with clear, defined requirements.
Highlights the advantages of the Waterfall model: simplicity, structured approach, stability of requirements.
Points out challenges of the Waterfall model, such as inflexibility and difficulties in accurate time/cost estimations.
Describes the Spiral model as a risk-aware process suitable for complex and large-scale projects.
Enumerates benefits of the Spiral model: ongoing risk assessment and early project engagement.
Lists challenges of the Spiral model, including the need for skilled risk analysts and higher cost.
Introduction to Agile principles based on customer collaboration, flexibility, and simplicity in coding.
Discusses the advantages of Agile, focusing on its suitability for small-medium projects and iterative processes.
Addresses drawbacks of Agile, emphasizing challenges in scaling and the need for experienced teams.
Defines software testing and its goal of bug detection, highlighting the inherent limitations of testing.
Outlines key objectives in software testing: error discovery and aligning with requirements.
Introduces two primary testing methodologies: Black Box Testing and White Box Testing.
Explains Black Box Testing, focusing on functionality without knowledge of code or design.
Describes White Box Testing that requires internal design knowledge focusing on code coverage.
Outlines the three primary levels of testing: Unit Testing, Integration Testing, and System Testing.
Defines Unit Testing, which tests individual modules, typically employing White Box Testing methods.
Describes Integration Testing and its systematic approach to testing interactions among modules.
Outlines System Testing which verifies overall functionality and performance, including various testing types.
SDLC MODEL
Tohelp understand and implement the
SDLC phases various SDLC model
have been created by software
development expert universities and
standard organizations.
6.
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
7.
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
WATERFALL MODEL
ļ¼Oldestand 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
10.
User Requirements
SoftwareRequirements
Architecture Design
Detailed design & Coding
Testing
Delivery
āSwimming
upstreamā
The Waterfall
Lifecycle Workflow
11.
ADVANTAGE OF
WATERFALLMODEL
ļ Easy to understand
ļProvide structure
ļSet requirement stability
ļGood for management control
12.
DISADVANTAGE OF
WATERFALLMODEL
ļ¼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.
13.
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
ADVANTAGE OF
SPIRALMODEL
ļ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.
16.
DISADVANTAGE OF
SPIRALMODEL
ļ¼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
17.
AGILE(XP) MANIFESTO
XP= 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
18.
AGILE PRINCIPLES
ļ¼Continuous delivery of software
ļ¼Continuous collaboration with customer
ļ¼Continuous update according to changes
ļ¼Value participants and their interaction
ļ¼Simplicity in code
19.
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
20.
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
21.
SOFTWARE TESTING
ļāTestingis the process of executing a program
with the intention of finding errors.ā
ļāTesting can show the presence of bugs but
never their absence.ā
22.
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.
BLACK BOX TESTING
ļ¼ No knowledge of internal program design or code
required
ļ¼ Testing are based on requirement and functionality
27.
WHITE BOX TESTING
ļ¼ Knowledge of the internal program design and
code required.
ļ¼Test are based on coverage of code
statement,branches,path,condition.
29.
LEVEL OF TESTING
ļ Unit testing
ļ Integration testing
ļ System testing
30.
UNIT TESTING
ļ¼Test each module individually.
ļ¼ Follows a white box testing.
31.
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
32.
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