0% found this document useful (0 votes)
6 views

Lecture-04-SDLC-2

The document discusses the Software Development Life Cycle (SDLC), focusing on Verification and Validation (V&V) processes, and the Prototype Model. Verification ensures the software is built correctly according to requirements, while Validation checks if it meets customer needs. The document also outlines different prototyping methods and their applications in software development.

Uploaded by

uzair durrani
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)
6 views

Lecture-04-SDLC-2

The document discusses the Software Development Life Cycle (SDLC), focusing on Verification and Validation (V&V) processes, and the Prototype Model. Verification ensures the software is built correctly according to requirements, while Validation checks if it meets customer needs. The document also outlines different prototyping methods and their applications in software development.

Uploaded by

uzair durrani
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

Lecture 04

Software Development Life


Cycle-SDLC

Software Engineering
COSC-1104

Ms. Humaira Anwer


Humaira.anwer@kfueit.edu.pk

Lecture 04 Software Development Life Cycle-S 1


DLC
Agenda

• Verification
• Validation
• V & V model
• Prototype Model

Lecture 04 Software Development Life Cycle-SDLC 2


Verification & Validation
• Verification and Validation are
combination of procedures that are used
together in checking if services, products
or invented systems has met the
requirements and specifications that
complies one goals or purposes.

Lecture 04 Software Development Life Cycle-S 3


DLC
Verification
• Answers the question have we built the S/W right?
• Verification in Software Testing is a process of
checking documents, design, code, and program
in order to check if the software has been built
according to the requirements or not.
• The main goal of verification process is to ensure
quality of software application, design,
architecture etc.
• The verification process involves activities like
reviews, walk-throughs and inspection.
Lecture 04 Software Development Life Cycle-S 4
DLC
Validation
• Answers the question have we built the right S/W?
• Validation in Software Engineering is a dynamic
mechanism of testing and validating if the software
product actually meets the exact needs of the
customer or not.
• The process helps to ensure that the software fulfills
the desired use in an appropriate environment.
• The validation process involves activities like unit
testing, integration testing, system testing and user
acceptance testing.

Lecture 04 Software Development Life Cycle-S 5


DLC
Lecture 04 Software Development Life Cycle-S 6
DLC
V&V
Model

Lecture 04 Software Development Life Cycle-SDLC 7


V & V Model

• Extension of the waterfall model


• Sequential execution of processes
• The next phase starts only after completion of the
previous phase.
• Association of a testing phase for each
corresponding development stage.
• Testing is planned in parallel with corresponding
phase of development
• Highly disciplined model
Lecture 04 Software Development Life Cycle-S 8
DLC
Advantages
• Simple and easy to use
• Easy to manage
• Each phase has specific deliverables and a review
process
• Testing activities happen well before coding
• Saves lots of time
• Avoids the downwards flow of defects
• Works well for small projects where requirements
are easily understood

Lecture 04 Software Development Life Cycle-S 9


DLC
Disadvantages
• High risk and uncertainty.
• Not a good model for complex and object-oriented projects.
• Poor model for long and ongoing projects.
• Not suitable for the projects where requirements are at a
moderate to high risk of changing.
• Rigid model
• Once an application is in the testing stage, it is difficult to go
back and change a functionality.
• No working software is produced until late during the life
cycle.
• Very expensive to make the change.

Lecture 04 Software Development Life Cycle-S 10


DLC
• Should be used for:
When to • Small to medium projects
use V & V • Product definition is stable
Model • Projects having clear, defined &
fixed requirements
• Projects requiring Simple
technical expertise
• Projects requiring Simple
technical resources

Lecture 04 Software Development Life Cycle-S 11


DLC
1
2

Prototype
Model
Lecture 04 Software Development Life Cycle-SDLC
Prototype Model

A prototype is a toy implementation of


