Chapter 2
Chapter 2
Chapter 2
Software Development
Process Model
Program Development Methods
• Waterfall Model
• Evolutionary Development
• V-shaped Model
• Spiral Model
• Iterative Model
• Big Bang Model
• Agile Model
• RAD Model
• Prototype or Transformation Model
Waterfall Model/Traditional Model
B) Evolutionary Prototyping
C) Incremental Prototyping –
• In this type of incremental Prototyping, the final expected
product is broken into different small pieces of
prototypes and being developed individually.
• In the end, when all individual pieces are properly
developed, then the different prototypes are collectively
merged into a single final product in their predefined
order.
• It’s a very efficient approach which reduces the complexity
of the development process, where the goal is divided into
sub-parts and each sub-part is developed individually.
Prototype or Transformation Model
D) Extreme Prototyping –
This method is mainly used for web development. It is
consists of three sequential independent phases:
• D.1) In this phase a basic prototype with all the existing
static pages are presented in the HTML format.
• D.2) In the 2nd phase, Functional screens are made with
a simulate data process using a prototype services layer.
• D.3) This is the final step where all the services are
implemented and associated with the final prototype.
Advantages –
• The customers get to see the partial product early in the life
cycle, which ensures a greater level of customer satisfaction
and comfort.
• New requirements can be easily accommodated as there is
scope for refinement.
• Missing functionalities can be easily figured out.
• Errors can be detected much earlier thereby saving a lot of
effort and cost, besides enhancing the quality of the software.
• The developed prototype can be reused by the developer for
more complicated projects in the future.
• Flexibility in design.
Disadvantages –
• Costly w.r.t time as well as money.
• There may be too much variation in requirements each time the prototype
is evaluated by the customer.
1. Diagramming Tools:
• It helps in diagrammatic and graphical
representations of the data and system
processes.
• It represents system elements, control flow and
data flow among different software components
and system structure in a pictorial form.
For example, Flow Chart Maker tool for making
state-of-the-art flowcharts.
Types of CASE Tools
4. Central Repository:
It provides the single point of storage for data diagrams, reports
and documents related to project management.
5. Documentation Generators:
It helps in generating user and technical documentation as per
standards. It creates documents for technical users and end
users.
For example, Doxygen, DrExplain, Adobe RoboHelp for
documentation.
6. Code Generators:
It aids in the auto generation of code, including definitions,
with the help of the designs, documents and diagrams.
Advantages of the CASE
• As special emphasis is placed on redesign as well as testing, the
servicing cost of a product over its expected lifetime is considerably
reduced.