0% found this document useful (0 votes)
28 views24 pages

S Pse Lecture 345

This document discusses several software development process models: - The Waterfall model is one of the earliest and simplest models. It involves sequential phases from requirements to maintenance with no iteration. It works best for well-defined problems with stable requirements. - The V-model depicts each stage of the software lifecycle and its associated test. It is well-suited for projects requiring rigorous testing like medical software. - Prototyping allows for user involvement and feedback early in the process. There are two types - throwaway prototypes are discarded after testing while evolutionary prototypes evolve into the final product. Prototyping can improve user satisfaction and catch design errors.

Uploaded by

Azaz Ali Shah
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
28 views24 pages

S Pse Lecture 345

This document discusses several software development process models: - The Waterfall model is one of the earliest and simplest models. It involves sequential phases from requirements to maintenance with no iteration. It works best for well-defined problems with stable requirements. - The V-model depicts each stage of the software lifecycle and its associated test. It is well-suited for projects requiring rigorous testing like medical software. - Prototyping allows for user involvement and feedback early in the process. There are two types - throwaway prototypes are discarded after testing while evolutionary prototypes evolve into the final product. Prototyping can improve user satisfaction and catch design errors.

Uploaded by

Azaz Ali Shah
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 24

Software Engineering

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

• This model is used in the medical development field, as it is strictly a disciplined


domain
• For the projects where an accurate product testing is required
• For the small and mid-sized projects, where requirements are strictly predefined
• The engineers of the required qualification, especially testers, are within easy
reach.

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

 In interaction design it can be any of the following (and more):


• A series of screen sketches
• A storyboard, i.e. a cartoon-like series of scenes
• A PowerPoint slide show
• A video simulating the use of a system
• A piece of software with limited functionality written in the target
language or in another language

 18
Steps
 Build a prototype of the basic functionality, especially the interface

 Test the prototype, which will uncover design errors

 Correct the errors

 Repeat until you have a clean design

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

 Team members can communicate effectively

 You can test out ideas for yourself

 It encourages reflection: very important aspect of design

 Prototypes answer questions, and support designers in choosing between alternatives

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

 Users are better at evaluating an existing (vs described) system

 It brings the users into the process early

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

You might also like