S Pse Lecture 345
S Pse Lecture 345
Lecture 3,4,5
Review
• Process
• SDLC
• Planning phase
• Analysis Phase
• Design Phase
• Implementation Phase
• Support Phase
• Process Life cycle
• Requirements
• Design
• Code
• Test
• Deploy
What is a Software Process Model?
• Models that prescribe how should development of software progress
• Models that describe how is software developed in actuality
Waterfall Model (Contd.)
Process models
• Waterfall Model
• Advantages and disadvantages of waterfall
• V Model
• Prototyping Model
• Benefits of prototyping
• Throwaway and evolutionary prototypes
Waterfall Model
• One of the first process development models proposed
Uncontrolled Software Development Process
No Iterations in WF
• Works for well understood problems with minimal or no changes in the
requirements
• Simple and easy to explain to customers
• It presents
• a very high-level view of the development process
• sequence of process activities
• Each major phase is marked by milestones and deliverables (artefacts)
Use cases for the Waterfall SDLC model
• This model is used only when the requirements are very well
known, clear and fixed.
• The requirements are precisely documented
• Product definition is stable and well defined
• The technologies stack is predefined which makes it not
dynamic
• No ambiguous requirements
• The project is short
Advantages of Waterfall
• This model is simple and easy to understand and use.
• It is easy to manage due to the rigidity of the model – each
phase has specific deliverables and a review process.
• In this model phases are processed and completed one at a
time. Phases do not overlap.
• Waterfall model works well for smaller projects where
requirements are clearly defined and very well understood.
Disadvantages of Waterfall
• Once an application is in the testing stage, it is very difficult to go back and change
something that was not well-thought out in the concept stage.
• Not a good model for complex projects. Poor model for long and ongoing projects.
• Not suitable for the projects where requirements are at a moderate to high risk of
changing. Provides no guidance how to handle changes to products and activities
during development (assumes requirements can be frozen)
• Views software development as manufacturing process rather than as creative
process
• There is no iterative activities that lead to creating a final product
• Long wait before a final product
• Generates lots of documentation
V Model
Verification and Validation (V&V)
• Verification means Are we building the product right?
• 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.
• Validation means Are we building the right product?
• 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.
Use cases for the V-shaped model
Advantage:
• Testing and Verification take place in the early stages
Prototyping
Model
PROTOTYPING
A limited representation of a design that allows users to interact with it and to
explore its suitability
Allows stakeholders to interact with the envisioned product, gain some
experience of using and explore imagined uses
Production of an intermediary product to be used as a basis
for testing
Aim is to save on time and money
Aim is to have something that can be tested with real users
15
PROTOTYPING
You never get it right first time
If at first you don‟t succeed …
prototype OK?
design evaluate done!
re-design
16
17
WHAT IS A PROTOTYPE
18
Steps
Build a prototype of the basic functionality, especially the interface
11
WHY PROTOTYPE ?
Evaluation and feedback are central to interaction design
Stakeholders can see, hold, interact with a prototype more easily than a document or a drawing
20
BENEFITS OF PROTOTYPING
Can be used to test every detail of the final product before the product is
built
Results in higher user satisfaction
21
Prototyping Model (Contd.)
• Features
• User involvement?
• Smaller projects?
• Types:
• Evolutionary
• Throwaway
THROWAWAY and EVOLUTIONARY Prototypes
Throwaway (or revolutionary) prototypes
are built, tested and thrown away (useful in early stages)
knowledge gained contributes to final system / next prototype
can be expensive
The prototype is used to get the specs right, then discarded!!
Evolutionary prototypes
are not discarded but serve as basis for next iteration of the design
danger of initially bad designs persisting
The prototype eventually becomes the product
31
THROW-AWAY PROTOTYPING
24
EVOLUTIONARY PROTOTYPING
25