the system.
• a very crude version of the actual system
• A working model of software with some
limited functionality.
• a prototype of the end product is first
developed, tested and refined as per
customer feedback
An early approximation of a final
system or product

Lecture 04 Software Development Life Cycle-SDLC 13


Prototyp
e Model

Lecture 04 Software Development Life Cycle-SDLC 14


Prototype Development

Lecture 04 Software Development Life Cycle-SDLC 15


Easy to understand, easy to use

Increased user involvement in the product even before its


implementation.
Since a working model of the system is displayed, the users
get a better understanding of the system being developed.
Reduces time and cost as the defects can be detected much
earlier.
Strengt Quicker user feedback is available leading to better solutions.

hs Missing functionality can be identified easily.

Confusing or difficult functions can be identified.

Flexibility in design.

The developed prototype can be reused by the developer for


more complicated projects in the future.

Lecture 04 Software Development Life Cycle-S 16


DLC
Risk of insufficient requirement analysis owing to too much
dependency on the prototype.

Users may get confused in the prototypes and actual


systems.

Practically, this methodology may increase the complexity


of the system as scope of the system may expand beyond
original plans.

Deficienc Developers may try to reuse the existing prototypes to


build the actual system, even when it is not technically
ies feasible.
The effort invested in building prototypes may be too
much if it is not monitored properly.

Costly w.r.t time as well as money.

Poor Documentation due to continuously changing


customer requirements.

Lecture 04 Software Development Life Cycle-S 17


DLC
When to use Prototype Model
Requirements are not very well known

Requirements are changing quickly

Product definition is not stable

In Systems having high level of user interactions.

In game development

Systems having complex interfaces

Lecture 04 Software Development Life Cycle-S 18


DLC
Types of Prototyping
Models
• Rapid Throwaway prototypes
• Evolutionary prototype
• Incremental prototype
• Extreme prototype

Lecture 04 Software Development Life Cycle-S 19


DLC
Rapid Throwaway
Prototype
• Throwaway or rapid prototyping refers to the creation of a
model that will eventually be discarded rather than
becoming part of the final delivered software.
• Rapid throwaway is based on the preliminary requirement.
• It is quickly developed to show how the requirement will
look visually.
• The customer’s feedback helps drives changes to the
requirement, and the prototype is again created until the
requirement is baselined.
• This technique is useful for exploring ideas and getting
instant feedback for customer requirements.

Lecture 04 Software Development Life Cycle-S 20


DLC
Rapid Throwaway
Prototype
• The steps in this approach are:
1.Write preliminary requirements
2.Design the prototype
3.User experiences/uses the prototype, specifies new
requirements
4.Repeat if necessary
5.Write the final requirements

Lecture 04 Software Development Life Cycle-S 21


DLC
Evolutionary Prototyping
• Here, the prototype developed is incrementally refined
based on customer’s feedback until it is finally accepted.
• The system is continually refined and rebuilt.
• It helps you to save time as well as effort.
• That’s because developing a prototype from scratch for every
interaction of the process can sometimes be very frustrating.
• This model is helpful for a project which uses a new
technology that is not well understood.
• It is also used for a complex project where every
functionality must be checked once.
• It is helpful when the requirement is not stable or not
understood clearly at the initial stage.
Lecture 04 Software Development Life Cycle-S 22
DLC
Incremental Prototyping
• In incremental Prototyping, the final product is
decimated into different small prototypes and
developed individually.
• Eventually, the different prototypes are merged
into a single product.
• This method is helpful to reduce the feedback
time between the user and the application
development team.

Lecture 04 Software Development Life Cycle-S 23


DLC
Extreme Prototyping
• Extreme prototyping method is mostly used for
web development. It is consists of three
sequential phases.
• Basic prototype with all the existing page is present in
the HTML format.
• You can simulate data process using a prototype
services layer.
• The services are implemented and integrated into the
final prototype.

Lecture 04 Software Development Life Cycle-S 24


DLC

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy