·
Waterfall
Model
·
Incremental
model
·
Prototype
Model
·
Spiral
Model
·
‘V’
Model
·
Agile
Model
1. WaterFall Model
In a waterfall model, each phase must be completed
in its entirety before the next phase can begin. At the end of each
phase, a review takes place to determine if the project is on the right path
and whether or not to continue or discard the project.
Advantages &
Disadvantages:
Easier
and simple life cycle and useful when client has fixed requirements but for a
client who is not sure of the requirements and for confused customers this
model does not work.
2. Incremental Models
The incremental
model is an intuitive approach to the waterfall model. Multiple
development cycles take place here, making the life cycle a “multi-waterfall”
cycle. Cycles are divided up into smaller, more easily managed
iterations. Each iteration passes through the requirements, design,
implementation and testing phases. A working version of software is produced
during the first iteration, so you have working software early on during the
software life cycle. Subsequent iterations build on the initial software
produced during the first iteration.
Advantages
a) Generates working
software quickly and early during the software life cycle.
b) More flexible –
less costly to change scope and requirements.
c) Easier to test and
debug during a smaller iteration.
d) Easier to manage
risk because risky pieces are identified and handled during its iteration.
e) Each iteration is
an easily managed milestone.
Disadvantages
a) Each phase of
an iteration is rigid and do not overlap with each other.
b) Problems may arise
pertaining to system architecture because not all requirements are gathered up
front for the entire software life cycle.
3. Prototype Model:
For a naïve
client, who has no proper idea of the outcome he wants, the developers
initially design a prototype model and customer is approached for evaluation
and once the client approves the actual development is made.
Advantages
Another advantage of having a prototype modeled software is that the
software is created using lots of user feedbacks. In every prototype created,
users could give their honest opinion about the software. If something is
unfavorable, it can be changed. Slowly the program is created with the customer
in mind.
Disadvantages
There is also a great temptation for most developers to create a
prototype and stick to it even though it has flaws. Since prototypes are not
yet complete software programs, there is always a possibility of a designer
flaw. When flawed software is implemented, it could mean losses of important
resources
4. Spiral Model
The spiral is a
risk-reduction oriented model that breaks a software project up into
mini-projects, each addressing one or more major risks. After major risks have
been addressed, the spiral model terminates as a waterfall model.
Advantages
a.
Dynamic
requirement changes present.
b.
Time taken to
deliver the product is more.
c.
Only intended to
large and complicated project.
Disadvantages
a.
The spiral model
is intended for large, expensive and complicated projects.
b.
Requires
considerable expertise in risk evaluation and reduction.
c.
Complex,
relatively difficult to follow strictly.
5. V Model
V model of software development parallel involves
testing in all the phases. During the initial phase where in requirements are
gathered by the Business Analyst and development team, in V model testers are
also involves and they analyze the requirements and make reviews.
When the development team is involved in design, testers need to write test
cases and prepare RTM (requirements traceability matrix). For high level design
(which consists of overview of the entire process) integration test cases are
written. For a low level design(consists of
detailed description of all modules) unit testing is performed.
While in coding phase, testers need to
execute the test cases.
In test execution
i)
First
unit testing is performed (white box testing). Generally developers perform
unit testing, which needs technical knowledge.
ii)
Then
system testing (Black box testing) is done which includes Field validations,
GUI, UI, Calculation, Database, URL etc.
iii)
Then
integration testing an
iv)
And finally reporting
Advantages
a)
Emphasize
planning for verification validation of the product in early stages of product
development.
b)
Each
deliverable must be deliverable.
c)
Easy
to use, the errors can be corrected in that phase itself.
Disadvantages
a)
Does
not easily handle iterations.
b)
Does
not easily handle dynamic changes in the requirements.
c)
It
needs lots of money and resources.
6. Agile Model
Agile
methodology is more of people oriented. Agile methodology helps us to increase
productivity and reduce risks. There are 2 popular agile methods- Extreme
programming
(XP) and Scrum.
People believe that there is less documentation in Agile.But agile also
includes documentation and it can be used either a small or a large projects.
In agile Development, testing is also integrated throughout the life cycle. But
for the testers, they will not have a good business requirement. So they have
to get the details from the client or through the developer. The testers will
do more of Quality Assurance work than testing.
Agile Methodology-
Characteristics
Ø Frequent Delivery
Ø More Iterations
Ø Test frequently
Ø Less defects
The Requirement functionality may not
be covered in one iteration for releasing the project, but it will be
covered in multiple iterations. This idea is to have a defect free release
available at the end of each iteration.
Advantages
a) The team does not
have to invest time and effort and finally find that by the time they delivered
the product, the requirement of the customer has changed.
b) The documentation
is crisp and to the point to save time.
Disadvantages
c) There is lack of
emphasis on necessary designing and documentation.
d) The project can
easily get taken off track if the customer representative is not clear what
final outcome that they want.
Part time full time jobs available here at http://www.dataentryjobs.us/143316.html
No comments:
Post a Comment