Iterative Spiral Model & Prototyping: Approach for Large & Complex Software Projects, Study notes of Information Systems

The spiral model is an iterative approach to software development that combines elements of the classic waterfall model with risk analysis. This model is suitable for large and complex information systems, emphasizing the need to revisit earlier steps as the project progresses. The four distinct phases of the spiral model: determining objectives, alternatives, and constraints; evaluating alternatives and identifying risks; developing and verifying the next-level product; and planning the next phase. Prototyping is a crucial part of this process, allowing for early user feedback and reducing project risk and cost.

Typology: Study notes

2011/2012

Uploaded on 08/04/2012

shalabh_li43y
shalabh_li43y 🇮🇳

4.5

(18)

88 documents

1 / 4

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
LESSON 21
Spiral Model
SPIRAL is an iterative approach to system development. The spiral lifecycle model is a combination of the
classic waterfall model and aspects of risk analysis. This model is very appropriate for large and complex
Information Systems. The spiral model emphasizes the need to go back and reiterate earlier steps a number
of times as the project progresses. It's actually a series of short waterfall cycles, each producing an early
prototype representing a part of the entire project. It is a circular view of the software lifecycle as opposed
to the linear view of the waterfall approach. It can incorporate other models in its various developmental
phases.
There are usually four distinct phases of the spiral model software development approach.
21.1 Determine objectives, alternatives, constraints.
The new system requirements are defined, after a comprehensive system study of the various
business processes, in as much detail as possible. This may and usually does involve interviewing
internal and external users, preparation of detailed flow diagrams showing the process or processes
for which the IS is to be developed, the inputs and outputs in terms of how the data is to be
recorded/ entered and the form in which the results are to be presented. Controls and checks
desired to be implemented in the transactional processing procedures are also examined as they are
to become an integral part of the development. Alternative strategies, in terms of IS development
issues, to meet the determined need requirements are examined as well as constraints observed
when defining the system and need requirements are also reviewed and appropriately addressed.
Evaluate alternatives, identify and resolve risks – This involves.
1. Risk analysis – it includes addressing any factors which may risk the successful completion of
the entire project of IS development including alternative strategies and constraints. Issues
pertaining to the possibility of the IS development not meeting, for example, user
requirements, reporting requirements or the capability of the IS development team or the
compatibility and functionality of the hardware with software. The Risk analysis and suggested
solutions to mitigate and eliminate the Risks would thus become a part of the finalized strategy
to undertake IS development.
2. Prototyping – Based upon the finalized strategy and the preliminary design, the first prototype
of the new system is then developed. This is usually a scaled-down version of the system, and
represents an approximation of the characteristics of the final product.
Develop, verify next-level product
The prototype prepared is tested against benchmarks based on customer expectations and evaluated
risks to verify the various aspects of the development. Refinements and rectifications of the
prototype are undertaken until customer satisfaction is achieved before development of the next-
level of the product.
Plan next phase
The preceding steps are iterated until the customer is satisfied that the refined prototype represents
the final product desired. The final system is constructed based on the refined prototype. The final
system is thoroughly evaluated and tested. Routine maintenance is carried out on a continuing basis
to prevent large-scale failures and to minimize downtime.
The various stages discussed above are shown pictorially below:
docsity.com
pf3
pf4

Partial preview of the text

Download Iterative Spiral Model & Prototyping: Approach for Large & Complex Software Projects and more Study notes Information Systems in PDF only on Docsity!

LESSON 21

Spiral Model

SPIRAL is an iterative approach to system development. The spiral lifecycle model is a combination of the classic waterfall model and aspects of risk analysis. This model is very appropriate for large and complex Information Systems. The spiral model emphasizes the need to go back and reiterate earlier steps a number of times as the project progresses. It's actually a series of short waterfall cycles, each producing an early prototype representing a part of the entire project. It is a circular view of the software lifecycle as opposed to the linear view of the waterfall approach. It can incorporate other models in its various developmental phases.

There are usually four distinct phases of the spiral model software development approach.

21.1 Determine objectives, alternatives, constraints.

• The new system requirements are defined, after a comprehensive system study of the various

business processes, in as much detail as possible. This may and usually does involve interviewing internal and external users, preparation of detailed flow diagrams showing the process or processes for which the IS is to be developed, the inputs and outputs in terms of how the data is to be recorded/ entered and the form in which the results are to be presented. Controls and checks desired to be implemented in the transactional processing procedures are also examined as they are to become an integral part of the development. Alternative strategies, in terms of IS development issues, to meet the determined need requirements are examined as well as constraints observed when defining the system and need requirements are also reviewed and appropriately addressed.

• Evaluate alternatives, identify and resolve risks – This involves.

  1. Risk analysis – it includes addressing any factors which may risk the successful completion of the entire project of IS development including alternative strategies and constraints. Issues pertaining to the possibility of the IS development not meeting, for example, user requirements, reporting requirements or the capability of the IS development team or the compatibility and functionality of the hardware with software. The Risk analysis and suggested solutions to mitigate and eliminate the Risks would thus become a part of the finalized strategy to undertake IS development.
  2. Prototyping – Based upon the finalized strategy and the preliminary design, the first prototype of the new system is then developed. This is usually a scaled-down version of the system, and represents an approximation of the characteristics of the final product.

• Develop, verify next-level product

The prototype prepared is tested against benchmarks based on customer expectations and evaluated risks to verify the various aspects of the development. Refinements and rectifications of the prototype are undertaken until customer satisfaction is achieved before development of the next- level of the product.

• Plan next phase

The preceding steps are iterated until the customer is satisfied that the refined prototype represents the final product desired. The final system is constructed based on the refined prototype. The final system is thoroughly evaluated and tested. Routine maintenance is carried out on a continuing basis to prevent large-scale failures and to minimize downtime.

The various stages discussed above are shown pictorially below:

docsity.com

• Strengths:

• Good for large and complex projects

• Customer Evaluation allows for any changes deemed necessary, or would allow for new

technological advances to be used

• Allows customer and developer to determine and to react to risks at each evolutionary level

• Direct consideration of risks at all levels greatly reduces problems

• Weaknesses:

• Difficult to convince some customers that the evolutionary approach is controllable

• Needs considerable risk assessment

• If a risk is not discovered, problems will surely occur

21.2 Prototyping

“Prototyping is the process of quickly putting together a working model in order to test various aspects of the design to gather early user feedback.”

The working model made during this process is called “Prototype”. Prototyping is often treated as an integral part of the development process where it is believed to reduce project risk and cost.

The various steps form a logical flow as depicted below:

docsity.com

  • Prototypes may provide early training for future users of the system.
  • Prototyping may prevent unpleasant surprises by calling attention to incomplete or inconsistent requirements, or to missing functionality.
  • Prototyping may produce some useful deliverables even if the project runs out of time or money.
  • Prototyping may reduce misunderstandings between and among developers and customers.
  • Prototyping may save on initial maintenance costs because, In effect, customers are doing "acceptance testing" all along the way.
  • Systems produced through prototyping may be judged easier to learn and easier to use.

21.4 Risks of Prototyping

  • Prototyping may encourage an excess of change requests.
  • Working prototypes may lead management and customers to believe that the final product is almost ready for delivery.
  • The excellent (or disappointing) performance characteristics of prototypes may mislead the customer.
  • Customers may not be prepared to provide the level or frequency of feedback required for iterative prototyping.
  • Early prototypes may be of low fidelity, dismissed as toys.

docsity.com