Lecture 2 Module 1
Lecture 2 Module 1
Delivers software in small but usable pieces, each piece builds on pieces
already delivered
The Incremental Model
• Rather than deliver the system as a single delivery, the
development and delivery is broken down into
increments with each increment delivering part of the
required functionality.
• First Increment is often core product
– Includes basic requirement
– Many supplementary features (known & unknown)
remain undelivered
• A plan of next increment is prepared
– Modifications of the first increment
– Additional features of the first increment
Cont…
• It is particularly useful when enough staffing is not
available for the whole project
• Increment can be planned to manage technical risks, and
focus more on delivery of operation product with each
increment.
• User requirements are prioritised and the highest
priority requirements are included in early increments.
• Customer value can be delivered with each increment so
system functionality is available earlier.
• Early increments act as a prototype to help elicit
requirements for later increments.
• Lower risk of overall project failure.
Evolutionary Process Models
• Like all computer systems software also evolve over a period
of time
• Suppose if a set of core product (or) system requirement is
well understood, but the details of product (or) system
extensions have not yet to be defined.
• These case, a software engineer needs a process model that
has been designed to accommodate a product that evolves
over time.
• The evolutionary process models are iterative, it enables to
develop increasingly more complete versions of the software.
• There are two common Evolutionary process models.
Prototyping
Prototyping
• The prototype model may offer the best approach, if
=> Customer defines a set of objectives for software, but does
not identify detailed input, processing (or) output
requirements
=> In other cases, the developer may be unsure of the
efficiency of an algorithm (or) the form that human-machine
interaction should take
Communication:
• The prototype model begins with communication
• The software engineer and customer meet and define the
overall objectives for the software
=> Identify what ever requirements are known
=> Outline areas where further definition is mandatory
cont..
Quick design:
•The quick design focuses on a representation of those aspects
of the software that will be visible to the customer / end user
Example:
•Human interface Layout (or) Output display formats
Construction :
• Ideally the prototype serves as a mechanism for identifying
software requirements
• If the working prototype is built, the developer uses the
existing programs fragments that ensure working programs to
be generated quickly
cont..
Deployment:
• The prototype is deployed and evaluated by the customer
• Feedback is used to refine requirements for the software