You are on page 1of 5

UNIT 3 CHAPTER I

ITERATIVE DEVELOPMENT:
Iterative development is a way of breaking down the software development of a large
application into smaller chunks. In iterative development,  feature code is designed,
developed and tested in repeated cycles. With each iteration, additional features can be
designed, developed and tested until there is a fully functional software application ready to
be deployed to customers.
Typically iterative development is used in conjunction with incremental development in
which a longer software development cycle is split into smaller segments that build upon
each other.
Iterative Model
The Iterative Model allows the accessing earlier phases, in which the variations made
respectively. The final output of the project renewed at the end of the Software Development
Life Cycle (SDLC) process.

The various phases of Iterative model are as follows:


1. Requirement gathering & analysis: In this phase, requirements are gathered from
customers and check by an analyst whether requirements will fulfil or not. Analyst checks
that need will achieve within budget or not. After all of this, the software team skips to the
next phase.
2. Design: In the design phase, team design the software by the different diagrams like Data
Flow diagram, activity diagram, class diagram, state transition diagram, etc.
3. Implementation: In the implementation, requirements are written in the coding language
and transformed into computer programmes which are called Software.
4. Testing: After completing the coding phase, software testing starts using different test
methods. There are many test methods, but the most common are white box, black box, and
grey box test methods.
5. Deployment: After completing all the phases, software is deployed to its work
environment.
6. Review: In this phase, after the product deployment, review phase is performed to check
the behaviour and validity of the developed product. And if there are any error found then the
process starts again from the requirement gathering.
7. Maintenance: In the maintenance phase, after deployment of the software in the working
environment there may be some bugs, some errors or new updates are required. Maintenance
involves debugging and new addition options.
When to use the Iterative Model?
 When requirements are defined clearly and easy to understand.
 When the software application is large.
 When there is a requirement of changes in future.
Advantage(Pros) of Iterative Model:
 Testing and debugging during smaller iteration is easy.
 A Parallel development can plan.
 It is easily acceptable to ever-changing needs of the project.
 Risks are identified and resolved during iteration.
 Limited time spent on documentation and extra time on designing.
Disadvantage(Cons) of Iterative Model:
 It is not suitable for smaller projects.
 More Resources may be required.
 Design can be changed again and again because of imperfect requirements.
 Requirement changes can cause over budget.
 Project completion date not confirmed because of changing requirements.

SOFTWARE REUSE:

What is software reuse?

Software reuse is a term used for developing the software by using the existing software
components. Some of the components that can be reuse are as follows;

 Source code
 Design and interfaces
 User manuals
 Software Documentation
 Software requirement specifications and many more.

What are the advantages of software reuse?

 Less effort: Software reuse requires less effort because many components use in the
system are ready made components.
 Time-saving: Re-using the ready made components is time saving for the software
team.
 Reduce cost: Less effort, and time saving leads to the overall cost reduction.
 Increase software productivity: when you are provided with ready made
components, then you can focus on the new components that are not available just
like ready made components.
 Utilize fewer resources: Software reuse save many sources just like effort, time,
money etc.
 Leads to a better quality software: Software reuse save our time and we can
consume our more time on maintaining software quality and assurance.

VERIFICATION AND VALIDATION:

Verification and Validation is the process of investigating that a software system satisfies
specifications and standards and it fulfills the required purpose. Barry Boehm described
verification and validation as the following:

Verification:
Verification is the process of checking that a software achieves its goal without any bugs. It is
the process to ensure whether the product that is developed is right or not. It verifies whether
the developed product fulfills the requirements that we have.
Verification is Static Testing.

Activities involved in verification:

1. Inspections
2. Reviews
3. Walkthroughs
4. Desk-checking

Validation:
Validation is the process of checking whether the software product is up to the mark or in
other words product has high level requirements. It is the process of checking the validation
of product i.e. it checks what we are developing is the right product. it is validation of actual
and expected product.
Validation is the Dynamic Testing.

Activities involved in validation:

1. Black box testing


2. White box testing
3. Unit testing
4. Integration testing

DIFFERENCE BETWEEN VERIFICATION AND VALIDATION

Verification Validation

It includes checking documents, It includes testing and validating the


design, codes and programs. actual product.

Verification is the static testing. Validation is the dynamic testing.

It does not include the execution of


the code. It includes the execution of the code.

Methods used in verification are Methods used in validation are Black


reviews, walkthroughs, inspections Box Testing, White Box Testing and
and desk-checking. non-functional testing.

It checks whether the software meets


It checks whether the software the requirements and expectations of
conforms to specifications or not. a customer or not.

It can only find the bugs that could


It can find the bugs in the early stage not be found by the verification
of the development. process.

The goal of verification is application


and software architecture and The goal of validation is an actual
specification. product.

Quality assurance team does Validation is executed on software


verification. code with the help of testing team.

It comes before validation. It comes after verification.

It consists of checking of
documents/files and is performed by It consists of execution of program
human. and is performed by computer

You might also like