Development life cycle models or
process models:
Based on the customer and the requirements,
there can be different approaches in implementing a
software application, the
approach is know as a model. There are several models proposed, and they
can be
categorized into two Types:
A) One iteration model Or
Sequential Model:
Where all the stages in SDLC are implemented
once.
I) Waterfall model
II) V-model
B) Iterative models Or
Incremental Model :
In this all the stages in the SDLC are
implemented multiple times in constructing a software application.
I) RAD model
II) Prototype model
III) Spiral model
IV) Agile model
I) One iteration model Or
Sequential Model:
1) Waterfall model:
It is Also called as linear sequential
model, which was proposed by "royce" in 1970s'
All the stages in waterfall model are
independent, every stage will commence only after it's previous
stage is
completed and there is no overlapping between the stages.
Testing starts only after coding is
completed.
Phases
|
Who Involved
|
Requirements Gathering And Analysis
(BRS , SRS , FRS )
|
Business Analyst
|
Planning
(Project Planning & Test Planning )
|
PM / PL
TM / TL
|
Design
( HLD & LLD )
|
System Analyst
|
Coding
( SW-Application )
|
Developer
|
Testing
( Bug Tracking & Reporting )
|
Test Engineer
|
Delivery & Maintenance
|
Production Support Team
|
Advantages:
1. It is simple and easy to maintain
2. It is less expensive
3. It Works well if the requirements are
static.
Disadvantages:
It will not support large applications and
the dynamic requirements.
2) V-Model
In This Model Also All Implementation
Activities Will be Carried out one after Another For the Whole
Application
.This is suitable for small Projects where the requirements are not clear .As
the requirements
are not clear both static testing and Dynamic Testing are
applicable for these model Projects.
As
the Flow of Activities Look like a V Shape it is Titled as “V-Model”.
V
stands For Verification & Validation
Phases
1)
User
Requirements
2)
System
Requirements
3)
HLD
4)
LLD
5)
Coding
6)
Unit
Testing
7)
Integration
Testing
8)
System
Testing
9)
UAT
( User Acceptance Testing )
Note :
1)we are Conducting Static Testing on
User Requirements
SAQ32` ystem
Requirements
HLD
LLD
2)we are Conducting Dynamic Testing on
Unit Testing
Integration Testing
System Testing
UAT
II) Iterative models Or
Incremental Model:
These Models are Recommended Only For Big
Projects , Where the Application Development Will be
planned Cycle By Cycle.
1) RAD ( Rapid Application Development
) model:
It is also an iterative model, but there
would be only one release for all the iterations performed.
This is preferred for large or complex
applications which has to be developed in shorter span of time.
The application will be split into modules
and all the individual modules will be constructed and tested
independently for
their stability and then grouped(integrated) to form a system.
Advantages:
1. It is used in implementing complex
applications in shorter span of time.
Disadvantages:
1. It will not support dynamic requirements
2. It requires lot of human resources in implementation
3. Defects in integration might take lot of efforts
and cost to rectify, as there would be lot of
dependency between the features
or modules.
2) Prototype model:
Prototype:
It is structure or the static images or
screens which are developed with one or tow features
implemented.
This is also an iterative model
The prototypes developed by the vendor's
team.
After the feasibility and requirement collection,
there would be a prototype developed and it should
be evaluated by the
customer, if customer approves the prototype, then actual software will be
implemented, tested and released to the customer, else the prototype should be
redesigned and it
should be evaluated by the customer again ,
This is a continuous process.
Advantages:
1. Probability of high quality software as
there would be customer interaction with the s/w before it is
constructed.
2. Accepts dynamic requirements.
3. Supports both projects and products.
Project:
If You Develop an S/W Application
According to a Client Requirements That Application is
Called Project .
Product :
If You Develop a S/W Application
According to Market Requirements That Application is
Called Product.
Disadvantages:
1. Might be expensive in designing multiple
prototypes.
2. Time consuming factor if multiple
prototypes have to be designed.
3) Spiral model:
It is an iterative model, which consists of
"risk analysis" phase where a detailed study would be
conducted by
the "domain" and "technology" experts, in analyzing the
risk in implementing the
software.
Risk analysis can be done only after the
complete requirements are collected and documented.
Risk analysis phase will decide whether to
continue with further implementations or not.
Advantages:
1. It supports huge complex and mission Critical
projects, in which domain and technical
implementations are very complex
2. It supports dynamic requirements.
Disadvantages:
1. It is a very huge time consuming and expensive process.
2. The success rate of the project is completely dependent on the risk analysis phase.
4)Agile Model or Extreme
programming:
In This Model Requirements Will be Given to
the Tester First and Later to the Developer. Tester
Prepare test Prefer ability
Automation Test , Soon After a Requirement is Developed. Then test it
with the
help of already Prepared Test Cases immediately . Based on tester feedback
Developer
Modify the Requirements if Needed. Then it will be given to the
Customer For User Acceptance Testing.
Rules framed for agile process:
A) there should be a build deployed for
testing from 1 day to max of 4 weeks.
B) Every single feature implemented should
be tested, if approved only the new implementation
should be carried out.
C) team size should be often between 2 to 6
D) the development and test teams should
be closely associated and should be
effective
communication between the
teams.
Advantages:
1. Very widely used in products or multiple release
applications.
2. Probability of high quality software, due
to rigorous testing and effective defect removal at the
initial stages of the implementation.
Disadvantages:
1. It is tidies job to perform.
2. Very strict deadlines and should be met.
3. No chance of proper documentation, due
to strict targets (dead Lines).
4.
I am really very happy to visit your blog. Directly I am found which I truly need. please visit our website for more information
ReplyDeleteQuality Engineering Services in USA