If a Software was developed depends on specific
customer requirement then that software was
called as Software project.
If a software was developed by company
depends on overall requirements in the market
called as Software product.
Software Development Life Cycle is a process to
develop a new software.
OLD SDLC Models
1. Waterfall Model
2. Prototype Model
4. Spiral Model
5.RAD(Rapid Application Development) Model
When customer requirements are clear,
organization can fallow waterfall model. This is
also called as Liner sequential model. Because
one step start with after completion previous
Waterfall model is the earliest SDLC approach
that was used for software development.
Waterfall model start with software Bidding
means that a proposal to develop a new
Kick of Meeting
Here software Bidding means that a new proposal to
develop a new software.
In Kick of Meeting CEO can conduct to select
Project/product Manager for current Project/product based
on PM past Experience.
Overall Plan can prepare PM for current Project/product.
Business Analyst can gather requirements and prepare
BRS(Business Requirement Specification) document.
System Analyst can analyze BRS and prepare SRS(Software
requirement Specification) for current project/product.
Technical Architect can prepare HLD(high level design) and
LLD’s(low level designs) from current project/product.
Based on LLD’s developer can write code and same
developer can debug the code called as debugging or
1.Waterfall model is a easy model to Implement
any size of project.
2.Waterfall model is sequential model due to this
reason testing should run on every module.
3. This model causes low business cost because
this model helps to find problems earlier, after
finds problems is fixing complex and costly.
4. In this model documented every stage allowing
people to understand easily.
1. In waterfall model any requirement will change
in the middle of the process this model can not
2. In this model only one stage of testing is there
that to conducted by developers.
3. This model is taking more time because of it is a
sequential model, one step will be staring after
completion previous step, so we want to wait up
to completion of previous step.
When customer requirements are not clear
then many organizations are following this
In prototype model when customer
requirements are not clear that time Business
Analyst(BA) can prepare prototype screens
based on previous projects knowledge and
showing customer site people to get clear
The process flow of Prototype model also same
as Waterfall model but in requirement gathering
stage added one extra step as shown below
Kick of Meeting
To get clear
Prototype model method is employed when very
difficult to get exact requirements from the customer
that time we are using this model.
In the above diagram requirement stage Business
Analyst(BA) can prepare Prototype screens and
showing to customer site people to get clear
1. When prototype is shown to customer, he gets a
proper clarity on requirements and he can suggest the
modifications if needed.
2. Customers usually not good at specifying their
requirements , or can tell not properly what they
expect from software that time this is useful.
1. Prototype model also having one stage of testing and
that to conducted by developers.
2. Too many changes can disturb the software
3. To much investment of client, is not always preferred
by the developer.
In incremental model multiple development stages
takes place here. Cycles are divided into smaller and
more easily managed iterations.
When customer requirements are huge organizations
are follows incremental model to develop a new
Here software development will be done installment
Here huge requirements are dividing into small
requirements and developing the software installment by
When customer having huge requirement and needs
quick delivery that time organizations are using
This model allowing customer to change requirements
and scope modification.
Generating working software quickly.
Easy to manage iterations.
This model was developed by Berry Boehm.
When customer requirements are enhancing regularly
the organizations are following Spiral model.
Here customer requirements changing regularly at the
time development process.
This model is also incremental development process,
here customer given the requirements based on
satisfaction of the previous stage development process.
• Spiral model is a combination of iteration development
model process and linear sequential model.
• In Spiral model the total software is spitted into sprints.
• Spiral model develops the software module by module
or sprint by sprint.
• It is allowing customer to change their requirements at
any stage of development.
• Customer site people with get the software as early as
possible if they need because software will develop
module by module.
It complex to use for small and low risk projects.
Large number of stages will require to complete the
software, documentation will be complex.
When customer requirements are similar to previous or
old projects then organizations are following this RAD
This model needs minimal planning to develop this
type of software's.
To develop new software by coping the code from old
projects or products.
The above 5 SDLC models are having a single stage of
testing and that to conducted by developers. Due to
this reason organizations are going to use Advanced
SDLC models to release a quality software to customer.
This model define mapping in between multiple stages
of development and multiple stages of Testing.
Fish model is using where manufacturing will take
more loss organizations are using Fish model.
Ex: Racket launching.
In Fish model every stage of testing is there.
In fish model Software testing stage will be continued
with respect to software development stage.
Here BRS, SRS, Design documents verification will be
done by authors means that who prepared that
documents that people can responsible to review the
Here Business Analyst can gathering the requirements
and can prepare the BRS.
Here System Analyst can study the BRS and can
prepare the SRS.
Technical Architect can prepare the HLD and LLds
Here developers can write code with respect to LLD’s
and done unit testing and integration testing.
After software coding A separate testing team will test
Customer site people will responsible for acceptance
Fish model is time consuming model and costly model
This model defines mapping in between software
testing stages and software development stages.
V-model stands verification and validation.
Verification will done with respect to customer
requirements and validation will done with respect to
Here coding will done with respect to low level design
and conducting Unit testing.
Integrating the unit tested programs and conducted
integration testing with respect to HLD.
Here software testing will done with respect to SRS
prepared by System Analyst.
Acceptance testing will done with respect to BRS
prepared by Business Analyst.
In acceptance testing customer site people can involve
and give feedback on software with respect to BRS
called as acceptance testing.
The testing activity is perform in the each phase of
Software Testing Life Cycle phase.
V-model shows software development stage in left side
and software testing stage in right side.
From above V-Model separate testing team is available
for software testing stage only, Because software
testing is bottle neck stage of development.
Agile model stands for developers develop the
deliverables and tester can test those deliverables at the
same time stakeholders can accept those deliverables.
In Agile model after accepting the deliverable only
start the next stage of testing.
In Agile model the software is developing module by
module. Means that once completion of one module ,
that module can be delivered to customer for
acceptance, if they accept that then start the next
When customer requirements are not clear,Small
and medium scale organizations are try to follow this
Prototype V-model and large scale companies are
following Prototype-Agile model, this is also called as
Agile Extreme model.
when customer requirements are huge small and
medium scale companies are try to follow Incremental
V-model and large scale companies are following
Incremental- Agile model this is also called as Agile
When customer requirements are Enhancing regularly
small and medium scale companies are following
Spiral-V-model and large scale companies are
following Spiral – Agile model also called as Agile
In Agile scrum model the software is divided into
sprints and developing the software sprint by sprint is
called as Agile Scrum.
Business Analyst can gather the requirements and
can prepare the BRS and same person can review the
BRS(Business Requirement Specification) for
completeness and correctness.
System Analyst can prepare SRS(Software
Requirement Specification) based on BRS and same SA
can review the SRS for completeness and correctness.
Here BRS can says that what type of software to develop
and BRS can says that, that software how to develop.
Of Two numbers
Non Functional Requirements
Easy to use
Speed in processing
Run on Multi environment
Technical Architect(TA) can prepare HLD(high level
design) and LLD’s(low level designs) based on SRS and
the sameTA can review the document for completeness
Low level designing is defining internal architecture of
a individual module. So one software having one LLD
and multiple LLD’s.
Review on BRS, SRS, HLD, LLD’s is called as
documents testing or Documents verification or Static
During documents testing , corresponding people can
use three techniques, such as
3. Peer Review
1.Walkthrough: Walkthrough means that study a
document from first to last.
2.Inspection: Inspection means that searching a
document for specific factor.
3.Peer review: Peer review means that comparison of
two similar documents from first to last.
These three documents testing techniques also called as
Review techniques or Verification techniques or Static
When completion of design documents preparation
based on LLD programmer can start coding to
implement a software is called as unit programming.
While coding programmer can test every unit program
is called as unit testing.
During this unit testing programmer can use white Box
Testing technique. This is also called as Glass box
technique or Open box technique or Clear box
While unit testing programmer can use white box
technique, in this four phases are there.
1. Basic paths coverage: Programmer can use this
technique to conform the program is working or not.
while applying this technique on program,
programmer can follow below approach:
step1: programmer can write a program with respect to
Step2: Draw a flow graph to emulate program logic.
Step3: Find no of paths in a graphs, this is also called as
Step4: Execute a program more than one to cover all
regions of program.
Cyclomatic complexity means no of individual if and
else conditions in a program.
If condition then
if condition then
2. Control Structure coverage: After completion of a
program execution more than one time, corresponding
programmer can use this technique to conform that
program was correctly working or not in terms of
inputs and outputs.
3. Program technique coverage: When program was
correctly working , corresponding developer can
calculate execution speed of a program.
4. Mutation coverage: programmer can use this technique
after completion of previous three techniques to
conform that program was correctly tested or not. In
that perform some modification in program and
retesting the program if retest was failed program was
correctly tested, if resting was passed program was not
Programmer write the code with respect to LLD is
called as unit programming. and test that unit program
and integrate that unit tested programs is called as
After integration programmer can test the integrated
programs is called as integration testing.
Programmer can use 4 techniques to test the integrated
1. Top down approach
2. Bottom up approach
4. System approach
1.Top down approach: In top down approach progra-mmer
can interconnect programs, by connecting main
program with some of sub programs because of
remaining sun programs are in under construction. In
the place of under constructive sub programs,
programmers can use temporary programs called as