You are on page 1of 17

SOFTWARE PROCESS MODEL

LECTURE 4(B)
INSTRUCTOR: ANAM ASHRAF

1
OUTLINE

Prototyping Model
Spiral Model
Win-win Spiral Model
V-Model

2
PROTOTYPING MODEL
 Prototyping Model assists the software engineer and the customer to
better understand what is to be built when requirements are fuzzy.
 Often customer defines a set of general objectives for software, but
does not identify detailed input, processing or output requirements. In
these situations a prototyping paradigm may offer the best approach.

3
WHERE IS PROTOTYPE MODEL USED?

Prototype model should be used when the desired


system needs to have a lot of interaction with the end
users.
 Typically, online systems, web interfaces have a very
high amount of interaction with end users, are best suited
for Prototype model.
4
• Software engineer meet and define the overall objective of the software
Communication • Identify what requirements are known, and outline area where further
definition is mandatory.

Quick Planning • Prototyping iteration is planned quickly.

Modeling And • The quick design focuses on a representation of the customer/user (e.g,
Quick Design input approaches and output formats).

• The prototype is the model of the software


• It could be working model or nonworking model.
Construction Or • The prototype shows the functionality of the software.
Prototyping • The Prototype serve as the “First System”
• Ideally, the prototype serves as a mechanism for identifying software
requirements.

• The prototype is deployed and evaluated by the customer/user.


• Feedback is used to refine requirements for the software to be developed.
Deployment • Prototyping iteration occurs as the prototype is tuned to satisfy the needs of 5
the customer,, while at the same time enabling the developer to better
understand what needs to be done.
• A prototype can be developed when the final properties
are not entirely clear. The direct contact between customer
Advantages and developer reduces misunderstandings. Inconsistent
requirements are discovered earlier, either by the developer
or by the customer who evaluates the prototype.

• There is an inherent risk that side effects are not sufficiently


considered, especially nonfunctional requirements such as
reliability or safety.
Another risk is that the customer (or the developer) considers
the prototype as the first version of the system, and that the
system will be evolved from the prototype, potentially leading
Challenges to poorly documented, badly architected systems.
• The prototyping phase of a project may also induce higher
costs compared to a non prototyped approach.
A prototype is a great way to clarify ambiguous or unknown
requirements; however, don’t ever confuse it with the first
version of the actual system! 6
SPIRAL MODEL
Combines iterative prototyping with systematic aspects of the Waterfall
model.
 The spiral Model, is an evolutionary software process model that
couples the iterative nature of prototyping with the controlled and
systematic aspects of the linear sequential model.
 It provides the potential for rapid development of incremental versions
of the software.
 Using the spiral model, software is developed in a series of
incremental releases.
 During early iterations, the incremental releases might be a paper
model or prototype.
 During later iterations, increasingly more complete versions of the 7

engineered system are produced.


A spiral model is divided into a number of framework activities also called task
Regions.
 •Spiral modeltothat contains
Tasks required • Tasks six tasktoregions.• Tasks required
required • Tasks required to
established effective define resources, to assess both build one or more
communication timelines, and other technical and representations of
between developer project related management the application.
and customer. information.
risks.
Customer
Planning: Risk analysis: Engineering:
communication:

• Tasks required to • Tasks required to obtain customer


construct, test, install, feedback based on evaluation of
and provide user the software representations
support (e.g. created during the engineering
documentation and stager and implemented during the
training). installation stage.

Construction and Customer 8


release: evaluation:
Each of the regions is populated by a set of work tasks, called a
task set, that are adapted to the characteristics of the project to
be undertaken.
For small projects, the number of work tasks and their formality
is low.

For larger, more critical projects, each task region contains more
work tasks that are defined to achieve a higher level of
formality.

9
• Realistic to the development of large-scale
systems
Advantages • Iteratively reduces risk
• Allows repeated use of the prototyping
approach
• Customers may not like it, fearing lack of
control
• Demands risk assessment expertise and
Problems relies on this expertise for success.
• If a major risk is not uncovered and
managed, problems will undoubtedly occur.
• It is very lengthy process.
10
WIN WIN SPIRAL MODEL
 The objective of this model is to elicit project
requirements from the customer.
 The best negotiations strive for a “win-win”
result.
 That is, the customer wins by getting the
system or product that satisfies the majority of
the customer’s needs and the developer wins
by working to realistic and achievable budgets
and deadlines. 11
V MODEL
It means verification and validation .
• Just like WATER FALL model, The life
cycle of the V model is a sequential
path of the execution of the process.
• Each phase must be completed before
the next phase begins.
• The testing of the product is planned
in parallel with corresponding phase of
development.
12
WHEN TO USE V-MODEL?
It should be used for small to medium size projects
where requirements are clearly defined.

It should be chosen when simple technical


resources are available with needed technical
expertise.

13
PHASES OF V-MODEL

Requirements

High-Level
Design (HLD)
Low-Level
Design (LLD)

Implementation

Coding 14
Requirements In this model the requirements are gathered before its development and a system test plan
is created. The plan test focuses on meeting the functionality specified in the requirements
gathering.

High-Level It focuses on system architecture and design. It provide overview of the solution, platform
system, product and services/process. An integrated test plan is created here as well as in
Design order to test the pieces of the software system ability to work together.

Low-Level Here the actual software components of software are design . It defines the actual logic for
each and every component of the system. Component test are created in this phase as well.
Design

Coding It is that phase where all the coding take place. Once coding is complete, the path of
execution up the right side of the V where the test plans developed earlier are now put to
use.

Implementation This is at the bottom of the V-model. Module design is converted into code by developer.

15
• Simple and easy to use.
Testing activities like planning, test design
Advantage happens well before coding.
• This saves a lot of time.
s • Avoids the down word flow of the defects.
• Works well for small projects where
requirements are easily understood.

• Very rigid and cost flexible.


Software is developed during the
Disadvantage implantation phase, so no early
s prototypes of the software are produced.
•If any changes happens, then the test
requirement documents has been
updated.

16
QUESTIONS?
17

You might also like