Lecture 6

Download as pdf or txt
Download as pdf or txt
You are on page 1of 15

Process Models:

Perspective Process Models


(Continue)
Lecture # 6

Lecture by Engr. Sidra


Incremental Model
 The incremental model combines the elements of waterfall model and they
are applied in an iterative fashion.
 In incremental model the whole requirement is divided into various builds.
Multiple development cycles take place here, making the life cycle
a “multi-waterfall” cycle. Cycles are divided up into smaller, more easily
managed modules.
 The first increment in this model is generally a core product.
 Each increment builds the product and submits it to the customer for any
suggested modifications.
 The next increment implements on the customer's suggestions and add
additional requirements in the previous increment.
 This process is repeated until the product is finished.
For example, the word-processing software is developed using the
incremental model.

Lecture by Engr. Sidra


Incremental Model
 In the diagram when we
work incrementally we are adding piece
by piece but expect that each piece is
fully finished.
 Thus keep on adding the pieces until it’s
complete.
 This means that the customer can
evaluate the system at early stage in the
development to see if it delivers what’s
required. If not, then only the current
increment has to be changed and,
possibly, new functionality defined for
later increments.
 By developing the software incrementally,
it is cheaper and easier to make changes
in the software as it is being developed.

Lecture by Engr. Sidra


Incremental Model - Example
 As in the image below a person has thought of the application. Then he started
building it and in the first iteration the first module of the application or product is
totally ready and can be demoed to the customers.
 Likewise in the second iteration the other module is ready and integrated with
the first module. Similarly, in the third iteration the whole product is ready and
integrated. Hence, the product got ready step by step.

Lecture by Engr. Sidra


Incremental V/S Waterfall Model

Compared to the waterfall model,


incremental development has three
important benefits:
The cost of accommodating changing customer
requirements is reduced.
It’s easier to get customer feedback on the work
done during development
More rapid delivery of useful software is possible
even if all the functionality hasn’t been included.

Lecture by Engr. Sidra


Incremental Model - Applications

 This model can be used when the requirements of the complete


system are clearly defined and understood.
 Major requirements must be defined; however, some details can
evolve with time.
 There is a need to get a product to the market early.
 A new technology is being used
 Resources with needed skill set are not available
 There are some high risk features and goals.

Lecture by Engr. Sidra


Advantages of Incremental model
 It is easier to test and debug during the smaller iteration.
 The customers can respond to its functionalities after every
increment.
 Generates working software quickly and early during the software
life cycle.
 This model is more flexible – less costly to change scope and
requirements.
 Lowers initial delivery cost.
 Easier to manage risk because risky pieces are identified and
handled during iteration.

Lecture by Engr. Sidra


Disadvantages of Incremental model
 Needs good planning and design.
 Needs a clear and complete definition of the whole
system before it can be broken down and built
incrementally.
 The cost of the final product may cross the cost
estimated initially.
 The demands of customer for the additional
functionalities after every increment causes problem
during the system architecture.

Lecture by Engr. Sidra


RAD ( Rapid Application
Development)
 Rapid application development is a software development
methodology that uses minimal planning in favour of rapid
prototyping.
 The functional modules are developed in parallel as prototypes and
are integrated to make the complete product for faster product
delivery.
 Since there is no detailed preplanning, it makes it easier to
incorporate the changes within the development process.
 RAD projects follow iterative and incremental model and have
small teams comprising of developers, domain experts, customer
representatives and other IT resources working progressively on their
component or prototype.
Lecture by Engr. Sidra
RAD ( Rapid Application
Development)
 The most important aspect for this model to be successful is to make
sure that the prototypes developed are reusable.
 Rapid Application Development focuses on
 gathering customer requirements through workshops or focus groups,
 early testing of the prototypes by the customer using iterative concept,
 reuse of the existing prototypes (components),
 continuous integration and rapid delivery.

Lecture by Engr. Sidra


RAD Model

Business modeling:
 The information flow is
identified between various
business functions.

Data modeling:
 Information gathered from
business modeling is used to
define data objects that are
needed for the business.

Lecture by Engr. Sidra


RAD Model
 Process modeling:
 Data objects defined in data
modeling are converted to achieve
the business information flow to
achieve some specific business
objective.
 Application generation:
 Automated tools are used to convert
process models into code and the
actual system.
 Testing and turnover:
 Test new components and all the
interfaces

Lecture by Engr. Sidra


RAD Model - Application
 RAD model can be applied successfully to the projects in which clear
modularization is possible. If the project cannot be broken into modules, RAD may
fail.
 RAD should be used only when a system can be modularized to be delivered in an
incremental manner.
 It should be used if there is a high availability of designers for modelling.
 It should be used only if the budget permits use of automated code generating
tools.
 RAD SDLC model should be chosen only if domain experts are available with
relevant business knowledge.
 When a system needs to be produced in a short span of time (2-3 months)
 When the requirements are known
 When the user will be involved all through the life cycle
 When technical risk is less
Lecture by Engr. Sidra
Advantages of RAD Model
 Changing requirements can be accommodated.
 Progress can be measured.
 Iteration time can be short with use of powerful RAD tools.
 Productivity with fewer people in a short time.
 Reduced development time.
 Increases reusability of components.
 Quick initial reviews occur.
 Encourages customer feedback.
 Integration from very beginning solves a lot of integration issues.

Lecture by Engr. Sidra


Disadvantages of RAD Model
 Dependency on technically strong team members for identifying
business requirements.
 Only system that can be modularized can be built using RAD.
 Requires highly skilled developers/designers.
 High dependency on modelling skills.
 Inapplicable to cheaper projects as cost of modelling and
automated code generation is very high.
 Management complexity is more.
 Requires user involvement throughout the life cycle.
 Suitable for project requiring shorter development times.

Lecture by Engr. Sidra

You might also like