Tuesday, 26 July 2011

spiral model



The spiral model

The spiral model, combines the iterative nature of
prototyping with the controlled and systematic aspects of the waterfall model,
therein providing the potential for rapid development of incremental versions of
the software. In this model the software is developed in a series of incremental
releases with the early stages being either paper models or prototypes.
iterations become increasingly more complete versions of the product.
, the model is divided into a number of task regions.
Depending on the model it may have 3-6 task regions (/framework
activities) our case will consider a ‘6-task region’ model.




These regions are:
1. The customer communication task – to establish effective communication
between developer and customer.
2. The planning task – to define resources, time lines and other project
related information..
3. The risk analysis task – to assess both technical and management risks.
4. The engineering task – to build one or more representations of the
application.
5. The construction and release task – to construct, test, install and provide
user support (e.g., documentation and training).
6. The customer evaluation task – to obtain customer feedback based on the
evaluation of the software representation created during the engineering
stage and implemented during the install stage.
The evolutionary process begins at the centre position and moves in a clockwise
direction. Each traversal of the spiral typically results in a deliverable. For
example, the first and second spiral traversals may result in the production of a
product specification and a prototype, respectively. Subsequent traversals may
then produce more sophisticated versions of the software.
An important distinction between the spiral model and other software models is
the explicit consideration of risk. There are no fixed phases such as specification
or design phases in the model and it encompasses other process models. For
example, prototyping may be used in one spiral to resolve requirement
uncertainties and hence reduce risks. This may then be followed by a
conventional waterfall development.
  • Note that each passage through the planning stage results in an adjustment
to the project plan (e.g. cost and schedule are adjusted based on the
feedback from the customer, project manager may adjust the number of
iterations required to complete the software….)
  • Each of the regions is populated by a set of work tasks called a task set that
are adapted to characteristics of the project to be undertaken. For small
projects the number of tasks and their formality is low. Conversely, for large
projects the reverse is true.

Advantages 

• The spiral model is a realistic approach to the development of large-scale
software products because the software evolves as the process progresses.
In addition, the developer and the client better understand and react to risks
at each evolutionary level.
• The model uses prototyping as a risk reduction mechanism and allows for
the development of prototypes at any stage of the evolutionary
development.
• It maintains a systematic stepwise approach, like the classic life cycle
model, but incorporates it into an iterative framework that more reflect the
real world.
• If employed correctly, this model should reduce risks before they become
problematic, as consideration of technical risks are considered at all stages.

Disadvantages:
  • Demands considerable risk-assessment expertise
  • It has not been employed as much proven models (e.g. the WF model) and
hence may prove difficult to ‘sell’ to the client (esp. where a contract is
involved) that this model is controllable and efficient. [More study needs to
be done in this regard

Proto Type and V-Model

Prototype Model:
  •      This is most popular model in IT industry 
  •      This model is suitable when the client is not clear about the requirements
  •       It is defined as rapidly developed model





Advantages:
  • Requirements are defined and extracted from the customer
  • Clients environments are conform
  • Use of winnings the customer
  • To win the customer confidence and to freeze customer requirements


Disadvantages:
  • client may stick to this prototype and limit this functionality to it
  • it was being built on the cost of the company
  • it is not a full model use and throw model
  • v model: v stands for verification and validation
  • this model defines mapping between software development stages and testing  stages this model is derived from fish model   
 The V- Shaped model
  • excellent choice for systems requiring high reliability hospital patient control applications
  • all requirements are known up front
  • when it can be modified to handle changing requirements beyond analysis 
  • solution and technology are known
    v shaped weaknesses
  • does not easily handle concurrent events
  • does not handle iterations or phases
  • does not easily handle dynamic changes in requiments
  • Dos not contain risk anaysis activities        

v - shaped Strengths
  • Emphasize planning for verfication and validation of the product in early stages of product development
  • Each deliverable must be testable
  • Project management can track progress by milestones
  • Easy to use


Refinement From of V-Model
  • V-Model is expensive process for small scale and medium scale organization, Due to this reason, small scale and medium scale Organization are maintaing separate V stands for Verification and Validation,
  • Verification done by the developer and QAE
  • Test Engineer does Validation

Advantages
the outcome is a qualitive output because each and every Phase well Planned reviewed and Evaluated

Disadvantages

It is very costly model 
Lot of time is consumed due to planning























Testing Types

Black-box Testing:   A test technique that focuses on testing the functionality of the program component or application against its sp...