- 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:
- One iteration
model Or Sequential Model:
- Where all the
stages in SDLC are implemented once.
- Waterfall model
- V-model
- Iterative
models Or Incremental Model :
- In this all the
stages in the SDLC are implemented multiple times in constructing a
software application.
- RAD model
- Prototype model
- Spiral model
- Agile model
- One iteration
model Or Sequential Model:
- 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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- Advantages:
- It is simple
and easy to maintain
- It is less
expensive
- It Works well
if the requirements are static.
- Disadvantages:
- It will not
support large applications and the
dynamic requirements.
- 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
- User
Requirements
- System
Requirements
- HLD
- LLD
- Coding
- Unit Testing
- Integration
Testing
- System Testing
- UAT ( User
Acceptance Testing )
- Note :
- 1)we are
Conducting Static Testing on
- User
Requirements
- System
Requirements
- HLD
- LLD
- 2)we are
Conducting Dynamic Testing on
- Unit Testing
- Integration
Testing
- System Testing
- UAT
- Iterative
models Or Incremental Model:
- These Models
are Recommended Only For Big Projects , Where the Application Development
Will be planned Cycle By Cycle.
- 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:
- It is used in
implementing complex applications in shorter span of time.
- Disadvantages:
- It will not
support dynamic requirements
- It requires
lot of human resources in implementation
- Defects in integration
might take lot of efforts and cost to rectify, as there would be lot of
dependency between the features or modules.
- 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:
- Probability
of high quality software as there would be customer interaction with the
s/w before it is constructed.
- Accepts
dynamic requirements.
- 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:
- Might be
expensive in designing multiple prototypes.
- Time consuming
factor if multiple prototypes have to be designed.
- 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:
- It supports
huge complex and mission Critical projects, in which domain and technical
implementations are very complex
- 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:
- 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.
- 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:
- Very widely used
in products or multiple release applications.
- Probability of
high quality software, due to rigorous testing and effective defect
removal at the initial stages of the implementation.
- Disadvantages:
- It is tidies
job to perform.
- Very strict
deadlines and should be met.
- 3. No chance of
proper documentation, due to strict
targets (dead Lines).
- 4.
No comments:
Post a Comment