<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.expertiza.ncsu.edu/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Spangul</id>
	<title>Expertiza_Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.expertiza.ncsu.edu/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Spangul"/>
	<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=Special:Contributions/Spangul"/>
	<updated>2026-05-16T06:33:07Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.41.0</generator>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2012&amp;diff=69399</id>
		<title>CSC/ECE 517 Fall 2012</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2012&amp;diff=69399"/>
		<updated>2012-11-01T21:37:27Z</updated>

		<summary type="html">&lt;p&gt;Spangul: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;*[[CSC/ECE 517 Fall 2012/ch1 n xx]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch1 1w1 rk]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch1 1w20 pp]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch1 1w5 su]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch1 1w6 pp]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch1 1w4 aj]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch1 1w7 am]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch1 1w8 aa]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch1 1w9 av]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch1 1w10 pk]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch1 1w11 ap]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch1a 1w12 mv]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch1 1w14 gv]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch1 1w17 ir]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch1 1w18 as]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch1 1w22 an]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch1 1w21 aa]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch1 1w21 wi]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch1 1w31 sa]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch1a 1w16 br]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch1a 1w23 as]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch1 1w24 nr]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch1 1w15 rt]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch1 1w3 pl]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch1 1w32 cm]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch2a 2w5 dp]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch1b 1w37 ss]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch1b 1w67 ks]]&lt;br /&gt;
&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch1 1w27 ms]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch1 1w29 sa]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch1 1w33 op]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch1 1w19 sa]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch1 1w34 vd]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch1 1w35 sa]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch1 1w30 rp]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch1b 1w58 am]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch1b 1w47 sk]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch1b 1w69 mv]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch1b 1w44 as]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch1b 1w45 is]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch1b 1w53 kc]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch1b 1w40 ar]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch1b 1w39 sn]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch1b 1w54 go]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch1b 1w56 ms]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch1b 1w64 nn]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch1b 1w66 as]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch1b 1w40 as]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch1b 1w42 js]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch1b 1w46 sm]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch1b 1w71 gs]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch1b 1w63 dv]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch1b 1w55 ms]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch1b 1w57 mp]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch1b 1w52 an]]&lt;br /&gt;
*[[CSC/ECE_517_Fall_2012/ch1b 1w38 nm]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch1b 1w60 ac]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch1b 1w62 rb]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch2a 2w29 st]]&lt;br /&gt;
*[[CSC/ECE_517_Fall_2012/ch2a_2w3_sm]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch2a 2w30 an]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch2a 2w17 pt]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch2a 2w31 up]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch2a 2w9 ms]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch2a 2w19 is]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch2a 2w26 aj]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch2a 2w5 dp]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch2a 2w16 dp]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch2a 2w8 vp]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch2a 2w18 as]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch2a 2w3 jm]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch2a 2w23 sr]]&lt;br /&gt;
*[[CSC/ECE_517_Fall_2012/ch2a_2w11_aa]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch2a 2w15 rr]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch2a 2w33 pv]]&lt;br /&gt;
*[[CSC/ECE_517_Fall_2012/ch2a_2w20_aa]]&lt;br /&gt;
*[[CSC/ECE_517_Fall_2012/ch2a_2w14_bb]]&lt;br /&gt;
*[[CSC/ECE_517_Fall_2012/ch2a_2w21_ap]]&lt;br /&gt;
*[[CSC/ECE_517_Fall_2012/ch2a_2w13_sm]]&lt;br /&gt;
*[[CSC/ECE_517_Fall_2012/ch2a_2w4_sa]]&lt;br /&gt;
*[[CSC/ECE_517_Fall_2012/ch2a_2w25_nr]]&lt;br /&gt;
*[[CSC/ECE_517_Fall_2012/ch2a_2w12_sv]]&lt;br /&gt;
*[[CSC/ECE_517_Fall_2012/ch2a_2w7_ma]]&lt;br /&gt;
*[[CSC/ECE_517_Fall_2012/ch2a_2w6_ar]]&lt;br /&gt;
*[[CSC/ECE_517_Fall_2012/ch2a_2w32_mk]]&lt;br /&gt;
*[[CSC/ECE_517_Fall_2012/ch2a_2w10_rc]]&lt;/div&gt;</summary>
		<author><name>Spangul</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=User:Spangul&amp;diff=68808</id>
		<title>User:Spangul</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=User:Spangul&amp;diff=68808"/>
		<updated>2012-10-27T01:44:32Z</updated>

		<summary type="html">&lt;p&gt;Spangul: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;font size=&amp;quot;5&amp;quot;&amp;gt;The Spiral Model&amp;lt;/font&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
== Introduction ==&lt;br /&gt;
The spiral model is a [[http://en.wikipedia.org/wiki/Software_development_process software development process]] that combines the elements of both design and prototyping-in-stages.This model represents a risk-driven approach to software process analysis. Also known as the spiral lifecycle model (or spiral development), it is a systems development method (SDM) used in [http://en.wikipedia.org/wiki/Information_technology information technology (IT)]. This model incorporates many of the strengths of other models and resolves many of their difficulties. It combines the advantages of top-down and bottom-up concepts and promotes quality assurance through prototyping at each stage.Thus it includes the features of both prototyping and the [http://en.wikipedia.org/wiki/Waterfall_model waterfall model] but provides emphasis in a key area which is mostly neglected by other methodologies: deliberate iterative risk analysis.&lt;br /&gt;
Generally,the spiral model is intended for large, expensive and complicated projects.This approach incorporates elements of specification-driven, prototype-driven process methods, together with the classic software life cycle.&amp;lt;ref name=”aaa”&amp;gt; Introduction - http://en.wikipedia.org/wiki/Spiral_model &amp;lt;/ref&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== History ==&lt;br /&gt;
The spiral model was defined by [http://en.wikipedia.org/wiki/Barry_Boehm Barry Boehm] in his 1986 article &amp;quot;A Spiral Model of Software Development and Enhancement&amp;quot;.&amp;lt;ref name=&amp;quot;bbb&amp;quot;&amp;gt; History of Spiral Model http://www.princeton.edu/~achaney/tmve/wiki100k/docs/Spiral_model.html&amp;lt;/ref&amp;gt; This model was not the first model to discuss [http://en.wikipedia.org/wiki/Iterative_development iterative development] but it was the first model to explain why the iteration matters.  It was created primarily to offer an alternative to the document-driven and code-driven development models, such as the waterfall model, which were being found to be far too prescriptive and unable to handle the inherent risk in [http://en.wikipedia.org/wiki/Software_development software development].&amp;lt;br/&amp;gt;&lt;br /&gt;
Each phase is characterized by setting a design goal initially and ends with the client (who may be internal) reviewing the progress thus far. Analysis and engineering efforts are applied at each phase of the project, all the way till  the end goal of the project is achieved. The key characteristic of a Spiral model is risk management at regular stages in the [http://en.wikipedia.org/wiki/Systems_Development_Life_Cycle development cycle]&lt;br /&gt;
&lt;br /&gt;
== Illustration ==&lt;br /&gt;
&lt;br /&gt;
Spiral model is also called as “meta-model”, The name comes from the way the Spiral Model incorporates other Models in the Software Development Life-Cycle. Both waterfall and [http://en.wikipedia.org/wiki/Prototype prototype] models are those that are used most often in it. The Software development progresses systematically over the loops (adhering to waterfall approach) and at the same time prototypes are created and displayed to the user after completion of various phases. This ensures a systematic approach with minimal chances of risks.&amp;lt;Ref name=&amp;quot;reft&amp;quot;&amp;gt;Illustration http://www.ianswer4u.com/2011/12/spiral-model-advantages-and.html&amp;lt;/ref&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;[[File:Image002.png]]&amp;lt;/center&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
The spiral model is commonly known as an evolutionary development process.Commonly used as a lifecycle model for software development, the spiral model is similar to the iterative design process as there are repeated iterations (called cycles) in which successive attempts are made to develop a solution.It does so by representing iterative development cycles as an expanding spiral, with inner cycles denoting early system analysis and prototyping, and outer cycles denoting the classic software life cycle.&lt;br /&gt;
The radial dimension denotes cumulative development costs, and the angular dimension denotes progress made in accomplishing each development spiral.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
The steps in the spiral model can be generalized as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The [http://en.wikipedia.org/wiki/Software_requirements requirements] for building the new system are gathered using different methods and defined in as much detail as possible. The methods usually involve interviewing a number of users representing all the external or internal users, preparing questionnaires regarding the other aspects of the existing system.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Based on the requirements gathered, a preliminary design is created for the new system.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;A first prototype of the new system is constructed from the [http://en.wikipedia.org/wiki/Engineering_design_process#Preliminary_design preliminary design]. This is usually a scaled-down system that implements the core functionality and represents an approximation of the characteristics of the final product.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;A second prototype is evolved by a fourfold procedure: &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Evaluating the first prototype in terms of its strengths, weaknesses, and risks based on customer feedback.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Defining more detailed requirements of the second prototype&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;planning and designing the second prototype&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;constructing and testing the second prototype.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;At the customer's option, the entire project can be aborted if the risk is deemed too great. Risk factors might involve development cost overruns, operating-cost miscalculation, or any other factor that could, in the customer's judgment, result in a less-than-satisfactory final product.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The existing prototype is evaluated in the same manner as was the previous prototype, and, if unsatisfactory, another prototype is developed from it according to the fourfold procedure outlined above.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The preceding steps are iterated until the customer is satisfied with the final product, that is refined prototype.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The final system is then constructed, based on the refined prototype.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The final system is thoroughly evaluated and tested. Routine [http://en.wikipedia.org/wiki/Software_maintenance maintenance] is carried out on a continuing basis to prevent large-scale failures and to minimize downtime.&amp;lt;/li&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Advantages of The Spiral Model==&lt;br /&gt;
&lt;br /&gt;
Spiral Model is one of the most used Software Development Models and is known for it’s efficiency, accuracy and straight forward design. Following are various advantages of the Spiral Model:&amp;lt;ref name=&amp;quot;refx&amp;quot;&amp;gt;Spiral Model - Advantages    &lt;br /&gt;
 http://www.ianswer4u.com/2011/12/spiral-model-advantages-and.html#axzz2ARqc6EGX&amp;lt;/ref&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The Spiral Life-Cycle Model is one of the most flexible SDLC models in software Development. Various phases in Development can be determined by the [http://en.wikipedia.org/wiki/Project_manager project manager], based on the complexity of the project.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Monitoring is very easy, effective and efficient. Each phase, as well as each loop, requires a review from concerned people. This facilitates transparency in the model.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[http://en.wikipedia.org/wiki/Risk_management Risk management] is one of the in-built features of the model, which makes up for an added advantage compared to other models.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Changes in the model can be introduced at a later stage. The person in charge of the project is given enough flexibility to incorporate these changes.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Estimates about the project including the time taken, cost and schedule become more accurate as the development progresses.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The Spiral Model is highly adaptive for High-Risk projects, where business needs may be unstable.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;A heavier emphasis is present on [http://en.wikipedia.org/wiki/Modding Customization], ensuring heavy customizability.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Disadvantages of the Spiral Model ==&lt;br /&gt;
&lt;br /&gt;
Despite the various advantages Spiral Model brings in, it also has a few considerable disadvantages:&amp;lt;ref name=&amp;quot;refy&amp;quot;&amp;gt;Spiral Model - Disadvantages  http://www.ianswer4u.com/2011/12/spiral-model-advantages-and.html#axzz2ARqc6EGX&amp;lt;/ref&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The Spiral Model might involve higher costs, although it can accurately estimate the numbers.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The model might become complicated even for projects with a clear [http://en.wikipedia.org/wiki/Software_requirements_specification Software-Requirements-Specifications].&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Evaluation and reviews of the Spiral Model might require advanced skills, though not true in all cases.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;In order to effectively implement this model, the [http://en.wikipedia.org/wiki/Protocol_%28object-oriented_programming%29 protocols] and standards must be followed carefully, as any small change in the implementation might cause considerable changes to the development process.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;If the requirements of the project change in the future, using the same prototype might get difficult.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Involves extensive documentation in the intermediate stages during which management of the project might get difficult.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Not suitable for Low Risk projects.&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Applications of The Spiral Model ==&lt;br /&gt;
&lt;br /&gt;
The Spiral model is used most often in large projects and needs constant review to stay on target. Given the disadvantages of the Spiral Model that are cited above, the Agile Software Development Model can act as a viable alternative. &amp;lt;ref name=”refz”&amp;gt; Applications of Spiral Model http://en.wikipedia.org/wiki/Spiral_model#Applications&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
- The military had adopted the spiral model for its Future Combat Systems program. The FCS&lt;br /&gt;
project was eventually canceled after six years (2003–2009). it had a two year iteration (spiral).&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
- The [http://en.wikipedia.org/wiki/Future_Combat_Systems FCS] originally should have resulted in three consecutive prototypes (one prototype per spiral—every two years).&lt;br /&gt;
The above application of the Spiral Model indicates that the spiral model thus may suit small&lt;br /&gt;
(up to $3 million) software [http://en.wikipedia.org/wiki/Application_software applications] and not a complicated ($3 billion) distributed,&lt;br /&gt;
interoperable, system of systems.&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
- Also it is reasonable to use the spiral model in projects where business goals are unstable but&lt;br /&gt;
the architecture is realized well enough to provide high loading and stress ability.&lt;br /&gt;
For example, the Spiral Architecture Driven Development is a spiral-based Software&lt;br /&gt;
Development Life Cycle which shows one possible way how to reduce the risk of non-effective       &lt;br /&gt;
architectures with the help of a spiral model in conjunction with the best practices from other models.&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
The Spiral model has achieved a high level of software support environment capability in a very short period and provides the flexibility necessary to accommodate a high range of technical alternatives and user objectives. Partial implementation of Spiral model such as the [http://en.wikipedia.org/wiki/Risk_management_plan Risk Management Plan] are compatible with most of the current process models and helpful in minimizing risk associated with the projects.&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
[http://users.csc.calpoly.edu/~jdalbey/308/Lectures/SoftwareProcessModels.html Software Process Models]&amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.ctg.albany.edu/publications/reports/survey_of_sysdev?chapter=9 Spiral Model Survey]&amp;lt;br/&amp;gt;&lt;br /&gt;
[http://searchsoftwarequality.techtarget.com/definition/spiral-model Spiral Model Design]&amp;lt;br/&amp;gt;&lt;br /&gt;
[http://myprojects.kostigoff.net/methodology/development_models/development_models.htm Understanding Spiral Models]&amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.youtube.com/watch?v=YMbAdgb6pG8 Software Models]&amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.buzzle.com/editorials/1-13-2005-64082.asp Introduction to the Spiral Model]&lt;br /&gt;
[http://my.safaribooksonline.com/book/software-engineering-and-development/9781934015551/software-development-life-cycle-models/spiral_model The Spiral Software Model]&amp;lt;br/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Spangul</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2012/ch2a_2w3_sm&amp;diff=68806</id>
		<title>CSC/ECE 517 Fall 2012/ch2a 2w3 sm</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2012/ch2a_2w3_sm&amp;diff=68806"/>
		<updated>2012-10-27T01:44:04Z</updated>

		<summary type="html">&lt;p&gt;Spangul: /* Conclusion */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;font size=&amp;quot;5&amp;quot;&amp;gt;The Spiral Model&amp;lt;/font&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
== Introduction ==&lt;br /&gt;
The spiral model is a [[http://en.wikipedia.org/wiki/Software_development_process software development process]] that combines the elements of both design and prototyping-in-stages.This model represents a risk-driven approach to software process analysis. Also known as the spiral lifecycle model (or spiral development), it is a systems development method (SDM) used in [http://en.wikipedia.org/wiki/Information_technology information technology (IT)]. This model incorporates many of the strengths of other models and resolves many of their difficulties. It combines the advantages of top-down and bottom-up concepts and promotes quality assurance through prototyping at each stage.Thus it includes the features of both prototyping and the [http://en.wikipedia.org/wiki/Waterfall_model waterfall model] but provides emphasis in a key area which is mostly neglected by other methodologies: deliberate iterative risk analysis.&lt;br /&gt;
Generally,the spiral model is intended for large, expensive and complicated projects.This approach incorporates elements of specification-driven, prototype-driven process methods, together with the classic software life cycle.&amp;lt;ref name=”aaa”&amp;gt; Introduction - http://en.wikipedia.org/wiki/Spiral_model &amp;lt;/ref&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== History ==&lt;br /&gt;
The spiral model was defined by [http://en.wikipedia.org/wiki/Barry_Boehm Barry Boehm] in his 1986 article &amp;quot;A Spiral Model of Software Development and Enhancement&amp;quot;.&amp;lt;ref name=&amp;quot;bbb&amp;quot;&amp;gt; History of Spiral Model http://www.princeton.edu/~achaney/tmve/wiki100k/docs/Spiral_model.html&amp;lt;/ref&amp;gt; This model was not the first model to discuss [http://en.wikipedia.org/wiki/Iterative_development iterative development] but it was the first model to explain why the iteration matters.  It was created primarily to offer an alternative to the document-driven and code-driven development models, such as the waterfall model, which were being found to be far too prescriptive and unable to handle the inherent risk in [http://en.wikipedia.org/wiki/Software_development software development].&amp;lt;br/&amp;gt;&lt;br /&gt;
Each phase is characterized by setting a design goal initially and ends with the client (who may be internal) reviewing the progress thus far. Analysis and engineering efforts are applied at each phase of the project, all the way till  the end goal of the project is achieved. The key characteristic of a Spiral model is risk management at regular stages in the [http://en.wikipedia.org/wiki/Systems_Development_Life_Cycle development cycle]&lt;br /&gt;
&lt;br /&gt;
== Illustration ==&lt;br /&gt;
&lt;br /&gt;
Spiral model is also called as “meta-model”, The name comes from the way the Spiral Model incorporates other Models in the Software Development Life-Cycle. Both waterfall and [http://en.wikipedia.org/wiki/Prototype prototype] models are those that are used most often in it. The Software development progresses systematically over the loops (adhering to waterfall approach) and at the same time prototypes are created and displayed to the user after completion of various phases. This ensures a systematic approach with minimal chances of risks.&amp;lt;Ref name=&amp;quot;reft&amp;quot;&amp;gt;Illustration http://www.ianswer4u.com/2011/12/spiral-model-advantages-and.html&amp;lt;/ref&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;[[File:Image002.png]]&amp;lt;/center&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
The spiral model is commonly known as an evolutionary development process.Commonly used as a lifecycle model for software development, the spiral model is similar to the iterative design process as there are repeated iterations (called cycles) in which successive attempts are made to develop a solution.It does so by representing iterative development cycles as an expanding spiral, with inner cycles denoting early system analysis and prototyping, and outer cycles denoting the classic software life cycle.&lt;br /&gt;
The radial dimension denotes cumulative development costs, and the angular dimension denotes progress made in accomplishing each development spiral.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
The steps in the spiral model can be generalized as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The [http://en.wikipedia.org/wiki/Software_requirements requirements] for building the new system are gathered using different methods and defined in as much detail as possible. The methods usually involve interviewing a number of users representing all the external or internal users, preparing questionnaires regarding the other aspects of the existing system.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Based on the requirements gathered, a preliminary design is created for the new system.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;A first prototype of the new system is constructed from the [http://en.wikipedia.org/wiki/Engineering_design_process#Preliminary_design preliminary design]. This is usually a scaled-down system that implements the core functionality and represents an approximation of the characteristics of the final product.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;A second prototype is evolved by a fourfold procedure: &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Evaluating the first prototype in terms of its strengths, weaknesses, and risks based on customer feedback.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Defining more detailed requirements of the second prototype&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;planning and designing the second prototype&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;constructing and testing the second prototype.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;At the customer's option, the entire project can be aborted if the risk is deemed too great. Risk factors might involve development cost overruns, operating-cost miscalculation, or any other factor that could, in the customer's judgment, result in a less-than-satisfactory final product.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The existing prototype is evaluated in the same manner as was the previous prototype, and, if unsatisfactory, another prototype is developed from it according to the fourfold procedure outlined above.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The preceding steps are iterated until the customer is satisfied with the final product, that is refined prototype.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The final system is then constructed, based on the refined prototype.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The final system is thoroughly evaluated and tested. Routine [http://en.wikipedia.org/wiki/Software_maintenance maintenance] is carried out on a continuing basis to prevent large-scale failures and to minimize downtime.&amp;lt;/li&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Advantages of The Spiral Model==&lt;br /&gt;
&lt;br /&gt;
Spiral Model is one of the most used Software Development Models and is known for it’s efficiency, accuracy and straight forward design. Following are various advantages of the Spiral Model:&amp;lt;ref name=&amp;quot;refx&amp;quot;&amp;gt;Spiral Model - Advantages    &lt;br /&gt;
 http://www.ianswer4u.com/2011/12/spiral-model-advantages-and.html#axzz2ARqc6EGX&amp;lt;/ref&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The Spiral Life-Cycle Model is one of the most flexible SDLC models in software Development. Various phases in Development can be determined by the [http://en.wikipedia.org/wiki/Project_manager project manager], based on the complexity of the project.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Monitoring is very easy, effective and efficient. Each phase, as well as each loop, requires a review from concerned people. This facilitates transparency in the model.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[http://en.wikipedia.org/wiki/Risk_management Risk management] is one of the in-built features of the model, which makes up for an added advantage compared to other models.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Changes in the model can be introduced at a later stage. The person in charge of the project is given enough flexibility to incorporate these changes.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Estimates about the project including the time taken, cost and schedule become more accurate as the development progresses.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The Spiral Model is highly adaptive for High-Risk projects, where business needs may be unstable.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;A heavier emphasis is present on [http://en.wikipedia.org/wiki/Modding Customization], ensuring heavy customizability.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Disadvantages of the Spiral Model ==&lt;br /&gt;
&lt;br /&gt;
Despite the various advantages Spiral Model brings in, it also has a few considerable disadvantages:&amp;lt;ref name=&amp;quot;refy&amp;quot;&amp;gt;Spiral Model - Disadvantages  http://www.ianswer4u.com/2011/12/spiral-model-advantages-and.html#axzz2ARqc6EGX&amp;lt;/ref&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The Spiral Model might involve higher costs, although it can accurately estimate the numbers.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The model might become complicated even for projects with a clear [http://en.wikipedia.org/wiki/Software_requirements_specification Software-Requirements-Specifications].&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Evaluation and reviews of the Spiral Model might require advanced skills, though not true in all cases.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;In order to effectively implement this model, the [http://en.wikipedia.org/wiki/Protocol_%28object-oriented_programming%29 protocols] and standards must be followed carefully, as any small change in the implementation might cause considerable changes to the development process.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;If the requirements of the project change in the future, using the same prototype might get difficult.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Involves extensive documentation in the intermediate stages during which management of the project might get difficult.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Not suitable for Low Risk projects.&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Applications of The Spiral Model ==&lt;br /&gt;
&lt;br /&gt;
The Spiral model is used most often in large projects and needs constant review to stay on target. Given the disadvantages of the Spiral Model that are cited above, the Agile Software Development Model can act as a viable alternative. &amp;lt;ref name=”refz”&amp;gt; Applications of Spiral Model http://en.wikipedia.org/wiki/Spiral_model#Applications&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
- The military had adopted the spiral model for its Future Combat Systems program. The FCS&lt;br /&gt;
project was eventually canceled after six years (2003–2009). it had a two year iteration (spiral).&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
- The [http://en.wikipedia.org/wiki/Future_Combat_Systems FCS] originally should have resulted in three consecutive prototypes (one prototype per spiral—every two years).&lt;br /&gt;
The above application of the Spiral Model indicates that the spiral model thus may suit small&lt;br /&gt;
(up to $3 million) software [http://en.wikipedia.org/wiki/Application_software applications] and not a complicated ($3 billion) distributed,&lt;br /&gt;
interoperable, system of systems.&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
- Also it is reasonable to use the spiral model in projects where business goals are unstable but&lt;br /&gt;
the architecture is realized well enough to provide high loading and stress ability.&lt;br /&gt;
For example, the Spiral Architecture Driven Development is a spiral-based Software&lt;br /&gt;
Development Life Cycle which shows one possible way how to reduce the risk of non-effective       &lt;br /&gt;
architectures with the help of a spiral model in conjunction with the best practices from other models.&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
The Spiral model has achieved a high level of software support environment capability in a very short period and provides the flexibility necessary to accommodate a high range of technical alternatives and user objectives. Partial implementation of Spiral model such as the [http://en.wikipedia.org/wiki/Risk_management_plan Risk Management Plan] are compatible with most of the current process models and helpful in minimizing risk associated with the projects.&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
[http://users.csc.calpoly.edu/~jdalbey/308/Lectures/SoftwareProcessModels.html Software Process Models]&amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.ctg.albany.edu/publications/reports/survey_of_sysdev?chapter=9 Spiral Model Survey]&amp;lt;br/&amp;gt;&lt;br /&gt;
[http://searchsoftwarequality.techtarget.com/definition/spiral-model Spiral Model Design]&amp;lt;br/&amp;gt;&lt;br /&gt;
[http://myprojects.kostigoff.net/methodology/development_models/development_models.htm Understanding Spiral Models]&amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.youtube.com/watch?v=YMbAdgb6pG8 Software Models]&amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.buzzle.com/editorials/1-13-2005-64082.asp Introduction to the Spiral Model]&lt;br /&gt;
[http://my.safaribooksonline.com/book/software-engineering-and-development/9781934015551/software-development-life-cycle-models/spiral_model The Spiral Software Model]&amp;lt;br/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Spangul</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2012/ch2a_2w3_sm&amp;diff=68804</id>
		<title>CSC/ECE 517 Fall 2012/ch2a 2w3 sm</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2012/ch2a_2w3_sm&amp;diff=68804"/>
		<updated>2012-10-27T01:43:27Z</updated>

		<summary type="html">&lt;p&gt;Spangul: /* Applications of The Spiral Model */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;font size=&amp;quot;5&amp;quot;&amp;gt;The Spiral Model&amp;lt;/font&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
== Introduction ==&lt;br /&gt;
The spiral model is a [[http://en.wikipedia.org/wiki/Software_development_process software development process]] that combines the elements of both design and prototyping-in-stages.This model represents a risk-driven approach to software process analysis. Also known as the spiral lifecycle model (or spiral development), it is a systems development method (SDM) used in [http://en.wikipedia.org/wiki/Information_technology information technology (IT)]. This model incorporates many of the strengths of other models and resolves many of their difficulties. It combines the advantages of top-down and bottom-up concepts and promotes quality assurance through prototyping at each stage.Thus it includes the features of both prototyping and the [http://en.wikipedia.org/wiki/Waterfall_model waterfall model] but provides emphasis in a key area which is mostly neglected by other methodologies: deliberate iterative risk analysis.&lt;br /&gt;
Generally,the spiral model is intended for large, expensive and complicated projects.This approach incorporates elements of specification-driven, prototype-driven process methods, together with the classic software life cycle.&amp;lt;ref name=”aaa”&amp;gt; Introduction - http://en.wikipedia.org/wiki/Spiral_model &amp;lt;/ref&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== History ==&lt;br /&gt;
The spiral model was defined by [http://en.wikipedia.org/wiki/Barry_Boehm Barry Boehm] in his 1986 article &amp;quot;A Spiral Model of Software Development and Enhancement&amp;quot;.&amp;lt;ref name=&amp;quot;bbb&amp;quot;&amp;gt; History of Spiral Model http://www.princeton.edu/~achaney/tmve/wiki100k/docs/Spiral_model.html&amp;lt;/ref&amp;gt; This model was not the first model to discuss [http://en.wikipedia.org/wiki/Iterative_development iterative development] but it was the first model to explain why the iteration matters.  It was created primarily to offer an alternative to the document-driven and code-driven development models, such as the waterfall model, which were being found to be far too prescriptive and unable to handle the inherent risk in [http://en.wikipedia.org/wiki/Software_development software development].&amp;lt;br/&amp;gt;&lt;br /&gt;
Each phase is characterized by setting a design goal initially and ends with the client (who may be internal) reviewing the progress thus far. Analysis and engineering efforts are applied at each phase of the project, all the way till  the end goal of the project is achieved. The key characteristic of a Spiral model is risk management at regular stages in the [http://en.wikipedia.org/wiki/Systems_Development_Life_Cycle development cycle]&lt;br /&gt;
&lt;br /&gt;
== Illustration ==&lt;br /&gt;
&lt;br /&gt;
Spiral model is also called as “meta-model”, The name comes from the way the Spiral Model incorporates other Models in the Software Development Life-Cycle. Both waterfall and [http://en.wikipedia.org/wiki/Prototype prototype] models are those that are used most often in it. The Software development progresses systematically over the loops (adhering to waterfall approach) and at the same time prototypes are created and displayed to the user after completion of various phases. This ensures a systematic approach with minimal chances of risks.&amp;lt;Ref name=&amp;quot;reft&amp;quot;&amp;gt;Illustration http://www.ianswer4u.com/2011/12/spiral-model-advantages-and.html&amp;lt;/ref&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;[[File:Image002.png]]&amp;lt;/center&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
The spiral model is commonly known as an evolutionary development process.Commonly used as a lifecycle model for software development, the spiral model is similar to the iterative design process as there are repeated iterations (called cycles) in which successive attempts are made to develop a solution.It does so by representing iterative development cycles as an expanding spiral, with inner cycles denoting early system analysis and prototyping, and outer cycles denoting the classic software life cycle.&lt;br /&gt;
The radial dimension denotes cumulative development costs, and the angular dimension denotes progress made in accomplishing each development spiral.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
The steps in the spiral model can be generalized as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The [http://en.wikipedia.org/wiki/Software_requirements requirements] for building the new system are gathered using different methods and defined in as much detail as possible. The methods usually involve interviewing a number of users representing all the external or internal users, preparing questionnaires regarding the other aspects of the existing system.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Based on the requirements gathered, a preliminary design is created for the new system.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;A first prototype of the new system is constructed from the [http://en.wikipedia.org/wiki/Engineering_design_process#Preliminary_design preliminary design]. This is usually a scaled-down system that implements the core functionality and represents an approximation of the characteristics of the final product.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;A second prototype is evolved by a fourfold procedure: &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Evaluating the first prototype in terms of its strengths, weaknesses, and risks based on customer feedback.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Defining more detailed requirements of the second prototype&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;planning and designing the second prototype&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;constructing and testing the second prototype.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;At the customer's option, the entire project can be aborted if the risk is deemed too great. Risk factors might involve development cost overruns, operating-cost miscalculation, or any other factor that could, in the customer's judgment, result in a less-than-satisfactory final product.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The existing prototype is evaluated in the same manner as was the previous prototype, and, if unsatisfactory, another prototype is developed from it according to the fourfold procedure outlined above.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The preceding steps are iterated until the customer is satisfied with the final product, that is refined prototype.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The final system is then constructed, based on the refined prototype.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The final system is thoroughly evaluated and tested. Routine [http://en.wikipedia.org/wiki/Software_maintenance maintenance] is carried out on a continuing basis to prevent large-scale failures and to minimize downtime.&amp;lt;/li&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Advantages of The Spiral Model==&lt;br /&gt;
&lt;br /&gt;
Spiral Model is one of the most used Software Development Models and is known for it’s efficiency, accuracy and straight forward design. Following are various advantages of the Spiral Model:&amp;lt;ref name=&amp;quot;refx&amp;quot;&amp;gt;Spiral Model - Advantages    &lt;br /&gt;
 http://www.ianswer4u.com/2011/12/spiral-model-advantages-and.html#axzz2ARqc6EGX&amp;lt;/ref&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The Spiral Life-Cycle Model is one of the most flexible SDLC models in software Development. Various phases in Development can be determined by the [http://en.wikipedia.org/wiki/Project_manager project manager], based on the complexity of the project.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Monitoring is very easy, effective and efficient. Each phase, as well as each loop, requires a review from concerned people. This facilitates transparency in the model.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[http://en.wikipedia.org/wiki/Risk_management Risk management] is one of the in-built features of the model, which makes up for an added advantage compared to other models.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Changes in the model can be introduced at a later stage. The person in charge of the project is given enough flexibility to incorporate these changes.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Estimates about the project including the time taken, cost and schedule become more accurate as the development progresses.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The Spiral Model is highly adaptive for High-Risk projects, where business needs may be unstable.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;A heavier emphasis is present on [http://en.wikipedia.org/wiki/Modding Customization], ensuring heavy customizability.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Disadvantages of the Spiral Model ==&lt;br /&gt;
&lt;br /&gt;
Despite the various advantages Spiral Model brings in, it also has a few considerable disadvantages:&amp;lt;ref name=&amp;quot;refy&amp;quot;&amp;gt;Spiral Model - Disadvantages  http://www.ianswer4u.com/2011/12/spiral-model-advantages-and.html#axzz2ARqc6EGX&amp;lt;/ref&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The Spiral Model might involve higher costs, although it can accurately estimate the numbers.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The model might become complicated even for projects with a clear [http://en.wikipedia.org/wiki/Software_requirements_specification Software-Requirements-Specifications].&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Evaluation and reviews of the Spiral Model might require advanced skills, though not true in all cases.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;In order to effectively implement this model, the [http://en.wikipedia.org/wiki/Protocol_%28object-oriented_programming%29 protocols] and standards must be followed carefully, as any small change in the implementation might cause considerable changes to the development process.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;If the requirements of the project change in the future, using the same prototype might get difficult.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Involves extensive documentation in the intermediate stages during which management of the project might get difficult.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Not suitable for Low Risk projects.&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Applications of The Spiral Model ==&lt;br /&gt;
&lt;br /&gt;
The Spiral model is used most often in large projects and needs constant review to stay on target. Given the disadvantages of the Spiral Model that are cited above, the Agile Software Development Model can act as a viable alternative. &amp;lt;ref name=”refz”&amp;gt; Applications of Spiral Model http://en.wikipedia.org/wiki/Spiral_model#Applications&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
- The military had adopted the spiral model for its Future Combat Systems program. The FCS&lt;br /&gt;
project was eventually canceled after six years (2003–2009). it had a two year iteration (spiral).&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
- The [http://en.wikipedia.org/wiki/Future_Combat_Systems FCS] originally should have resulted in three consecutive prototypes (one prototype per spiral—every two years).&lt;br /&gt;
The above application of the Spiral Model indicates that the spiral model thus may suit small&lt;br /&gt;
(up to $3 million) software [http://en.wikipedia.org/wiki/Application_software applications] and not a complicated ($3 billion) distributed,&lt;br /&gt;
interoperable, system of systems.&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
- Also it is reasonable to use the spiral model in projects where business goals are unstable but&lt;br /&gt;
the architecture is realized well enough to provide high loading and stress ability.&lt;br /&gt;
For example, the Spiral Architecture Driven Development is a spiral-based Software&lt;br /&gt;
Development Life Cycle which shows one possible way how to reduce the risk of non-effective       &lt;br /&gt;
architectures with the help of a spiral model in conjunction with the best practices from other models.&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
The Spiral model has achieved a high level of software support environment capability in a very short period and provides the flexibility necessary to accommodate a high range of technical alternatives and user objectives. Partial implementation of Spiral model such as the Risk Management Plan are compatible with most of the current process models and helpful in minimizing risk associated with the projects.&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
[http://users.csc.calpoly.edu/~jdalbey/308/Lectures/SoftwareProcessModels.html Software Process Models]&amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.ctg.albany.edu/publications/reports/survey_of_sysdev?chapter=9 Spiral Model Survey]&amp;lt;br/&amp;gt;&lt;br /&gt;
[http://searchsoftwarequality.techtarget.com/definition/spiral-model Spiral Model Design]&amp;lt;br/&amp;gt;&lt;br /&gt;
[http://myprojects.kostigoff.net/methodology/development_models/development_models.htm Understanding Spiral Models]&amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.youtube.com/watch?v=YMbAdgb6pG8 Software Models]&amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.buzzle.com/editorials/1-13-2005-64082.asp Introduction to the Spiral Model]&lt;br /&gt;
[http://my.safaribooksonline.com/book/software-engineering-and-development/9781934015551/software-development-life-cycle-models/spiral_model The Spiral Software Model]&amp;lt;br/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Spangul</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2012/ch2a_2w3_sm&amp;diff=68803</id>
		<title>CSC/ECE 517 Fall 2012/ch2a 2w3 sm</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2012/ch2a_2w3_sm&amp;diff=68803"/>
		<updated>2012-10-27T01:41:39Z</updated>

		<summary type="html">&lt;p&gt;Spangul: /* Disadvantages of the Spiral Model */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;font size=&amp;quot;5&amp;quot;&amp;gt;The Spiral Model&amp;lt;/font&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
== Introduction ==&lt;br /&gt;
The spiral model is a [[http://en.wikipedia.org/wiki/Software_development_process software development process]] that combines the elements of both design and prototyping-in-stages.This model represents a risk-driven approach to software process analysis. Also known as the spiral lifecycle model (or spiral development), it is a systems development method (SDM) used in [http://en.wikipedia.org/wiki/Information_technology information technology (IT)]. This model incorporates many of the strengths of other models and resolves many of their difficulties. It combines the advantages of top-down and bottom-up concepts and promotes quality assurance through prototyping at each stage.Thus it includes the features of both prototyping and the [http://en.wikipedia.org/wiki/Waterfall_model waterfall model] but provides emphasis in a key area which is mostly neglected by other methodologies: deliberate iterative risk analysis.&lt;br /&gt;
Generally,the spiral model is intended for large, expensive and complicated projects.This approach incorporates elements of specification-driven, prototype-driven process methods, together with the classic software life cycle.&amp;lt;ref name=”aaa”&amp;gt; Introduction - http://en.wikipedia.org/wiki/Spiral_model &amp;lt;/ref&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== History ==&lt;br /&gt;
The spiral model was defined by [http://en.wikipedia.org/wiki/Barry_Boehm Barry Boehm] in his 1986 article &amp;quot;A Spiral Model of Software Development and Enhancement&amp;quot;.&amp;lt;ref name=&amp;quot;bbb&amp;quot;&amp;gt; History of Spiral Model http://www.princeton.edu/~achaney/tmve/wiki100k/docs/Spiral_model.html&amp;lt;/ref&amp;gt; This model was not the first model to discuss [http://en.wikipedia.org/wiki/Iterative_development iterative development] but it was the first model to explain why the iteration matters.  It was created primarily to offer an alternative to the document-driven and code-driven development models, such as the waterfall model, which were being found to be far too prescriptive and unable to handle the inherent risk in [http://en.wikipedia.org/wiki/Software_development software development].&amp;lt;br/&amp;gt;&lt;br /&gt;
Each phase is characterized by setting a design goal initially and ends with the client (who may be internal) reviewing the progress thus far. Analysis and engineering efforts are applied at each phase of the project, all the way till  the end goal of the project is achieved. The key characteristic of a Spiral model is risk management at regular stages in the [http://en.wikipedia.org/wiki/Systems_Development_Life_Cycle development cycle]&lt;br /&gt;
&lt;br /&gt;
== Illustration ==&lt;br /&gt;
&lt;br /&gt;
Spiral model is also called as “meta-model”, The name comes from the way the Spiral Model incorporates other Models in the Software Development Life-Cycle. Both waterfall and [http://en.wikipedia.org/wiki/Prototype prototype] models are those that are used most often in it. The Software development progresses systematically over the loops (adhering to waterfall approach) and at the same time prototypes are created and displayed to the user after completion of various phases. This ensures a systematic approach with minimal chances of risks.&amp;lt;Ref name=&amp;quot;reft&amp;quot;&amp;gt;Illustration http://www.ianswer4u.com/2011/12/spiral-model-advantages-and.html&amp;lt;/ref&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;[[File:Image002.png]]&amp;lt;/center&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
The spiral model is commonly known as an evolutionary development process.Commonly used as a lifecycle model for software development, the spiral model is similar to the iterative design process as there are repeated iterations (called cycles) in which successive attempts are made to develop a solution.It does so by representing iterative development cycles as an expanding spiral, with inner cycles denoting early system analysis and prototyping, and outer cycles denoting the classic software life cycle.&lt;br /&gt;
The radial dimension denotes cumulative development costs, and the angular dimension denotes progress made in accomplishing each development spiral.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
The steps in the spiral model can be generalized as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The [http://en.wikipedia.org/wiki/Software_requirements requirements] for building the new system are gathered using different methods and defined in as much detail as possible. The methods usually involve interviewing a number of users representing all the external or internal users, preparing questionnaires regarding the other aspects of the existing system.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Based on the requirements gathered, a preliminary design is created for the new system.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;A first prototype of the new system is constructed from the [http://en.wikipedia.org/wiki/Engineering_design_process#Preliminary_design preliminary design]. This is usually a scaled-down system that implements the core functionality and represents an approximation of the characteristics of the final product.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;A second prototype is evolved by a fourfold procedure: &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Evaluating the first prototype in terms of its strengths, weaknesses, and risks based on customer feedback.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Defining more detailed requirements of the second prototype&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;planning and designing the second prototype&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;constructing and testing the second prototype.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;At the customer's option, the entire project can be aborted if the risk is deemed too great. Risk factors might involve development cost overruns, operating-cost miscalculation, or any other factor that could, in the customer's judgment, result in a less-than-satisfactory final product.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The existing prototype is evaluated in the same manner as was the previous prototype, and, if unsatisfactory, another prototype is developed from it according to the fourfold procedure outlined above.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The preceding steps are iterated until the customer is satisfied with the final product, that is refined prototype.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The final system is then constructed, based on the refined prototype.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The final system is thoroughly evaluated and tested. Routine [http://en.wikipedia.org/wiki/Software_maintenance maintenance] is carried out on a continuing basis to prevent large-scale failures and to minimize downtime.&amp;lt;/li&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Advantages of The Spiral Model==&lt;br /&gt;
&lt;br /&gt;
Spiral Model is one of the most used Software Development Models and is known for it’s efficiency, accuracy and straight forward design. Following are various advantages of the Spiral Model:&amp;lt;ref name=&amp;quot;refx&amp;quot;&amp;gt;Spiral Model - Advantages    &lt;br /&gt;
 http://www.ianswer4u.com/2011/12/spiral-model-advantages-and.html#axzz2ARqc6EGX&amp;lt;/ref&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The Spiral Life-Cycle Model is one of the most flexible SDLC models in software Development. Various phases in Development can be determined by the [http://en.wikipedia.org/wiki/Project_manager project manager], based on the complexity of the project.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Monitoring is very easy, effective and efficient. Each phase, as well as each loop, requires a review from concerned people. This facilitates transparency in the model.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[http://en.wikipedia.org/wiki/Risk_management Risk management] is one of the in-built features of the model, which makes up for an added advantage compared to other models.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Changes in the model can be introduced at a later stage. The person in charge of the project is given enough flexibility to incorporate these changes.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Estimates about the project including the time taken, cost and schedule become more accurate as the development progresses.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The Spiral Model is highly adaptive for High-Risk projects, where business needs may be unstable.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;A heavier emphasis is present on [http://en.wikipedia.org/wiki/Modding Customization], ensuring heavy customizability.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Disadvantages of the Spiral Model ==&lt;br /&gt;
&lt;br /&gt;
Despite the various advantages Spiral Model brings in, it also has a few considerable disadvantages:&amp;lt;ref name=&amp;quot;refy&amp;quot;&amp;gt;Spiral Model - Disadvantages  http://www.ianswer4u.com/2011/12/spiral-model-advantages-and.html#axzz2ARqc6EGX&amp;lt;/ref&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The Spiral Model might involve higher costs, although it can accurately estimate the numbers.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The model might become complicated even for projects with a clear [http://en.wikipedia.org/wiki/Software_requirements_specification Software-Requirements-Specifications].&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Evaluation and reviews of the Spiral Model might require advanced skills, though not true in all cases.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;In order to effectively implement this model, the [http://en.wikipedia.org/wiki/Protocol_%28object-oriented_programming%29 protocols] and standards must be followed carefully, as any small change in the implementation might cause considerable changes to the development process.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;If the requirements of the project change in the future, using the same prototype might get difficult.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Involves extensive documentation in the intermediate stages during which management of the project might get difficult.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Not suitable for Low Risk projects.&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Applications of The Spiral Model ==&lt;br /&gt;
&lt;br /&gt;
The Spiral model is used most often in large projects and needs constant review to stay on target. Given the disadvantages of the Spiral Model that are cited above, the Agile Software Development Model can act as a viable alternative. &amp;lt;ref name=”refz”&amp;gt; Applications of Spiral Model http://en.wikipedia.org/wiki/Spiral_model#Applications&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
- The military had adopted the spiral model for its Future Combat Systems program. The FCS&lt;br /&gt;
project was eventually canceled after six years (2003–2009). it had a two year iteration (spiral).&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
- The FCS originally should have resulted in three consecutive prototypes (one prototype per spiral—every two years).&lt;br /&gt;
The above application of the Spiral Model indicates that the spiral model thus may suit small&lt;br /&gt;
(up to $3 million) software applications and not a complicated ($3 billion) distributed,&lt;br /&gt;
interoperable, system of systems.&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
- Also it is reasonable to use the spiral model in projects where business goals are unstable but&lt;br /&gt;
the architecture is realized well enough to provide high loading and stress ability.&lt;br /&gt;
For example, the Spiral Architecture Driven Development is a spiral-based Software&lt;br /&gt;
Development Life Cycle which shows one possible way how to reduce the risk of non-effective       &lt;br /&gt;
architectures with the help of a spiral model in conjunction with the best practices from other models.&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
The Spiral model has achieved a high level of software support environment capability in a very short period and provides the flexibility necessary to accommodate a high range of technical alternatives and user objectives. Partial implementation of Spiral model such as the Risk Management Plan are compatible with most of the current process models and helpful in minimizing risk associated with the projects.&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
[http://users.csc.calpoly.edu/~jdalbey/308/Lectures/SoftwareProcessModels.html Software Process Models]&amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.ctg.albany.edu/publications/reports/survey_of_sysdev?chapter=9 Spiral Model Survey]&amp;lt;br/&amp;gt;&lt;br /&gt;
[http://searchsoftwarequality.techtarget.com/definition/spiral-model Spiral Model Design]&amp;lt;br/&amp;gt;&lt;br /&gt;
[http://myprojects.kostigoff.net/methodology/development_models/development_models.htm Understanding Spiral Models]&amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.youtube.com/watch?v=YMbAdgb6pG8 Software Models]&amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.buzzle.com/editorials/1-13-2005-64082.asp Introduction to the Spiral Model]&lt;br /&gt;
[http://my.safaribooksonline.com/book/software-engineering-and-development/9781934015551/software-development-life-cycle-models/spiral_model The Spiral Software Model]&amp;lt;br/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Spangul</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2012/ch2a_2w3_sm&amp;diff=68799</id>
		<title>CSC/ECE 517 Fall 2012/ch2a 2w3 sm</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2012/ch2a_2w3_sm&amp;diff=68799"/>
		<updated>2012-10-27T01:39:59Z</updated>

		<summary type="html">&lt;p&gt;Spangul: /* Advantages of The Spiral Model */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;font size=&amp;quot;5&amp;quot;&amp;gt;The Spiral Model&amp;lt;/font&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
== Introduction ==&lt;br /&gt;
The spiral model is a [[http://en.wikipedia.org/wiki/Software_development_process software development process]] that combines the elements of both design and prototyping-in-stages.This model represents a risk-driven approach to software process analysis. Also known as the spiral lifecycle model (or spiral development), it is a systems development method (SDM) used in [http://en.wikipedia.org/wiki/Information_technology information technology (IT)]. This model incorporates many of the strengths of other models and resolves many of their difficulties. It combines the advantages of top-down and bottom-up concepts and promotes quality assurance through prototyping at each stage.Thus it includes the features of both prototyping and the [http://en.wikipedia.org/wiki/Waterfall_model waterfall model] but provides emphasis in a key area which is mostly neglected by other methodologies: deliberate iterative risk analysis.&lt;br /&gt;
Generally,the spiral model is intended for large, expensive and complicated projects.This approach incorporates elements of specification-driven, prototype-driven process methods, together with the classic software life cycle.&amp;lt;ref name=”aaa”&amp;gt; Introduction - http://en.wikipedia.org/wiki/Spiral_model &amp;lt;/ref&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== History ==&lt;br /&gt;
The spiral model was defined by [http://en.wikipedia.org/wiki/Barry_Boehm Barry Boehm] in his 1986 article &amp;quot;A Spiral Model of Software Development and Enhancement&amp;quot;.&amp;lt;ref name=&amp;quot;bbb&amp;quot;&amp;gt; History of Spiral Model http://www.princeton.edu/~achaney/tmve/wiki100k/docs/Spiral_model.html&amp;lt;/ref&amp;gt; This model was not the first model to discuss [http://en.wikipedia.org/wiki/Iterative_development iterative development] but it was the first model to explain why the iteration matters.  It was created primarily to offer an alternative to the document-driven and code-driven development models, such as the waterfall model, which were being found to be far too prescriptive and unable to handle the inherent risk in [http://en.wikipedia.org/wiki/Software_development software development].&amp;lt;br/&amp;gt;&lt;br /&gt;
Each phase is characterized by setting a design goal initially and ends with the client (who may be internal) reviewing the progress thus far. Analysis and engineering efforts are applied at each phase of the project, all the way till  the end goal of the project is achieved. The key characteristic of a Spiral model is risk management at regular stages in the [http://en.wikipedia.org/wiki/Systems_Development_Life_Cycle development cycle]&lt;br /&gt;
&lt;br /&gt;
== Illustration ==&lt;br /&gt;
&lt;br /&gt;
Spiral model is also called as “meta-model”, The name comes from the way the Spiral Model incorporates other Models in the Software Development Life-Cycle. Both waterfall and [http://en.wikipedia.org/wiki/Prototype prototype] models are those that are used most often in it. The Software development progresses systematically over the loops (adhering to waterfall approach) and at the same time prototypes are created and displayed to the user after completion of various phases. This ensures a systematic approach with minimal chances of risks.&amp;lt;Ref name=&amp;quot;reft&amp;quot;&amp;gt;Illustration http://www.ianswer4u.com/2011/12/spiral-model-advantages-and.html&amp;lt;/ref&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;[[File:Image002.png]]&amp;lt;/center&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
The spiral model is commonly known as an evolutionary development process.Commonly used as a lifecycle model for software development, the spiral model is similar to the iterative design process as there are repeated iterations (called cycles) in which successive attempts are made to develop a solution.It does so by representing iterative development cycles as an expanding spiral, with inner cycles denoting early system analysis and prototyping, and outer cycles denoting the classic software life cycle.&lt;br /&gt;
The radial dimension denotes cumulative development costs, and the angular dimension denotes progress made in accomplishing each development spiral.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
The steps in the spiral model can be generalized as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The [http://en.wikipedia.org/wiki/Software_requirements requirements] for building the new system are gathered using different methods and defined in as much detail as possible. The methods usually involve interviewing a number of users representing all the external or internal users, preparing questionnaires regarding the other aspects of the existing system.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Based on the requirements gathered, a preliminary design is created for the new system.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;A first prototype of the new system is constructed from the [http://en.wikipedia.org/wiki/Engineering_design_process#Preliminary_design preliminary design]. This is usually a scaled-down system that implements the core functionality and represents an approximation of the characteristics of the final product.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;A second prototype is evolved by a fourfold procedure: &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Evaluating the first prototype in terms of its strengths, weaknesses, and risks based on customer feedback.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Defining more detailed requirements of the second prototype&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;planning and designing the second prototype&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;constructing and testing the second prototype.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;At the customer's option, the entire project can be aborted if the risk is deemed too great. Risk factors might involve development cost overruns, operating-cost miscalculation, or any other factor that could, in the customer's judgment, result in a less-than-satisfactory final product.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The existing prototype is evaluated in the same manner as was the previous prototype, and, if unsatisfactory, another prototype is developed from it according to the fourfold procedure outlined above.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The preceding steps are iterated until the customer is satisfied with the final product, that is refined prototype.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The final system is then constructed, based on the refined prototype.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The final system is thoroughly evaluated and tested. Routine [http://en.wikipedia.org/wiki/Software_maintenance maintenance] is carried out on a continuing basis to prevent large-scale failures and to minimize downtime.&amp;lt;/li&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Advantages of The Spiral Model==&lt;br /&gt;
&lt;br /&gt;
Spiral Model is one of the most used Software Development Models and is known for it’s efficiency, accuracy and straight forward design. Following are various advantages of the Spiral Model:&amp;lt;ref name=&amp;quot;refx&amp;quot;&amp;gt;Spiral Model - Advantages    &lt;br /&gt;
 http://www.ianswer4u.com/2011/12/spiral-model-advantages-and.html#axzz2ARqc6EGX&amp;lt;/ref&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The Spiral Life-Cycle Model is one of the most flexible SDLC models in software Development. Various phases in Development can be determined by the [http://en.wikipedia.org/wiki/Project_manager project manager], based on the complexity of the project.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Monitoring is very easy, effective and efficient. Each phase, as well as each loop, requires a review from concerned people. This facilitates transparency in the model.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[http://en.wikipedia.org/wiki/Risk_management Risk management] is one of the in-built features of the model, which makes up for an added advantage compared to other models.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Changes in the model can be introduced at a later stage. The person in charge of the project is given enough flexibility to incorporate these changes.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Estimates about the project including the time taken, cost and schedule become more accurate as the development progresses.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The Spiral Model is highly adaptive for High-Risk projects, where business needs may be unstable.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;A heavier emphasis is present on [http://en.wikipedia.org/wiki/Modding Customization], ensuring heavy customizability.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Disadvantages of the Spiral Model ==&lt;br /&gt;
&lt;br /&gt;
Despite the various advantages Spiral Model brings in, it also has a few considerable disadvantages:&amp;lt;ref name=&amp;quot;refy&amp;quot;&amp;gt;Spiral Model - Disadvantages  http://www.ianswer4u.com/2011/12/spiral-model-advantages-and.html#axzz2ARqc6EGX&amp;lt;/ref&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The Spiral Model might involve higher costs, although it can accurately estimate the numbers.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The model might become complicated even for projects with a clear Software-Requirements-Specifications.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Evaluation and reviews of the Spiral Model might require advanced skills, though not true in all cases.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;In order to effectively implement this model, the protocols and standards must be followed carefully, as any small change in the implementation might cause considerable changes to the development process.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;If the requirements of the project change in the future, using the same prototype might get difficult.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Involves extensive documentation in the intermediate stages during which management of the project might get difficult.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Not suitable for Low Risk projects.&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
== Applications of The Spiral Model ==&lt;br /&gt;
&lt;br /&gt;
The Spiral model is used most often in large projects and needs constant review to stay on target. Given the disadvantages of the Spiral Model that are cited above, the Agile Software Development Model can act as a viable alternative. &amp;lt;ref name=”refz”&amp;gt; Applications of Spiral Model http://en.wikipedia.org/wiki/Spiral_model#Applications&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
- The military had adopted the spiral model for its Future Combat Systems program. The FCS&lt;br /&gt;
project was eventually canceled after six years (2003–2009). it had a two year iteration (spiral).&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
- The FCS originally should have resulted in three consecutive prototypes (one prototype per spiral—every two years).&lt;br /&gt;
The above application of the Spiral Model indicates that the spiral model thus may suit small&lt;br /&gt;
(up to $3 million) software applications and not a complicated ($3 billion) distributed,&lt;br /&gt;
interoperable, system of systems.&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
- Also it is reasonable to use the spiral model in projects where business goals are unstable but&lt;br /&gt;
the architecture is realized well enough to provide high loading and stress ability.&lt;br /&gt;
For example, the Spiral Architecture Driven Development is a spiral-based Software&lt;br /&gt;
Development Life Cycle which shows one possible way how to reduce the risk of non-effective       &lt;br /&gt;
architectures with the help of a spiral model in conjunction with the best practices from other models.&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
The Spiral model has achieved a high level of software support environment capability in a very short period and provides the flexibility necessary to accommodate a high range of technical alternatives and user objectives. Partial implementation of Spiral model such as the Risk Management Plan are compatible with most of the current process models and helpful in minimizing risk associated with the projects.&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
[http://users.csc.calpoly.edu/~jdalbey/308/Lectures/SoftwareProcessModels.html Software Process Models]&amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.ctg.albany.edu/publications/reports/survey_of_sysdev?chapter=9 Spiral Model Survey]&amp;lt;br/&amp;gt;&lt;br /&gt;
[http://searchsoftwarequality.techtarget.com/definition/spiral-model Spiral Model Design]&amp;lt;br/&amp;gt;&lt;br /&gt;
[http://myprojects.kostigoff.net/methodology/development_models/development_models.htm Understanding Spiral Models]&amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.youtube.com/watch?v=YMbAdgb6pG8 Software Models]&amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.buzzle.com/editorials/1-13-2005-64082.asp Introduction to the Spiral Model]&lt;br /&gt;
[http://my.safaribooksonline.com/book/software-engineering-and-development/9781934015551/software-development-life-cycle-models/spiral_model The Spiral Software Model]&amp;lt;br/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Spangul</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2012/ch2a_2w3_sm&amp;diff=68793</id>
		<title>CSC/ECE 517 Fall 2012/ch2a 2w3 sm</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2012/ch2a_2w3_sm&amp;diff=68793"/>
		<updated>2012-10-27T01:36:41Z</updated>

		<summary type="html">&lt;p&gt;Spangul: /* Description */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;font size=&amp;quot;5&amp;quot;&amp;gt;The Spiral Model&amp;lt;/font&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
== Introduction ==&lt;br /&gt;
The spiral model is a [[http://en.wikipedia.org/wiki/Software_development_process software development process]] that combines the elements of both design and prototyping-in-stages.This model represents a risk-driven approach to software process analysis. Also known as the spiral lifecycle model (or spiral development), it is a systems development method (SDM) used in [http://en.wikipedia.org/wiki/Information_technology information technology (IT)]. This model incorporates many of the strengths of other models and resolves many of their difficulties. It combines the advantages of top-down and bottom-up concepts and promotes quality assurance through prototyping at each stage.Thus it includes the features of both prototyping and the [http://en.wikipedia.org/wiki/Waterfall_model waterfall model] but provides emphasis in a key area which is mostly neglected by other methodologies: deliberate iterative risk analysis.&lt;br /&gt;
Generally,the spiral model is intended for large, expensive and complicated projects.This approach incorporates elements of specification-driven, prototype-driven process methods, together with the classic software life cycle.&amp;lt;ref name=”aaa”&amp;gt; Introduction - http://en.wikipedia.org/wiki/Spiral_model &amp;lt;/ref&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== History ==&lt;br /&gt;
The spiral model was defined by [http://en.wikipedia.org/wiki/Barry_Boehm Barry Boehm] in his 1986 article &amp;quot;A Spiral Model of Software Development and Enhancement&amp;quot;.&amp;lt;ref name=&amp;quot;bbb&amp;quot;&amp;gt; History of Spiral Model http://www.princeton.edu/~achaney/tmve/wiki100k/docs/Spiral_model.html&amp;lt;/ref&amp;gt; This model was not the first model to discuss [http://en.wikipedia.org/wiki/Iterative_development iterative development] but it was the first model to explain why the iteration matters.  It was created primarily to offer an alternative to the document-driven and code-driven development models, such as the waterfall model, which were being found to be far too prescriptive and unable to handle the inherent risk in [http://en.wikipedia.org/wiki/Software_development software development].&amp;lt;br/&amp;gt;&lt;br /&gt;
Each phase is characterized by setting a design goal initially and ends with the client (who may be internal) reviewing the progress thus far. Analysis and engineering efforts are applied at each phase of the project, all the way till  the end goal of the project is achieved. The key characteristic of a Spiral model is risk management at regular stages in the [http://en.wikipedia.org/wiki/Systems_Development_Life_Cycle development cycle]&lt;br /&gt;
&lt;br /&gt;
== Illustration ==&lt;br /&gt;
&lt;br /&gt;
Spiral model is also called as “meta-model”, The name comes from the way the Spiral Model incorporates other Models in the Software Development Life-Cycle. Both waterfall and [http://en.wikipedia.org/wiki/Prototype prototype] models are those that are used most often in it. The Software development progresses systematically over the loops (adhering to waterfall approach) and at the same time prototypes are created and displayed to the user after completion of various phases. This ensures a systematic approach with minimal chances of risks.&amp;lt;Ref name=&amp;quot;reft&amp;quot;&amp;gt;Illustration http://www.ianswer4u.com/2011/12/spiral-model-advantages-and.html&amp;lt;/ref&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;[[File:Image002.png]]&amp;lt;/center&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
The spiral model is commonly known as an evolutionary development process.Commonly used as a lifecycle model for software development, the spiral model is similar to the iterative design process as there are repeated iterations (called cycles) in which successive attempts are made to develop a solution.It does so by representing iterative development cycles as an expanding spiral, with inner cycles denoting early system analysis and prototyping, and outer cycles denoting the classic software life cycle.&lt;br /&gt;
The radial dimension denotes cumulative development costs, and the angular dimension denotes progress made in accomplishing each development spiral.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
The steps in the spiral model can be generalized as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The [http://en.wikipedia.org/wiki/Software_requirements requirements] for building the new system are gathered using different methods and defined in as much detail as possible. The methods usually involve interviewing a number of users representing all the external or internal users, preparing questionnaires regarding the other aspects of the existing system.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Based on the requirements gathered, a preliminary design is created for the new system.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;A first prototype of the new system is constructed from the [http://en.wikipedia.org/wiki/Engineering_design_process#Preliminary_design preliminary design]. This is usually a scaled-down system that implements the core functionality and represents an approximation of the characteristics of the final product.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;A second prototype is evolved by a fourfold procedure: &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Evaluating the first prototype in terms of its strengths, weaknesses, and risks based on customer feedback.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Defining more detailed requirements of the second prototype&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;planning and designing the second prototype&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;constructing and testing the second prototype.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;At the customer's option, the entire project can be aborted if the risk is deemed too great. Risk factors might involve development cost overruns, operating-cost miscalculation, or any other factor that could, in the customer's judgment, result in a less-than-satisfactory final product.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The existing prototype is evaluated in the same manner as was the previous prototype, and, if unsatisfactory, another prototype is developed from it according to the fourfold procedure outlined above.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The preceding steps are iterated until the customer is satisfied with the final product, that is refined prototype.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The final system is then constructed, based on the refined prototype.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The final system is thoroughly evaluated and tested. Routine [http://en.wikipedia.org/wiki/Software_maintenance maintenance] is carried out on a continuing basis to prevent large-scale failures and to minimize downtime.&amp;lt;/li&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Advantages of The Spiral Model==&lt;br /&gt;
&lt;br /&gt;
Spiral Model is one of the most used Software Development Models and is known for it’s efficiency, accuracy and straight forward design. Following are various advantages of the Spiral Model:&amp;lt;ref name=&amp;quot;refx&amp;quot;&amp;gt;Spiral Model - Advantages    &lt;br /&gt;
 http://www.ianswer4u.com/2011/12/spiral-model-advantages-and.html#axzz2ARqc6EGX&amp;lt;/ref&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The Spiral Life-Cycle Model is one of the most flexible SDLC models in software Development. Various phases in Development can be determined by the project manager, based on the complexity of the project.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Monitoring is very easy, effective and efficient. Each phase, as well as each loop, requires a review from concerned people. This facilitates transparency in the model.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Risk management is one of the in-built features of the model, which makes up for an added advantage compared to other models.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Changes in the model can be introduced at a later stage. The person in charge of the project is given enough flexibility to incorporate these changes.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Estimates about the project including the time taken, cost and schedule become more accurate as the development progresses.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The Spiral Model is highly adaptive for High-Risk projects, where business needs may be unstable.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;A heavier emphasis is present on Customization, ensuring heavy customizability.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
== Disadvantages of the Spiral Model ==&lt;br /&gt;
&lt;br /&gt;
Despite the various advantages Spiral Model brings in, it also has a few considerable disadvantages:&amp;lt;ref name=&amp;quot;refy&amp;quot;&amp;gt;Spiral Model - Disadvantages  http://www.ianswer4u.com/2011/12/spiral-model-advantages-and.html#axzz2ARqc6EGX&amp;lt;/ref&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The Spiral Model might involve higher costs, although it can accurately estimate the numbers.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The model might become complicated even for projects with a clear Software-Requirements-Specifications.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Evaluation and reviews of the Spiral Model might require advanced skills, though not true in all cases.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;In order to effectively implement this model, the protocols and standards must be followed carefully, as any small change in the implementation might cause considerable changes to the development process.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;If the requirements of the project change in the future, using the same prototype might get difficult.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Involves extensive documentation in the intermediate stages during which management of the project might get difficult.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Not suitable for Low Risk projects.&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
== Applications of The Spiral Model ==&lt;br /&gt;
&lt;br /&gt;
The Spiral model is used most often in large projects and needs constant review to stay on target. Given the disadvantages of the Spiral Model that are cited above, the Agile Software Development Model can act as a viable alternative. &amp;lt;ref name=”refz”&amp;gt; Applications of Spiral Model http://en.wikipedia.org/wiki/Spiral_model#Applications&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
- The military had adopted the spiral model for its Future Combat Systems program. The FCS&lt;br /&gt;
project was eventually canceled after six years (2003–2009). it had a two year iteration (spiral).&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
- The FCS originally should have resulted in three consecutive prototypes (one prototype per spiral—every two years).&lt;br /&gt;
The above application of the Spiral Model indicates that the spiral model thus may suit small&lt;br /&gt;
(up to $3 million) software applications and not a complicated ($3 billion) distributed,&lt;br /&gt;
interoperable, system of systems.&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
- Also it is reasonable to use the spiral model in projects where business goals are unstable but&lt;br /&gt;
the architecture is realized well enough to provide high loading and stress ability.&lt;br /&gt;
For example, the Spiral Architecture Driven Development is a spiral-based Software&lt;br /&gt;
Development Life Cycle which shows one possible way how to reduce the risk of non-effective       &lt;br /&gt;
architectures with the help of a spiral model in conjunction with the best practices from other models.&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
The Spiral model has achieved a high level of software support environment capability in a very short period and provides the flexibility necessary to accommodate a high range of technical alternatives and user objectives. Partial implementation of Spiral model such as the Risk Management Plan are compatible with most of the current process models and helpful in minimizing risk associated with the projects.&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
[http://users.csc.calpoly.edu/~jdalbey/308/Lectures/SoftwareProcessModels.html Software Process Models]&amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.ctg.albany.edu/publications/reports/survey_of_sysdev?chapter=9 Spiral Model Survey]&amp;lt;br/&amp;gt;&lt;br /&gt;
[http://searchsoftwarequality.techtarget.com/definition/spiral-model Spiral Model Design]&amp;lt;br/&amp;gt;&lt;br /&gt;
[http://myprojects.kostigoff.net/methodology/development_models/development_models.htm Understanding Spiral Models]&amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.youtube.com/watch?v=YMbAdgb6pG8 Software Models]&amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.buzzle.com/editorials/1-13-2005-64082.asp Introduction to the Spiral Model]&lt;br /&gt;
[http://my.safaribooksonline.com/book/software-engineering-and-development/9781934015551/software-development-life-cycle-models/spiral_model The Spiral Software Model]&amp;lt;br/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Spangul</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2012/ch2a_2w3_sm&amp;diff=68789</id>
		<title>CSC/ECE 517 Fall 2012/ch2a 2w3 sm</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2012/ch2a_2w3_sm&amp;diff=68789"/>
		<updated>2012-10-27T01:34:32Z</updated>

		<summary type="html">&lt;p&gt;Spangul: /* Illustration */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;font size=&amp;quot;5&amp;quot;&amp;gt;The Spiral Model&amp;lt;/font&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
== Introduction ==&lt;br /&gt;
The spiral model is a [[http://en.wikipedia.org/wiki/Software_development_process software development process]] that combines the elements of both design and prototyping-in-stages.This model represents a risk-driven approach to software process analysis. Also known as the spiral lifecycle model (or spiral development), it is a systems development method (SDM) used in [http://en.wikipedia.org/wiki/Information_technology information technology (IT)]. This model incorporates many of the strengths of other models and resolves many of their difficulties. It combines the advantages of top-down and bottom-up concepts and promotes quality assurance through prototyping at each stage.Thus it includes the features of both prototyping and the [http://en.wikipedia.org/wiki/Waterfall_model waterfall model] but provides emphasis in a key area which is mostly neglected by other methodologies: deliberate iterative risk analysis.&lt;br /&gt;
Generally,the spiral model is intended for large, expensive and complicated projects.This approach incorporates elements of specification-driven, prototype-driven process methods, together with the classic software life cycle.&amp;lt;ref name=”aaa”&amp;gt; Introduction - http://en.wikipedia.org/wiki/Spiral_model &amp;lt;/ref&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== History ==&lt;br /&gt;
The spiral model was defined by [http://en.wikipedia.org/wiki/Barry_Boehm Barry Boehm] in his 1986 article &amp;quot;A Spiral Model of Software Development and Enhancement&amp;quot;.&amp;lt;ref name=&amp;quot;bbb&amp;quot;&amp;gt; History of Spiral Model http://www.princeton.edu/~achaney/tmve/wiki100k/docs/Spiral_model.html&amp;lt;/ref&amp;gt; This model was not the first model to discuss [http://en.wikipedia.org/wiki/Iterative_development iterative development] but it was the first model to explain why the iteration matters.  It was created primarily to offer an alternative to the document-driven and code-driven development models, such as the waterfall model, which were being found to be far too prescriptive and unable to handle the inherent risk in [http://en.wikipedia.org/wiki/Software_development software development].&amp;lt;br/&amp;gt;&lt;br /&gt;
Each phase is characterized by setting a design goal initially and ends with the client (who may be internal) reviewing the progress thus far. Analysis and engineering efforts are applied at each phase of the project, all the way till  the end goal of the project is achieved. The key characteristic of a Spiral model is risk management at regular stages in the [http://en.wikipedia.org/wiki/Systems_Development_Life_Cycle development cycle]&lt;br /&gt;
&lt;br /&gt;
== Illustration ==&lt;br /&gt;
&lt;br /&gt;
Spiral model is also called as “meta-model”, The name comes from the way the Spiral Model incorporates other Models in the Software Development Life-Cycle. Both waterfall and [http://en.wikipedia.org/wiki/Prototype prototype] models are those that are used most often in it. The Software development progresses systematically over the loops (adhering to waterfall approach) and at the same time prototypes are created and displayed to the user after completion of various phases. This ensures a systematic approach with minimal chances of risks.&amp;lt;Ref name=&amp;quot;reft&amp;quot;&amp;gt;Illustration http://www.ianswer4u.com/2011/12/spiral-model-advantages-and.html&amp;lt;/ref&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;[[File:Image002.png]]&amp;lt;/center&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
The spiral model is commonly known as an evolutionary development process.Commonly used as a lifecycle model for software development, the spiral model is similar to the iterative design process as there are repeated iterations (called cycles) in which successive attempts are made to develop a solution.It does so by representing iterative development cycles as an expanding spiral, with inner cycles denoting early system analysis and prototyping, and outer cycles denoting the classic software life cycle.&lt;br /&gt;
The radial dimension denotes cumulative development costs, and the angular dimension denotes progress made in accomplishing each development spiral.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
The steps in the spiral model can be generalized as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The requirements for building the new system are gathered using different methods and defined in as much detail as possible. The methods usually involve interviewing a number of users representing all the external or internal users, preparing questionnaires regarding the other aspects of the existing system.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Based on the requirements gathered, a preliminary design is created for the new system.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;A first prototype of the new system is constructed from the preliminary design. This is usually a scaled-down system that implements the core functionality and represents an approximation of the characteristics of the final product.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;A second prototype is evolved by a fourfold procedure: &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Evaluating the first prototype in terms of its strengths, weaknesses, and risks based on customer feedback.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Defining more detailed requirements of the second prototype&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;planning and designing the second prototype&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;constructing and testing the second prototype.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;At the customer's option, the entire project can be aborted if the risk is deemed too great. Risk factors might involve development cost overruns, operating-cost miscalculation, or any other factor that could, in the customer's judgment, result in a less-than-satisfactory final product.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The existing prototype is evaluated in the same manner as was the previous prototype, and, if unsatisfactory, another prototype is developed from it according to the fourfold procedure outlined above.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The preceding steps are iterated until the customer is satisfied with the final product, that is refined prototype.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The final system is then constructed, based on the refined prototype.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;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.&amp;lt;/li&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
== Advantages of The Spiral Model==&lt;br /&gt;
&lt;br /&gt;
Spiral Model is one of the most used Software Development Models and is known for it’s efficiency, accuracy and straight forward design. Following are various advantages of the Spiral Model:&amp;lt;ref name=&amp;quot;refx&amp;quot;&amp;gt;Spiral Model - Advantages    &lt;br /&gt;
 http://www.ianswer4u.com/2011/12/spiral-model-advantages-and.html#axzz2ARqc6EGX&amp;lt;/ref&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The Spiral Life-Cycle Model is one of the most flexible SDLC models in software Development. Various phases in Development can be determined by the project manager, based on the complexity of the project.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Monitoring is very easy, effective and efficient. Each phase, as well as each loop, requires a review from concerned people. This facilitates transparency in the model.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Risk management is one of the in-built features of the model, which makes up for an added advantage compared to other models.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Changes in the model can be introduced at a later stage. The person in charge of the project is given enough flexibility to incorporate these changes.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Estimates about the project including the time taken, cost and schedule become more accurate as the development progresses.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The Spiral Model is highly adaptive for High-Risk projects, where business needs may be unstable.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;A heavier emphasis is present on Customization, ensuring heavy customizability.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
== Disadvantages of the Spiral Model ==&lt;br /&gt;
&lt;br /&gt;
Despite the various advantages Spiral Model brings in, it also has a few considerable disadvantages:&amp;lt;ref name=&amp;quot;refy&amp;quot;&amp;gt;Spiral Model - Disadvantages  http://www.ianswer4u.com/2011/12/spiral-model-advantages-and.html#axzz2ARqc6EGX&amp;lt;/ref&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The Spiral Model might involve higher costs, although it can accurately estimate the numbers.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The model might become complicated even for projects with a clear Software-Requirements-Specifications.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Evaluation and reviews of the Spiral Model might require advanced skills, though not true in all cases.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;In order to effectively implement this model, the protocols and standards must be followed carefully, as any small change in the implementation might cause considerable changes to the development process.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;If the requirements of the project change in the future, using the same prototype might get difficult.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Involves extensive documentation in the intermediate stages during which management of the project might get difficult.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Not suitable for Low Risk projects.&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
== Applications of The Spiral Model ==&lt;br /&gt;
&lt;br /&gt;
The Spiral model is used most often in large projects and needs constant review to stay on target. Given the disadvantages of the Spiral Model that are cited above, the Agile Software Development Model can act as a viable alternative. &amp;lt;ref name=”refz”&amp;gt; Applications of Spiral Model http://en.wikipedia.org/wiki/Spiral_model#Applications&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
- The military had adopted the spiral model for its Future Combat Systems program. The FCS&lt;br /&gt;
project was eventually canceled after six years (2003–2009). it had a two year iteration (spiral).&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
- The FCS originally should have resulted in three consecutive prototypes (one prototype per spiral—every two years).&lt;br /&gt;
The above application of the Spiral Model indicates that the spiral model thus may suit small&lt;br /&gt;
(up to $3 million) software applications and not a complicated ($3 billion) distributed,&lt;br /&gt;
interoperable, system of systems.&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
- Also it is reasonable to use the spiral model in projects where business goals are unstable but&lt;br /&gt;
the architecture is realized well enough to provide high loading and stress ability.&lt;br /&gt;
For example, the Spiral Architecture Driven Development is a spiral-based Software&lt;br /&gt;
Development Life Cycle which shows one possible way how to reduce the risk of non-effective       &lt;br /&gt;
architectures with the help of a spiral model in conjunction with the best practices from other models.&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
The Spiral model has achieved a high level of software support environment capability in a very short period and provides the flexibility necessary to accommodate a high range of technical alternatives and user objectives. Partial implementation of Spiral model such as the Risk Management Plan are compatible with most of the current process models and helpful in minimizing risk associated with the projects.&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
[http://users.csc.calpoly.edu/~jdalbey/308/Lectures/SoftwareProcessModels.html Software Process Models]&amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.ctg.albany.edu/publications/reports/survey_of_sysdev?chapter=9 Spiral Model Survey]&amp;lt;br/&amp;gt;&lt;br /&gt;
[http://searchsoftwarequality.techtarget.com/definition/spiral-model Spiral Model Design]&amp;lt;br/&amp;gt;&lt;br /&gt;
[http://myprojects.kostigoff.net/methodology/development_models/development_models.htm Understanding Spiral Models]&amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.youtube.com/watch?v=YMbAdgb6pG8 Software Models]&amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.buzzle.com/editorials/1-13-2005-64082.asp Introduction to the Spiral Model]&lt;br /&gt;
[http://my.safaribooksonline.com/book/software-engineering-and-development/9781934015551/software-development-life-cycle-models/spiral_model The Spiral Software Model]&amp;lt;br/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Spangul</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2012/ch2a_2w3_sm&amp;diff=68786</id>
		<title>CSC/ECE 517 Fall 2012/ch2a 2w3 sm</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2012/ch2a_2w3_sm&amp;diff=68786"/>
		<updated>2012-10-27T01:33:43Z</updated>

		<summary type="html">&lt;p&gt;Spangul: /* History */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;font size=&amp;quot;5&amp;quot;&amp;gt;The Spiral Model&amp;lt;/font&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
== Introduction ==&lt;br /&gt;
The spiral model is a [[http://en.wikipedia.org/wiki/Software_development_process software development process]] that combines the elements of both design and prototyping-in-stages.This model represents a risk-driven approach to software process analysis. Also known as the spiral lifecycle model (or spiral development), it is a systems development method (SDM) used in [http://en.wikipedia.org/wiki/Information_technology information technology (IT)]. This model incorporates many of the strengths of other models and resolves many of their difficulties. It combines the advantages of top-down and bottom-up concepts and promotes quality assurance through prototyping at each stage.Thus it includes the features of both prototyping and the [http://en.wikipedia.org/wiki/Waterfall_model waterfall model] but provides emphasis in a key area which is mostly neglected by other methodologies: deliberate iterative risk analysis.&lt;br /&gt;
Generally,the spiral model is intended for large, expensive and complicated projects.This approach incorporates elements of specification-driven, prototype-driven process methods, together with the classic software life cycle.&amp;lt;ref name=”aaa”&amp;gt; Introduction - http://en.wikipedia.org/wiki/Spiral_model &amp;lt;/ref&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== History ==&lt;br /&gt;
The spiral model was defined by [http://en.wikipedia.org/wiki/Barry_Boehm Barry Boehm] in his 1986 article &amp;quot;A Spiral Model of Software Development and Enhancement&amp;quot;.&amp;lt;ref name=&amp;quot;bbb&amp;quot;&amp;gt; History of Spiral Model http://www.princeton.edu/~achaney/tmve/wiki100k/docs/Spiral_model.html&amp;lt;/ref&amp;gt; This model was not the first model to discuss [http://en.wikipedia.org/wiki/Iterative_development iterative development] but it was the first model to explain why the iteration matters.  It was created primarily to offer an alternative to the document-driven and code-driven development models, such as the waterfall model, which were being found to be far too prescriptive and unable to handle the inherent risk in [http://en.wikipedia.org/wiki/Software_development software development].&amp;lt;br/&amp;gt;&lt;br /&gt;
Each phase is characterized by setting a design goal initially and ends with the client (who may be internal) reviewing the progress thus far. Analysis and engineering efforts are applied at each phase of the project, all the way till  the end goal of the project is achieved. The key characteristic of a Spiral model is risk management at regular stages in the [http://en.wikipedia.org/wiki/Systems_Development_Life_Cycle development cycle]&lt;br /&gt;
&lt;br /&gt;
== Illustration ==&lt;br /&gt;
&lt;br /&gt;
Spiral model is also called as “meta-model”, The name comes from the way the Spiral Model incorporates other Models in the Software Development Life-Cycle. Both waterfall and prototype models are those that are used most often in it. The Software development progresses systematically over the loops (adhering to waterfall approach) and at the same time prototypes are created and displayed to the user after completion of various phases. This ensures a systematic approach with minimal chances of risks.&amp;lt;Ref name=&amp;quot;reft&amp;quot;&amp;gt;Illustration http://www.ianswer4u.com/2011/12/spiral-model-advantages-and.html&amp;lt;/ref&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;[[File:Image002.png]]&amp;lt;/center&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
The spiral model is commonly known as an evolutionary development process.Commonly used as a lifecycle model for software development, the spiral model is similar to the iterative design process as there are repeated iterations (called cycles) in which successive attempts are made to develop a solution.It does so by representing iterative development cycles as an expanding spiral, with inner cycles denoting early system analysis and prototyping, and outer cycles denoting the classic software life cycle.&lt;br /&gt;
The radial dimension denotes cumulative development costs, and the angular dimension denotes progress made in accomplishing each development spiral.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
The steps in the spiral model can be generalized as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The requirements for building the new system are gathered using different methods and defined in as much detail as possible. The methods usually involve interviewing a number of users representing all the external or internal users, preparing questionnaires regarding the other aspects of the existing system.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Based on the requirements gathered, a preliminary design is created for the new system.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;A first prototype of the new system is constructed from the preliminary design. This is usually a scaled-down system that implements the core functionality and represents an approximation of the characteristics of the final product.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;A second prototype is evolved by a fourfold procedure: &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Evaluating the first prototype in terms of its strengths, weaknesses, and risks based on customer feedback.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Defining more detailed requirements of the second prototype&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;planning and designing the second prototype&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;constructing and testing the second prototype.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;At the customer's option, the entire project can be aborted if the risk is deemed too great. Risk factors might involve development cost overruns, operating-cost miscalculation, or any other factor that could, in the customer's judgment, result in a less-than-satisfactory final product.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The existing prototype is evaluated in the same manner as was the previous prototype, and, if unsatisfactory, another prototype is developed from it according to the fourfold procedure outlined above.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The preceding steps are iterated until the customer is satisfied with the final product, that is refined prototype.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The final system is then constructed, based on the refined prototype.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;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.&amp;lt;/li&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
== Advantages of The Spiral Model==&lt;br /&gt;
&lt;br /&gt;
Spiral Model is one of the most used Software Development Models and is known for it’s efficiency, accuracy and straight forward design. Following are various advantages of the Spiral Model:&amp;lt;ref name=&amp;quot;refx&amp;quot;&amp;gt;Spiral Model - Advantages    &lt;br /&gt;
 http://www.ianswer4u.com/2011/12/spiral-model-advantages-and.html#axzz2ARqc6EGX&amp;lt;/ref&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The Spiral Life-Cycle Model is one of the most flexible SDLC models in software Development. Various phases in Development can be determined by the project manager, based on the complexity of the project.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Monitoring is very easy, effective and efficient. Each phase, as well as each loop, requires a review from concerned people. This facilitates transparency in the model.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Risk management is one of the in-built features of the model, which makes up for an added advantage compared to other models.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Changes in the model can be introduced at a later stage. The person in charge of the project is given enough flexibility to incorporate these changes.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Estimates about the project including the time taken, cost and schedule become more accurate as the development progresses.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The Spiral Model is highly adaptive for High-Risk projects, where business needs may be unstable.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;A heavier emphasis is present on Customization, ensuring heavy customizability.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
== Disadvantages of the Spiral Model ==&lt;br /&gt;
&lt;br /&gt;
Despite the various advantages Spiral Model brings in, it also has a few considerable disadvantages:&amp;lt;ref name=&amp;quot;refy&amp;quot;&amp;gt;Spiral Model - Disadvantages  http://www.ianswer4u.com/2011/12/spiral-model-advantages-and.html#axzz2ARqc6EGX&amp;lt;/ref&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The Spiral Model might involve higher costs, although it can accurately estimate the numbers.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The model might become complicated even for projects with a clear Software-Requirements-Specifications.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Evaluation and reviews of the Spiral Model might require advanced skills, though not true in all cases.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;In order to effectively implement this model, the protocols and standards must be followed carefully, as any small change in the implementation might cause considerable changes to the development process.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;If the requirements of the project change in the future, using the same prototype might get difficult.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Involves extensive documentation in the intermediate stages during which management of the project might get difficult.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Not suitable for Low Risk projects.&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
== Applications of The Spiral Model ==&lt;br /&gt;
&lt;br /&gt;
The Spiral model is used most often in large projects and needs constant review to stay on target. Given the disadvantages of the Spiral Model that are cited above, the Agile Software Development Model can act as a viable alternative. &amp;lt;ref name=”refz”&amp;gt; Applications of Spiral Model http://en.wikipedia.org/wiki/Spiral_model#Applications&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
- The military had adopted the spiral model for its Future Combat Systems program. The FCS&lt;br /&gt;
project was eventually canceled after six years (2003–2009). it had a two year iteration (spiral).&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
- The FCS originally should have resulted in three consecutive prototypes (one prototype per spiral—every two years).&lt;br /&gt;
The above application of the Spiral Model indicates that the spiral model thus may suit small&lt;br /&gt;
(up to $3 million) software applications and not a complicated ($3 billion) distributed,&lt;br /&gt;
interoperable, system of systems.&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
- Also it is reasonable to use the spiral model in projects where business goals are unstable but&lt;br /&gt;
the architecture is realized well enough to provide high loading and stress ability.&lt;br /&gt;
For example, the Spiral Architecture Driven Development is a spiral-based Software&lt;br /&gt;
Development Life Cycle which shows one possible way how to reduce the risk of non-effective       &lt;br /&gt;
architectures with the help of a spiral model in conjunction with the best practices from other models.&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
The Spiral model has achieved a high level of software support environment capability in a very short period and provides the flexibility necessary to accommodate a high range of technical alternatives and user objectives. Partial implementation of Spiral model such as the Risk Management Plan are compatible with most of the current process models and helpful in minimizing risk associated with the projects.&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
[http://users.csc.calpoly.edu/~jdalbey/308/Lectures/SoftwareProcessModels.html Software Process Models]&amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.ctg.albany.edu/publications/reports/survey_of_sysdev?chapter=9 Spiral Model Survey]&amp;lt;br/&amp;gt;&lt;br /&gt;
[http://searchsoftwarequality.techtarget.com/definition/spiral-model Spiral Model Design]&amp;lt;br/&amp;gt;&lt;br /&gt;
[http://myprojects.kostigoff.net/methodology/development_models/development_models.htm Understanding Spiral Models]&amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.youtube.com/watch?v=YMbAdgb6pG8 Software Models]&amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.buzzle.com/editorials/1-13-2005-64082.asp Introduction to the Spiral Model]&lt;br /&gt;
[http://my.safaribooksonline.com/book/software-engineering-and-development/9781934015551/software-development-life-cycle-models/spiral_model The Spiral Software Model]&amp;lt;br/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Spangul</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2012/ch2a_2w3_sm&amp;diff=68780</id>
		<title>CSC/ECE 517 Fall 2012/ch2a 2w3 sm</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2012/ch2a_2w3_sm&amp;diff=68780"/>
		<updated>2012-10-27T01:32:46Z</updated>

		<summary type="html">&lt;p&gt;Spangul: /* History */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;font size=&amp;quot;5&amp;quot;&amp;gt;The Spiral Model&amp;lt;/font&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
== Introduction ==&lt;br /&gt;
The spiral model is a [[http://en.wikipedia.org/wiki/Software_development_process software development process]] that combines the elements of both design and prototyping-in-stages.This model represents a risk-driven approach to software process analysis. Also known as the spiral lifecycle model (or spiral development), it is a systems development method (SDM) used in [http://en.wikipedia.org/wiki/Information_technology information technology (IT)]. This model incorporates many of the strengths of other models and resolves many of their difficulties. It combines the advantages of top-down and bottom-up concepts and promotes quality assurance through prototyping at each stage.Thus it includes the features of both prototyping and the [http://en.wikipedia.org/wiki/Waterfall_model waterfall model] but provides emphasis in a key area which is mostly neglected by other methodologies: deliberate iterative risk analysis.&lt;br /&gt;
Generally,the spiral model is intended for large, expensive and complicated projects.This approach incorporates elements of specification-driven, prototype-driven process methods, together with the classic software life cycle.&amp;lt;ref name=”aaa”&amp;gt; Introduction - http://en.wikipedia.org/wiki/Spiral_model &amp;lt;/ref&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== History ==&lt;br /&gt;
The spiral model was defined by [http://en.wikipedia.org/wiki/Barry_Boehm Barry Boehm] in his 1986 article &amp;quot;A Spiral Model of Software Development and Enhancement&amp;quot;.&amp;lt;ref name=&amp;quot;bbb&amp;quot;&amp;gt; History of Spiral Model http://www.princeton.edu/~achaney/tmve/wiki100k/docs/Spiral_model.html&amp;lt;/ref&amp;gt; This model was not the first model to discuss [http://en.wikipedia.org/wiki/Iterative_development iterative development] but it was the first model to explain why the iteration matters.  It was created primarily to offer an alternative to the document-driven and code-driven development models, such as the waterfall model, which were being found to be far too prescriptive and unable to handle the inherent risk in [http://en.wikipedia.org/wiki/Software_development software development].&amp;lt;br/&amp;gt;&lt;br /&gt;
Each phase is characterized by setting a design goal initially and ends with the client (who may be internal) reviewing the progress thus far. Analysis and engineering efforts are applied at each phase of the project, all the way till  the end goal of the project is achieved. The key characteristic of a Spiral model is risk management at regular stages in the development cycle.&lt;br /&gt;
&lt;br /&gt;
== Illustration ==&lt;br /&gt;
&lt;br /&gt;
Spiral model is also called as “meta-model”, The name comes from the way the Spiral Model incorporates other Models in the Software Development Life-Cycle. Both waterfall and prototype models are those that are used most often in it. The Software development progresses systematically over the loops (adhering to waterfall approach) and at the same time prototypes are created and displayed to the user after completion of various phases. This ensures a systematic approach with minimal chances of risks.&amp;lt;Ref name=&amp;quot;reft&amp;quot;&amp;gt;Illustration http://www.ianswer4u.com/2011/12/spiral-model-advantages-and.html&amp;lt;/ref&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;[[File:Image002.png]]&amp;lt;/center&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
The spiral model is commonly known as an evolutionary development process.Commonly used as a lifecycle model for software development, the spiral model is similar to the iterative design process as there are repeated iterations (called cycles) in which successive attempts are made to develop a solution.It does so by representing iterative development cycles as an expanding spiral, with inner cycles denoting early system analysis and prototyping, and outer cycles denoting the classic software life cycle.&lt;br /&gt;
The radial dimension denotes cumulative development costs, and the angular dimension denotes progress made in accomplishing each development spiral.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
The steps in the spiral model can be generalized as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The requirements for building the new system are gathered using different methods and defined in as much detail as possible. The methods usually involve interviewing a number of users representing all the external or internal users, preparing questionnaires regarding the other aspects of the existing system.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Based on the requirements gathered, a preliminary design is created for the new system.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;A first prototype of the new system is constructed from the preliminary design. This is usually a scaled-down system that implements the core functionality and represents an approximation of the characteristics of the final product.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;A second prototype is evolved by a fourfold procedure: &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Evaluating the first prototype in terms of its strengths, weaknesses, and risks based on customer feedback.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Defining more detailed requirements of the second prototype&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;planning and designing the second prototype&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;constructing and testing the second prototype.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;At the customer's option, the entire project can be aborted if the risk is deemed too great. Risk factors might involve development cost overruns, operating-cost miscalculation, or any other factor that could, in the customer's judgment, result in a less-than-satisfactory final product.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The existing prototype is evaluated in the same manner as was the previous prototype, and, if unsatisfactory, another prototype is developed from it according to the fourfold procedure outlined above.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The preceding steps are iterated until the customer is satisfied with the final product, that is refined prototype.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The final system is then constructed, based on the refined prototype.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;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.&amp;lt;/li&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
== Advantages of The Spiral Model==&lt;br /&gt;
&lt;br /&gt;
Spiral Model is one of the most used Software Development Models and is known for it’s efficiency, accuracy and straight forward design. Following are various advantages of the Spiral Model:&amp;lt;ref name=&amp;quot;refx&amp;quot;&amp;gt;Spiral Model - Advantages    &lt;br /&gt;
 http://www.ianswer4u.com/2011/12/spiral-model-advantages-and.html#axzz2ARqc6EGX&amp;lt;/ref&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The Spiral Life-Cycle Model is one of the most flexible SDLC models in software Development. Various phases in Development can be determined by the project manager, based on the complexity of the project.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Monitoring is very easy, effective and efficient. Each phase, as well as each loop, requires a review from concerned people. This facilitates transparency in the model.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Risk management is one of the in-built features of the model, which makes up for an added advantage compared to other models.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Changes in the model can be introduced at a later stage. The person in charge of the project is given enough flexibility to incorporate these changes.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Estimates about the project including the time taken, cost and schedule become more accurate as the development progresses.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The Spiral Model is highly adaptive for High-Risk projects, where business needs may be unstable.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;A heavier emphasis is present on Customization, ensuring heavy customizability.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
== Disadvantages of the Spiral Model ==&lt;br /&gt;
&lt;br /&gt;
Despite the various advantages Spiral Model brings in, it also has a few considerable disadvantages:&amp;lt;ref name=&amp;quot;refy&amp;quot;&amp;gt;Spiral Model - Disadvantages  http://www.ianswer4u.com/2011/12/spiral-model-advantages-and.html#axzz2ARqc6EGX&amp;lt;/ref&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The Spiral Model might involve higher costs, although it can accurately estimate the numbers.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The model might become complicated even for projects with a clear Software-Requirements-Specifications.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Evaluation and reviews of the Spiral Model might require advanced skills, though not true in all cases.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;In order to effectively implement this model, the protocols and standards must be followed carefully, as any small change in the implementation might cause considerable changes to the development process.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;If the requirements of the project change in the future, using the same prototype might get difficult.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Involves extensive documentation in the intermediate stages during which management of the project might get difficult.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Not suitable for Low Risk projects.&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
== Applications of The Spiral Model ==&lt;br /&gt;
&lt;br /&gt;
The Spiral model is used most often in large projects and needs constant review to stay on target. Given the disadvantages of the Spiral Model that are cited above, the Agile Software Development Model can act as a viable alternative. &amp;lt;ref name=”refz”&amp;gt; Applications of Spiral Model http://en.wikipedia.org/wiki/Spiral_model#Applications&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
- The military had adopted the spiral model for its Future Combat Systems program. The FCS&lt;br /&gt;
project was eventually canceled after six years (2003–2009). it had a two year iteration (spiral).&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
- The FCS originally should have resulted in three consecutive prototypes (one prototype per spiral—every two years).&lt;br /&gt;
The above application of the Spiral Model indicates that the spiral model thus may suit small&lt;br /&gt;
(up to $3 million) software applications and not a complicated ($3 billion) distributed,&lt;br /&gt;
interoperable, system of systems.&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
- Also it is reasonable to use the spiral model in projects where business goals are unstable but&lt;br /&gt;
the architecture is realized well enough to provide high loading and stress ability.&lt;br /&gt;
For example, the Spiral Architecture Driven Development is a spiral-based Software&lt;br /&gt;
Development Life Cycle which shows one possible way how to reduce the risk of non-effective       &lt;br /&gt;
architectures with the help of a spiral model in conjunction with the best practices from other models.&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
The Spiral model has achieved a high level of software support environment capability in a very short period and provides the flexibility necessary to accommodate a high range of technical alternatives and user objectives. Partial implementation of Spiral model such as the Risk Management Plan are compatible with most of the current process models and helpful in minimizing risk associated with the projects.&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
[http://users.csc.calpoly.edu/~jdalbey/308/Lectures/SoftwareProcessModels.html Software Process Models]&amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.ctg.albany.edu/publications/reports/survey_of_sysdev?chapter=9 Spiral Model Survey]&amp;lt;br/&amp;gt;&lt;br /&gt;
[http://searchsoftwarequality.techtarget.com/definition/spiral-model Spiral Model Design]&amp;lt;br/&amp;gt;&lt;br /&gt;
[http://myprojects.kostigoff.net/methodology/development_models/development_models.htm Understanding Spiral Models]&amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.youtube.com/watch?v=YMbAdgb6pG8 Software Models]&amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.buzzle.com/editorials/1-13-2005-64082.asp Introduction to the Spiral Model]&lt;br /&gt;
[http://my.safaribooksonline.com/book/software-engineering-and-development/9781934015551/software-development-life-cycle-models/spiral_model The Spiral Software Model]&amp;lt;br/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Spangul</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2012/ch2a_2w3_sm&amp;diff=68778</id>
		<title>CSC/ECE 517 Fall 2012/ch2a 2w3 sm</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2012/ch2a_2w3_sm&amp;diff=68778"/>
		<updated>2012-10-27T01:31:29Z</updated>

		<summary type="html">&lt;p&gt;Spangul: /* Introduction */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;font size=&amp;quot;5&amp;quot;&amp;gt;The Spiral Model&amp;lt;/font&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
== Introduction ==&lt;br /&gt;
The spiral model is a [[http://en.wikipedia.org/wiki/Software_development_process software development process]] that combines the elements of both design and prototyping-in-stages.This model represents a risk-driven approach to software process analysis. Also known as the spiral lifecycle model (or spiral development), it is a systems development method (SDM) used in [http://en.wikipedia.org/wiki/Information_technology information technology (IT)]. This model incorporates many of the strengths of other models and resolves many of their difficulties. It combines the advantages of top-down and bottom-up concepts and promotes quality assurance through prototyping at each stage.Thus it includes the features of both prototyping and the [http://en.wikipedia.org/wiki/Waterfall_model waterfall model] but provides emphasis in a key area which is mostly neglected by other methodologies: deliberate iterative risk analysis.&lt;br /&gt;
Generally,the spiral model is intended for large, expensive and complicated projects.This approach incorporates elements of specification-driven, prototype-driven process methods, together with the classic software life cycle.&amp;lt;ref name=”aaa”&amp;gt; Introduction - http://en.wikipedia.org/wiki/Spiral_model &amp;lt;/ref&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== History ==&lt;br /&gt;
The spiral model was defined by Barry Boehm in his 1986 article &amp;quot;A Spiral Model of Software Development and Enhancement&amp;quot;.&amp;lt;ref name=&amp;quot;bbb&amp;quot;&amp;gt; History of Spiral Model http://www.princeton.edu/~achaney/tmve/wiki100k/docs/Spiral_model.html&amp;lt;/ref&amp;gt; This model was not the first model to discuss iterative development but it was the first model to explain why the iteration matters.  It was created primarily to offer an alternative to the document-driven and code-driven development models, such as the waterfall model, which were being found to be far too prescriptive and unable to handle the inherent risk in software development.&amp;lt;br/&amp;gt;&lt;br /&gt;
Each phase is characterized by setting a design goal initially and ends with the client (who may be internal) reviewing the progress thus far. Analysis and engineering efforts are applied at each phase of the project, all the way till  the end goal of the project is achieved. The key characteristic of a Spiral model is risk management at regular stages in the development cycle. &lt;br /&gt;
== Illustration ==&lt;br /&gt;
&lt;br /&gt;
Spiral model is also called as “meta-model”, The name comes from the way the Spiral Model incorporates other Models in the Software Development Life-Cycle. Both waterfall and prototype models are those that are used most often in it. The Software development progresses systematically over the loops (adhering to waterfall approach) and at the same time prototypes are created and displayed to the user after completion of various phases. This ensures a systematic approach with minimal chances of risks.&amp;lt;Ref name=&amp;quot;reft&amp;quot;&amp;gt;Illustration http://www.ianswer4u.com/2011/12/spiral-model-advantages-and.html&amp;lt;/ref&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;[[File:Image002.png]]&amp;lt;/center&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
The spiral model is commonly known as an evolutionary development process.Commonly used as a lifecycle model for software development, the spiral model is similar to the iterative design process as there are repeated iterations (called cycles) in which successive attempts are made to develop a solution.It does so by representing iterative development cycles as an expanding spiral, with inner cycles denoting early system analysis and prototyping, and outer cycles denoting the classic software life cycle.&lt;br /&gt;
The radial dimension denotes cumulative development costs, and the angular dimension denotes progress made in accomplishing each development spiral.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
The steps in the spiral model can be generalized as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The requirements for building the new system are gathered using different methods and defined in as much detail as possible. The methods usually involve interviewing a number of users representing all the external or internal users, preparing questionnaires regarding the other aspects of the existing system.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Based on the requirements gathered, a preliminary design is created for the new system.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;A first prototype of the new system is constructed from the preliminary design. This is usually a scaled-down system that implements the core functionality and represents an approximation of the characteristics of the final product.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;A second prototype is evolved by a fourfold procedure: &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Evaluating the first prototype in terms of its strengths, weaknesses, and risks based on customer feedback.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Defining more detailed requirements of the second prototype&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;planning and designing the second prototype&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;constructing and testing the second prototype.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;At the customer's option, the entire project can be aborted if the risk is deemed too great. Risk factors might involve development cost overruns, operating-cost miscalculation, or any other factor that could, in the customer's judgment, result in a less-than-satisfactory final product.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The existing prototype is evaluated in the same manner as was the previous prototype, and, if unsatisfactory, another prototype is developed from it according to the fourfold procedure outlined above.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The preceding steps are iterated until the customer is satisfied with the final product, that is refined prototype.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The final system is then constructed, based on the refined prototype.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;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.&amp;lt;/li&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
== Advantages of The Spiral Model==&lt;br /&gt;
&lt;br /&gt;
Spiral Model is one of the most used Software Development Models and is known for it’s efficiency, accuracy and straight forward design. Following are various advantages of the Spiral Model:&amp;lt;ref name=&amp;quot;refx&amp;quot;&amp;gt;Spiral Model - Advantages    &lt;br /&gt;
 http://www.ianswer4u.com/2011/12/spiral-model-advantages-and.html#axzz2ARqc6EGX&amp;lt;/ref&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The Spiral Life-Cycle Model is one of the most flexible SDLC models in software Development. Various phases in Development can be determined by the project manager, based on the complexity of the project.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Monitoring is very easy, effective and efficient. Each phase, as well as each loop, requires a review from concerned people. This facilitates transparency in the model.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Risk management is one of the in-built features of the model, which makes up for an added advantage compared to other models.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Changes in the model can be introduced at a later stage. The person in charge of the project is given enough flexibility to incorporate these changes.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Estimates about the project including the time taken, cost and schedule become more accurate as the development progresses.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The Spiral Model is highly adaptive for High-Risk projects, where business needs may be unstable.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;A heavier emphasis is present on Customization, ensuring heavy customizability.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
== Disadvantages of the Spiral Model ==&lt;br /&gt;
&lt;br /&gt;
Despite the various advantages Spiral Model brings in, it also has a few considerable disadvantages:&amp;lt;ref name=&amp;quot;refy&amp;quot;&amp;gt;Spiral Model - Disadvantages  http://www.ianswer4u.com/2011/12/spiral-model-advantages-and.html#axzz2ARqc6EGX&amp;lt;/ref&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The Spiral Model might involve higher costs, although it can accurately estimate the numbers.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The model might become complicated even for projects with a clear Software-Requirements-Specifications.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Evaluation and reviews of the Spiral Model might require advanced skills, though not true in all cases.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;In order to effectively implement this model, the protocols and standards must be followed carefully, as any small change in the implementation might cause considerable changes to the development process.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;If the requirements of the project change in the future, using the same prototype might get difficult.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Involves extensive documentation in the intermediate stages during which management of the project might get difficult.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Not suitable for Low Risk projects.&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
== Applications of The Spiral Model ==&lt;br /&gt;
&lt;br /&gt;
The Spiral model is used most often in large projects and needs constant review to stay on target. Given the disadvantages of the Spiral Model that are cited above, the Agile Software Development Model can act as a viable alternative. &amp;lt;ref name=”refz”&amp;gt; Applications of Spiral Model http://en.wikipedia.org/wiki/Spiral_model#Applications&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
- The military had adopted the spiral model for its Future Combat Systems program. The FCS&lt;br /&gt;
project was eventually canceled after six years (2003–2009). it had a two year iteration (spiral).&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
- The FCS originally should have resulted in three consecutive prototypes (one prototype per spiral—every two years).&lt;br /&gt;
The above application of the Spiral Model indicates that the spiral model thus may suit small&lt;br /&gt;
(up to $3 million) software applications and not a complicated ($3 billion) distributed,&lt;br /&gt;
interoperable, system of systems.&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
- Also it is reasonable to use the spiral model in projects where business goals are unstable but&lt;br /&gt;
the architecture is realized well enough to provide high loading and stress ability.&lt;br /&gt;
For example, the Spiral Architecture Driven Development is a spiral-based Software&lt;br /&gt;
Development Life Cycle which shows one possible way how to reduce the risk of non-effective       &lt;br /&gt;
architectures with the help of a spiral model in conjunction with the best practices from other models.&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
The Spiral model has achieved a high level of software support environment capability in a very short period and provides the flexibility necessary to accommodate a high range of technical alternatives and user objectives. Partial implementation of Spiral model such as the Risk Management Plan are compatible with most of the current process models and helpful in minimizing risk associated with the projects.&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
[http://users.csc.calpoly.edu/~jdalbey/308/Lectures/SoftwareProcessModels.html Software Process Models]&amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.ctg.albany.edu/publications/reports/survey_of_sysdev?chapter=9 Spiral Model Survey]&amp;lt;br/&amp;gt;&lt;br /&gt;
[http://searchsoftwarequality.techtarget.com/definition/spiral-model Spiral Model Design]&amp;lt;br/&amp;gt;&lt;br /&gt;
[http://myprojects.kostigoff.net/methodology/development_models/development_models.htm Understanding Spiral Models]&amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.youtube.com/watch?v=YMbAdgb6pG8 Software Models]&amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.buzzle.com/editorials/1-13-2005-64082.asp Introduction to the Spiral Model]&lt;br /&gt;
[http://my.safaribooksonline.com/book/software-engineering-and-development/9781934015551/software-development-life-cycle-models/spiral_model The Spiral Software Model]&amp;lt;br/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Spangul</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2012/ch2a_2w3_sm&amp;diff=68771</id>
		<title>CSC/ECE 517 Fall 2012/ch2a 2w3 sm</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2012/ch2a_2w3_sm&amp;diff=68771"/>
		<updated>2012-10-27T01:27:50Z</updated>

		<summary type="html">&lt;p&gt;Spangul: /* Introduction */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;font size=&amp;quot;5&amp;quot;&amp;gt;The Spiral Model&amp;lt;/font&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
== Introduction ==&lt;br /&gt;
The spiral model is a [http://en.wikipedia.org/wiki/Software_development_process software development process] that combines the elements of both design and prototyping-in-stages.This model represents a risk-driven approach to software process analysis. Also known as the spiral lifecycle model (or spiral development), it is a systems development method (SDM) used in information technology (IT).  This model incorporates many of the strengths of other models and resolves many of their difficulties. It combines the advantages of top-down and bottom-up concepts and promotes quality assurance through prototyping at each stage.Thus it includes the features of both prototyping and the waterfall model but provides emphasis in a key area which is mostly neglected by other methodologies: deliberate iterative risk analysis.&lt;br /&gt;
Generally,the spiral model is intended for large, expensive and complicated projects.This approach incorporates elements of specification-driven, prototype-driven process methods, together with the classic software life cycle.&amp;lt;ref name=”aaa”&amp;gt; Introduction - http://en.wikipedia.org/wiki/Spiral_model &amp;lt;/ref&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== History ==&lt;br /&gt;
The spiral model was defined by Barry Boehm in his 1986 article &amp;quot;A Spiral Model of Software Development and Enhancement&amp;quot;.&amp;lt;ref name=&amp;quot;bbb&amp;quot;&amp;gt; History of Spiral Model http://www.princeton.edu/~achaney/tmve/wiki100k/docs/Spiral_model.html&amp;lt;/ref&amp;gt; This model was not the first model to discuss iterative development but it was the first model to explain why the iteration matters.  It was created primarily to offer an alternative to the document-driven and code-driven development models, such as the waterfall model, which were being found to be far too prescriptive and unable to handle the inherent risk in software development.&amp;lt;br/&amp;gt;&lt;br /&gt;
Each phase is characterized by setting a design goal initially and ends with the client (who may be internal) reviewing the progress thus far. Analysis and engineering efforts are applied at each phase of the project, all the way till  the end goal of the project is achieved. The key characteristic of a Spiral model is risk management at regular stages in the development cycle. &lt;br /&gt;
== Illustration ==&lt;br /&gt;
&lt;br /&gt;
Spiral model is also called as “meta-model”, The name comes from the way the Spiral Model incorporates other Models in the Software Development Life-Cycle. Both waterfall and prototype models are those that are used most often in it. The Software development progresses systematically over the loops (adhering to waterfall approach) and at the same time prototypes are created and displayed to the user after completion of various phases. This ensures a systematic approach with minimal chances of risks.&amp;lt;Ref name=&amp;quot;reft&amp;quot;&amp;gt;Illustration http://www.ianswer4u.com/2011/12/spiral-model-advantages-and.html&amp;lt;/ref&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;[[File:Image002.png]]&amp;lt;/center&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
The spiral model is commonly known as an evolutionary development process.Commonly used as a lifecycle model for software development, the spiral model is similar to the iterative design process as there are repeated iterations (called cycles) in which successive attempts are made to develop a solution.It does so by representing iterative development cycles as an expanding spiral, with inner cycles denoting early system analysis and prototyping, and outer cycles denoting the classic software life cycle.&lt;br /&gt;
The radial dimension denotes cumulative development costs, and the angular dimension denotes progress made in accomplishing each development spiral.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
The steps in the spiral model can be generalized as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The requirements for building the new system are gathered using different methods and defined in as much detail as possible. The methods usually involve interviewing a number of users representing all the external or internal users, preparing questionnaires regarding the other aspects of the existing system.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Based on the requirements gathered, a preliminary design is created for the new system.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;A first prototype of the new system is constructed from the preliminary design. This is usually a scaled-down system that implements the core functionality and represents an approximation of the characteristics of the final product.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;A second prototype is evolved by a fourfold procedure: &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Evaluating the first prototype in terms of its strengths, weaknesses, and risks based on customer feedback.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Defining more detailed requirements of the second prototype&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;planning and designing the second prototype&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;constructing and testing the second prototype.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;At the customer's option, the entire project can be aborted if the risk is deemed too great. Risk factors might involve development cost overruns, operating-cost miscalculation, or any other factor that could, in the customer's judgment, result in a less-than-satisfactory final product.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The existing prototype is evaluated in the same manner as was the previous prototype, and, if unsatisfactory, another prototype is developed from it according to the fourfold procedure outlined above.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The preceding steps are iterated until the customer is satisfied with the final product, that is refined prototype.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The final system is then constructed, based on the refined prototype.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;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.&amp;lt;/li&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
== Advantages of The Spiral Model==&lt;br /&gt;
&lt;br /&gt;
Spiral Model is one of the most used Software Development Models and is known for it’s efficiency, accuracy and straight forward design. Following are various advantages of the Spiral Model:&amp;lt;ref name=&amp;quot;refx&amp;quot;&amp;gt;Spiral Model - Advantages    &lt;br /&gt;
 http://www.ianswer4u.com/2011/12/spiral-model-advantages-and.html#axzz2ARqc6EGX&amp;lt;/ref&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The Spiral Life-Cycle Model is one of the most flexible SDLC models in software Development. Various phases in Development can be determined by the project manager, based on the complexity of the project.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Monitoring is very easy, effective and efficient. Each phase, as well as each loop, requires a review from concerned people. This facilitates transparency in the model.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Risk management is one of the in-built features of the model, which makes up for an added advantage compared to other models.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Changes in the model can be introduced at a later stage. The person in charge of the project is given enough flexibility to incorporate these changes.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Estimates about the project including the time taken, cost and schedule become more accurate as the development progresses.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The Spiral Model is highly adaptive for High-Risk projects, where business needs may be unstable.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;A heavier emphasis is present on Customization, ensuring heavy customizability.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
== Disadvantages of the Spiral Model ==&lt;br /&gt;
&lt;br /&gt;
Despite the various advantages Spiral Model brings in, it also has a few considerable disadvantages:&amp;lt;ref name=&amp;quot;refy&amp;quot;&amp;gt;Spiral Model - Disadvantages  http://www.ianswer4u.com/2011/12/spiral-model-advantages-and.html#axzz2ARqc6EGX&amp;lt;/ref&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The Spiral Model might involve higher costs, although it can accurately estimate the numbers.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The model might become complicated even for projects with a clear Software-Requirements-Specifications.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Evaluation and reviews of the Spiral Model might require advanced skills, though not true in all cases.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;In order to effectively implement this model, the protocols and standards must be followed carefully, as any small change in the implementation might cause considerable changes to the development process.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;If the requirements of the project change in the future, using the same prototype might get difficult.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Involves extensive documentation in the intermediate stages during which management of the project might get difficult.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Not suitable for Low Risk projects.&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
== Applications of The Spiral Model ==&lt;br /&gt;
&lt;br /&gt;
The Spiral model is used most often in large projects and needs constant review to stay on target. Given the disadvantages of the Spiral Model that are cited above, the Agile Software Development Model can act as a viable alternative. &amp;lt;ref name=”refz”&amp;gt; Applications of Spiral Model http://en.wikipedia.org/wiki/Spiral_model#Applications&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
- The military had adopted the spiral model for its Future Combat Systems program. The FCS&lt;br /&gt;
project was eventually canceled after six years (2003–2009). it had a two year iteration (spiral).&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
- The FCS originally should have resulted in three consecutive prototypes (one prototype per spiral—every two years).&lt;br /&gt;
The above application of the Spiral Model indicates that the spiral model thus may suit small&lt;br /&gt;
(up to $3 million) software applications and not a complicated ($3 billion) distributed,&lt;br /&gt;
interoperable, system of systems.&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
- Also it is reasonable to use the spiral model in projects where business goals are unstable but&lt;br /&gt;
the architecture is realized well enough to provide high loading and stress ability.&lt;br /&gt;
For example, the Spiral Architecture Driven Development is a spiral-based Software&lt;br /&gt;
Development Life Cycle which shows one possible way how to reduce the risk of non-effective       &lt;br /&gt;
architectures with the help of a spiral model in conjunction with the best practices from other models.&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
The Spiral model has achieved a high level of software support environment capability in a very short period and provides the flexibility necessary to accommodate a high range of technical alternatives and user objectives. Partial implementation of Spiral model such as the Risk Management Plan are compatible with most of the current process models and helpful in minimizing risk associated with the projects.&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
[http://users.csc.calpoly.edu/~jdalbey/308/Lectures/SoftwareProcessModels.html Software Process Models]&amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.ctg.albany.edu/publications/reports/survey_of_sysdev?chapter=9 Spiral Model Survey]&amp;lt;br/&amp;gt;&lt;br /&gt;
[http://searchsoftwarequality.techtarget.com/definition/spiral-model Spiral Model Design]&amp;lt;br/&amp;gt;&lt;br /&gt;
[http://myprojects.kostigoff.net/methodology/development_models/development_models.htm Understanding Spiral Models]&amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.youtube.com/watch?v=YMbAdgb6pG8 Software Models]&amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.buzzle.com/editorials/1-13-2005-64082.asp Introduction to the Spiral Model]&lt;br /&gt;
[http://my.safaribooksonline.com/book/software-engineering-and-development/9781934015551/software-development-life-cycle-models/spiral_model The Spiral Software Model]&amp;lt;br/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Spangul</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2012/ch2a_2w3_sm&amp;diff=68765</id>
		<title>CSC/ECE 517 Fall 2012/ch2a 2w3 sm</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2012/ch2a_2w3_sm&amp;diff=68765"/>
		<updated>2012-10-27T01:27:03Z</updated>

		<summary type="html">&lt;p&gt;Spangul: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;font size=&amp;quot;5&amp;quot;&amp;gt;The Spiral Model&amp;lt;/font&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
== Introduction ==&lt;br /&gt;
The spiral model is a software development process that combines the elements of both design and prototyping-in-stages.This model represents a risk-driven approach to software process analysis. Also known as the spiral lifecycle model (or spiral development), it is a systems development method (SDM) used in information technology (IT).  This model incorporates many of the strengths of other models and resolves many of their difficulties. It combines the advantages of top-down and bottom-up concepts and promotes quality assurance through prototyping at each stage.Thus it includes the features of both prototyping and the waterfall model but provides emphasis in a key area which is mostly neglected by other methodologies: deliberate iterative risk analysis.&lt;br /&gt;
Generally,the spiral model is intended for large, expensive and complicated projects.This approach incorporates elements of specification-driven, prototype-driven process methods, together with the classic software life cycle.&amp;lt;ref name=”aaa”&amp;gt; Introduction - http://en.wikipedia.org/wiki/Spiral_model &amp;lt;/ref&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== History ==&lt;br /&gt;
The spiral model was defined by Barry Boehm in his 1986 article &amp;quot;A Spiral Model of Software Development and Enhancement&amp;quot;.&amp;lt;ref name=&amp;quot;bbb&amp;quot;&amp;gt; History of Spiral Model http://www.princeton.edu/~achaney/tmve/wiki100k/docs/Spiral_model.html&amp;lt;/ref&amp;gt; This model was not the first model to discuss iterative development but it was the first model to explain why the iteration matters.  It was created primarily to offer an alternative to the document-driven and code-driven development models, such as the waterfall model, which were being found to be far too prescriptive and unable to handle the inherent risk in software development.&amp;lt;br/&amp;gt;&lt;br /&gt;
Each phase is characterized by setting a design goal initially and ends with the client (who may be internal) reviewing the progress thus far. Analysis and engineering efforts are applied at each phase of the project, all the way till  the end goal of the project is achieved. The key characteristic of a Spiral model is risk management at regular stages in the development cycle. &lt;br /&gt;
== Illustration ==&lt;br /&gt;
&lt;br /&gt;
Spiral model is also called as “meta-model”, The name comes from the way the Spiral Model incorporates other Models in the Software Development Life-Cycle. Both waterfall and prototype models are those that are used most often in it. The Software development progresses systematically over the loops (adhering to waterfall approach) and at the same time prototypes are created and displayed to the user after completion of various phases. This ensures a systematic approach with minimal chances of risks.&amp;lt;Ref name=&amp;quot;reft&amp;quot;&amp;gt;Illustration http://www.ianswer4u.com/2011/12/spiral-model-advantages-and.html&amp;lt;/ref&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;[[File:Image002.png]]&amp;lt;/center&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
The spiral model is commonly known as an evolutionary development process.Commonly used as a lifecycle model for software development, the spiral model is similar to the iterative design process as there are repeated iterations (called cycles) in which successive attempts are made to develop a solution.It does so by representing iterative development cycles as an expanding spiral, with inner cycles denoting early system analysis and prototyping, and outer cycles denoting the classic software life cycle.&lt;br /&gt;
The radial dimension denotes cumulative development costs, and the angular dimension denotes progress made in accomplishing each development spiral.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
The steps in the spiral model can be generalized as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The requirements for building the new system are gathered using different methods and defined in as much detail as possible. The methods usually involve interviewing a number of users representing all the external or internal users, preparing questionnaires regarding the other aspects of the existing system.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Based on the requirements gathered, a preliminary design is created for the new system.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;A first prototype of the new system is constructed from the preliminary design. This is usually a scaled-down system that implements the core functionality and represents an approximation of the characteristics of the final product.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;A second prototype is evolved by a fourfold procedure: &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Evaluating the first prototype in terms of its strengths, weaknesses, and risks based on customer feedback.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Defining more detailed requirements of the second prototype&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;planning and designing the second prototype&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;constructing and testing the second prototype.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;At the customer's option, the entire project can be aborted if the risk is deemed too great. Risk factors might involve development cost overruns, operating-cost miscalculation, or any other factor that could, in the customer's judgment, result in a less-than-satisfactory final product.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The existing prototype is evaluated in the same manner as was the previous prototype, and, if unsatisfactory, another prototype is developed from it according to the fourfold procedure outlined above.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The preceding steps are iterated until the customer is satisfied with the final product, that is refined prototype.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The final system is then constructed, based on the refined prototype.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;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.&amp;lt;/li&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
== Advantages of The Spiral Model==&lt;br /&gt;
&lt;br /&gt;
Spiral Model is one of the most used Software Development Models and is known for it’s efficiency, accuracy and straight forward design. Following are various advantages of the Spiral Model:&amp;lt;ref name=&amp;quot;refx&amp;quot;&amp;gt;Spiral Model - Advantages    &lt;br /&gt;
 http://www.ianswer4u.com/2011/12/spiral-model-advantages-and.html#axzz2ARqc6EGX&amp;lt;/ref&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The Spiral Life-Cycle Model is one of the most flexible SDLC models in software Development. Various phases in Development can be determined by the project manager, based on the complexity of the project.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Monitoring is very easy, effective and efficient. Each phase, as well as each loop, requires a review from concerned people. This facilitates transparency in the model.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Risk management is one of the in-built features of the model, which makes up for an added advantage compared to other models.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Changes in the model can be introduced at a later stage. The person in charge of the project is given enough flexibility to incorporate these changes.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Estimates about the project including the time taken, cost and schedule become more accurate as the development progresses.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The Spiral Model is highly adaptive for High-Risk projects, where business needs may be unstable.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;A heavier emphasis is present on Customization, ensuring heavy customizability.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
== Disadvantages of the Spiral Model ==&lt;br /&gt;
&lt;br /&gt;
Despite the various advantages Spiral Model brings in, it also has a few considerable disadvantages:&amp;lt;ref name=&amp;quot;refy&amp;quot;&amp;gt;Spiral Model - Disadvantages  http://www.ianswer4u.com/2011/12/spiral-model-advantages-and.html#axzz2ARqc6EGX&amp;lt;/ref&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The Spiral Model might involve higher costs, although it can accurately estimate the numbers.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The model might become complicated even for projects with a clear Software-Requirements-Specifications.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Evaluation and reviews of the Spiral Model might require advanced skills, though not true in all cases.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;In order to effectively implement this model, the protocols and standards must be followed carefully, as any small change in the implementation might cause considerable changes to the development process.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;If the requirements of the project change in the future, using the same prototype might get difficult.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Involves extensive documentation in the intermediate stages during which management of the project might get difficult.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Not suitable for Low Risk projects.&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
== Applications of The Spiral Model ==&lt;br /&gt;
&lt;br /&gt;
The Spiral model is used most often in large projects and needs constant review to stay on target. Given the disadvantages of the Spiral Model that are cited above, the Agile Software Development Model can act as a viable alternative. &amp;lt;ref name=”refz”&amp;gt; Applications of Spiral Model http://en.wikipedia.org/wiki/Spiral_model#Applications&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
- The military had adopted the spiral model for its Future Combat Systems program. The FCS&lt;br /&gt;
project was eventually canceled after six years (2003–2009). it had a two year iteration (spiral).&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
- The FCS originally should have resulted in three consecutive prototypes (one prototype per spiral—every two years).&lt;br /&gt;
The above application of the Spiral Model indicates that the spiral model thus may suit small&lt;br /&gt;
(up to $3 million) software applications and not a complicated ($3 billion) distributed,&lt;br /&gt;
interoperable, system of systems.&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
- Also it is reasonable to use the spiral model in projects where business goals are unstable but&lt;br /&gt;
the architecture is realized well enough to provide high loading and stress ability.&lt;br /&gt;
For example, the Spiral Architecture Driven Development is a spiral-based Software&lt;br /&gt;
Development Life Cycle which shows one possible way how to reduce the risk of non-effective       &lt;br /&gt;
architectures with the help of a spiral model in conjunction with the best practices from other models.&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
The Spiral model has achieved a high level of software support environment capability in a very short period and provides the flexibility necessary to accommodate a high range of technical alternatives and user objectives. Partial implementation of Spiral model such as the Risk Management Plan are compatible with most of the current process models and helpful in minimizing risk associated with the projects.&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
[http://users.csc.calpoly.edu/~jdalbey/308/Lectures/SoftwareProcessModels.html Software Process Models]&amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.ctg.albany.edu/publications/reports/survey_of_sysdev?chapter=9 Spiral Model Survey]&amp;lt;br/&amp;gt;&lt;br /&gt;
[http://searchsoftwarequality.techtarget.com/definition/spiral-model Spiral Model Design]&amp;lt;br/&amp;gt;&lt;br /&gt;
[http://myprojects.kostigoff.net/methodology/development_models/development_models.htm Understanding Spiral Models]&amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.youtube.com/watch?v=YMbAdgb6pG8 Software Models]&amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.buzzle.com/editorials/1-13-2005-64082.asp Introduction to the Spiral Model]&lt;br /&gt;
[http://my.safaribooksonline.com/book/software-engineering-and-development/9781934015551/software-development-life-cycle-models/spiral_model The Spiral Software Model]&amp;lt;br/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Spangul</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2012/ch2a_2w3_sm&amp;diff=68762</id>
		<title>CSC/ECE 517 Fall 2012/ch2a 2w3 sm</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2012/ch2a_2w3_sm&amp;diff=68762"/>
		<updated>2012-10-27T01:26:38Z</updated>

		<summary type="html">&lt;p&gt;Spangul: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;font size=&amp;quot;5&amp;quot;&amp;gt;The Spiral Model&amp;lt;/font&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
== Introduction ==&lt;br /&gt;
The spiral model is a software development process that combines the elements of both design and prototyping-in-stages.This model represents a risk-driven approach to software process analysis. Also known as the spiral lifecycle model (or spiral development), it is a systems development method (SDM) used in information technology (IT).  This model incorporates many of the strengths of other models and resolves many of their difficulties. It combines the advantages of top-down and bottom-up concepts and promotes quality assurance through prototyping at each stage.Thus it includes the features of both prototyping and the waterfall model but provides emphasis in a key area which is mostly neglected by other methodologies: deliberate iterative risk analysis.&lt;br /&gt;
Generally,the spiral model is intended for large, expensive and complicated projects.This approach incorporates elements of specification-driven, prototype-driven process methods, together with the classic software life cycle.&amp;lt;ref name=”aaa”&amp;gt; Introduction - http://en.wikipedia.org/wiki/Spiral_model &amp;lt;/ref&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== History ==&lt;br /&gt;
The spiral model was defined by Barry Boehm in his 1986 article &amp;quot;A Spiral Model of Software Development and Enhancement&amp;quot;.&amp;lt;ref name=&amp;quot;bbb&amp;quot;&amp;gt; History of Spiral Model http://www.princeton.edu/~achaney/tmve/wiki100k/docs/Spiral_model.html&amp;lt;/ref&amp;gt; This model was not the first model to discuss iterative development but it was the first model to explain why the iteration matters.  It was created primarily to offer an alternative to the document-driven and code-driven development models, such as the waterfall model, which were being found to be far too prescriptive and unable to handle the inherent risk in software development.&amp;lt;br/&amp;gt;&lt;br /&gt;
Each phase is characterized by setting a design goal initially and ends with the client (who may be internal) reviewing the progress thus far. Analysis and engineering efforts are applied at each phase of the project, all the way till  the end goal of the project is achieved. The key characteristic of a Spiral model is risk management at regular stages in the development cycle. &lt;br /&gt;
== Illustration ==&lt;br /&gt;
&lt;br /&gt;
Spiral model is also called as “meta-model”, The name comes from the way the Spiral Model incorporates other Models in the Software Development Life-Cycle. Both waterfall and prototype models are those that are used most often in it. The Software development progresses systematically over the loops (adhering to waterfall approach) and at the same time prototypes are created and displayed to the user after completion of various phases. This ensures a systematic approach with minimal chances of risks.&amp;lt;Ref name=&amp;quot;reft&amp;quot;&amp;gt;Illustration http://www.ianswer4u.com/2011/12/spiral-model-advantages-and.html&amp;lt;/ref&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;[[File:Image002.png]]&amp;lt;/center&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
The spiral model is commonly known as an evolutionary development process.Commonly used as a lifecycle model for software development, the spiral model is similar to the iterative design process as there are repeated iterations (called cycles) in which successive attempts are made to develop a solution.It does so by representing iterative development cycles as an expanding spiral, with inner cycles denoting early system analysis and prototyping, and outer cycles denoting the classic software life cycle.&lt;br /&gt;
The radial dimension denotes cumulative development costs, and the angular dimension denotes progress made in accomplishing each development spiral.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
The steps in the spiral model can be generalized as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The requirements for building the new system are gathered using different methods and defined in as much detail as possible. The methods usually involve interviewing a number of users representing all the external or internal users, preparing questionnaires regarding the other aspects of the existing system.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Based on the requirements gathered, a preliminary design is created for the new system.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;A first prototype of the new system is constructed from the preliminary design. This is usually a scaled-down system that implements the core functionality and represents an approximation of the characteristics of the final product.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;A second prototype is evolved by a fourfold procedure: &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Evaluating the first prototype in terms of its strengths, weaknesses, and risks based on customer feedback.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Defining more detailed requirements of the second prototype&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;planning and designing the second prototype&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;constructing and testing the second prototype.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;At the customer's option, the entire project can be aborted if the risk is deemed too great. Risk factors might involve development cost overruns, operating-cost miscalculation, or any other factor that could, in the customer's judgment, result in a less-than-satisfactory final product.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The existing prototype is evaluated in the same manner as was the previous prototype, and, if unsatisfactory, another prototype is developed from it according to the fourfold procedure outlined above.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The preceding steps are iterated until the customer is satisfied with the final product, that is refined prototype.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The final system is then constructed, based on the refined prototype.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;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.&amp;lt;/li&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
== Advantages of The Spiral Model==&lt;br /&gt;
&lt;br /&gt;
Spiral Model is one of the most used Software Development Models and is known for it’s efficiency, accuracy and straight forward design. Following are various advantages of the Spiral Model:&amp;lt;ref name=&amp;quot;refx&amp;quot;&amp;gt;Spiral Model - Advantages    &lt;br /&gt;
 http://www.ianswer4u.com/2011/12/spiral-model-advantages-and.html#axzz2ARqc6EGX&amp;lt;/ref&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The Spiral Life-Cycle Model is one of the most flexible SDLC models in software Development. Various phases in Development can be determined by the project manager, based on the complexity of the project.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Monitoring is very easy, effective and efficient. Each phase, as well as each loop, requires a review from concerned people. This facilitates transparency in the model.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Risk management is one of the in-built features of the model, which makes up for an added advantage compared to other models.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Changes in the model can be introduced at a later stage. The person in charge of the project is given enough flexibility to incorporate these changes.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Estimates about the project including the time taken, cost and schedule become more accurate as the development progresses.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The Spiral Model is highly adaptive for High-Risk projects, where business needs may be unstable.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;A heavier emphasis is present on Customization, ensuring heavy customizability.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
== Disadvantages of the Spiral Model ==&lt;br /&gt;
&lt;br /&gt;
Despite the various advantages Spiral Model brings in, it also has a few considerable disadvantages:&amp;lt;ref name=&amp;quot;refy&amp;quot;&amp;gt;Spiral Model - Disadvantages  http://www.ianswer4u.com/2011/12/spiral-model-advantages-and.html#axzz2ARqc6EGX&amp;lt;/ref&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The Spiral Model might involve higher costs, although it can accurately estimate the numbers.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The model might become complicated even for projects with a clear Software-Requirements-Specifications.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Evaluation and reviews of the Spiral Model might require advanced skills, though not true in all cases.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;In order to effectively implement this model, the protocols and standards must be followed carefully, as any small change in the implementation might cause considerable changes to the development process.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;If the requirements of the project change in the future, using the same prototype might get difficult.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Involves extensive documentation in the intermediate stages during which management of the project might get difficult.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Not suitable for Low Risk projects.&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
== Applications of The Spiral Model ==&lt;br /&gt;
&lt;br /&gt;
The Spiral model is used most often in large projects and needs constant review to stay on target. Given the disadvantages of the Spiral Model that are cited above, the Agile Software Development Model can act as a viable alternative. &amp;lt;ref name=”refz”&amp;gt; Applications of Spiral Model http://en.wikipedia.org/wiki/Spiral_model#Applications&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
- The military had adopted the spiral model for its Future Combat Systems program. The FCS&lt;br /&gt;
project was eventually canceled after six years (2003–2009). it had a two year iteration (spiral).&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
- The FCS originally should have resulted in three consecutive prototypes (one prototype per spiral—every two years).&lt;br /&gt;
The above application of the Spiral Model indicates that the spiral model thus may suit small&lt;br /&gt;
(up to $3 million) software applications and not a complicated ($3 billion) distributed,&lt;br /&gt;
interoperable, system of systems.&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
- Also it is reasonable to use the spiral model in projects where business goals are unstable but&lt;br /&gt;
the architecture is realized well enough to provide high loading and stress ability.&lt;br /&gt;
For example, the Spiral Architecture Driven Development is a spiral-based Software&lt;br /&gt;
Development Life Cycle which shows one possible way how to reduce the risk of non-effective       &lt;br /&gt;
architectures with the help of a spiral model in conjunction with the best practices from other models.&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
The Spiral model has achieved a high level of software support environment capability in a very short period and provides the flexibility necessary to accommodate a high range of technical alternatives and user objectives. Partial implementation of Spiral model such as the Risk Management Plan are compatible with most of the current process models and helpful in minimizing risk associated with the projects.&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
[http://users.csc.calpoly.edu/~jdalbey/308/Lectures/SoftwareProcessModels.html Software Process Models]&amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.ctg.albany.edu/publications/reports/survey_of_sysdev?chapter=9 Spiral Model Survey]&amp;lt;br/&amp;gt;&lt;br /&gt;
[http://searchsoftwarequality.techtarget.com/definition/spiral-model Spiral Model Design]&amp;lt;br/&amp;gt;&lt;br /&gt;
[http://myprojects.kostigoff.net/methodology/development_models/development_models.htm Understanding Spiral Models]&amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.youtube.com/watch?v=YMbAdgb6pG8 Software Models]&amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.buzzle.com/editorials/1-13-2005-64082.asp Introduction to the Spiral Model]&lt;br /&gt;
[http://my.safaribooksonline.com/book/software-engineering-and-development/9781934015551/software-development-life-cycle-models/spiral_model The Spiral Software Model ]&amp;lt;br/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Spangul</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2012/ch2a_2w3_sm&amp;diff=68754</id>
		<title>CSC/ECE 517 Fall 2012/ch2a 2w3 sm</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2012/ch2a_2w3_sm&amp;diff=68754"/>
		<updated>2012-10-27T01:25:14Z</updated>

		<summary type="html">&lt;p&gt;Spangul: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;font size=&amp;quot;5&amp;quot;&amp;gt;The Spiral Model&amp;lt;/font&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
== Introduction ==&lt;br /&gt;
The spiral model is a software development process that combines the elements of both design and prototyping-in-stages.This model represents a risk-driven approach to software process analysis. Also known as the spiral lifecycle model (or spiral development), it is a systems development method (SDM) used in information technology (IT).  This model incorporates many of the strengths of other models and resolves many of their difficulties. It combines the advantages of top-down and bottom-up concepts and promotes quality assurance through prototyping at each stage.Thus it includes the features of both prototyping and the waterfall model but provides emphasis in a key area which is mostly neglected by other methodologies: deliberate iterative risk analysis.&lt;br /&gt;
Generally,the spiral model is intended for large, expensive and complicated projects.This approach incorporates elements of specification-driven, prototype-driven process methods, together with the classic software life cycle.&amp;lt;ref name=”aaa”&amp;gt; Introduction - http://en.wikipedia.org/wiki/Spiral_model &amp;lt;/ref&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== History ==&lt;br /&gt;
The spiral model was defined by Barry Boehm in his 1986 article &amp;quot;A Spiral Model of Software Development and Enhancement&amp;quot;.&amp;lt;ref name=&amp;quot;bbb&amp;quot;&amp;gt; History of Spiral Model http://www.princeton.edu/~achaney/tmve/wiki100k/docs/Spiral_model.html&amp;lt;/ref&amp;gt; This model was not the first model to discuss iterative development but it was the first model to explain why the iteration matters.  It was created primarily to offer an alternative to the document-driven and code-driven development models, such as the waterfall model, which were being found to be far too prescriptive and unable to handle the inherent risk in software development.&amp;lt;br/&amp;gt;&lt;br /&gt;
Each phase is characterized by setting a design goal initially and ends with the client (who may be internal) reviewing the progress thus far. Analysis and engineering efforts are applied at each phase of the project, all the way till  the end goal of the project is achieved. The key characteristic of a Spiral model is risk management at regular stages in the development cycle. &lt;br /&gt;
== Illustration ==&lt;br /&gt;
&lt;br /&gt;
Spiral model is also called as “meta-model”, The name comes from the way the Spiral Model incorporates other Models in the Software Development Life-Cycle. Both waterfall and prototype models are those that are used most often in it. The Software development progresses systematically over the loops (adhering to waterfall approach) and at the same time prototypes are created and displayed to the user after completion of various phases. This ensures a systematic approach with minimal chances of risks.&amp;lt;Ref name=&amp;quot;reft&amp;quot;&amp;gt;Illustration http://www.ianswer4u.com/2011/12/spiral-model-advantages-and.html&amp;lt;/ref&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;[[File:Image002.png]]&amp;lt;/center&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
The spiral model is commonly known as an evolutionary development process.Commonly used as a lifecycle model for software development, the spiral model is similar to the iterative design process as there are repeated iterations (called cycles) in which successive attempts are made to develop a solution.It does so by representing iterative development cycles as an expanding spiral, with inner cycles denoting early system analysis and prototyping, and outer cycles denoting the classic software life cycle.&lt;br /&gt;
The radial dimension denotes cumulative development costs, and the angular dimension denotes progress made in accomplishing each development spiral.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
The steps in the spiral model can be generalized as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The requirements for building the new system are gathered using different methods and defined in as much detail as possible. The methods usually involve interviewing a number of users representing all the external or internal users, preparing questionnaires regarding the other aspects of the existing system.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Based on the requirements gathered, a preliminary design is created for the new system.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;A first prototype of the new system is constructed from the preliminary design. This is usually a scaled-down system that implements the core functionality and represents an approximation of the characteristics of the final product.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;A second prototype is evolved by a fourfold procedure: &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Evaluating the first prototype in terms of its strengths, weaknesses, and risks based on customer feedback.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Defining more detailed requirements of the second prototype&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;planning and designing the second prototype&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;constructing and testing the second prototype.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;At the customer's option, the entire project can be aborted if the risk is deemed too great. Risk factors might involve development cost overruns, operating-cost miscalculation, or any other factor that could, in the customer's judgment, result in a less-than-satisfactory final product.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The existing prototype is evaluated in the same manner as was the previous prototype, and, if unsatisfactory, another prototype is developed from it according to the fourfold procedure outlined above.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The preceding steps are iterated until the customer is satisfied with the final product, that is refined prototype.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The final system is then constructed, based on the refined prototype.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;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.&amp;lt;/li&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
== Advantages of The Spiral Model==&lt;br /&gt;
&lt;br /&gt;
Spiral Model is one of the most used Software Development Models and is known for it’s efficiency, accuracy and straight forward design. Following are various advantages of the Spiral Model:&amp;lt;ref name=&amp;quot;refx&amp;quot;&amp;gt;Spiral Model - Advantages    &lt;br /&gt;
 http://www.ianswer4u.com/2011/12/spiral-model-advantages-and.html#axzz2ARqc6EGX&amp;lt;/ref&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The Spiral Life-Cycle Model is one of the most flexible SDLC models in software Development. Various phases in Development can be determined by the project manager, based on the complexity of the project.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Monitoring is very easy, effective and efficient. Each phase, as well as each loop, requires a review from concerned people. This facilitates transparency in the model.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Risk management is one of the in-built features of the model, which makes up for an added advantage compared to other models.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Changes in the model can be introduced at a later stage. The person in charge of the project is given enough flexibility to incorporate these changes.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Estimates about the project including the time taken, cost and schedule become more accurate as the development progresses.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The Spiral Model is highly adaptive for High-Risk projects, where business needs may be unstable.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;A heavier emphasis is present on Customization, ensuring heavy customizability.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
== Disadvantages of the Spiral Model ==&lt;br /&gt;
&lt;br /&gt;
Despite the various advantages Spiral Model brings in, it also has a few considerable disadvantages:&amp;lt;ref name=&amp;quot;refy&amp;quot;&amp;gt;Spiral Model - Disadvantages  http://www.ianswer4u.com/2011/12/spiral-model-advantages-and.html#axzz2ARqc6EGX&amp;lt;/ref&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The Spiral Model might involve higher costs, although it can accurately estimate the numbers.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The model might become complicated even for projects with a clear Software-Requirements-Specifications.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Evaluation and reviews of the Spiral Model might require advanced skills, though not true in all cases.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;In order to effectively implement this model, the protocols and standards must be followed carefully, as any small change in the implementation might cause considerable changes to the development process.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;If the requirements of the project change in the future, using the same prototype might get difficult.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Involves extensive documentation in the intermediate stages during which management of the project might get difficult.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Not suitable for Low Risk projects.&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
== Applications of The Spiral Model ==&lt;br /&gt;
&lt;br /&gt;
The Spiral model is used most often in large projects and needs constant review to stay on target. Given the disadvantages of the Spiral Model that are cited above, the Agile Software Development Model can act as a viable alternative. &amp;lt;ref name=”refz”&amp;gt; Applications of Spiral Model http://en.wikipedia.org/wiki/Spiral_model#Applications&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
- The military had adopted the spiral model for its Future Combat Systems program. The FCS&lt;br /&gt;
project was eventually canceled after six years (2003–2009). it had a two year iteration (spiral).&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
- The FCS originally should have resulted in three consecutive prototypes (one prototype per spiral—every two years).&lt;br /&gt;
The above application of the Spiral Model indicates that the spiral model thus may suit small&lt;br /&gt;
(up to $3 million) software applications and not a complicated ($3 billion) distributed,&lt;br /&gt;
interoperable, system of systems.&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
- Also it is reasonable to use the spiral model in projects where business goals are unstable but&lt;br /&gt;
the architecture is realized well enough to provide high loading and stress ability.&lt;br /&gt;
For example, the Spiral Architecture Driven Development is a spiral-based Software&lt;br /&gt;
Development Life Cycle which shows one possible way how to reduce the risk of non-effective       &lt;br /&gt;
architectures with the help of a spiral model in conjunction with the best practices from other models.&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
The Spiral model has achieved a high level of software support environment capability in a very short period and provides the flexibility necessary to accommodate a high range of technical alternatives and user objectives. Partial implementation of Spiral model such as the Risk Management Plan are compatible with most of the current process models and helpful in minimizing risk associated with the projects.&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
[http://users.csc.calpoly.edu/~jdalbey/308/Lectures/SoftwareProcessModels.html Software Process Models]&amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.ctg.albany.edu/publications/reports/survey_of_sysdev?chapter=9 Spiral Model Survey]&amp;lt;br/&amp;gt;&lt;br /&gt;
[http://searchsoftwarequality.techtarget.com/definition/spiral-model Spiral Model Design]&amp;lt;br/&amp;gt;&lt;br /&gt;
[http://myprojects.kostigoff.net/methodology/development_models/development_models.htm Understanding Spiral Models]&amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.youtube.com/watch?v=YMbAdgb6pG8 Software Models]&amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.buzzle.com/editorials/1-13-2005-64082.asp Introduction to the Spiral Model]&amp;lt;br/&amp;gt;&lt;br /&gt;
[http://my.safaribooksonline.com/book/software-engineering-and-development/9781934015551/software-development-life-cycle-models/spiral_model The Spiral Software Model ]&amp;lt;br/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Spangul</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2012/ch2a_2w3_sm&amp;diff=68747</id>
		<title>CSC/ECE 517 Fall 2012/ch2a 2w3 sm</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2012/ch2a_2w3_sm&amp;diff=68747"/>
		<updated>2012-10-27T01:23:32Z</updated>

		<summary type="html">&lt;p&gt;Spangul: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;font size=&amp;quot;5&amp;quot;&amp;gt;The Spiral Model&amp;lt;/font&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
== Introduction ==&lt;br /&gt;
The spiral model is a software development process that combines the elements of both design and prototyping-in-stages.This model represents a risk-driven approach to software process analysis. Also known as the spiral lifecycle model (or spiral development), it is a systems development method (SDM) used in information technology (IT).  This model incorporates many of the strengths of other models and resolves many of their difficulties. It combines the advantages of top-down and bottom-up concepts and promotes quality assurance through prototyping at each stage.Thus it includes the features of both prototyping and the waterfall model but provides emphasis in a key area which is mostly neglected by other methodologies: deliberate iterative risk analysis.&lt;br /&gt;
Generally,the spiral model is intended for large, expensive and complicated projects.This approach incorporates elements of specification-driven, prototype-driven process methods, together with the classic software life cycle.&amp;lt;ref name=”aaa”&amp;gt; Introduction - http://en.wikipedia.org/wiki/Spiral_model &amp;lt;/ref&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== History ==&lt;br /&gt;
The spiral model was defined by Barry Boehm in his 1986 article &amp;quot;A Spiral Model of Software Development and Enhancement&amp;quot;.&amp;lt;ref name=&amp;quot;bbb&amp;quot;&amp;gt; History of Spiral Model http://www.princeton.edu/~achaney/tmve/wiki100k/docs/Spiral_model.html&amp;lt;/ref&amp;gt; This model was not the first model to discuss iterative development but it was the first model to explain why the iteration matters.  It was created primarily to offer an alternative to the document-driven and code-driven development models, such as the waterfall model, which were being found to be far too prescriptive and unable to handle the inherent risk in software development.&amp;lt;br/&amp;gt;&lt;br /&gt;
Each phase is characterized by setting a design goal initially and ends with the client (who may be internal) reviewing the progress thus far. Analysis and engineering efforts are applied at each phase of the project, all the way till  the end goal of the project is achieved. The key characteristic of a Spiral model is risk management at regular stages in the development cycle. &lt;br /&gt;
== Illustration ==&lt;br /&gt;
&lt;br /&gt;
Spiral model is also called as “meta-model”, The name comes from the way the Spiral Model incorporates other Models in the Software Development Life-Cycle. Both waterfall and prototype models are those that are used most often in it. The Software development progresses systematically over the loops (adhering to waterfall approach) and at the same time prototypes are created and displayed to the user after completion of various phases. This ensures a systematic approach with minimal chances of risks.&amp;lt;Ref name=&amp;quot;reft&amp;quot;&amp;gt;Illustration http://www.ianswer4u.com/2011/12/spiral-model-advantages-and.html&amp;lt;/ref&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;[[File:Image002.png]]&amp;lt;/center&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
The spiral model is commonly known as an evolutionary development process.Commonly used as a lifecycle model for software development, the spiral model is similar to the iterative design process as there are repeated iterations (called cycles) in which successive attempts are made to develop a solution.It does so by representing iterative development cycles as an expanding spiral, with inner cycles denoting early system analysis and prototyping, and outer cycles denoting the classic software life cycle.&lt;br /&gt;
The radial dimension denotes cumulative development costs, and the angular dimension denotes progress made in accomplishing each development spiral.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
The steps in the spiral model can be generalized as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The requirements for building the new system are gathered using different methods and defined in as much detail as possible. The methods usually involve interviewing a number of users representing all the external or internal users, preparing questionnaires regarding the other aspects of the existing system.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Based on the requirements gathered, a preliminary design is created for the new system.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;A first prototype of the new system is constructed from the preliminary design. This is usually a scaled-down system that implements the core functionality and represents an approximation of the characteristics of the final product.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;A second prototype is evolved by a fourfold procedure: &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Evaluating the first prototype in terms of its strengths, weaknesses, and risks based on customer feedback.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Defining more detailed requirements of the second prototype&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;planning and designing the second prototype&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;constructing and testing the second prototype.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;At the customer's option, the entire project can be aborted if the risk is deemed too great. Risk factors might involve development cost overruns, operating-cost miscalculation, or any other factor that could, in the customer's judgment, result in a less-than-satisfactory final product.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The existing prototype is evaluated in the same manner as was the previous prototype, and, if unsatisfactory, another prototype is developed from it according to the fourfold procedure outlined above.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The preceding steps are iterated until the customer is satisfied with the final product, that is refined prototype.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The final system is then constructed, based on the refined prototype.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;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.&amp;lt;/li&amp;gt;&lt;br /&gt;
== Advantages of The Spiral Model==&lt;br /&gt;
&lt;br /&gt;
Spiral Model is one of the most used Software Development Models and is known for it’s efficiency, accuracy and straight forward design. Following are various advantages of the Spiral Model:&amp;lt;ref name=&amp;quot;refx&amp;quot;&amp;gt;Spiral Model - Advantages    &lt;br /&gt;
 http://www.ianswer4u.com/2011/12/spiral-model-advantages-and.html#axzz2ARqc6EGX&amp;lt;/ref&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The Spiral Life-Cycle Model is one of the most flexible SDLC models in software Development. Various phases in Development can be determined by the project manager, based on the complexity of the project.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Monitoring is very easy, effective and efficient. Each phase, as well as each loop, requires a review from concerned people. This facilitates transparency in the model.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Risk management is one of the in-built features of the model, which makes up for an added advantage compared to other models.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Changes in the model can be introduced at a later stage. The person in charge of the project is given enough flexibility to incorporate these changes.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Estimates about the project including the time taken, cost and schedule become more accurate as the development progresses.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The Spiral Model is highly adaptive for High-Risk projects, where business needs may be unstable.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;A heavier emphasis is present on Customization, ensuring heavy customizability.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
== Disadvantages of the Spiral Model ==&lt;br /&gt;
&lt;br /&gt;
Despite the various advantages Spiral Model brings in, it also has a few considerable disadvantages:&amp;lt;ref name=&amp;quot;refy&amp;quot;&amp;gt;Spiral Model - Disadvantages  http://www.ianswer4u.com/2011/12/spiral-model-advantages-and.html#axzz2ARqc6EGX&amp;lt;/ref&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The Spiral Model might involve higher costs, although it can accurately estimate the numbers.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The model might become complicated even for projects with a clear Software-Requirements-Specifications.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Evaluation and reviews of the Spiral Model might require advanced skills, though not true in all cases.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;In order to effectively implement this model, the protocols and standards must be followed carefully, as any small change in the implementation might cause considerable changes to the development process.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;If the requirements of the project change in the future, using the same prototype might get difficult.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Involves extensive documentation in the intermediate stages during which management of the project might get difficult.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Not suitable for Low Risk projects.&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Applications of The Spiral Model ==&lt;br /&gt;
&lt;br /&gt;
The Spiral model is used most often in large projects and needs constant review to stay on target. Given the disadvantages of the Spiral Model that are cited above, the Agile Software Development Model can act as a viable alternative. &amp;lt;ref name=”refz”&amp;gt; Applications of Spiral Model http://en.wikipedia.org/wiki/Spiral_model#Applications&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
- The military had adopted the spiral model for its Future Combat Systems program. The FCS&lt;br /&gt;
project was eventually canceled after six years (2003–2009). it had a two year iteration (spiral).&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
- The FCS originally should have resulted in three consecutive prototypes (one prototype per spiral—every two years).&lt;br /&gt;
The above application of the Spiral Model indicates that the spiral model thus may suit small&lt;br /&gt;
(up to $3 million) software applications and not a complicated ($3 billion) distributed,&lt;br /&gt;
interoperable, system of systems.&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
- Also it is reasonable to use the spiral model in projects where business goals are unstable but&lt;br /&gt;
the architecture is realized well enough to provide high loading and stress ability.&lt;br /&gt;
For example, the Spiral Architecture Driven Development is a spiral-based Software&lt;br /&gt;
Development Life Cycle which shows one possible way how to reduce the risk of non-effective       &lt;br /&gt;
architectures with the help of a spiral model in conjunction with the best practices from other models.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
[http://users.csc.calpoly.edu/~jdalbey/308/Lectures/SoftwareProcessModels.html Software Process Models]&amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.ctg.albany.edu/publications/reports/survey_of_sysdev?chapter=9 Spiral Model Survey]&amp;lt;br/&amp;gt;&lt;br /&gt;
[http://searchsoftwarequality.techtarget.com/definition/spiral-model Spiral Model Design]&amp;lt;br/&amp;gt;&lt;br /&gt;
[http://myprojects.kostigoff.net/methodology/development_models/development_models.htm Understanding Spiral Models]&amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.youtube.com/watch?v=YMbAdgb6pG8 Software Models]&amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.buzzle.com/editorials/1-13-2005-64082.asp Introduction to the Spiral Model]&amp;lt;br/&amp;gt;&lt;br /&gt;
[http://my.safaribooksonline.com/book/software-engineering-and-development/9781934015551/software-development-life-cycle-models/spiral_model The Spiral Software Model ]&amp;lt;br/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Spangul</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2012/ch2a_2w3_sm&amp;diff=68728</id>
		<title>CSC/ECE 517 Fall 2012/ch2a 2w3 sm</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2012/ch2a_2w3_sm&amp;diff=68728"/>
		<updated>2012-10-27T01:18:38Z</updated>

		<summary type="html">&lt;p&gt;Spangul: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;font size=&amp;quot;5&amp;quot;&amp;gt;The Spiral Model&amp;lt;/font&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
== Introduction ==&lt;br /&gt;
The spiral model is a software development process that combines the elements of both design and prototyping-in-stages.This model represents a risk-driven approach to software process analysis. Also known as the spiral lifecycle model (or spiral development), it is a systems development method (SDM) used in information technology (IT).  This model incorporates many of the strengths of other models and resolves many of their difficulties. It combines the advantages of top-down and bottom-up concepts and promotes quality assurance through prototyping at each stage.Thus it includes the features of both prototyping and the waterfall model but provides emphasis in a key area which is mostly neglected by other methodologies: deliberate iterative risk analysis.&lt;br /&gt;
Generally,the spiral model is intended for large, expensive and complicated projects.This approach incorporates elements of specification-driven, prototype-driven process methods, together with the classic software life cycle.&amp;lt;ref name=”aaa”&amp;gt; Introduction - http://en.wikipedia.org/wiki/Spiral_model &amp;lt;/ref&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== History ==&lt;br /&gt;
The spiral model was defined by Barry Boehm in his 1986 article &amp;quot;A Spiral Model of Software Development and Enhancement&amp;quot;.&amp;lt;ref name=&amp;quot;bbb&amp;quot;&amp;gt; History of Spiral Model http://www.princeton.edu/~achaney/tmve/wiki100k/docs/Spiral_model.html&amp;lt;/ref&amp;gt; This model was not the first model to discuss iterative development but it was the first model to explain why the iteration matters.  It was created primarily to offer an alternative to the document-driven and code-driven development models, such as the waterfall model, which were being found to be far too prescriptive and unable to handle the inherent risk in software development.&amp;lt;br/&amp;gt;&lt;br /&gt;
Each phase is characterised by setting a design goal initially and ends with the client (who may be internal) reviewing the progress thus far. Analysis and engineering efforts are applied at each phase of the project, all the way till  the end goal of the project is achieved. The key characteristic of a Spiral model is risk management at regular stages in the development cycle. &lt;br /&gt;
== Illustration ==&lt;br /&gt;
&lt;br /&gt;
Spiral model is also called as “meta-model”, The name comes from the way the Spiral Model incorporates other Models in the Software Development Life-Cycle. Both waterfall and prototype models are those that are used most often in it. The Software development progresses systematically over the loops (adhering to waterfall approach) and at the same time prototypes are created and displayed to the user after completion of various phases. This ensures a systematic approach with minimal chances of risks.&amp;lt;Ref name=&amp;quot;reft&amp;quot;&amp;gt;Illustration http://www.ianswer4u.com/2011/12/spiral-model-advantages-and.html&amp;lt;/ref&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;[[File:Image002.png]]&amp;lt;/center&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
The spiral model is commonly known as an evolutionary development process.Commonly used as a lifecycle model for software development, the spiral model is similar to the iterative design process as there are repeated iterations (called cycles) in which successive attempts are made to develop a solution.It does so by representing iterative development cycles as an expanding spiral, with inner cycles denoting early system analysis and prototyping, and outer cycles denoting the classic software life cycle.&lt;br /&gt;
The radial dimension denotes cumulative development costs, and the angular dimension denotes progress made in accomplishing each development spiral.&lt;br /&gt;
&lt;br /&gt;
== Advantages of The Spiral Model==&lt;br /&gt;
&lt;br /&gt;
Spiral Model is one of the most used Software Development Models and is known for it’s efficiency, accuracy and straight forward design. Following are various advantages of the Spiral Model:&amp;lt;ref name=&amp;quot;refx&amp;quot;&amp;gt;Spiral Model - Advantages    &lt;br /&gt;
 http://www.ianswer4u.com/2011/12/spiral-model-advantages-and.html#axzz2ARqc6EGX&amp;lt;/ref&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The Spiral Life-Cycle Model is one of the most flexible SDLC models in software Development. Various phases in Development can be determined by the project manager, based on the complexity of the project.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Monitoring is very easy, effective and efficient. Each phase, as well as each loop, requires a review from concerned people. This facilitates transparency in the model.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Risk management is one of the in-built features of the model, which makes up for an added advantage compared to other models.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Changes in the model can be introduced at a later stage. The person in charge of the project is given enough flexibility to incorporate these changes.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Estimates about the project including the time taken, cost and schedule become more accurate as the development progresses.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The Spiral Model is highly adaptive for High-Risk projects, where business needs may be unstable.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;A heavier emphasis is present on Customization, ensuring heavy customizability.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
== Disadvantages of the Spiral Model ==&lt;br /&gt;
&lt;br /&gt;
Despite the various advantages Spiral Model brings in, it also has a few considerable disadvantages:&amp;lt;ref name=&amp;quot;refy&amp;quot;&amp;gt;Spiral Model - Disadvantages  http://www.ianswer4u.com/2011/12/spiral-model-advantages-and.html#axzz2ARqc6EGX&amp;lt;/ref&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The Spiral Model might involve higher costs, although it can accurately estimate the numbers.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The model might become complicated even for projects with a clear Software-Requirements-Specifications.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Evaluation and reviews of the Spiral Model might require advanced skills, though not true in all cases.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;In order to effectively implement this model, the protocols and standards must be followed carefully, as any small change in the implementation might cause considerable changes to the development process.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;If the requirements of the project change in the future, using the same prototype might get difficult.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Involves extensive documentation in the intermediate stages during which management of the project might get difficult.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Not suitable for Low Risk projects.&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Applications of The Spiral Model ==&lt;br /&gt;
&lt;br /&gt;
The Spiral model is used most often in large projects and needs constant review to stay on target. Given the disadvantages of the Spiral Model that are cited above, the Agile Software Development Model can act as a viable alternative. &amp;lt;ref name=”refz”&amp;gt; Applications of Spiral Model http://en.wikipedia.org/wiki/Spiral_model#Applications&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
- The military had adopted the spiral model for its Future Combat Systems program. The FCS&lt;br /&gt;
project was eventually canceled after six years (2003–2009). it had a two year iteration (spiral).&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
- The FCS originally should have resulted in three consecutive prototypes (one prototype per spiral—every two years).&lt;br /&gt;
The above application of the Spiral Model indicates that the spiral model thus may suit small&lt;br /&gt;
(up to $3 million) software applications and not a complicated ($3 billion) distributed,&lt;br /&gt;
interoperable, system of systems.&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
- Also it is reasonable to use the spiral model in projects where business goals are unstable but&lt;br /&gt;
the architecture is realized well enough to provide high loading and stress ability.&lt;br /&gt;
For example, the Spiral Architecture Driven Development is a spiral-based Software&lt;br /&gt;
Development Life Cycle which shows one possible way how to reduce the risk of non-effective       &lt;br /&gt;
architectures with the help of a spiral model in conjunction with the best practices from other models.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
[http://users.csc.calpoly.edu/~jdalbey/308/Lectures/SoftwareProcessModels.html Software Process Models]&amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.ctg.albany.edu/publications/reports/survey_of_sysdev?chapter=9 Spiral Model Survey]&amp;lt;br/&amp;gt;&lt;br /&gt;
[http://searchsoftwarequality.techtarget.com/definition/spiral-model Spiral Model Design]&amp;lt;br/&amp;gt;&lt;br /&gt;
[http://myprojects.kostigoff.net/methodology/development_models/development_models.htm Understanding Spiral Models]&amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.youtube.com/watch?v=YMbAdgb6pG8 Software Models]&amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.buzzle.com/editorials/1-13-2005-64082.asp Introduction to the Spiral Model]&amp;lt;br/&amp;gt;&lt;br /&gt;
[http://my.safaribooksonline.com/book/software-engineering-and-development/9781934015551/software-development-life-cycle-models/spiral_model The Spiral Software Model ]&amp;lt;br/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Spangul</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2012/ch2a_2w3_sm&amp;diff=68724</id>
		<title>CSC/ECE 517 Fall 2012/ch2a 2w3 sm</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2012/ch2a_2w3_sm&amp;diff=68724"/>
		<updated>2012-10-27T01:16:45Z</updated>

		<summary type="html">&lt;p&gt;Spangul: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;font size=&amp;quot;5&amp;quot;&amp;gt;The Spiral Model&amp;lt;/font&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
== Introduction ==&lt;br /&gt;
The spiral model is a software development process that combines the elements of both design and prototyping-in-stages.This model represents a risk-driven approach to software process analysis. Also known as the spiral lifecycle model (or spiral development), it is a systems development method (SDM) used in information technology (IT).  This model incorporates many of the strengths of other models and resolves many of their difficulties. It combines the advantages of top-down and bottom-up concepts and promotes quality assurance through prototyping at each stage.Thus it includes the features of both prototyping and the waterfall model but provides emphasis in a key area which is mostly neglected by other methodologies: deliberate iterative risk analysis.&lt;br /&gt;
Generally,the spiral model is intended for large, expensive and complicated projects.This approach incorporates elements of specification-driven, prototype-driven process methods, together with the classic software life cycle.&amp;lt;ref name=”aaa”&amp;gt; Introduction - http://en.wikipedia.org/wiki/Spiral_model &amp;lt;/ref&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== History ==&lt;br /&gt;
The spiral model was defined by Barry Boehm in his 1986 article &amp;quot;A Spiral Model of Software Development and Enhancement&amp;quot;.&amp;lt;ref name=&amp;quot;bbb&amp;quot;&amp;gt; History of Spiral Model http://www.princeton.edu/~achaney/tmve/wiki100k/docs/Spiral_model.html&amp;lt;/ref&amp;gt; This model was not the first model to discuss iterative development but it was the first model to explain why the iteration matters.  It was created primarily to offer an alternative to the document-driven and code-driven development models, such as the waterfall model, which were being found to be far too prescriptive and unable to handle the inherent risk in software development.&amp;lt;br/&amp;gt;&lt;br /&gt;
Each phase is characterised by setting a design goal initially and ends with the client (who may be internal) reviewing the progress thus far. Analysis and engineering efforts are applied at each phase of the project, all the way till  the end goal of the project is achieved. The key characteristic of a Spiral model is risk management at regular stages in the development cycle. &lt;br /&gt;
== Illustration ==&lt;br /&gt;
&lt;br /&gt;
Spiral model is also called as “meta-model”, The name comes from the way the Spiral Model incorporates other Models in the Software Development Life-Cycle. Both waterfall and prototype models are those that are used most often in it. The Software development progresses systematically over the loops (adhering to waterfall approach) and at the same time prototypes are created and displayed to the user after completion of various phases. This ensures a systematic approach with minimal chances of risks.&amp;lt;Ref name=&amp;quot;reft&amp;quot;&amp;gt;Illustration http://www.ianswer4u.com/2011/12/spiral-model-advantages-and.html&amp;lt;/ref&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;[[File:Image002.png]]&amp;lt;/center&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Advantages of The Spiral Model==&lt;br /&gt;
&lt;br /&gt;
Spiral Model is one of the most used Software Development Models and is known for it’s efficiency, accuracy and straight forward design. Following are various advantages of the Spiral Model:&amp;lt;ref name=&amp;quot;refx&amp;quot;&amp;gt;Spiral Model - Advantages    &lt;br /&gt;
 http://www.ianswer4u.com/2011/12/spiral-model-advantages-and.html#axzz2ARqc6EGX&amp;lt;/ref&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The Spiral Life-Cycle Model is one of the most flexible SDLC models in software Development. Various phases in Development can be determined by the project manager, based on the complexity of the project.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Monitoring is very easy, effective and efficient. Each phase, as well as each loop, requires a review from concerned people. This facilitates transparency in the model.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Risk management is one of the in-built features of the model, which makes up for an added advantage compared to other models.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Changes in the model can be introduced at a later stage. The person in charge of the project is given enough flexibility to incorporate these changes.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Estimates about the project including the time taken, cost and schedule become more accurate as the development progresses.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The Spiral Model is highly adaptive for High-Risk projects, where business needs may be unstable.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;A heavier emphasis is present on Customization, ensuring heavy customizability.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
== Disadvantages of the Spiral Model ==&lt;br /&gt;
&lt;br /&gt;
Despite the various advantages Spiral Model brings in, it also has a few considerable disadvantages:&amp;lt;ref name=&amp;quot;refy&amp;quot;&amp;gt;Spiral Model - Disadvantages  http://www.ianswer4u.com/2011/12/spiral-model-advantages-and.html#axzz2ARqc6EGX&amp;lt;/ref&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The Spiral Model might involve higher costs, although it can accurately estimate the numbers.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The model might become complicated even for projects with a clear Software-Requirements-Specifications.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Evaluation and reviews of the Spiral Model might require advanced skills, though not true in all cases.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;In order to effectively implement this model, the protocols and standards must be followed carefully, as any small change in the implementation might cause considerable changes to the development process.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;If the requirements of the project change in the future, using the same prototype might get difficult.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Involves extensive documentation in the intermediate stages during which management of the project might get difficult.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Not suitable for Low Risk projects.&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Applications of The Spiral Model ==&lt;br /&gt;
&lt;br /&gt;
The Spiral model is used most often in large projects and needs constant review to stay on target. Given the disadvantages of the Spiral Model that are cited above, the Agile Software Development Model can act as a viable alternative. &amp;lt;ref name=”refz”&amp;gt; Applications of Spiral Model http://en.wikipedia.org/wiki/Spiral_model#Applications&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
- The military had adopted the spiral model for its Future Combat Systems program. The FCS&lt;br /&gt;
project was eventually canceled after six years (2003–2009). it had a two year iteration (spiral).&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
- The FCS originally should have resulted in three consecutive prototypes (one prototype per spiral—every two years).&lt;br /&gt;
The above application of the Spiral Model indicates that the spiral model thus may suit small&lt;br /&gt;
(up to $3 million) software applications and not a complicated ($3 billion) distributed,&lt;br /&gt;
interoperable, system of systems.&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
- Also it is reasonable to use the spiral model in projects where business goals are unstable but&lt;br /&gt;
the architecture is realized well enough to provide high loading and stress ability.&lt;br /&gt;
For example, the Spiral Architecture Driven Development is a spiral-based Software&lt;br /&gt;
Development Life Cycle which shows one possible way how to reduce the risk of non-effective       &lt;br /&gt;
architectures with the help of a spiral model in conjunction with the best practices from other models.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
[http://users.csc.calpoly.edu/~jdalbey/308/Lectures/SoftwareProcessModels.html Software Process Models]&amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.ctg.albany.edu/publications/reports/survey_of_sysdev?chapter=9 Spiral Model Survey]&amp;lt;br/&amp;gt;&lt;br /&gt;
[http://searchsoftwarequality.techtarget.com/definition/spiral-model Spiral Model Design]&amp;lt;br/&amp;gt;&lt;br /&gt;
[http://myprojects.kostigoff.net/methodology/development_models/development_models.htm Understanding Spiral Models]&amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.youtube.com/watch?v=YMbAdgb6pG8 Software Models]&amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.buzzle.com/editorials/1-13-2005-64082.asp Introduction to the Spiral Model]&amp;lt;br/&amp;gt;&lt;br /&gt;
[http://my.safaribooksonline.com/book/software-engineering-and-development/9781934015551/software-development-life-cycle-models/spiral_model The Spiral Software Model ]&amp;lt;br/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Spangul</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2012/ch2a_2w3_sm&amp;diff=68713</id>
		<title>CSC/ECE 517 Fall 2012/ch2a 2w3 sm</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2012/ch2a_2w3_sm&amp;diff=68713"/>
		<updated>2012-10-27T01:13:58Z</updated>

		<summary type="html">&lt;p&gt;Spangul: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;font size=&amp;quot;5&amp;quot;&amp;gt;The Spiral Model&amp;lt;/font&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
== Introduction ==&lt;br /&gt;
The spiral model is a software development process that combines the elements of both design and prototyping-in-stages.This model represents a risk-driven approach to software process analysis. Also known as the spiral lifecycle model (or spiral development), it is a systems development method (SDM) used in information technology (IT).  This model incorporates many of the strengths of other models and resolves many of their difficulties. It combines the advantages of top-down and bottom-up concepts and promotes quality assurance through prototyping at each stage.Thus it includes the features of both prototyping and the waterfall model but provides emphasis in a key area which is mostly neglected by other methodologies: deliberate iterative risk analysis.&lt;br /&gt;
Generally,the spiral model is intended for large, expensive and complicated projects.This approach incorporates elements of specification-driven, prototype-driven process methods, together with the classic software life cycle.&amp;lt;ref name=”aaa”&amp;gt; Introduction - http://en.wikipedia.org/wiki/Spiral_model &amp;lt;/ref&amp;gt;&lt;br /&gt;
== Illustration ==&lt;br /&gt;
&lt;br /&gt;
Spiral model is also called as “meta-model”, The name comes from the way the Spiral Model incorporates other Models in the Software Development Life-Cycle. Both waterfall and prototype models are those that are used most often in it. The Software development progresses systematically over the loops (adhering to waterfall approach) and at the same time prototypes are created and displayed to the user after completion of various phases. This ensures a systematic approach with minimal chances of risks.&amp;lt;Ref name=&amp;quot;reft&amp;quot;&amp;gt;Illustration http://www.ianswer4u.com/2011/12/spiral-model-advantages-and.html&amp;lt;/ref&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;[[File:Image002.png]]&amp;lt;/center&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Advantages of The Spiral Model==&lt;br /&gt;
&lt;br /&gt;
Spiral Model is one of the most used Software Development Models and is known for it’s efficiency, accuracy and straight forward design. Following are various advantages of the Spiral Model:&amp;lt;ref name=&amp;quot;refx&amp;quot;&amp;gt;Spiral Model - Advantages    &lt;br /&gt;
 http://www.ianswer4u.com/2011/12/spiral-model-advantages-and.html#axzz2ARqc6EGX&amp;lt;/ref&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The Spiral Life-Cycle Model is one of the most flexible SDLC models in software Development. Various phases in Development can be determined by the project manager, based on the complexity of the project.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Monitoring is very easy, effective and efficient. Each phase, as well as each loop, requires a review from concerned people. This facilitates transparency in the model.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Risk management is one of the in-built features of the model, which makes up for an added advantage compared to other models.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Changes in the model can be introduced at a later stage. The person in charge of the project is given enough flexibility to incorporate these changes.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Estimates about the project including the time taken, cost and schedule become more accurate as the development progresses.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The Spiral Model is highly adaptive for High-Risk projects, where business needs may be unstable.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;A heavier emphasis is present on Customization, ensuring heavy customizability.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
== Disadvantages of the Spiral Model ==&lt;br /&gt;
&lt;br /&gt;
Despite the various advantages Spiral Model brings in, it also has a few considerable disadvantages:&amp;lt;ref name=&amp;quot;refy&amp;quot;&amp;gt;Spiral Model - Disadvantages  http://www.ianswer4u.com/2011/12/spiral-model-advantages-and.html#axzz2ARqc6EGX&amp;lt;/ref&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The Spiral Model might involve higher costs, although it can accurately estimate the numbers.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The model might become complicated even for projects with a clear Software-Requirements-Specifications.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Evaluation and reviews of the Spiral Model might require advanced skills, though not true in all cases.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;In order to effectively implement this model, the protocols and standards must be followed carefully, as any small change in the implementation might cause considerable changes to the development process.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;If the requirements of the project change in the future, using the same prototype might get difficult.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Involves extensive documentation in the intermediate stages during which management of the project might get difficult.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Not suitable for Low Risk projects.&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Applications of The Spiral Model ==&lt;br /&gt;
&lt;br /&gt;
The Spiral model is used most often in large projects and needs constant review to stay on target. Given the disadvantages of the Spiral Model that are cited above, the Agile Software Development Model can act as a viable alternative. &amp;lt;ref name=”refz”&amp;gt; Applications of Spiral Model http://en.wikipedia.org/wiki/Spiral_model#Applications&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
- The military had adopted the spiral model for its Future Combat Systems program. The FCS&lt;br /&gt;
project was eventually canceled after six years (2003–2009). it had a two year iteration (spiral).&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
- The FCS originally should have resulted in three consecutive prototypes (one prototype per spiral—every two years).&lt;br /&gt;
The above application of the Spiral Model indicates that the spiral model thus may suit small&lt;br /&gt;
(up to $3 million) software applications and not a complicated ($3 billion) distributed,&lt;br /&gt;
interoperable, system of systems.&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
- Also it is reasonable to use the spiral model in projects where business goals are unstable but&lt;br /&gt;
the architecture is realized well enough to provide high loading and stress ability.&lt;br /&gt;
For example, the Spiral Architecture Driven Development is a spiral-based Software&lt;br /&gt;
Development Life Cycle which shows one possible way how to reduce the risk of non-effective       &lt;br /&gt;
architectures with the help of a spiral model in conjunction with the best practices from other models.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
[http://users.csc.calpoly.edu/~jdalbey/308/Lectures/SoftwareProcessModels.html Software Process Models]&amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.ctg.albany.edu/publications/reports/survey_of_sysdev?chapter=9 Spiral Model Survey]&amp;lt;br/&amp;gt;&lt;br /&gt;
[http://searchsoftwarequality.techtarget.com/definition/spiral-model Spiral Model Design]&amp;lt;br/&amp;gt;&lt;br /&gt;
[http://myprojects.kostigoff.net/methodology/development_models/development_models.htm Understanding Spiral Models]&amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.youtube.com/watch?v=YMbAdgb6pG8 Software Models]&amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.buzzle.com/editorials/1-13-2005-64082.asp Introduction to the Spiral Model]&amp;lt;br/&amp;gt;&lt;br /&gt;
[http://my.safaribooksonline.com/book/software-engineering-and-development/9781934015551/software-development-life-cycle-models/spiral_model The Spiral Software Model ]&amp;lt;br/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Spangul</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2012/ch2a_2w3_sm&amp;diff=68711</id>
		<title>CSC/ECE 517 Fall 2012/ch2a 2w3 sm</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2012/ch2a_2w3_sm&amp;diff=68711"/>
		<updated>2012-10-27T01:12:13Z</updated>

		<summary type="html">&lt;p&gt;Spangul: Created page with &amp;quot;&amp;lt;p&amp;gt; &amp;lt;font size=&amp;quot;5&amp;quot;&amp;gt;The Spiral Model&amp;lt;/font&amp;gt; &amp;lt;/p&amp;gt; == Illustration ==  Spiral model is also called as “meta-model”, The name comes from the way the Spiral Model incorporates oth...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;font size=&amp;quot;5&amp;quot;&amp;gt;The Spiral Model&amp;lt;/font&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
== Illustration ==&lt;br /&gt;
&lt;br /&gt;
Spiral model is also called as “meta-model”, The name comes from the way the Spiral Model incorporates other Models in the Software Development Life-Cycle. Both waterfall and prototype models are those that are used most often in it. The Software development progresses systematically over the loops (adhering to waterfall approach) and at the same time prototypes are created and displayed to the user after completion of various phases. This ensures a systematic approach with minimal chances of risks.&amp;lt;Ref name=&amp;quot;reft&amp;quot;&amp;gt;Illustration http://www.ianswer4u.com/2011/12/spiral-model-advantages-and.html&amp;lt;/ref&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;[[File:Image002.png]]&amp;lt;/center&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Advantages of The Spiral Model==&lt;br /&gt;
&lt;br /&gt;
Spiral Model is one of the most used Software Development Models and is known for it’s efficiency, accuracy and straight forward design. Following are various advantages of the Spiral Model:&amp;lt;ref name=&amp;quot;refx&amp;quot;&amp;gt;Spiral Model - Advantages    &lt;br /&gt;
 http://www.ianswer4u.com/2011/12/spiral-model-advantages-and.html#axzz2ARqc6EGX&amp;lt;/ref&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The Spiral Life-Cycle Model is one of the most flexible SDLC models in software Development. Various phases in Development can be determined by the project manager, based on the complexity of the project.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Monitoring is very easy, effective and efficient. Each phase, as well as each loop, requires a review from concerned people. This facilitates transparency in the model.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Risk management is one of the in-built features of the model, which makes up for an added advantage compared to other models.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Changes in the model can be introduced at a later stage. The person in charge of the project is given enough flexibility to incorporate these changes.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Estimates about the project including the time taken, cost and schedule become more accurate as the development progresses.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The Spiral Model is highly adaptive for High-Risk projects, where business needs may be unstable.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;A heavier emphasis is present on Customization, ensuring heavy customizability.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
== Disadvantages of the Spiral Model ==&lt;br /&gt;
&lt;br /&gt;
Despite the various advantages Spiral Model brings in, it also has a few considerable disadvantages:&amp;lt;ref name=&amp;quot;refy&amp;quot;&amp;gt;Spiral Model - Disadvantages  http://www.ianswer4u.com/2011/12/spiral-model-advantages-and.html#axzz2ARqc6EGX&amp;lt;/ref&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The Spiral Model might involve higher costs, although it can accurately estimate the numbers.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The model might become complicated even for projects with a clear Software-Requirements-Specifications.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Evaluation and reviews of the Spiral Model might require advanced skills, though not true in all cases.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;In order to effectively implement this model, the protocols and standards must be followed carefully, as any small change in the implementation might cause considerable changes to the development process.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;If the requirements of the project change in the future, using the same prototype might get difficult.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Involves extensive documentation in the intermediate stages during which management of the project might get difficult.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Not suitable for Low Risk projects.&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Applications of The Spiral Model ==&lt;br /&gt;
&lt;br /&gt;
The Spiral model is used most often in large projects and needs constant review to stay on target. Given the disadvantages of the Spiral Model that are cited above, the Agile Software Development Model can act as a viable alternative. &amp;lt;ref name=”refz”&amp;gt; Applications of Spiral Model http://en.wikipedia.org/wiki/Spiral_model#Applications&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
- The military had adopted the spiral model for its Future Combat Systems program. The FCS&lt;br /&gt;
project was eventually canceled after six years (2003–2009). it had a two year iteration (spiral).&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
- The FCS originally should have resulted in three consecutive prototypes (one prototype per spiral—every two years).&lt;br /&gt;
The above application of the Spiral Model indicates that the spiral model thus may suit small&lt;br /&gt;
(up to $3 million) software applications and not a complicated ($3 billion) distributed,&lt;br /&gt;
interoperable, system of systems.&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
- Also it is reasonable to use the spiral model in projects where business goals are unstable but&lt;br /&gt;
the architecture is realized well enough to provide high loading and stress ability.&lt;br /&gt;
For example, the Spiral Architecture Driven Development is a spiral-based Software&lt;br /&gt;
Development Life Cycle which shows one possible way how to reduce the risk of non-effective       &lt;br /&gt;
architectures with the help of a spiral model in conjunction with the best practices from other models.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
[http://users.csc.calpoly.edu/~jdalbey/308/Lectures/SoftwareProcessModels.html Software Process Models]&amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.ctg.albany.edu/publications/reports/survey_of_sysdev?chapter=9 Spiral Model Survey]&amp;lt;br/&amp;gt;&lt;br /&gt;
[http://searchsoftwarequality.techtarget.com/definition/spiral-model Spiral Model Design]&amp;lt;br/&amp;gt;&lt;br /&gt;
[http://myprojects.kostigoff.net/methodology/development_models/development_models.htm Understanding Spiral Models]&amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.youtube.com/watch?v=YMbAdgb6pG8 Software Models]&amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.buzzle.com/editorials/1-13-2005-64082.asp Introduction to the Spiral Model]&amp;lt;br/&amp;gt;&lt;br /&gt;
[http://my.safaribooksonline.com/book/software-engineering-and-development/9781934015551/software-development-life-cycle-models/spiral_model The Spiral Software Model ]&amp;lt;br/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Spangul</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2012&amp;diff=68710</id>
		<title>CSC/ECE 517 Fall 2012</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2012&amp;diff=68710"/>
		<updated>2012-10-27T01:11:41Z</updated>

		<summary type="html">&lt;p&gt;Spangul: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;*[[CSC/ECE 517 Fall 2012/ch1 n xx]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch1 1w1 rk]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch1 1w20 pp]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch1 1w5 su]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch1 1w6 pp]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch1 1w4 aj]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch1 1w7 am]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch1 1w8 aa]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch1 1w9 av]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch1 1w10 pk]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch1 1w11 ap]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch1a 1w12 mv]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch1 1w14 gv]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch1 1w17 ir]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch1 1w18 as]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch1 1w22 an]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch1 1w21 aa]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch1 1w21 wi]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch1 1w31 sa]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch1a 1w16 br]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch1a 1w23 as]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch1 1w24 nr]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch1 1w15 rt]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch1 1w3 pl]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch1 1w32 cm]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch2a 2w5 dp]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch1b 1w37 ss]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch1b 1w67 ks]]&lt;br /&gt;
&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch1 1w27 ms]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch1 1w29 sa]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch1 1w33 op]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch1 1w19 sa]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch1 1w34 vd]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch1 1w35 sa]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch1 1w30 rp]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch1b 1w58 am]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch1b 1w47 sk]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch1b 1w69 mv]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch1b 1w44 as]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch1b 1w45 is]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch1b 1w53 kc]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch1b 1w40 ar]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch1b 1w39 sn]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch1b 1w54 go]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch1b 1w56 ms]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch1b 1w64 nn]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch1b 1w66 as]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch1b 1w40 as]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch1b 1w42 js]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch1b 1w46 sm]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch1b 1w71 gs]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch1b 1w63 dv]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch1b 1w55 ms]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch1b 1w57 mp]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch1b 1w52 an]]&lt;br /&gt;
*[[CSC/ECE_517_Fall_2012/ch1b 1w38 nm]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch1b 1w60 ac]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch1b 1w62 rb]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch2a 2w29 st]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch2a 2w30 an]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch2a 2w17 pt]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch2a 2w31 up]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch2a 2w9 ms]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch2a 2w19 is]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch2a 2w26 aj]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch2a 2w5 dp]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch2a 2w16 dp]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch2a 2w8 vp]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch2a 2w18 as]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch2a 2w3 jm]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch2a 2w23 sr]]&lt;br /&gt;
*[[CSC/ECE_517_Fall_2012/ch2a_2w11_aa]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch2a 2w15 rr]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch2a 2w33 pv]]&lt;br /&gt;
*[[CSC/ECE_517_Fall_2012/ch2a_2w20_aa]]&lt;br /&gt;
*[[CSC/ECE_517_Fall_2012/ch2a_2w14_bb]]&lt;br /&gt;
*[[CSC/ECE_517_Fall_2012/ch2a_2w21_ap]]&lt;br /&gt;
*[[CSC/ECE_517_Fall_2012/ch2a_2w13_sm]]&lt;br /&gt;
*[[CSC/ECE_517_Fall_2012/ch2a_2w4_sa]]&lt;br /&gt;
*[[CSC/ECE_517_Fall_2012/ch2a_2w25_nr]]&lt;br /&gt;
*[[CSC/ECE_517_Fall_2012/ch2a_2w12_sv]]&lt;br /&gt;
*[[CSC/ECE_517_Fall_2012/ch2a_2w7_ma]]&lt;br /&gt;
*[[CSC/ECE_517_Fall_2012/ch2a_2w6_ar]]&lt;br /&gt;
*[[CSC/ECE_517_Fall_2012/ch2a_2w3_sm]]&lt;/div&gt;</summary>
		<author><name>Spangul</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2012/SM_sm&amp;diff=68701</id>
		<title>CSC/ECE 517 Fall 2012/SM sm</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2012/SM_sm&amp;diff=68701"/>
		<updated>2012-10-27T01:07:39Z</updated>

		<summary type="html">&lt;p&gt;Spangul: /* Illustration */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;font size=&amp;quot;5&amp;quot;&amp;gt;The Spiral Model&amp;lt;/font&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
== Illustration ==&lt;br /&gt;
&lt;br /&gt;
Spiral model is also called as “meta-model”, The name comes from the way the Spiral Model incorporates other Models in the Software Development Life-Cycle. Both waterfall and prototype models are those that are used most often in it. The Software development progresses systematically over the loops (adhering to waterfall approach) and at the same time prototypes are created and displayed to the user after completion of various phases. This ensures a systematic approach with minimal chances of risks.&amp;lt;Ref name=&amp;quot;reft&amp;quot;&amp;gt;Illustration http://www.ianswer4u.com/2011/12/spiral-model-advantages-and.html&amp;lt;/ref&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;[[File:Image002.png]]&amp;lt;/center&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Advantages of The Spiral Model==&lt;br /&gt;
&lt;br /&gt;
Spiral Model is one of the most used Software Development Models and is known for it’s efficiency, accuracy and straight forward design. Following are various advantages of the Spiral Model:&amp;lt;ref name=&amp;quot;refx&amp;quot;&amp;gt;Spiral Model - Advantages    &lt;br /&gt;
 http://www.ianswer4u.com/2011/12/spiral-model-advantages-and.html#axzz2ARqc6EGX&amp;lt;/ref&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The Spiral Life-Cycle Model is one of the most flexible SDLC models in software Development. Various phases in Development can be determined by the project manager, based on the complexity of the project.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Monitoring is very easy, effective and efficient. Each phase, as well as each loop, requires a review from concerned people. This facilitates transparency in the model.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Risk management is one of the in-built features of the model, which makes up for an added advantage compared to other models.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Changes in the model can be introduced at a later stage. The person in charge of the project is given enough flexibility to incorporate these changes.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Estimates about the project including the time taken, cost and schedule become more accurate as the development progresses.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The Spiral Model is highly adaptive for High-Risk projects, where business needs may be unstable.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;A heavier emphasis is present on Customization, ensuring heavy customizability.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
== Disadvantages of the Spiral Model ==&lt;br /&gt;
&lt;br /&gt;
Despite the various advantages Spiral Model brings in, it also has a few considerable disadvantages:&amp;lt;ref name=&amp;quot;refy&amp;quot;&amp;gt;Spiral Model - Disadvantages  http://www.ianswer4u.com/2011/12/spiral-model-advantages-and.html#axzz2ARqc6EGX&amp;lt;/ref&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The Spiral Model might involve higher costs, although it can accurately estimate the numbers.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The model might become complicated even for projects with a clear Software-Requirements-Specifications.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Evaluation and reviews of the Spiral Model might require advanced skills, though not true in all cases.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;In order to effectively implement this model, the protocols and standards must be followed carefully, as any small change in the implementation might cause considerable changes to the development process.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;If the requirements of the project change in the future, using the same prototype might get difficult.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Involves extensive documentation in the intermediate stages during which management of the project might get difficult.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Not suitable for Low Risk projects.&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Applications of The Spiral Model ==&lt;br /&gt;
&lt;br /&gt;
The Spiral model is used most often in large projects and needs constant review to stay on target. Given the disadvantages of the Spiral Model that are cited above, the Agile Software Development Model can act as a viable alternative. &amp;lt;ref name=”refz”&amp;gt; Applications of Spiral Model http://en.wikipedia.org/wiki/Spiral_model#Applications&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
- The military had adopted the spiral model for its Future Combat Systems program. The FCS&lt;br /&gt;
project was eventually canceled after six years (2003–2009). it had a two year iteration (spiral).&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
- The FCS originally should have resulted in three consecutive prototypes (one prototype per spiral—every two years).&lt;br /&gt;
The above application of the Spiral Model indicates that the spiral model thus may suit small&lt;br /&gt;
(up to $3 million) software applications and not a complicated ($3 billion) distributed,&lt;br /&gt;
interoperable, system of systems.&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
- Also it is reasonable to use the spiral model in projects where business goals are unstable but&lt;br /&gt;
the architecture is realized well enough to provide high loading and stress ability.&lt;br /&gt;
For example, the Spiral Architecture Driven Development is a spiral-based Software&lt;br /&gt;
Development Life Cycle which shows one possible way how to reduce the risk of non-effective       &lt;br /&gt;
architectures with the help of a spiral model in conjunction with the best practices from other models.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
[http://users.csc.calpoly.edu/~jdalbey/308/Lectures/SoftwareProcessModels.html Software Process Models]&amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.ctg.albany.edu/publications/reports/survey_of_sysdev?chapter=9 Spiral Model Survey]&amp;lt;br/&amp;gt;&lt;br /&gt;
[http://searchsoftwarequality.techtarget.com/definition/spiral-model Spiral Model Design]&amp;lt;br/&amp;gt;&lt;br /&gt;
[http://myprojects.kostigoff.net/methodology/development_models/development_models.htm Understanding Spiral Models]&amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.youtube.com/watch?v=YMbAdgb6pG8 Software Models]&amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.buzzle.com/editorials/1-13-2005-64082.asp Introduction to the Spiral Model]&amp;lt;br/&amp;gt;&lt;br /&gt;
[http://my.safaribooksonline.com/book/software-engineering-and-development/9781934015551/software-development-life-cycle-models/spiral_model The Spiral Software Model ]&amp;lt;br/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Spangul</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2012/SM_sm&amp;diff=68700</id>
		<title>CSC/ECE 517 Fall 2012/SM sm</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2012/SM_sm&amp;diff=68700"/>
		<updated>2012-10-27T01:07:23Z</updated>

		<summary type="html">&lt;p&gt;Spangul: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;font size=&amp;quot;5&amp;quot;&amp;gt;The Spiral Model&amp;lt;/font&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
== Illustration ==&lt;br /&gt;
&lt;br /&gt;
Spiral model is also called as “meta-model”, The name comes from the way the Spiral Model incorporates other Models in the Software Development Life-Cycle. Both waterfall and prototype models are those that are used most often in it. The Software development progresses systematically over the loops (adhering to waterfall approach) and at the same time prototypes are created and displayed to the user after completion of various phases. This ensures a systematic approach with minimal chances of risks.&amp;lt;br/&amp;gt;&amp;lt;Ref name=&amp;quot;reft&amp;quot;&amp;gt;Illustration http://www.ianswer4u.com/2011/12/spiral-model-advantages-and.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;[[File:Image002.png]]&amp;lt;/center&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Advantages of The Spiral Model==&lt;br /&gt;
&lt;br /&gt;
Spiral Model is one of the most used Software Development Models and is known for it’s efficiency, accuracy and straight forward design. Following are various advantages of the Spiral Model:&amp;lt;ref name=&amp;quot;refx&amp;quot;&amp;gt;Spiral Model - Advantages    &lt;br /&gt;
 http://www.ianswer4u.com/2011/12/spiral-model-advantages-and.html#axzz2ARqc6EGX&amp;lt;/ref&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The Spiral Life-Cycle Model is one of the most flexible SDLC models in software Development. Various phases in Development can be determined by the project manager, based on the complexity of the project.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Monitoring is very easy, effective and efficient. Each phase, as well as each loop, requires a review from concerned people. This facilitates transparency in the model.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Risk management is one of the in-built features of the model, which makes up for an added advantage compared to other models.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Changes in the model can be introduced at a later stage. The person in charge of the project is given enough flexibility to incorporate these changes.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Estimates about the project including the time taken, cost and schedule become more accurate as the development progresses.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The Spiral Model is highly adaptive for High-Risk projects, where business needs may be unstable.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;A heavier emphasis is present on Customization, ensuring heavy customizability.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
== Disadvantages of the Spiral Model ==&lt;br /&gt;
&lt;br /&gt;
Despite the various advantages Spiral Model brings in, it also has a few considerable disadvantages:&amp;lt;ref name=&amp;quot;refy&amp;quot;&amp;gt;Spiral Model - Disadvantages  http://www.ianswer4u.com/2011/12/spiral-model-advantages-and.html#axzz2ARqc6EGX&amp;lt;/ref&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The Spiral Model might involve higher costs, although it can accurately estimate the numbers.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The model might become complicated even for projects with a clear Software-Requirements-Specifications.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Evaluation and reviews of the Spiral Model might require advanced skills, though not true in all cases.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;In order to effectively implement this model, the protocols and standards must be followed carefully, as any small change in the implementation might cause considerable changes to the development process.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;If the requirements of the project change in the future, using the same prototype might get difficult.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Involves extensive documentation in the intermediate stages during which management of the project might get difficult.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Not suitable for Low Risk projects.&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Applications of The Spiral Model ==&lt;br /&gt;
&lt;br /&gt;
The Spiral model is used most often in large projects and needs constant review to stay on target. Given the disadvantages of the Spiral Model that are cited above, the Agile Software Development Model can act as a viable alternative. &amp;lt;ref name=”refz”&amp;gt; Applications of Spiral Model http://en.wikipedia.org/wiki/Spiral_model#Applications&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
- The military had adopted the spiral model for its Future Combat Systems program. The FCS&lt;br /&gt;
project was eventually canceled after six years (2003–2009). it had a two year iteration (spiral).&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
- The FCS originally should have resulted in three consecutive prototypes (one prototype per spiral—every two years).&lt;br /&gt;
The above application of the Spiral Model indicates that the spiral model thus may suit small&lt;br /&gt;
(up to $3 million) software applications and not a complicated ($3 billion) distributed,&lt;br /&gt;
interoperable, system of systems.&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
- Also it is reasonable to use the spiral model in projects where business goals are unstable but&lt;br /&gt;
the architecture is realized well enough to provide high loading and stress ability.&lt;br /&gt;
For example, the Spiral Architecture Driven Development is a spiral-based Software&lt;br /&gt;
Development Life Cycle which shows one possible way how to reduce the risk of non-effective       &lt;br /&gt;
architectures with the help of a spiral model in conjunction with the best practices from other models.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
[http://users.csc.calpoly.edu/~jdalbey/308/Lectures/SoftwareProcessModels.html Software Process Models]&amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.ctg.albany.edu/publications/reports/survey_of_sysdev?chapter=9 Spiral Model Survey]&amp;lt;br/&amp;gt;&lt;br /&gt;
[http://searchsoftwarequality.techtarget.com/definition/spiral-model Spiral Model Design]&amp;lt;br/&amp;gt;&lt;br /&gt;
[http://myprojects.kostigoff.net/methodology/development_models/development_models.htm Understanding Spiral Models]&amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.youtube.com/watch?v=YMbAdgb6pG8 Software Models]&amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.buzzle.com/editorials/1-13-2005-64082.asp Introduction to the Spiral Model]&amp;lt;br/&amp;gt;&lt;br /&gt;
[http://my.safaribooksonline.com/book/software-engineering-and-development/9781934015551/software-development-life-cycle-models/spiral_model The Spiral Software Model ]&amp;lt;br/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Spangul</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2012/SM_sm&amp;diff=68699</id>
		<title>CSC/ECE 517 Fall 2012/SM sm</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2012/SM_sm&amp;diff=68699"/>
		<updated>2012-10-27T01:05:59Z</updated>

		<summary type="html">&lt;p&gt;Spangul: /* Illustration */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;font size=&amp;quot;5&amp;quot;&amp;gt;The Spiral Model&amp;lt;/font&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
==Introduction==&lt;br /&gt;
The spiral model is a software development process that combines the elements of both design and prototyping-in-stages.This model represents a risk-driven approach to software process analysis and structuring. Also known as the spiral lifecycle model (or spiral development), it is a systems development method (SDM) used in information technology (IT).  This model combines the advantages of top-down and bottom-up concepts and promotes quality assurance through prototyping at each stage.Thus it includes the features of both prototyping and the waterfall model but provides emphasis in a key area which is mostly neglected by other methodologies: deliberate iterative risk analysis.&lt;br /&gt;
Generally,the spiral model is intended for large, expensive and complicated projects.This approach incorporates elements of specification-driven, prototype-driven process methods, together with the classic software life cycle.&lt;br /&gt;
&lt;br /&gt;
History:&lt;br /&gt;
The spiral model was defined by Barry Boehm in his 1986 article &amp;quot;A Spiral Model of Software Development and Enhancement&amp;quot;. This model was not the first model to discuss iterative development but it was the first model to explain why the iteration matters. Each phase is characterised by setting a design goal initially and ends with the client (who may be internal) reviewing the progress thus far. Analysis and engineering efforts are applied at each phase of the project, all the way till  the end goal of the project is achieved. The key characteristic of a Spiral model is risk management at regular stages in the development cycle.&lt;br /&gt;
&lt;br /&gt;
Description:&lt;br /&gt;
It does so by representing iterative development cycles as an expanding spiral, with inner cycles denoting early system analysis and prototyping, and outer cycles denoting the classic software life cycle.&lt;br /&gt;
The radial dimension denotes cumulative development costs, and the angular dimension denotes progress made in accomplishing each development spiral.&lt;br /&gt;
&lt;br /&gt;
The steps in the spiral model can be generalized as follows:&lt;br /&gt;
&lt;br /&gt;
    The requirements for building the new system are gathered using different methods and defined in as much detail as possible. The methods usually involve interviewing a number of users representing all the external or internal users, preparing questionnaires regarding the other aspects of the existing system.&lt;br /&gt;
&lt;br /&gt;
    Based on the requirements gathered, a preliminary design is created for the new system.&lt;br /&gt;
&lt;br /&gt;
    A first prototype of the new system is constructed from the preliminary design. This is usually a scaled-down system that implements the core functionality and represents an approximation of the characteristics of the final product.&lt;br /&gt;
&lt;br /&gt;
    A second prototype is evolved by a fourfold procedure: &lt;br /&gt;
&lt;br /&gt;
(1) evaluating the first prototype in terms of its strengths, weaknesses, and risks based on customer feedback.&lt;br /&gt;
&lt;br /&gt;
(2) defining more detailed requirements of the second prototype&lt;br /&gt;
&lt;br /&gt;
(3) planning and designing the second prototype&lt;br /&gt;
&lt;br /&gt;
(4) constructing and testing the second prototype.&lt;br /&gt;
&lt;br /&gt;
    At the customer's option, the entire project can be aborted if the risk is deemed too great. Risk factors might involve development cost overruns, operating-cost miscalculation, or any other factor that could, in the customer's judgment, result in a less-than-satisfactory final product.&lt;br /&gt;
&lt;br /&gt;
    The existing prototype is evaluated in the same manner as was the previous prototype, and, if unsatisfactory, another prototype is developed from it according to the fourfold procedure outlined above.&lt;br /&gt;
&lt;br /&gt;
    The preceding steps are iterated until the customer is satisfied with the final product, that is refined prototype.&lt;br /&gt;
&lt;br /&gt;
    The final system is then constructed, based on the refined prototype.&lt;br /&gt;
&lt;br /&gt;
    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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The insights that the Spiral Model offered has in turned influenced the standard software life cycle process models, such as ISO12207&lt;br /&gt;
&lt;br /&gt;
System development in this model therefore spirals out only so far as needed according to the risk that must be managed.&lt;br /&gt;
&lt;br /&gt;
.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Illustration ==&lt;br /&gt;
&lt;br /&gt;
Spiral model is also called as “meta-model”, The name comes from the way the Spiral Model incorporates other Models in the Software Development Life-Cycle. Both waterfall and prototype models are those that are used most often in it. The Software development progresses systematically over the loops (adhering to waterfall approach) and at the same time prototypes are created and displayed to the user after completion of various phases. This ensures a systematic approach with minimal chances of risks.&amp;lt;br/&amp;gt;&amp;lt;Ref name=&amp;quot;reft&amp;quot;&amp;gt;Illustration http://www.ianswer4u.com/2011/12/spiral-model-advantages-and.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
[[File:Image002.png]]&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Advantages of The Spiral Model==&lt;br /&gt;
&lt;br /&gt;
Spiral Model is one of the most used Software Development Models and is known for it’s efficiency, accuracy and straight forward design. Following are various advantages of the Spiral Model:&amp;lt;ref name=&amp;quot;refx&amp;quot;&amp;gt;Spiral Model - Advantages    &lt;br /&gt;
 http://www.ianswer4u.com/2011/12/spiral-model-advantages-and.html#axzz2ARqc6EGX&amp;lt;/ref&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The Spiral Life-Cycle Model is one of the most flexible SDLC models in software Development. Various phases in Development can be determined by the project manager, based on the complexity of the project.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Monitoring is very easy, effective and efficient. Each phase, as well as each loop, requires a review from concerned people. This facilitates transparency in the model.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Risk management is one of the in-built features of the model, which makes up for an added advantage compared to other models.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Changes in the model can be introduced at a later stage. The person in charge of the project is given enough flexibility to incorporate these changes.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Estimates about the project including the time taken, cost and schedule become more accurate as the development progresses.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The Spiral Model is highly adaptive for High-Risk projects, where business needs may be unstable.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;A heavier emphasis is present on Customization, ensuring heavy customizability.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
== Disadvantages of the Spiral Model ==&lt;br /&gt;
&lt;br /&gt;
Despite the various advantages Spiral Model brings in, it also has a few considerable disadvantages:&amp;lt;ref name=&amp;quot;refy&amp;quot;&amp;gt;Spiral Model - Disadvantages  http://www.ianswer4u.com/2011/12/spiral-model-advantages-and.html#axzz2ARqc6EGX&amp;lt;/ref&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The Spiral Model might involve higher costs, although it can accurately estimate the numbers.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The model might become complicated even for projects with a clear Software-Requirements-Specifications.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Evaluation and reviews of the Spiral Model might require advanced skills, though not true in all cases.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;In order to effectively implement this model, the protocols and standards must be followed carefully, as any small change in the implementation might cause considerable changes to the development process.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;If the requirements of the project change in the future, using the same prototype might get difficult.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Involves extensive documentation in the intermediate stages during which management of the project might get difficult.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Not suitable for Low Risk projects.&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Applications of The Spiral Model ==&lt;br /&gt;
&lt;br /&gt;
The Spiral model is used most often in large projects and needs constant review to stay on target. Given the disadvantages of the Spiral Model that are cited above, the Agile Software Development Model can act as a viable alternative. &amp;lt;ref name=”refz”&amp;gt; Applications of Spiral Model http://en.wikipedia.org/wiki/Spiral_model#Applications&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
- The military had adopted the spiral model for its Future Combat Systems program. The FCS&lt;br /&gt;
project was eventually canceled after six years (2003–2009). it had a two year iteration (spiral).&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
- The FCS originally should have resulted in three consecutive prototypes (one prototype per spiral—every two years).&lt;br /&gt;
The above application of the Spiral Model indicates that the spiral model thus may suit small&lt;br /&gt;
(up to $3 million) software applications and not a complicated ($3 billion) distributed,&lt;br /&gt;
interoperable, system of systems.&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
- Also it is reasonable to use the spiral model in projects where business goals are unstable but&lt;br /&gt;
the architecture is realized well enough to provide high loading and stress ability.&lt;br /&gt;
For example, the Spiral Architecture Driven Development is a spiral-based Software&lt;br /&gt;
Development Life Cycle which shows one possible way how to reduce the risk of non-effective       &lt;br /&gt;
architectures with the help of a spiral model in conjunction with the best practices from other models.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
[http://users.csc.calpoly.edu/~jdalbey/308/Lectures/SoftwareProcessModels.html Software Process Models]&amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.ctg.albany.edu/publications/reports/survey_of_sysdev?chapter=9 Spiral Model Survey]&amp;lt;br/&amp;gt;&lt;br /&gt;
[http://searchsoftwarequality.techtarget.com/definition/spiral-model Spiral Model Design]&amp;lt;br/&amp;gt;&lt;br /&gt;
[http://myprojects.kostigoff.net/methodology/development_models/development_models.htm Understanding Spiral Models]&amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.youtube.com/watch?v=YMbAdgb6pG8 Software Models]&amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.buzzle.com/editorials/1-13-2005-64082.asp Introduction to the Spiral Model]&amp;lt;br/&amp;gt;&lt;br /&gt;
[http://my.safaribooksonline.com/book/software-engineering-and-development/9781934015551/software-development-life-cycle-models/spiral_model The Spiral Software Model ]&amp;lt;br/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Spangul</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2012/SM_sm&amp;diff=68697</id>
		<title>CSC/ECE 517 Fall 2012/SM sm</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2012/SM_sm&amp;diff=68697"/>
		<updated>2012-10-27T01:05:43Z</updated>

		<summary type="html">&lt;p&gt;Spangul: /* Illustration */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;font size=&amp;quot;5&amp;quot;&amp;gt;The Spiral Model&amp;lt;/font&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
==Introduction==&lt;br /&gt;
The spiral model is a software development process that combines the elements of both design and prototyping-in-stages.This model represents a risk-driven approach to software process analysis and structuring. Also known as the spiral lifecycle model (or spiral development), it is a systems development method (SDM) used in information technology (IT).  This model combines the advantages of top-down and bottom-up concepts and promotes quality assurance through prototyping at each stage.Thus it includes the features of both prototyping and the waterfall model but provides emphasis in a key area which is mostly neglected by other methodologies: deliberate iterative risk analysis.&lt;br /&gt;
Generally,the spiral model is intended for large, expensive and complicated projects.This approach incorporates elements of specification-driven, prototype-driven process methods, together with the classic software life cycle.&lt;br /&gt;
&lt;br /&gt;
History:&lt;br /&gt;
The spiral model was defined by Barry Boehm in his 1986 article &amp;quot;A Spiral Model of Software Development and Enhancement&amp;quot;. This model was not the first model to discuss iterative development but it was the first model to explain why the iteration matters. Each phase is characterised by setting a design goal initially and ends with the client (who may be internal) reviewing the progress thus far. Analysis and engineering efforts are applied at each phase of the project, all the way till  the end goal of the project is achieved. The key characteristic of a Spiral model is risk management at regular stages in the development cycle.&lt;br /&gt;
&lt;br /&gt;
Description:&lt;br /&gt;
It does so by representing iterative development cycles as an expanding spiral, with inner cycles denoting early system analysis and prototyping, and outer cycles denoting the classic software life cycle.&lt;br /&gt;
The radial dimension denotes cumulative development costs, and the angular dimension denotes progress made in accomplishing each development spiral.&lt;br /&gt;
&lt;br /&gt;
The steps in the spiral model can be generalized as follows:&lt;br /&gt;
&lt;br /&gt;
    The requirements for building the new system are gathered using different methods and defined in as much detail as possible. The methods usually involve interviewing a number of users representing all the external or internal users, preparing questionnaires regarding the other aspects of the existing system.&lt;br /&gt;
&lt;br /&gt;
    Based on the requirements gathered, a preliminary design is created for the new system.&lt;br /&gt;
&lt;br /&gt;
    A first prototype of the new system is constructed from the preliminary design. This is usually a scaled-down system that implements the core functionality and represents an approximation of the characteristics of the final product.&lt;br /&gt;
&lt;br /&gt;
    A second prototype is evolved by a fourfold procedure: &lt;br /&gt;
&lt;br /&gt;
(1) evaluating the first prototype in terms of its strengths, weaknesses, and risks based on customer feedback.&lt;br /&gt;
&lt;br /&gt;
(2) defining more detailed requirements of the second prototype&lt;br /&gt;
&lt;br /&gt;
(3) planning and designing the second prototype&lt;br /&gt;
&lt;br /&gt;
(4) constructing and testing the second prototype.&lt;br /&gt;
&lt;br /&gt;
    At the customer's option, the entire project can be aborted if the risk is deemed too great. Risk factors might involve development cost overruns, operating-cost miscalculation, or any other factor that could, in the customer's judgment, result in a less-than-satisfactory final product.&lt;br /&gt;
&lt;br /&gt;
    The existing prototype is evaluated in the same manner as was the previous prototype, and, if unsatisfactory, another prototype is developed from it according to the fourfold procedure outlined above.&lt;br /&gt;
&lt;br /&gt;
    The preceding steps are iterated until the customer is satisfied with the final product, that is refined prototype.&lt;br /&gt;
&lt;br /&gt;
    The final system is then constructed, based on the refined prototype.&lt;br /&gt;
&lt;br /&gt;
    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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The insights that the Spiral Model offered has in turned influenced the standard software life cycle process models, such as ISO12207&lt;br /&gt;
&lt;br /&gt;
System development in this model therefore spirals out only so far as needed according to the risk that must be managed.&lt;br /&gt;
&lt;br /&gt;
.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Illustration ==&lt;br /&gt;
&lt;br /&gt;
Spiral model is also called as “meta-model”, The name comes from the way the Spiral Model incorporates other Models in the Software Development Life-Cycle. Both waterfall and prototype models are those that are used most often in it. The Software development progresses systematically over the loops (adhering to waterfall approach) and at the same time prototypes are created and displayed to the user after completion of various phases. This ensures a systematic approach with minimal chances of risks.&amp;lt;Ref name=&amp;quot;reft&amp;quot;&amp;gt;Illustration http://www.ianswer4u.com/2011/12/spiral-model-advantages-and.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
[[File:Image002.png]]&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Advantages of The Spiral Model==&lt;br /&gt;
&lt;br /&gt;
Spiral Model is one of the most used Software Development Models and is known for it’s efficiency, accuracy and straight forward design. Following are various advantages of the Spiral Model:&amp;lt;ref name=&amp;quot;refx&amp;quot;&amp;gt;Spiral Model - Advantages    &lt;br /&gt;
 http://www.ianswer4u.com/2011/12/spiral-model-advantages-and.html#axzz2ARqc6EGX&amp;lt;/ref&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The Spiral Life-Cycle Model is one of the most flexible SDLC models in software Development. Various phases in Development can be determined by the project manager, based on the complexity of the project.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Monitoring is very easy, effective and efficient. Each phase, as well as each loop, requires a review from concerned people. This facilitates transparency in the model.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Risk management is one of the in-built features of the model, which makes up for an added advantage compared to other models.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Changes in the model can be introduced at a later stage. The person in charge of the project is given enough flexibility to incorporate these changes.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Estimates about the project including the time taken, cost and schedule become more accurate as the development progresses.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The Spiral Model is highly adaptive for High-Risk projects, where business needs may be unstable.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;A heavier emphasis is present on Customization, ensuring heavy customizability.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
== Disadvantages of the Spiral Model ==&lt;br /&gt;
&lt;br /&gt;
Despite the various advantages Spiral Model brings in, it also has a few considerable disadvantages:&amp;lt;ref name=&amp;quot;refy&amp;quot;&amp;gt;Spiral Model - Disadvantages  http://www.ianswer4u.com/2011/12/spiral-model-advantages-and.html#axzz2ARqc6EGX&amp;lt;/ref&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The Spiral Model might involve higher costs, although it can accurately estimate the numbers.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The model might become complicated even for projects with a clear Software-Requirements-Specifications.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Evaluation and reviews of the Spiral Model might require advanced skills, though not true in all cases.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;In order to effectively implement this model, the protocols and standards must be followed carefully, as any small change in the implementation might cause considerable changes to the development process.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;If the requirements of the project change in the future, using the same prototype might get difficult.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Involves extensive documentation in the intermediate stages during which management of the project might get difficult.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Not suitable for Low Risk projects.&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Applications of The Spiral Model ==&lt;br /&gt;
&lt;br /&gt;
The Spiral model is used most often in large projects and needs constant review to stay on target. Given the disadvantages of the Spiral Model that are cited above, the Agile Software Development Model can act as a viable alternative. &amp;lt;ref name=”refz”&amp;gt; Applications of Spiral Model http://en.wikipedia.org/wiki/Spiral_model#Applications&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
- The military had adopted the spiral model for its Future Combat Systems program. The FCS&lt;br /&gt;
project was eventually canceled after six years (2003–2009). it had a two year iteration (spiral).&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
- The FCS originally should have resulted in three consecutive prototypes (one prototype per spiral—every two years).&lt;br /&gt;
The above application of the Spiral Model indicates that the spiral model thus may suit small&lt;br /&gt;
(up to $3 million) software applications and not a complicated ($3 billion) distributed,&lt;br /&gt;
interoperable, system of systems.&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
- Also it is reasonable to use the spiral model in projects where business goals are unstable but&lt;br /&gt;
the architecture is realized well enough to provide high loading and stress ability.&lt;br /&gt;
For example, the Spiral Architecture Driven Development is a spiral-based Software&lt;br /&gt;
Development Life Cycle which shows one possible way how to reduce the risk of non-effective       &lt;br /&gt;
architectures with the help of a spiral model in conjunction with the best practices from other models.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
[http://users.csc.calpoly.edu/~jdalbey/308/Lectures/SoftwareProcessModels.html Software Process Models]&amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.ctg.albany.edu/publications/reports/survey_of_sysdev?chapter=9 Spiral Model Survey]&amp;lt;br/&amp;gt;&lt;br /&gt;
[http://searchsoftwarequality.techtarget.com/definition/spiral-model Spiral Model Design]&amp;lt;br/&amp;gt;&lt;br /&gt;
[http://myprojects.kostigoff.net/methodology/development_models/development_models.htm Understanding Spiral Models]&amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.youtube.com/watch?v=YMbAdgb6pG8 Software Models]&amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.buzzle.com/editorials/1-13-2005-64082.asp Introduction to the Spiral Model]&amp;lt;br/&amp;gt;&lt;br /&gt;
[http://my.safaribooksonline.com/book/software-engineering-and-development/9781934015551/software-development-life-cycle-models/spiral_model The Spiral Software Model ]&amp;lt;br/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Spangul</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2012/SM_sm&amp;diff=68695</id>
		<title>CSC/ECE 517 Fall 2012/SM sm</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2012/SM_sm&amp;diff=68695"/>
		<updated>2012-10-27T01:04:53Z</updated>

		<summary type="html">&lt;p&gt;Spangul: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;font size=&amp;quot;5&amp;quot;&amp;gt;The Spiral Model&amp;lt;/font&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
==Introduction==&lt;br /&gt;
The spiral model is a software development process that combines the elements of both design and prototyping-in-stages.This model represents a risk-driven approach to software process analysis and structuring. Also known as the spiral lifecycle model (or spiral development), it is a systems development method (SDM) used in information technology (IT).  This model combines the advantages of top-down and bottom-up concepts and promotes quality assurance through prototyping at each stage.Thus it includes the features of both prototyping and the waterfall model but provides emphasis in a key area which is mostly neglected by other methodologies: deliberate iterative risk analysis.&lt;br /&gt;
Generally,the spiral model is intended for large, expensive and complicated projects.This approach incorporates elements of specification-driven, prototype-driven process methods, together with the classic software life cycle.&lt;br /&gt;
&lt;br /&gt;
History:&lt;br /&gt;
The spiral model was defined by Barry Boehm in his 1986 article &amp;quot;A Spiral Model of Software Development and Enhancement&amp;quot;. This model was not the first model to discuss iterative development but it was the first model to explain why the iteration matters. Each phase is characterised by setting a design goal initially and ends with the client (who may be internal) reviewing the progress thus far. Analysis and engineering efforts are applied at each phase of the project, all the way till  the end goal of the project is achieved. The key characteristic of a Spiral model is risk management at regular stages in the development cycle.&lt;br /&gt;
&lt;br /&gt;
Description:&lt;br /&gt;
It does so by representing iterative development cycles as an expanding spiral, with inner cycles denoting early system analysis and prototyping, and outer cycles denoting the classic software life cycle.&lt;br /&gt;
The radial dimension denotes cumulative development costs, and the angular dimension denotes progress made in accomplishing each development spiral.&lt;br /&gt;
&lt;br /&gt;
The steps in the spiral model can be generalized as follows:&lt;br /&gt;
&lt;br /&gt;
    The requirements for building the new system are gathered using different methods and defined in as much detail as possible. The methods usually involve interviewing a number of users representing all the external or internal users, preparing questionnaires regarding the other aspects of the existing system.&lt;br /&gt;
&lt;br /&gt;
    Based on the requirements gathered, a preliminary design is created for the new system.&lt;br /&gt;
&lt;br /&gt;
    A first prototype of the new system is constructed from the preliminary design. This is usually a scaled-down system that implements the core functionality and represents an approximation of the characteristics of the final product.&lt;br /&gt;
&lt;br /&gt;
    A second prototype is evolved by a fourfold procedure: &lt;br /&gt;
&lt;br /&gt;
(1) evaluating the first prototype in terms of its strengths, weaknesses, and risks based on customer feedback.&lt;br /&gt;
&lt;br /&gt;
(2) defining more detailed requirements of the second prototype&lt;br /&gt;
&lt;br /&gt;
(3) planning and designing the second prototype&lt;br /&gt;
&lt;br /&gt;
(4) constructing and testing the second prototype.&lt;br /&gt;
&lt;br /&gt;
    At the customer's option, the entire project can be aborted if the risk is deemed too great. Risk factors might involve development cost overruns, operating-cost miscalculation, or any other factor that could, in the customer's judgment, result in a less-than-satisfactory final product.&lt;br /&gt;
&lt;br /&gt;
    The existing prototype is evaluated in the same manner as was the previous prototype, and, if unsatisfactory, another prototype is developed from it according to the fourfold procedure outlined above.&lt;br /&gt;
&lt;br /&gt;
    The preceding steps are iterated until the customer is satisfied with the final product, that is refined prototype.&lt;br /&gt;
&lt;br /&gt;
    The final system is then constructed, based on the refined prototype.&lt;br /&gt;
&lt;br /&gt;
    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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The insights that the Spiral Model offered has in turned influenced the standard software life cycle process models, such as ISO12207&lt;br /&gt;
&lt;br /&gt;
System development in this model therefore spirals out only so far as needed according to the risk that must be managed.&lt;br /&gt;
&lt;br /&gt;
.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Illustration ==&lt;br /&gt;
&lt;br /&gt;
Spiral model is also called as “meta-model”, The name comes from the way the Spiral Model incorporates other Models in the Software Development Life-Cycle. Both waterfall and prototype models are those that are used most often in it. The Software development progresses systematically over the loops (adhering to waterfall approach) and at the same time prototypes are created and displayed to the user after completion of various phases. This ensures a systematic approach with minimal chances of risks.&amp;lt;Ref name=&amp;quot;reft&amp;quot;&amp;gt;Illustration http://www.ianswer4u.com/2011/12/spiral-model-advantages-and.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;[[File:Image002.png]]&amp;lt;/center&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Advantages of The Spiral Model==&lt;br /&gt;
&lt;br /&gt;
Spiral Model is one of the most used Software Development Models and is known for it’s efficiency, accuracy and straight forward design. Following are various advantages of the Spiral Model:&amp;lt;ref name=&amp;quot;refx&amp;quot;&amp;gt;Spiral Model - Advantages    &lt;br /&gt;
 http://www.ianswer4u.com/2011/12/spiral-model-advantages-and.html#axzz2ARqc6EGX&amp;lt;/ref&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The Spiral Life-Cycle Model is one of the most flexible SDLC models in software Development. Various phases in Development can be determined by the project manager, based on the complexity of the project.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Monitoring is very easy, effective and efficient. Each phase, as well as each loop, requires a review from concerned people. This facilitates transparency in the model.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Risk management is one of the in-built features of the model, which makes up for an added advantage compared to other models.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Changes in the model can be introduced at a later stage. The person in charge of the project is given enough flexibility to incorporate these changes.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Estimates about the project including the time taken, cost and schedule become more accurate as the development progresses.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The Spiral Model is highly adaptive for High-Risk projects, where business needs may be unstable.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;A heavier emphasis is present on Customization, ensuring heavy customizability.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
== Disadvantages of the Spiral Model ==&lt;br /&gt;
&lt;br /&gt;
Despite the various advantages Spiral Model brings in, it also has a few considerable disadvantages:&amp;lt;ref name=&amp;quot;refy&amp;quot;&amp;gt;Spiral Model - Disadvantages  http://www.ianswer4u.com/2011/12/spiral-model-advantages-and.html#axzz2ARqc6EGX&amp;lt;/ref&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The Spiral Model might involve higher costs, although it can accurately estimate the numbers.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The model might become complicated even for projects with a clear Software-Requirements-Specifications.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Evaluation and reviews of the Spiral Model might require advanced skills, though not true in all cases.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;In order to effectively implement this model, the protocols and standards must be followed carefully, as any small change in the implementation might cause considerable changes to the development process.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;If the requirements of the project change in the future, using the same prototype might get difficult.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Involves extensive documentation in the intermediate stages during which management of the project might get difficult.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Not suitable for Low Risk projects.&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Applications of The Spiral Model ==&lt;br /&gt;
&lt;br /&gt;
The Spiral model is used most often in large projects and needs constant review to stay on target. Given the disadvantages of the Spiral Model that are cited above, the Agile Software Development Model can act as a viable alternative. &amp;lt;ref name=”refz”&amp;gt; Applications of Spiral Model http://en.wikipedia.org/wiki/Spiral_model#Applications&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
- The military had adopted the spiral model for its Future Combat Systems program. The FCS&lt;br /&gt;
project was eventually canceled after six years (2003–2009). it had a two year iteration (spiral).&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
- The FCS originally should have resulted in three consecutive prototypes (one prototype per spiral—every two years).&lt;br /&gt;
The above application of the Spiral Model indicates that the spiral model thus may suit small&lt;br /&gt;
(up to $3 million) software applications and not a complicated ($3 billion) distributed,&lt;br /&gt;
interoperable, system of systems.&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
- Also it is reasonable to use the spiral model in projects where business goals are unstable but&lt;br /&gt;
the architecture is realized well enough to provide high loading and stress ability.&lt;br /&gt;
For example, the Spiral Architecture Driven Development is a spiral-based Software&lt;br /&gt;
Development Life Cycle which shows one possible way how to reduce the risk of non-effective       &lt;br /&gt;
architectures with the help of a spiral model in conjunction with the best practices from other models.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
[http://users.csc.calpoly.edu/~jdalbey/308/Lectures/SoftwareProcessModels.html Software Process Models]&amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.ctg.albany.edu/publications/reports/survey_of_sysdev?chapter=9 Spiral Model Survey]&amp;lt;br/&amp;gt;&lt;br /&gt;
[http://searchsoftwarequality.techtarget.com/definition/spiral-model Spiral Model Design]&amp;lt;br/&amp;gt;&lt;br /&gt;
[http://myprojects.kostigoff.net/methodology/development_models/development_models.htm Understanding Spiral Models]&amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.youtube.com/watch?v=YMbAdgb6pG8 Software Models]&amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.buzzle.com/editorials/1-13-2005-64082.asp Introduction to the Spiral Model]&amp;lt;br/&amp;gt;&lt;br /&gt;
[http://my.safaribooksonline.com/book/software-engineering-and-development/9781934015551/software-development-life-cycle-models/spiral_model The Spiral Software Model ]&amp;lt;br/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Spangul</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=File:Image002.png&amp;diff=68693</id>
		<title>File:Image002.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=File:Image002.png&amp;diff=68693"/>
		<updated>2012-10-27T01:03:49Z</updated>

		<summary type="html">&lt;p&gt;Spangul: Spiral Model&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Spiral Model&lt;/div&gt;</summary>
		<author><name>Spangul</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2012/SM_sm&amp;diff=68686</id>
		<title>CSC/ECE 517 Fall 2012/SM sm</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2012/SM_sm&amp;diff=68686"/>
		<updated>2012-10-27T00:59:20Z</updated>

		<summary type="html">&lt;p&gt;Spangul: /* See Also */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;font size=&amp;quot;5&amp;quot;&amp;gt;The Spiral Model&amp;lt;/font&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
==Introduction==&lt;br /&gt;
The spiral model is a software development process that combines the elements of both design and prototyping-in-stages.This model represents a risk-driven approach to software process analysis and structuring. Also known as the spiral lifecycle model (or spiral development), it is a systems development method (SDM) used in information technology (IT).  This model combines the advantages of top-down and bottom-up concepts and promotes quality assurance through prototyping at each stage.Thus it includes the features of both prototyping and the waterfall model but provides emphasis in a key area which is mostly neglected by other methodologies: deliberate iterative risk analysis.&lt;br /&gt;
Generally,the spiral model is intended for large, expensive and complicated projects.This approach incorporates elements of specification-driven, prototype-driven process methods, together with the classic software life cycle.&lt;br /&gt;
&lt;br /&gt;
History:&lt;br /&gt;
The spiral model was defined by Barry Boehm in his 1986 article &amp;quot;A Spiral Model of Software Development and Enhancement&amp;quot;. This model was not the first model to discuss iterative development but it was the first model to explain why the iteration matters. Each phase is characterised by setting a design goal initially and ends with the client (who may be internal) reviewing the progress thus far. Analysis and engineering efforts are applied at each phase of the project, all the way till  the end goal of the project is achieved. The key characteristic of a Spiral model is risk management at regular stages in the development cycle.&lt;br /&gt;
&lt;br /&gt;
Description:&lt;br /&gt;
It does so by representing iterative development cycles as an expanding spiral, with inner cycles denoting early system analysis and prototyping, and outer cycles denoting the classic software life cycle.&lt;br /&gt;
The radial dimension denotes cumulative development costs, and the angular dimension denotes progress made in accomplishing each development spiral.&lt;br /&gt;
&lt;br /&gt;
The steps in the spiral model can be generalized as follows:&lt;br /&gt;
&lt;br /&gt;
    The requirements for building the new system are gathered using different methods and defined in as much detail as possible. The methods usually involve interviewing a number of users representing all the external or internal users, preparing questionnaires regarding the other aspects of the existing system.&lt;br /&gt;
&lt;br /&gt;
    Based on the requirements gathered, a preliminary design is created for the new system.&lt;br /&gt;
&lt;br /&gt;
    A first prototype of the new system is constructed from the preliminary design. This is usually a scaled-down system that implements the core functionality and represents an approximation of the characteristics of the final product.&lt;br /&gt;
&lt;br /&gt;
    A second prototype is evolved by a fourfold procedure: &lt;br /&gt;
&lt;br /&gt;
(1) evaluating the first prototype in terms of its strengths, weaknesses, and risks based on customer feedback.&lt;br /&gt;
&lt;br /&gt;
(2) defining more detailed requirements of the second prototype&lt;br /&gt;
&lt;br /&gt;
(3) planning and designing the second prototype&lt;br /&gt;
&lt;br /&gt;
(4) constructing and testing the second prototype.&lt;br /&gt;
&lt;br /&gt;
    At the customer's option, the entire project can be aborted if the risk is deemed too great. Risk factors might involve development cost overruns, operating-cost miscalculation, or any other factor that could, in the customer's judgment, result in a less-than-satisfactory final product.&lt;br /&gt;
&lt;br /&gt;
    The existing prototype is evaluated in the same manner as was the previous prototype, and, if unsatisfactory, another prototype is developed from it according to the fourfold procedure outlined above.&lt;br /&gt;
&lt;br /&gt;
    The preceding steps are iterated until the customer is satisfied with the final product, that is refined prototype.&lt;br /&gt;
&lt;br /&gt;
    The final system is then constructed, based on the refined prototype.&lt;br /&gt;
&lt;br /&gt;
    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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The insights that the Spiral Model offered has in turned influenced the standard software life cycle process models, such as ISO12207&lt;br /&gt;
&lt;br /&gt;
System development in this model therefore spirals out only so far as needed according to the risk that must be managed.&lt;br /&gt;
&lt;br /&gt;
.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Illustration ==&lt;br /&gt;
&lt;br /&gt;
Spiral model is also called as “meta-model”, The name comes from the way the Spiral Model incorporates other Models in the Software Development Life-Cycle. Both waterfall and prototype models are those that are used most often in it. The Software development progresses systematically over the loops (adhering to waterfall approach) and at the same time prototypes are created and displayed to the user after completion of various phases. This ensures a systematic approach with minimal chances of risks.&amp;lt;Ref name=&amp;quot;reft&amp;quot;&amp;gt;Illustration http://www.ianswer4u.com/2011/12/spiral-model-advantages-and.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Advantages of The Spiral Model==&lt;br /&gt;
&lt;br /&gt;
Spiral Model is one of the most used Software Development Models and is known for it’s efficiency, accuracy and straight forward design. Following are various advantages of the Spiral Model:&amp;lt;ref name=&amp;quot;refx&amp;quot;&amp;gt;Spiral Model - Advantages    &lt;br /&gt;
 http://www.ianswer4u.com/2011/12/spiral-model-advantages-and.html#axzz2ARqc6EGX&amp;lt;/ref&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The Spiral Life-Cycle Model is one of the most flexible SDLC models in software Development. Various phases in Development can be determined by the project manager, based on the complexity of the project.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Monitoring is very easy, effective and efficient. Each phase, as well as each loop, requires a review from concerned people. This facilitates transparency in the model.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Risk management is one of the in-built features of the model, which makes up for an added advantage compared to other models.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Changes in the model can be introduced at a later stage. The person in charge of the project is given enough flexibility to incorporate these changes.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Estimates about the project including the time taken, cost and schedule become more accurate as the development progresses.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The Spiral Model is highly adaptive for High-Risk projects, where business needs may be unstable.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;A heavier emphasis is present on Customization, ensuring heavy customizability.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
== Disadvantages of the Spiral Model ==&lt;br /&gt;
&lt;br /&gt;
Despite the various advantages Spiral Model brings in, it also has a few considerable disadvantages:&amp;lt;ref name=&amp;quot;refy&amp;quot;&amp;gt;Spiral Model - Disadvantages  http://www.ianswer4u.com/2011/12/spiral-model-advantages-and.html#axzz2ARqc6EGX&amp;lt;/ref&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The Spiral Model might involve higher costs, although it can accurately estimate the numbers.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The model might become complicated even for projects with a clear Software-Requirements-Specifications.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Evaluation and reviews of the Spiral Model might require advanced skills, though not true in all cases.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;In order to effectively implement this model, the protocols and standards must be followed carefully, as any small change in the implementation might cause considerable changes to the development process.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;If the requirements of the project change in the future, using the same prototype might get difficult.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Involves extensive documentation in the intermediate stages during which management of the project might get difficult.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Not suitable for Low Risk projects.&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Applications of The Spiral Model ==&lt;br /&gt;
&lt;br /&gt;
The Spiral model is used most often in large projects and needs constant review to stay on target. Given the disadvantages of the Spiral Model that are cited above, the Agile Software Development Model can act as a viable alternative. &amp;lt;ref name=”refz”&amp;gt; Applications of Spiral Model http://en.wikipedia.org/wiki/Spiral_model#Applications&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
- The military had adopted the spiral model for its Future Combat Systems program. The FCS&lt;br /&gt;
project was eventually canceled after six years (2003–2009). it had a two year iteration (spiral).&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
- The FCS originally should have resulted in three consecutive prototypes (one prototype per spiral—every two years).&lt;br /&gt;
The above application of the Spiral Model indicates that the spiral model thus may suit small&lt;br /&gt;
(up to $3 million) software applications and not a complicated ($3 billion) distributed,&lt;br /&gt;
interoperable, system of systems.&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
- Also it is reasonable to use the spiral model in projects where business goals are unstable but&lt;br /&gt;
the architecture is realized well enough to provide high loading and stress ability.&lt;br /&gt;
For example, the Spiral Architecture Driven Development is a spiral-based Software&lt;br /&gt;
Development Life Cycle which shows one possible way how to reduce the risk of non-effective       &lt;br /&gt;
architectures with the help of a spiral model in conjunction with the best practices from other models.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
[http://users.csc.calpoly.edu/~jdalbey/308/Lectures/SoftwareProcessModels.html Software Process Models]&amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.ctg.albany.edu/publications/reports/survey_of_sysdev?chapter=9 Spiral Model Survey]&amp;lt;br/&amp;gt;&lt;br /&gt;
[http://searchsoftwarequality.techtarget.com/definition/spiral-model Spiral Model Design]&amp;lt;br/&amp;gt;&lt;br /&gt;
[http://myprojects.kostigoff.net/methodology/development_models/development_models.htm Understanding Spiral Models]&amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.youtube.com/watch?v=YMbAdgb6pG8 Software Models]&amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.buzzle.com/editorials/1-13-2005-64082.asp Introduction to the Spiral Model]&amp;lt;br/&amp;gt;&lt;br /&gt;
[http://my.safaribooksonline.com/book/software-engineering-and-development/9781934015551/software-development-life-cycle-models/spiral_model The Spiral Software Model ]&amp;lt;br/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Spangul</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2012/SM_sm&amp;diff=68685</id>
		<title>CSC/ECE 517 Fall 2012/SM sm</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2012/SM_sm&amp;diff=68685"/>
		<updated>2012-10-27T00:58:54Z</updated>

		<summary type="html">&lt;p&gt;Spangul: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;font size=&amp;quot;5&amp;quot;&amp;gt;The Spiral Model&amp;lt;/font&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
==Introduction==&lt;br /&gt;
The spiral model is a software development process that combines the elements of both design and prototyping-in-stages.This model represents a risk-driven approach to software process analysis and structuring. Also known as the spiral lifecycle model (or spiral development), it is a systems development method (SDM) used in information technology (IT).  This model combines the advantages of top-down and bottom-up concepts and promotes quality assurance through prototyping at each stage.Thus it includes the features of both prototyping and the waterfall model but provides emphasis in a key area which is mostly neglected by other methodologies: deliberate iterative risk analysis.&lt;br /&gt;
Generally,the spiral model is intended for large, expensive and complicated projects.This approach incorporates elements of specification-driven, prototype-driven process methods, together with the classic software life cycle.&lt;br /&gt;
&lt;br /&gt;
History:&lt;br /&gt;
The spiral model was defined by Barry Boehm in his 1986 article &amp;quot;A Spiral Model of Software Development and Enhancement&amp;quot;. This model was not the first model to discuss iterative development but it was the first model to explain why the iteration matters. Each phase is characterised by setting a design goal initially and ends with the client (who may be internal) reviewing the progress thus far. Analysis and engineering efforts are applied at each phase of the project, all the way till  the end goal of the project is achieved. The key characteristic of a Spiral model is risk management at regular stages in the development cycle.&lt;br /&gt;
&lt;br /&gt;
Description:&lt;br /&gt;
It does so by representing iterative development cycles as an expanding spiral, with inner cycles denoting early system analysis and prototyping, and outer cycles denoting the classic software life cycle.&lt;br /&gt;
The radial dimension denotes cumulative development costs, and the angular dimension denotes progress made in accomplishing each development spiral.&lt;br /&gt;
&lt;br /&gt;
The steps in the spiral model can be generalized as follows:&lt;br /&gt;
&lt;br /&gt;
    The requirements for building the new system are gathered using different methods and defined in as much detail as possible. The methods usually involve interviewing a number of users representing all the external or internal users, preparing questionnaires regarding the other aspects of the existing system.&lt;br /&gt;
&lt;br /&gt;
    Based on the requirements gathered, a preliminary design is created for the new system.&lt;br /&gt;
&lt;br /&gt;
    A first prototype of the new system is constructed from the preliminary design. This is usually a scaled-down system that implements the core functionality and represents an approximation of the characteristics of the final product.&lt;br /&gt;
&lt;br /&gt;
    A second prototype is evolved by a fourfold procedure: &lt;br /&gt;
&lt;br /&gt;
(1) evaluating the first prototype in terms of its strengths, weaknesses, and risks based on customer feedback.&lt;br /&gt;
&lt;br /&gt;
(2) defining more detailed requirements of the second prototype&lt;br /&gt;
&lt;br /&gt;
(3) planning and designing the second prototype&lt;br /&gt;
&lt;br /&gt;
(4) constructing and testing the second prototype.&lt;br /&gt;
&lt;br /&gt;
    At the customer's option, the entire project can be aborted if the risk is deemed too great. Risk factors might involve development cost overruns, operating-cost miscalculation, or any other factor that could, in the customer's judgment, result in a less-than-satisfactory final product.&lt;br /&gt;
&lt;br /&gt;
    The existing prototype is evaluated in the same manner as was the previous prototype, and, if unsatisfactory, another prototype is developed from it according to the fourfold procedure outlined above.&lt;br /&gt;
&lt;br /&gt;
    The preceding steps are iterated until the customer is satisfied with the final product, that is refined prototype.&lt;br /&gt;
&lt;br /&gt;
    The final system is then constructed, based on the refined prototype.&lt;br /&gt;
&lt;br /&gt;
    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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The insights that the Spiral Model offered has in turned influenced the standard software life cycle process models, such as ISO12207&lt;br /&gt;
&lt;br /&gt;
System development in this model therefore spirals out only so far as needed according to the risk that must be managed.&lt;br /&gt;
&lt;br /&gt;
.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Illustration ==&lt;br /&gt;
&lt;br /&gt;
Spiral model is also called as “meta-model”, The name comes from the way the Spiral Model incorporates other Models in the Software Development Life-Cycle. Both waterfall and prototype models are those that are used most often in it. The Software development progresses systematically over the loops (adhering to waterfall approach) and at the same time prototypes are created and displayed to the user after completion of various phases. This ensures a systematic approach with minimal chances of risks.&amp;lt;Ref name=&amp;quot;reft&amp;quot;&amp;gt;Illustration http://www.ianswer4u.com/2011/12/spiral-model-advantages-and.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Advantages of The Spiral Model==&lt;br /&gt;
&lt;br /&gt;
Spiral Model is one of the most used Software Development Models and is known for it’s efficiency, accuracy and straight forward design. Following are various advantages of the Spiral Model:&amp;lt;ref name=&amp;quot;refx&amp;quot;&amp;gt;Spiral Model - Advantages    &lt;br /&gt;
 http://www.ianswer4u.com/2011/12/spiral-model-advantages-and.html#axzz2ARqc6EGX&amp;lt;/ref&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The Spiral Life-Cycle Model is one of the most flexible SDLC models in software Development. Various phases in Development can be determined by the project manager, based on the complexity of the project.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Monitoring is very easy, effective and efficient. Each phase, as well as each loop, requires a review from concerned people. This facilitates transparency in the model.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Risk management is one of the in-built features of the model, which makes up for an added advantage compared to other models.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Changes in the model can be introduced at a later stage. The person in charge of the project is given enough flexibility to incorporate these changes.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Estimates about the project including the time taken, cost and schedule become more accurate as the development progresses.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The Spiral Model is highly adaptive for High-Risk projects, where business needs may be unstable.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;A heavier emphasis is present on Customization, ensuring heavy customizability.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
== Disadvantages of the Spiral Model ==&lt;br /&gt;
&lt;br /&gt;
Despite the various advantages Spiral Model brings in, it also has a few considerable disadvantages:&amp;lt;ref name=&amp;quot;refy&amp;quot;&amp;gt;Spiral Model - Disadvantages  http://www.ianswer4u.com/2011/12/spiral-model-advantages-and.html#axzz2ARqc6EGX&amp;lt;/ref&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The Spiral Model might involve higher costs, although it can accurately estimate the numbers.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The model might become complicated even for projects with a clear Software-Requirements-Specifications.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Evaluation and reviews of the Spiral Model might require advanced skills, though not true in all cases.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;In order to effectively implement this model, the protocols and standards must be followed carefully, as any small change in the implementation might cause considerable changes to the development process.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;If the requirements of the project change in the future, using the same prototype might get difficult.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Involves extensive documentation in the intermediate stages during which management of the project might get difficult.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Not suitable for Low Risk projects.&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Applications of The Spiral Model ==&lt;br /&gt;
&lt;br /&gt;
The Spiral model is used most often in large projects and needs constant review to stay on target. Given the disadvantages of the Spiral Model that are cited above, the Agile Software Development Model can act as a viable alternative. &amp;lt;ref name=”refz”&amp;gt; Applications of Spiral Model http://en.wikipedia.org/wiki/Spiral_model#Applications&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
- The military had adopted the spiral model for its Future Combat Systems program. The FCS&lt;br /&gt;
project was eventually canceled after six years (2003–2009). it had a two year iteration (spiral).&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
- The FCS originally should have resulted in three consecutive prototypes (one prototype per spiral—every two years).&lt;br /&gt;
The above application of the Spiral Model indicates that the spiral model thus may suit small&lt;br /&gt;
(up to $3 million) software applications and not a complicated ($3 billion) distributed,&lt;br /&gt;
interoperable, system of systems.&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
- Also it is reasonable to use the spiral model in projects where business goals are unstable but&lt;br /&gt;
the architecture is realized well enough to provide high loading and stress ability.&lt;br /&gt;
For example, the Spiral Architecture Driven Development is a spiral-based Software&lt;br /&gt;
Development Life Cycle which shows one possible way how to reduce the risk of non-effective       &lt;br /&gt;
architectures with the help of a spiral model in conjunction with the best practices from other models.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
[http://users.csc.calpoly.edu/~jdalbey/308/Lectures/SoftwareProcessModels.html Software Process Models]&amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.ctg.albany.edu/publications/reports/survey_of_sysdev?chapter=9 Spiral Model Survey]&amp;lt;br/&amp;gt;&lt;br /&gt;
[http://searchsoftwarequality.techtarget.com/definition/spiral-model Spiral Model Design]&amp;lt;br/&amp;gt;&lt;br /&gt;
[http://myprojects.kostigoff.net/methodology/development_models/development_models.htm Understanding Spiral Models]&amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.youtube.com/watch?v=YMbAdgb6pG8 - Software Models]&amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.buzzle.com/editorials/1-13-2005-64082.asp Introduction to the Spiral Model]&amp;lt;br/&amp;gt;&lt;br /&gt;
[http://my.safaribooksonline.com/book/software-engineering-and-development/9781934015551/software-development-life-cycle-models/spiral_model The Spiral Software Model ]&amp;lt;br/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Spangul</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2012/SM_sm&amp;diff=68675</id>
		<title>CSC/ECE 517 Fall 2012/SM sm</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2012/SM_sm&amp;diff=68675"/>
		<updated>2012-10-27T00:52:47Z</updated>

		<summary type="html">&lt;p&gt;Spangul: /* Illustration */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;font size=&amp;quot;5&amp;quot;&amp;gt;The Spiral Model&amp;lt;/font&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
==Introduction==&lt;br /&gt;
The spiral model is a software development process that combines the elements of both design and prototyping-in-stages.This model represents a risk-driven approach to software process analysis and structuring. Also known as the spiral lifecycle model (or spiral development), it is a systems development method (SDM) used in information technology (IT).  This model combines the advantages of top-down and bottom-up concepts and promotes quality assurance through prototyping at each stage.Thus it includes the features of both prototyping and the waterfall model but provides emphasis in a key area which is mostly neglected by other methodologies: deliberate iterative risk analysis.&lt;br /&gt;
Generally,the spiral model is intended for large, expensive and complicated projects.This approach incorporates elements of specification-driven, prototype-driven process methods, together with the classic software life cycle.&lt;br /&gt;
&lt;br /&gt;
History:&lt;br /&gt;
The spiral model was defined by Barry Boehm in his 1986 article &amp;quot;A Spiral Model of Software Development and Enhancement&amp;quot;. This model was not the first model to discuss iterative development but it was the first model to explain why the iteration matters. Each phase is characterised by setting a design goal initially and ends with the client (who may be internal) reviewing the progress thus far. Analysis and engineering efforts are applied at each phase of the project, all the way till  the end goal of the project is achieved. The key characteristic of a Spiral model is risk management at regular stages in the development cycle.&lt;br /&gt;
&lt;br /&gt;
Description:&lt;br /&gt;
It does so by representing iterative development cycles as an expanding spiral, with inner cycles denoting early system analysis and prototyping, and outer cycles denoting the classic software life cycle.&lt;br /&gt;
The radial dimension denotes cumulative development costs, and the angular dimension denotes progress made in accomplishing each development spiral.&lt;br /&gt;
&lt;br /&gt;
The steps in the spiral model can be generalized as follows:&lt;br /&gt;
&lt;br /&gt;
    The requirements for building the new system are gathered using different methods and defined in as much detail as possible. The methods usually involve interviewing a number of users representing all the external or internal users, preparing questionnaires regarding the other aspects of the existing system.&lt;br /&gt;
&lt;br /&gt;
    Based on the requirements gathered, a preliminary design is created for the new system.&lt;br /&gt;
&lt;br /&gt;
    A first prototype of the new system is constructed from the preliminary design. This is usually a scaled-down system that implements the core functionality and represents an approximation of the characteristics of the final product.&lt;br /&gt;
&lt;br /&gt;
    A second prototype is evolved by a fourfold procedure: &lt;br /&gt;
&lt;br /&gt;
(1) evaluating the first prototype in terms of its strengths, weaknesses, and risks based on customer feedback.&lt;br /&gt;
&lt;br /&gt;
(2) defining more detailed requirements of the second prototype&lt;br /&gt;
&lt;br /&gt;
(3) planning and designing the second prototype&lt;br /&gt;
&lt;br /&gt;
(4) constructing and testing the second prototype.&lt;br /&gt;
&lt;br /&gt;
    At the customer's option, the entire project can be aborted if the risk is deemed too great. Risk factors might involve development cost overruns, operating-cost miscalculation, or any other factor that could, in the customer's judgment, result in a less-than-satisfactory final product.&lt;br /&gt;
&lt;br /&gt;
    The existing prototype is evaluated in the same manner as was the previous prototype, and, if unsatisfactory, another prototype is developed from it according to the fourfold procedure outlined above.&lt;br /&gt;
&lt;br /&gt;
    The preceding steps are iterated until the customer is satisfied with the final product, that is refined prototype.&lt;br /&gt;
&lt;br /&gt;
    The final system is then constructed, based on the refined prototype.&lt;br /&gt;
&lt;br /&gt;
    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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The insights that the Spiral Model offered has in turned influenced the standard software life cycle process models, such as ISO12207&lt;br /&gt;
&lt;br /&gt;
System development in this model therefore spirals out only so far as needed according to the risk that must be managed.&lt;br /&gt;
&lt;br /&gt;
.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Illustration ==&lt;br /&gt;
&lt;br /&gt;
Spiral model is also called as “meta-model”, The name comes from the way the Spiral Model incorporates other Models in the Software Development Life-Cycle. Both waterfall and prototype models are those that are used most often in it. The Software development progresses systematically over the loops (adhering to waterfall approach) and at the same time prototypes are created and displayed to the user after completion of various phases. This ensures a systematic approach with minimal chances of risks.&amp;lt;Ref name=&amp;quot;reft&amp;quot;&amp;gt;Illustration http://www.ianswer4u.com/2011/12/spiral-model-advantages-and.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Advantages of The Spiral Model==&lt;br /&gt;
&lt;br /&gt;
Spiral Model is one of the most used Software Development Models and is known for it’s efficiency, accuracy and straight forward design. Following are various advantages of the Spiral Model:&amp;lt;ref name=&amp;quot;refx&amp;quot;&amp;gt;Spiral Model - Advantages    &lt;br /&gt;
 http://www.ianswer4u.com/2011/12/spiral-model-advantages-and.html#axzz2ARqc6EGX&amp;lt;/ref&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The Spiral Life-Cycle Model is one of the most flexible SDLC models in software Development. Various phases in Development can be determined by the project manager, based on the complexity of the project.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Monitoring is very easy, effective and efficient. Each phase, as well as each loop, requires a review from concerned people. This facilitates transparency in the model.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Risk management is one of the in-built features of the model, which makes up for an added advantage compared to other models.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Changes in the model can be introduced at a later stage. The person in charge of the project is given enough flexibility to incorporate these changes.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Estimates about the project including the time taken, cost and schedule become more accurate as the development progresses.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The Spiral Model is highly adaptive for High-Risk projects, where business needs may be unstable.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;A heavier emphasis is present on Customization, ensuring heavy customizability.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
== Disadvantages of the Spiral Model ==&lt;br /&gt;
&lt;br /&gt;
Despite the various advantages Spiral Model brings in, it also has a few considerable disadvantages:&amp;lt;ref name=&amp;quot;refy&amp;quot;&amp;gt;Spiral Model - Disadvantages  http://www.ianswer4u.com/2011/12/spiral-model-advantages-and.html#axzz2ARqc6EGX&amp;lt;/ref&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The Spiral Model might involve higher costs, although it can accurately estimate the numbers.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The model might become complicated even for projects with a clear Software-Requirements-Specifications.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Evaluation and reviews of the Spiral Model might require advanced skills, though not true in all cases.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;In order to effectively implement this model, the protocols and standards must be followed carefully, as any small change in the implementation might cause considerable changes to the development process.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;If the requirements of the project change in the future, using the same prototype might get difficult.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Involves extensive documentation in the intermediate stages during which management of the project might get difficult.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Not suitable for Low Risk projects.&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Applications of The Spiral Model ==&lt;br /&gt;
&lt;br /&gt;
The Spiral model is used most often in large projects and needs constant review to stay on target. Given the disadvantages of the Spiral Model that are cited above, the Agile Software Development Model can act as a viable alternative. &amp;lt;ref name=”refz”&amp;gt; Applications of Spiral Model http://en.wikipedia.org/wiki/Spiral_model#Applications&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
- The military had adopted the spiral model for its Future Combat Systems program. The FCS&lt;br /&gt;
project was eventually canceled after six years (2003–2009). it had a two year iteration (spiral).&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
- The FCS originally should have resulted in three consecutive prototypes (one prototype per spiral—every two years).&lt;br /&gt;
The above application of the Spiral Model indicates that the spiral model thus may suit small&lt;br /&gt;
(up to $3 million) software applications and not a complicated ($3 billion) distributed,&lt;br /&gt;
interoperable, system of systems.&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
- Also it is reasonable to use the spiral model in projects where business goals are unstable but&lt;br /&gt;
the architecture is realized well enough to provide high loading and stress ability.&lt;br /&gt;
For example, the Spiral Architecture Driven Development is a spiral-based Software&lt;br /&gt;
Development Life Cycle which shows one possible way how to reduce the risk of non-effective       &lt;br /&gt;
architectures with the help of a spiral model in conjunction with the best practices from other models.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Spangul</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2012/SM_sm&amp;diff=68664</id>
		<title>CSC/ECE 517 Fall 2012/SM sm</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2012/SM_sm&amp;diff=68664"/>
		<updated>2012-10-27T00:49:14Z</updated>

		<summary type="html">&lt;p&gt;Spangul: /* Illustration */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;font size=&amp;quot;5&amp;quot;&amp;gt;The Spiral Model&amp;lt;/font&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
==Introduction==&lt;br /&gt;
The spiral model is a software development process that combines the elements of both design and prototyping-in-stages.This model represents a risk-driven approach to software process analysis and structuring. Also known as the spiral lifecycle model (or spiral development), it is a systems development method (SDM) used in information technology (IT).  This model combines the advantages of top-down and bottom-up concepts and promotes quality assurance through prototyping at each stage.Thus it includes the features of both prototyping and the waterfall model but provides emphasis in a key area which is mostly neglected by other methodologies: deliberate iterative risk analysis.&lt;br /&gt;
Generally,the spiral model is intended for large, expensive and complicated projects.This approach incorporates elements of specification-driven, prototype-driven process methods, together with the classic software life cycle.&lt;br /&gt;
&lt;br /&gt;
History:&lt;br /&gt;
The spiral model was defined by Barry Boehm in his 1986 article &amp;quot;A Spiral Model of Software Development and Enhancement&amp;quot;. This model was not the first model to discuss iterative development but it was the first model to explain why the iteration matters. Each phase is characterised by setting a design goal initially and ends with the client (who may be internal) reviewing the progress thus far. Analysis and engineering efforts are applied at each phase of the project, all the way till  the end goal of the project is achieved. The key characteristic of a Spiral model is risk management at regular stages in the development cycle.&lt;br /&gt;
&lt;br /&gt;
Description:&lt;br /&gt;
It does so by representing iterative development cycles as an expanding spiral, with inner cycles denoting early system analysis and prototyping, and outer cycles denoting the classic software life cycle.&lt;br /&gt;
The radial dimension denotes cumulative development costs, and the angular dimension denotes progress made in accomplishing each development spiral.&lt;br /&gt;
&lt;br /&gt;
The steps in the spiral model can be generalized as follows:&lt;br /&gt;
&lt;br /&gt;
    The requirements for building the new system are gathered using different methods and defined in as much detail as possible. The methods usually involve interviewing a number of users representing all the external or internal users, preparing questionnaires regarding the other aspects of the existing system.&lt;br /&gt;
&lt;br /&gt;
    Based on the requirements gathered, a preliminary design is created for the new system.&lt;br /&gt;
&lt;br /&gt;
    A first prototype of the new system is constructed from the preliminary design. This is usually a scaled-down system that implements the core functionality and represents an approximation of the characteristics of the final product.&lt;br /&gt;
&lt;br /&gt;
    A second prototype is evolved by a fourfold procedure: &lt;br /&gt;
&lt;br /&gt;
(1) evaluating the first prototype in terms of its strengths, weaknesses, and risks based on customer feedback.&lt;br /&gt;
&lt;br /&gt;
(2) defining more detailed requirements of the second prototype&lt;br /&gt;
&lt;br /&gt;
(3) planning and designing the second prototype&lt;br /&gt;
&lt;br /&gt;
(4) constructing and testing the second prototype.&lt;br /&gt;
&lt;br /&gt;
    At the customer's option, the entire project can be aborted if the risk is deemed too great. Risk factors might involve development cost overruns, operating-cost miscalculation, or any other factor that could, in the customer's judgment, result in a less-than-satisfactory final product.&lt;br /&gt;
&lt;br /&gt;
    The existing prototype is evaluated in the same manner as was the previous prototype, and, if unsatisfactory, another prototype is developed from it according to the fourfold procedure outlined above.&lt;br /&gt;
&lt;br /&gt;
    The preceding steps are iterated until the customer is satisfied with the final product, that is refined prototype.&lt;br /&gt;
&lt;br /&gt;
    The final system is then constructed, based on the refined prototype.&lt;br /&gt;
&lt;br /&gt;
    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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The insights that the Spiral Model offered has in turned influenced the standard software life cycle process models, such as ISO12207&lt;br /&gt;
&lt;br /&gt;
System development in this model therefore spirals out only so far as needed according to the risk that must be managed.&lt;br /&gt;
&lt;br /&gt;
.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Illustration ==&lt;br /&gt;
&lt;br /&gt;
Spiral model is also called as “meta-model”, The name comes from the way the Spiral Model incorporates other Models in the Software Development Life-Cycle. Both waterfall and prototype models are those that are used most often in it. The Software development progresses systematically over the loops (adhering to waterfall approach) and at the same time prototypes are created and displayed to the user after completion of various phases. This ensures a systematic approach with minimal chances of risks.&amp;lt;Ref name=&amp;quot;reft&amp;quot;&amp;gt;Illustration http://www.ianswer4u.com/2011/12/spiral-model-advantages-and.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Advantages of The Spiral Model==&lt;br /&gt;
&lt;br /&gt;
Spiral Model is one of the most used Software Development Models and is known for it’s efficiency, accuracy and straight forward design. Following are various advantages of the Spiral Model:&amp;lt;ref name=&amp;quot;refx&amp;quot;&amp;gt;Spiral Model - Advantages    &lt;br /&gt;
 http://www.ianswer4u.com/2011/12/spiral-model-advantages-and.html#axzz2ARqc6EGX&amp;lt;/ref&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The Spiral Life-Cycle Model is one of the most flexible SDLC models in software Development. Various phases in Development can be determined by the project manager, based on the complexity of the project.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Monitoring is very easy, effective and efficient. Each phase, as well as each loop, requires a review from concerned people. This facilitates transparency in the model.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Risk management is one of the in-built features of the model, which makes up for an added advantage compared to other models.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Changes in the model can be introduced at a later stage. The person in charge of the project is given enough flexibility to incorporate these changes.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Estimates about the project including the time taken, cost and schedule become more accurate as the development progresses.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The Spiral Model is highly adaptive for High-Risk projects, where business needs may be unstable.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;A heavier emphasis is present on Customization, ensuring heavy customizability.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
== Disadvantages of the Spiral Model ==&lt;br /&gt;
&lt;br /&gt;
Despite the various advantages Spiral Model brings in, it also has a few considerable disadvantages:&amp;lt;ref name=&amp;quot;refy&amp;quot;&amp;gt;Spiral Model - Disadvantages  http://www.ianswer4u.com/2011/12/spiral-model-advantages-and.html#axzz2ARqc6EGX&amp;lt;/ref&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The Spiral Model might involve higher costs, although it can accurately estimate the numbers.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The model might become complicated even for projects with a clear Software-Requirements-Specifications.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Evaluation and reviews of the Spiral Model might require advanced skills, though not true in all cases.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;In order to effectively implement this model, the protocols and standards must be followed carefully, as any small change in the implementation might cause considerable changes to the development process.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;If the requirements of the project change in the future, using the same prototype might get difficult.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Involves extensive documentation in the intermediate stages during which management of the project might get difficult.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Not suitable for Low Risk projects.&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Applications of The Spiral Model ==&lt;br /&gt;
&lt;br /&gt;
The Spiral model is used most often in large projects and needs constant review to stay on target. Given the disadvantages of the Spiral Model that are cited above, the Agile Software Development Model can act as a viable alternative. &amp;lt;ref name=”refz”&amp;gt; Applications of Spiral Model http://en.wikipedia.org/wiki/Spiral_model#Applications&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
- The military had adopted the spiral model for its Future Combat Systems program. The FCS&lt;br /&gt;
project was eventually canceled after six years (2003–2009). it had a two year iteration (spiral).&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
- The FCS originally should have resulted in three consecutive prototypes (one prototype per spiral—every two years).&lt;br /&gt;
The above application of the Spiral Model indicates that the spiral model thus may suit small&lt;br /&gt;
(up to $3 million) software applications and not a complicated ($3 billion) distributed,&lt;br /&gt;
interoperable, system of systems.&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
- Also it is reasonable to use the spiral model in projects where business goals are unstable but&lt;br /&gt;
the architecture is realized well enough to provide high loading and stress ability.&lt;br /&gt;
For example, the Spiral Architecture Driven Development is a spiral-based Software&lt;br /&gt;
Development Life Cycle which shows one possible way how to reduce the risk of non-effective       &lt;br /&gt;
architectures with the help of a spiral model in conjunction with the best practices from other models.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Spangul</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2012/SM_sm&amp;diff=68656</id>
		<title>CSC/ECE 517 Fall 2012/SM sm</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2012/SM_sm&amp;diff=68656"/>
		<updated>2012-10-27T00:45:27Z</updated>

		<summary type="html">&lt;p&gt;Spangul: /* Illustration */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;font size=&amp;quot;5&amp;quot;&amp;gt;The Spiral Model&amp;lt;/font&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
==Introduction==&lt;br /&gt;
The spiral model is a software development process that combines the elements of both design and prototyping-in-stages.This model represents a risk-driven approach to software process analysis and structuring. Also known as the spiral lifecycle model (or spiral development), it is a systems development method (SDM) used in information technology (IT).  This model combines the advantages of top-down and bottom-up concepts and promotes quality assurance through prototyping at each stage.Thus it includes the features of both prototyping and the waterfall model but provides emphasis in a key area which is mostly neglected by other methodologies: deliberate iterative risk analysis.&lt;br /&gt;
Generally,the spiral model is intended for large, expensive and complicated projects.This approach incorporates elements of specification-driven, prototype-driven process methods, together with the classic software life cycle.&lt;br /&gt;
&lt;br /&gt;
History:&lt;br /&gt;
The spiral model was defined by Barry Boehm in his 1986 article &amp;quot;A Spiral Model of Software Development and Enhancement&amp;quot;. This model was not the first model to discuss iterative development but it was the first model to explain why the iteration matters. Each phase is characterised by setting a design goal initially and ends with the client (who may be internal) reviewing the progress thus far. Analysis and engineering efforts are applied at each phase of the project, all the way till  the end goal of the project is achieved. The key characteristic of a Spiral model is risk management at regular stages in the development cycle.&lt;br /&gt;
&lt;br /&gt;
Description:&lt;br /&gt;
It does so by representing iterative development cycles as an expanding spiral, with inner cycles denoting early system analysis and prototyping, and outer cycles denoting the classic software life cycle.&lt;br /&gt;
The radial dimension denotes cumulative development costs, and the angular dimension denotes progress made in accomplishing each development spiral.&lt;br /&gt;
&lt;br /&gt;
The steps in the spiral model can be generalized as follows:&lt;br /&gt;
&lt;br /&gt;
    The requirements for building the new system are gathered using different methods and defined in as much detail as possible. The methods usually involve interviewing a number of users representing all the external or internal users, preparing questionnaires regarding the other aspects of the existing system.&lt;br /&gt;
&lt;br /&gt;
    Based on the requirements gathered, a preliminary design is created for the new system.&lt;br /&gt;
&lt;br /&gt;
    A first prototype of the new system is constructed from the preliminary design. This is usually a scaled-down system that implements the core functionality and represents an approximation of the characteristics of the final product.&lt;br /&gt;
&lt;br /&gt;
    A second prototype is evolved by a fourfold procedure: &lt;br /&gt;
&lt;br /&gt;
(1) evaluating the first prototype in terms of its strengths, weaknesses, and risks based on customer feedback.&lt;br /&gt;
&lt;br /&gt;
(2) defining more detailed requirements of the second prototype&lt;br /&gt;
&lt;br /&gt;
(3) planning and designing the second prototype&lt;br /&gt;
&lt;br /&gt;
(4) constructing and testing the second prototype.&lt;br /&gt;
&lt;br /&gt;
    At the customer's option, the entire project can be aborted if the risk is deemed too great. Risk factors might involve development cost overruns, operating-cost miscalculation, or any other factor that could, in the customer's judgment, result in a less-than-satisfactory final product.&lt;br /&gt;
&lt;br /&gt;
    The existing prototype is evaluated in the same manner as was the previous prototype, and, if unsatisfactory, another prototype is developed from it according to the fourfold procedure outlined above.&lt;br /&gt;
&lt;br /&gt;
    The preceding steps are iterated until the customer is satisfied with the final product, that is refined prototype.&lt;br /&gt;
&lt;br /&gt;
    The final system is then constructed, based on the refined prototype.&lt;br /&gt;
&lt;br /&gt;
    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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The insights that the Spiral Model offered has in turned influenced the standard software life cycle process models, such as ISO12207&lt;br /&gt;
&lt;br /&gt;
System development in this model therefore spirals out only so far as needed according to the risk that must be managed.&lt;br /&gt;
&lt;br /&gt;
.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Illustration ==&lt;br /&gt;
&lt;br /&gt;
Spiral model is also called as “meta-model”, The name comes from the way the Spiral Model incorporates other Models in the Software Development Life-Cycle. Both waterfall and prototype models are those that are used most often in it. The Software development progresses systematically over the loops (adhering to waterfall approach) and at the same time prototypes are created and displayed to the user after completion of various phases. This ensures a systematic approach with minimal chances of risks.&amp;lt;Ref name=&amp;quot;reft&amp;quot;&amp;gt;Illustration http://www.ianswer4u.com/2011/12/spiral-model-advantages-and.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:http://4.bp.blogspot.com/-DrUmxAA-0ow/Tuel4-sLo1I/AAAAAAAAAIE/MziZ7Wnu1F8/s400/Spiral_model.JPG]]&lt;br /&gt;
[[Media:http://4.bp.blogspot.com/-DrUmxAA-0ow/Tuel4-sLo1I/AAAAAAAAAIE/MziZ7Wnu1F8/s400/Spiral_model.JPG]]&lt;br /&gt;
&lt;br /&gt;
== Advantages of The Spiral Model==&lt;br /&gt;
&lt;br /&gt;
Spiral Model is one of the most used Software Development Models and is known for it’s efficiency, accuracy and straight forward design. Following are various advantages of the Spiral Model:&amp;lt;ref name=&amp;quot;refx&amp;quot;&amp;gt;Spiral Model - Advantages    &lt;br /&gt;
 http://www.ianswer4u.com/2011/12/spiral-model-advantages-and.html#axzz2ARqc6EGX&amp;lt;/ref&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The Spiral Life-Cycle Model is one of the most flexible SDLC models in software Development. Various phases in Development can be determined by the project manager, based on the complexity of the project.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Monitoring is very easy, effective and efficient. Each phase, as well as each loop, requires a review from concerned people. This facilitates transparency in the model.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Risk management is one of the in-built features of the model, which makes up for an added advantage compared to other models.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Changes in the model can be introduced at a later stage. The person in charge of the project is given enough flexibility to incorporate these changes.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Estimates about the project including the time taken, cost and schedule become more accurate as the development progresses.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The Spiral Model is highly adaptive for High-Risk projects, where business needs may be unstable.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;A heavier emphasis is present on Customization, ensuring heavy customizability.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
== Disadvantages of the Spiral Model ==&lt;br /&gt;
&lt;br /&gt;
Despite the various advantages Spiral Model brings in, it also has a few considerable disadvantages:&amp;lt;ref name=&amp;quot;refy&amp;quot;&amp;gt;Spiral Model - Disadvantages  http://www.ianswer4u.com/2011/12/spiral-model-advantages-and.html#axzz2ARqc6EGX&amp;lt;/ref&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The Spiral Model might involve higher costs, although it can accurately estimate the numbers.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The model might become complicated even for projects with a clear Software-Requirements-Specifications.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Evaluation and reviews of the Spiral Model might require advanced skills, though not true in all cases.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;In order to effectively implement this model, the protocols and standards must be followed carefully, as any small change in the implementation might cause considerable changes to the development process.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;If the requirements of the project change in the future, using the same prototype might get difficult.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Involves extensive documentation in the intermediate stages during which management of the project might get difficult.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Not suitable for Low Risk projects.&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Applications of The Spiral Model ==&lt;br /&gt;
&lt;br /&gt;
The Spiral model is used most often in large projects and needs constant review to stay on target. Given the disadvantages of the Spiral Model that are cited above, the Agile Software Development Model can act as a viable alternative. &amp;lt;ref name=”refz”&amp;gt; Applications of Spiral Model http://en.wikipedia.org/wiki/Spiral_model#Applications&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
- The military had adopted the spiral model for its Future Combat Systems program. The FCS&lt;br /&gt;
project was eventually canceled after six years (2003–2009). it had a two year iteration (spiral).&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
- The FCS originally should have resulted in three consecutive prototypes (one prototype per spiral—every two years).&lt;br /&gt;
The above application of the Spiral Model indicates that the spiral model thus may suit small&lt;br /&gt;
(up to $3 million) software applications and not a complicated ($3 billion) distributed,&lt;br /&gt;
interoperable, system of systems.&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
- Also it is reasonable to use the spiral model in projects where business goals are unstable but&lt;br /&gt;
the architecture is realized well enough to provide high loading and stress ability.&lt;br /&gt;
For example, the Spiral Architecture Driven Development is a spiral-based Software&lt;br /&gt;
Development Life Cycle which shows one possible way how to reduce the risk of non-effective       &lt;br /&gt;
architectures with the help of a spiral model in conjunction with the best practices from other models.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Spangul</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2012/SM_sm&amp;diff=68654</id>
		<title>CSC/ECE 517 Fall 2012/SM sm</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2012/SM_sm&amp;diff=68654"/>
		<updated>2012-10-27T00:44:20Z</updated>

		<summary type="html">&lt;p&gt;Spangul: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;font size=&amp;quot;5&amp;quot;&amp;gt;The Spiral Model&amp;lt;/font&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
==Introduction==&lt;br /&gt;
The spiral model is a software development process that combines the elements of both design and prototyping-in-stages.This model represents a risk-driven approach to software process analysis and structuring. Also known as the spiral lifecycle model (or spiral development), it is a systems development method (SDM) used in information technology (IT).  This model combines the advantages of top-down and bottom-up concepts and promotes quality assurance through prototyping at each stage.Thus it includes the features of both prototyping and the waterfall model but provides emphasis in a key area which is mostly neglected by other methodologies: deliberate iterative risk analysis.&lt;br /&gt;
Generally,the spiral model is intended for large, expensive and complicated projects.This approach incorporates elements of specification-driven, prototype-driven process methods, together with the classic software life cycle.&lt;br /&gt;
&lt;br /&gt;
History:&lt;br /&gt;
The spiral model was defined by Barry Boehm in his 1986 article &amp;quot;A Spiral Model of Software Development and Enhancement&amp;quot;. This model was not the first model to discuss iterative development but it was the first model to explain why the iteration matters. Each phase is characterised by setting a design goal initially and ends with the client (who may be internal) reviewing the progress thus far. Analysis and engineering efforts are applied at each phase of the project, all the way till  the end goal of the project is achieved. The key characteristic of a Spiral model is risk management at regular stages in the development cycle.&lt;br /&gt;
&lt;br /&gt;
Description:&lt;br /&gt;
It does so by representing iterative development cycles as an expanding spiral, with inner cycles denoting early system analysis and prototyping, and outer cycles denoting the classic software life cycle.&lt;br /&gt;
The radial dimension denotes cumulative development costs, and the angular dimension denotes progress made in accomplishing each development spiral.&lt;br /&gt;
&lt;br /&gt;
The steps in the spiral model can be generalized as follows:&lt;br /&gt;
&lt;br /&gt;
    The requirements for building the new system are gathered using different methods and defined in as much detail as possible. The methods usually involve interviewing a number of users representing all the external or internal users, preparing questionnaires regarding the other aspects of the existing system.&lt;br /&gt;
&lt;br /&gt;
    Based on the requirements gathered, a preliminary design is created for the new system.&lt;br /&gt;
&lt;br /&gt;
    A first prototype of the new system is constructed from the preliminary design. This is usually a scaled-down system that implements the core functionality and represents an approximation of the characteristics of the final product.&lt;br /&gt;
&lt;br /&gt;
    A second prototype is evolved by a fourfold procedure: &lt;br /&gt;
&lt;br /&gt;
(1) evaluating the first prototype in terms of its strengths, weaknesses, and risks based on customer feedback.&lt;br /&gt;
&lt;br /&gt;
(2) defining more detailed requirements of the second prototype&lt;br /&gt;
&lt;br /&gt;
(3) planning and designing the second prototype&lt;br /&gt;
&lt;br /&gt;
(4) constructing and testing the second prototype.&lt;br /&gt;
&lt;br /&gt;
    At the customer's option, the entire project can be aborted if the risk is deemed too great. Risk factors might involve development cost overruns, operating-cost miscalculation, or any other factor that could, in the customer's judgment, result in a less-than-satisfactory final product.&lt;br /&gt;
&lt;br /&gt;
    The existing prototype is evaluated in the same manner as was the previous prototype, and, if unsatisfactory, another prototype is developed from it according to the fourfold procedure outlined above.&lt;br /&gt;
&lt;br /&gt;
    The preceding steps are iterated until the customer is satisfied with the final product, that is refined prototype.&lt;br /&gt;
&lt;br /&gt;
    The final system is then constructed, based on the refined prototype.&lt;br /&gt;
&lt;br /&gt;
    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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The insights that the Spiral Model offered has in turned influenced the standard software life cycle process models, such as ISO12207&lt;br /&gt;
&lt;br /&gt;
System development in this model therefore spirals out only so far as needed according to the risk that must be managed.&lt;br /&gt;
&lt;br /&gt;
.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Illustration ==&lt;br /&gt;
&lt;br /&gt;
Spiral model is also called as “meta-model”, The name comes from the way the Spiral Model incorporates other Models in the Software Development Life-Cycle. Both waterfall and prototype models are those that are used most often in it. The Software development progresses systematically over the loops (adhering to waterfall approach) and at the same time prototypes are created and displayed to the user after completion of various phases. This ensures a systematic approach with minimal chances of risks.&lt;br /&gt;
&lt;br /&gt;
[[File:http://4.bp.blogspot.com/-DrUmxAA-0ow/Tuel4-sLo1I/AAAAAAAAAIE/MziZ7Wnu1F8/s400/Spiral_model.JPG]]&lt;br /&gt;
[[Media:http://4.bp.blogspot.com/-DrUmxAA-0ow/Tuel4-sLo1I/AAAAAAAAAIE/MziZ7Wnu1F8/s400/Spiral_model.JPG]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Advantages of The Spiral Model==&lt;br /&gt;
&lt;br /&gt;
Spiral Model is one of the most used Software Development Models and is known for it’s efficiency, accuracy and straight forward design. Following are various advantages of the Spiral Model:&amp;lt;ref name=&amp;quot;refx&amp;quot;&amp;gt;Spiral Model - Advantages    &lt;br /&gt;
 http://www.ianswer4u.com/2011/12/spiral-model-advantages-and.html#axzz2ARqc6EGX&amp;lt;/ref&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The Spiral Life-Cycle Model is one of the most flexible SDLC models in software Development. Various phases in Development can be determined by the project manager, based on the complexity of the project.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Monitoring is very easy, effective and efficient. Each phase, as well as each loop, requires a review from concerned people. This facilitates transparency in the model.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Risk management is one of the in-built features of the model, which makes up for an added advantage compared to other models.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Changes in the model can be introduced at a later stage. The person in charge of the project is given enough flexibility to incorporate these changes.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Estimates about the project including the time taken, cost and schedule become more accurate as the development progresses.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The Spiral Model is highly adaptive for High-Risk projects, where business needs may be unstable.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;A heavier emphasis is present on Customization, ensuring heavy customizability.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
== Disadvantages of the Spiral Model ==&lt;br /&gt;
&lt;br /&gt;
Despite the various advantages Spiral Model brings in, it also has a few considerable disadvantages:&amp;lt;ref name=&amp;quot;refy&amp;quot;&amp;gt;Spiral Model - Disadvantages  http://www.ianswer4u.com/2011/12/spiral-model-advantages-and.html#axzz2ARqc6EGX&amp;lt;/ref&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The Spiral Model might involve higher costs, although it can accurately estimate the numbers.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The model might become complicated even for projects with a clear Software-Requirements-Specifications.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Evaluation and reviews of the Spiral Model might require advanced skills, though not true in all cases.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;In order to effectively implement this model, the protocols and standards must be followed carefully, as any small change in the implementation might cause considerable changes to the development process.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;If the requirements of the project change in the future, using the same prototype might get difficult.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Involves extensive documentation in the intermediate stages during which management of the project might get difficult.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Not suitable for Low Risk projects.&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Applications of The Spiral Model ==&lt;br /&gt;
&lt;br /&gt;
The Spiral model is used most often in large projects and needs constant review to stay on target. Given the disadvantages of the Spiral Model that are cited above, the Agile Software Development Model can act as a viable alternative. &amp;lt;ref name=”refz”&amp;gt; Applications of Spiral Model http://en.wikipedia.org/wiki/Spiral_model#Applications&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
- The military had adopted the spiral model for its Future Combat Systems program. The FCS&lt;br /&gt;
project was eventually canceled after six years (2003–2009). it had a two year iteration (spiral).&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
- The FCS originally should have resulted in three consecutive prototypes (one prototype per spiral—every two years).&lt;br /&gt;
The above application of the Spiral Model indicates that the spiral model thus may suit small&lt;br /&gt;
(up to $3 million) software applications and not a complicated ($3 billion) distributed,&lt;br /&gt;
interoperable, system of systems.&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
- Also it is reasonable to use the spiral model in projects where business goals are unstable but&lt;br /&gt;
the architecture is realized well enough to provide high loading and stress ability.&lt;br /&gt;
For example, the Spiral Architecture Driven Development is a spiral-based Software&lt;br /&gt;
Development Life Cycle which shows one possible way how to reduce the risk of non-effective       &lt;br /&gt;
architectures with the help of a spiral model in conjunction with the best practices from other models.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Spangul</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2012/SM_sm&amp;diff=68647</id>
		<title>CSC/ECE 517 Fall 2012/SM sm</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2012/SM_sm&amp;diff=68647"/>
		<updated>2012-10-27T00:41:34Z</updated>

		<summary type="html">&lt;p&gt;Spangul: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;font size=&amp;quot;5&amp;quot;&amp;gt;The Spiral Model&amp;lt;/font&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
==Introduction==&lt;br /&gt;
The spiral model is a software development process that combines the elements of both design and prototyping-in-stages.This model represents a risk-driven approach to software process analysis and structuring. Also known as the spiral lifecycle model (or spiral development), it is a systems development method (SDM) used in information technology (IT).  This model combines the advantages of top-down and bottom-up concepts and promotes quality assurance through prototyping at each stage.Thus it includes the features of both prototyping and the waterfall model but provides emphasis in a key area which is mostly neglected by other methodologies: deliberate iterative risk analysis.&lt;br /&gt;
Generally,the spiral model is intended for large, expensive and complicated projects.This approach incorporates elements of specification-driven, prototype-driven process methods, together with the classic software life cycle.&lt;br /&gt;
&lt;br /&gt;
History:&lt;br /&gt;
The spiral model was defined by Barry Boehm in his 1986 article &amp;quot;A Spiral Model of Software Development and Enhancement&amp;quot;. This model was not the first model to discuss iterative development but it was the first model to explain why the iteration matters. Each phase is characterised by setting a design goal initially and ends with the client (who may be internal) reviewing the progress thus far. Analysis and engineering efforts are applied at each phase of the project, all the way till  the end goal of the project is achieved. The key characteristic of a Spiral model is risk management at regular stages in the development cycle.&lt;br /&gt;
&lt;br /&gt;
Description:&lt;br /&gt;
It does so by representing iterative development cycles as an expanding spiral, with inner cycles denoting early system analysis and prototyping, and outer cycles denoting the classic software life cycle.&lt;br /&gt;
The radial dimension denotes cumulative development costs, and the angular dimension denotes progress made in accomplishing each development spiral.&lt;br /&gt;
&lt;br /&gt;
The steps in the spiral model can be generalized as follows:&lt;br /&gt;
&lt;br /&gt;
    The requirements for building the new system are gathered using different methods and defined in as much detail as possible. The methods usually involve interviewing a number of users representing all the external or internal users, preparing questionnaires regarding the other aspects of the existing system.&lt;br /&gt;
&lt;br /&gt;
    Based on the requirements gathered, a preliminary design is created for the new system.&lt;br /&gt;
&lt;br /&gt;
    A first prototype of the new system is constructed from the preliminary design. This is usually a scaled-down system that implements the core functionality and represents an approximation of the characteristics of the final product.&lt;br /&gt;
&lt;br /&gt;
    A second prototype is evolved by a fourfold procedure: &lt;br /&gt;
&lt;br /&gt;
(1) evaluating the first prototype in terms of its strengths, weaknesses, and risks based on customer feedback.&lt;br /&gt;
&lt;br /&gt;
(2) defining more detailed requirements of the second prototype&lt;br /&gt;
&lt;br /&gt;
(3) planning and designing the second prototype&lt;br /&gt;
&lt;br /&gt;
(4) constructing and testing the second prototype.&lt;br /&gt;
&lt;br /&gt;
    At the customer's option, the entire project can be aborted if the risk is deemed too great. Risk factors might involve development cost overruns, operating-cost miscalculation, or any other factor that could, in the customer's judgment, result in a less-than-satisfactory final product.&lt;br /&gt;
&lt;br /&gt;
    The existing prototype is evaluated in the same manner as was the previous prototype, and, if unsatisfactory, another prototype is developed from it according to the fourfold procedure outlined above.&lt;br /&gt;
&lt;br /&gt;
    The preceding steps are iterated until the customer is satisfied with the final product, that is refined prototype.&lt;br /&gt;
&lt;br /&gt;
    The final system is then constructed, based on the refined prototype.&lt;br /&gt;
&lt;br /&gt;
    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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The insights that the Spiral Model offered has in turned influenced the standard software life cycle process models, such as ISO12207&lt;br /&gt;
&lt;br /&gt;
System development in this model therefore spirals out only so far as needed according to the risk that must be managed.&lt;br /&gt;
&lt;br /&gt;
.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Illustration ==&lt;br /&gt;
&lt;br /&gt;
Spiral model is also called as “meta-model”, The name comes from the way the Spiral Model incorporates other Models in the Software Development Life-Cycle. Both waterfall and prototype models are those that are used most often in it. The Software development progresses systematically over the loops (adhering to waterfall approach) and at the same time prototypes are created and displayed to the user after completion of various phases. This ensures a systematic approach with minimal chances of risks.&lt;br /&gt;
&lt;br /&gt;
[[File:http://4.bp.blogspot.com/-DrUmxAA-0ow/Tuel4-sLo1I/AAAAAAAAAIE/MziZ7Wnu1F8/s400/Spiral_model.JPG]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Advantages of The Spiral Model==&lt;br /&gt;
&lt;br /&gt;
Spiral Model is one of the most used Software Development Models and is known for it’s efficiency, accuracy and straight forward design. Following are various advantages of the Spiral Model:&amp;lt;ref name=&amp;quot;refx&amp;quot;&amp;gt;Spiral Model - Advantages    &lt;br /&gt;
 http://www.ianswer4u.com/2011/12/spiral-model-advantages-and.html#axzz2ARqc6EGX&amp;lt;/ref&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The Spiral Life-Cycle Model is one of the most flexible SDLC models in software Development. Various phases in Development can be determined by the project manager, based on the complexity of the project.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Monitoring is very easy, effective and efficient. Each phase, as well as each loop, requires a review from concerned people. This facilitates transparency in the model.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Risk management is one of the in-built features of the model, which makes up for an added advantage compared to other models.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Changes in the model can be introduced at a later stage. The person in charge of the project is given enough flexibility to incorporate these changes.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Estimates about the project including the time taken, cost and schedule become more accurate as the development progresses.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The Spiral Model is highly adaptive for High-Risk projects, where business needs may be unstable.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;A heavier emphasis is present on Customization, ensuring heavy customizability.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
== Disadvantages of the Spiral Model ==&lt;br /&gt;
&lt;br /&gt;
Despite the various advantages Spiral Model brings in, it also has a few considerable disadvantages:&amp;lt;ref name=&amp;quot;refy&amp;quot;&amp;gt;Spiral Model - Disadvantages  http://www.ianswer4u.com/2011/12/spiral-model-advantages-and.html#axzz2ARqc6EGX&amp;lt;/ref&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The Spiral Model might involve higher costs, although it can accurately estimate the numbers.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The model might become complicated even for projects with a clear Software-Requirements-Specifications.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Evaluation and reviews of the Spiral Model might require advanced skills, though not true in all cases.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;In order to effectively implement this model, the protocols and standards must be followed carefully, as any small change in the implementation might cause considerable changes to the development process.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;If the requirements of the project change in the future, using the same prototype might get difficult.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Involves extensive documentation in the intermediate stages during which management of the project might get difficult.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Not suitable for Low Risk projects.&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Applications of The Spiral Model ==&lt;br /&gt;
&lt;br /&gt;
The Spiral model is used most often in large projects and needs constant review to stay on target. Given the disadvantages of the Spiral Model that are cited above, the Agile Software Development Model can act as a viable alternative. &amp;lt;ref name=”refz”&amp;gt; Applications of Spiral Model http://en.wikipedia.org/wiki/Spiral_model#Applications&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
- The military had adopted the spiral model for its Future Combat Systems program. The FCS&lt;br /&gt;
project was eventually canceled after six years (2003–2009). it had a two year iteration (spiral).&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
- The FCS originally should have resulted in three consecutive prototypes (one prototype per spiral—every two years).&lt;br /&gt;
The above application of the Spiral Model indicates that the spiral model thus may suit small&lt;br /&gt;
(up to $3 million) software applications and not a complicated ($3 billion) distributed,&lt;br /&gt;
interoperable, system of systems.&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
- Also it is reasonable to use the spiral model in projects where business goals are unstable but&lt;br /&gt;
the architecture is realized well enough to provide high loading and stress ability.&lt;br /&gt;
For example, the Spiral Architecture Driven Development is a spiral-based Software&lt;br /&gt;
Development Life Cycle which shows one possible way how to reduce the risk of non-effective       &lt;br /&gt;
architectures with the help of a spiral model in conjunction with the best practices from other models.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Spangul</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2012/SM_sm&amp;diff=68641</id>
		<title>CSC/ECE 517 Fall 2012/SM sm</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2012/SM_sm&amp;diff=68641"/>
		<updated>2012-10-27T00:40:00Z</updated>

		<summary type="html">&lt;p&gt;Spangul: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;font size=&amp;quot;5&amp;quot;&amp;gt;The Spiral Model&amp;lt;/font&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
==Introduction==&lt;br /&gt;
The spiral model is a software development process that combines the elements of both design and prototyping-in-stages.This model represents a risk-driven approach to software process analysis and structuring. Also known as the spiral lifecycle model (or spiral development), it is a systems development method (SDM) used in information technology (IT).  This model combines the advantages of top-down and bottom-up concepts and promotes quality assurance through prototyping at each stage.Thus it includes the features of both prototyping and the waterfall model but provides emphasis in a key area which is mostly neglected by other methodologies: deliberate iterative risk analysis.&lt;br /&gt;
Generally,the spiral model is intended for large, expensive and complicated projects.This approach incorporates elements of specification-driven, prototype-driven process methods, together with the classic software life cycle.&lt;br /&gt;
&lt;br /&gt;
History:&lt;br /&gt;
The spiral model was defined by Barry Boehm in his 1986 article &amp;quot;A Spiral Model of Software Development and Enhancement&amp;quot;. This model was not the first model to discuss iterative development but it was the first model to explain why the iteration matters. Each phase is characterised by setting a design goal initially and ends with the client (who may be internal) reviewing the progress thus far. Analysis and engineering efforts are applied at each phase of the project, all the way till  the end goal of the project is achieved. The key characteristic of a Spiral model is risk management at regular stages in the development cycle.&lt;br /&gt;
&lt;br /&gt;
Description:&lt;br /&gt;
It does so by representing iterative development cycles as an expanding spiral, with inner cycles denoting early system analysis and prototyping, and outer cycles denoting the classic software life cycle.&lt;br /&gt;
The radial dimension denotes cumulative development costs, and the angular dimension denotes progress made in accomplishing each development spiral.&lt;br /&gt;
&lt;br /&gt;
The steps in the spiral model can be generalized as follows:&lt;br /&gt;
&lt;br /&gt;
    The requirements for building the new system are gathered using different methods and defined in as much detail as possible. The methods usually involve interviewing a number of users representing all the external or internal users, preparing questionnaires regarding the other aspects of the existing system.&lt;br /&gt;
&lt;br /&gt;
    Based on the requirements gathered, a preliminary design is created for the new system.&lt;br /&gt;
&lt;br /&gt;
    A first prototype of the new system is constructed from the preliminary design. This is usually a scaled-down system that implements the core functionality and represents an approximation of the characteristics of the final product.&lt;br /&gt;
&lt;br /&gt;
    A second prototype is evolved by a fourfold procedure: &lt;br /&gt;
&lt;br /&gt;
(1) evaluating the first prototype in terms of its strengths, weaknesses, and risks based on customer feedback.&lt;br /&gt;
&lt;br /&gt;
(2) defining more detailed requirements of the second prototype&lt;br /&gt;
&lt;br /&gt;
(3) planning and designing the second prototype&lt;br /&gt;
&lt;br /&gt;
(4) constructing and testing the second prototype.&lt;br /&gt;
&lt;br /&gt;
    At the customer's option, the entire project can be aborted if the risk is deemed too great. Risk factors might involve development cost overruns, operating-cost miscalculation, or any other factor that could, in the customer's judgment, result in a less-than-satisfactory final product.&lt;br /&gt;
&lt;br /&gt;
    The existing prototype is evaluated in the same manner as was the previous prototype, and, if unsatisfactory, another prototype is developed from it according to the fourfold procedure outlined above.&lt;br /&gt;
&lt;br /&gt;
    The preceding steps are iterated until the customer is satisfied with the final product, that is refined prototype.&lt;br /&gt;
&lt;br /&gt;
    The final system is then constructed, based on the refined prototype.&lt;br /&gt;
&lt;br /&gt;
    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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The insights that the Spiral Model offered has in turned influenced the standard software life cycle process models, such as ISO12207&lt;br /&gt;
&lt;br /&gt;
System development in this model therefore spirals out only so far as needed according to the risk that must be managed.&lt;br /&gt;
&lt;br /&gt;
.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Illustration ==&lt;br /&gt;
&lt;br /&gt;
Spiral model is also called as “meta-model”, The name comes from the way the Spiral Model incorporates other Models in the Software Development Life-Cycle. Both waterfall and prototype models are those that are used most often in it. The Software development progresses systematically over the loops (adhering to waterfall approach) and at the same time prototypes are created and displayed to the user after completion of various phases. This ensures a systematic approach with minimal chances of risks.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;img src=”http://4.bp.blogspot.com/-DrUmxAA-0ow/Tuel4-sLo1I/AAAAAAAAAIE/MziZ7Wnu1F8/s400/Spiral_model.JPG”&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Advantages of The Spiral Model==&lt;br /&gt;
&lt;br /&gt;
Spiral Model is one of the most used Software Development Models and is known for it’s efficiency, accuracy and straight forward design. Following are various advantages of the Spiral Model:&amp;lt;ref name=&amp;quot;refx&amp;quot;&amp;gt;Spiral Model - Advantages    &lt;br /&gt;
 http://www.ianswer4u.com/2011/12/spiral-model-advantages-and.html#axzz2ARqc6EGX&amp;lt;/ref&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The Spiral Life-Cycle Model is one of the most flexible SDLC models in software Development. Various phases in Development can be determined by the project manager, based on the complexity of the project.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Monitoring is very easy, effective and efficient. Each phase, as well as each loop, requires a review from concerned people. This facilitates transparency in the model.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Risk management is one of the in-built features of the model, which makes up for an added advantage compared to other models.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Changes in the model can be introduced at a later stage. The person in charge of the project is given enough flexibility to incorporate these changes.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Estimates about the project including the time taken, cost and schedule become more accurate as the development progresses.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The Spiral Model is highly adaptive for High-Risk projects, where business needs may be unstable.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;A heavier emphasis is present on Customization, ensuring heavy customizability.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
== Disadvantages of the Spiral Model ==&lt;br /&gt;
&lt;br /&gt;
Despite the various advantages Spiral Model brings in, it also has a few considerable disadvantages:&amp;lt;ref name=&amp;quot;refy&amp;quot;&amp;gt;Spiral Model - Disadvantages  http://www.ianswer4u.com/2011/12/spiral-model-advantages-and.html#axzz2ARqc6EGX&amp;lt;/ref&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The Spiral Model might involve higher costs, although it can accurately estimate the numbers.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The model might become complicated even for projects with a clear Software-Requirements-Specifications.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Evaluation and reviews of the Spiral Model might require advanced skills, though not true in all cases.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;In order to effectively implement this model, the protocols and standards must be followed carefully, as any small change in the implementation might cause considerable changes to the development process.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;If the requirements of the project change in the future, using the same prototype might get difficult.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Involves extensive documentation in the intermediate stages during which management of the project might get difficult.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Not suitable for Low Risk projects.&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Applications of The Spiral Model ==&lt;br /&gt;
&lt;br /&gt;
The Spiral model is used most often in large projects and needs constant review to stay on target. Given the disadvantages of the Spiral Model that are cited above, the Agile Software Development Model can act as a viable alternative. &amp;lt;ref name=”refz”&amp;gt; Applications of Spiral Model http://en.wikipedia.org/wiki/Spiral_model#Applications&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
- The military had adopted the spiral model for its Future Combat Systems program. The FCS&lt;br /&gt;
project was eventually canceled after six years (2003–2009). it had a two year iteration (spiral).&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
- The FCS originally should have resulted in three consecutive prototypes (one prototype per spiral—every two years).&lt;br /&gt;
The above application of the Spiral Model indicates that the spiral model thus may suit small&lt;br /&gt;
(up to $3 million) software applications and not a complicated ($3 billion) distributed,&lt;br /&gt;
interoperable, system of systems.&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
- Also it is reasonable to use the spiral model in projects where business goals are unstable but&lt;br /&gt;
the architecture is realized well enough to provide high loading and stress ability.&lt;br /&gt;
For example, the Spiral Architecture Driven Development is a spiral-based Software&lt;br /&gt;
Development Life Cycle which shows one possible way how to reduce the risk of non-effective       &lt;br /&gt;
architectures with the help of a spiral model in conjunction with the best practices from other models.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Spangul</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2012/SM_sm&amp;diff=68639</id>
		<title>CSC/ECE 517 Fall 2012/SM sm</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2012/SM_sm&amp;diff=68639"/>
		<updated>2012-10-27T00:39:16Z</updated>

		<summary type="html">&lt;p&gt;Spangul: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;font size=&amp;quot;5&amp;quot;&amp;gt;The Spiral Model&amp;lt;/font&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
==Introduction==&lt;br /&gt;
The spiral model is a software development process that combines the elements of both design and prototyping-in-stages.This model represents a risk-driven approach to software process analysis and structuring. Also known as the spiral lifecycle model (or spiral development), it is a systems development method (SDM) used in information technology (IT).  This model combines the advantages of top-down and bottom-up concepts and promotes quality assurance through prototyping at each stage.Thus it includes the features of both prototyping and the waterfall model but provides emphasis in a key area which is mostly neglected by other methodologies: deliberate iterative risk analysis.&lt;br /&gt;
Generally,the spiral model is intended for large, expensive and complicated projects.This approach incorporates elements of specification-driven, prototype-driven process methods, together with the classic software life cycle.&lt;br /&gt;
&lt;br /&gt;
History:&lt;br /&gt;
The spiral model was defined by Barry Boehm in his 1986 article &amp;quot;A Spiral Model of Software Development and Enhancement&amp;quot;. This model was not the first model to discuss iterative development but it was the first model to explain why the iteration matters. Each phase is characterised by setting a design goal initially and ends with the client (who may be internal) reviewing the progress thus far. Analysis and engineering efforts are applied at each phase of the project, all the way till  the end goal of the project is achieved. The key characteristic of a Spiral model is risk management at regular stages in the development cycle.&lt;br /&gt;
&lt;br /&gt;
Description:&lt;br /&gt;
It does so by representing iterative development cycles as an expanding spiral, with inner cycles denoting early system analysis and prototyping, and outer cycles denoting the classic software life cycle.&lt;br /&gt;
The radial dimension denotes cumulative development costs, and the angular dimension denotes progress made in accomplishing each development spiral.&lt;br /&gt;
&lt;br /&gt;
The steps in the spiral model can be generalized as follows:&lt;br /&gt;
&lt;br /&gt;
    The requirements for building the new system are gathered using different methods and defined in as much detail as possible. The methods usually involve interviewing a number of users representing all the external or internal users, preparing questionnaires regarding the other aspects of the existing system.&lt;br /&gt;
&lt;br /&gt;
    Based on the requirements gathered, a preliminary design is created for the new system.&lt;br /&gt;
&lt;br /&gt;
    A first prototype of the new system is constructed from the preliminary design. This is usually a scaled-down system that implements the core functionality and represents an approximation of the characteristics of the final product.&lt;br /&gt;
&lt;br /&gt;
    A second prototype is evolved by a fourfold procedure: &lt;br /&gt;
&lt;br /&gt;
(1) evaluating the first prototype in terms of its strengths, weaknesses, and risks based on customer feedback.&lt;br /&gt;
&lt;br /&gt;
(2) defining more detailed requirements of the second prototype&lt;br /&gt;
&lt;br /&gt;
(3) planning and designing the second prototype&lt;br /&gt;
&lt;br /&gt;
(4) constructing and testing the second prototype.&lt;br /&gt;
&lt;br /&gt;
    At the customer's option, the entire project can be aborted if the risk is deemed too great. Risk factors might involve development cost overruns, operating-cost miscalculation, or any other factor that could, in the customer's judgment, result in a less-than-satisfactory final product.&lt;br /&gt;
&lt;br /&gt;
    The existing prototype is evaluated in the same manner as was the previous prototype, and, if unsatisfactory, another prototype is developed from it according to the fourfold procedure outlined above.&lt;br /&gt;
&lt;br /&gt;
    The preceding steps are iterated until the customer is satisfied with the final product, that is refined prototype.&lt;br /&gt;
&lt;br /&gt;
    The final system is then constructed, based on the refined prototype.&lt;br /&gt;
&lt;br /&gt;
    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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The insights that the Spiral Model offered has in turned influenced the standard software life cycle process models, such as ISO12207&lt;br /&gt;
&lt;br /&gt;
System development in this model therefore spirals out only so far as needed according to the risk that must be managed.&lt;br /&gt;
&lt;br /&gt;
.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Illustration ==&lt;br /&gt;
&lt;br /&gt;
Spiral model is also called as “meta-model”, The name comes from the way the Spiral Model incorporates other Models in the Software Development Life-Cycle. Both waterfall and prototype models are those that are used most often in it. The Software development progresses systematically over the loops (adhering to waterfall approach) and at the same time prototypes are created and displayed to the user after completion of various phases. This ensures a systematic approach with minimal chances of risks.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;img src=”http://4.bp.blogspot.com/-DrUmxAA-0ow/Tuel4-sLo1I/AAAAAAAAAIE/MziZ7Wnu1F8/s400/Spiral_model.JPG”&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Advantages of The Spiral Model==&lt;br /&gt;
&lt;br /&gt;
Spiral Model is one of the most used Software Development Models and is known for it’s efficiency, accuracy and straight forward design. Following are various advantages of the Spiral Model:&amp;lt;ref name=&amp;quot;refx&amp;quot;&amp;gt;Spiral Model - Advantages    &lt;br /&gt;
 http://www.ianswer4u.com/2011/12/spiral-model-advantages-and.html#axzz2ARqc6EGX&amp;lt;/ref&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The Spiral Life-Cycle Model is one of the most flexible SDLC models in software Development. Various phases in Development can be determined by the project manager, based on the complexity of the project.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Monitoring is very easy, effective and efficient. Each phase, as well as each loop, requires a review from concerned people. This facilitates transparency in the model.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Risk management is one of the in-built features of the model, which makes up for an added advantage compared to other models.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Changes in the model can be introduced at a later stage. The person in charge of the project is given enough flexibility to incorporate these changes.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Estimates about the project including the time taken, cost and schedule become more accurate as the development progresses.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The Spiral Model is highly adaptive for High-Risk projects, where business needs may be unstable.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;A heavier emphasis is present on Customization, ensuring heavy customizability.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Disadvantages of the Spiral Model ==&lt;br /&gt;
&lt;br /&gt;
Despite the various advantages Spiral Model brings in, it also has a few considerable disadvantages:&amp;lt;ref name=&amp;quot;refy&amp;quot;&amp;gt;Spiral Model - Disadvantages  http://www.ianswer4u.com/2011/12/spiral-model-advantages-and.html#axzz2ARqc6EGX&amp;lt;/ref&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The Spiral Model might involve higher costs, although it can accurately estimate the numbers.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The model might become complicated even for projects with a clear Software-Requirements-Specifications.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Evaluation and reviews of the Spiral Model might require advanced skills, though not true in all cases.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;In order to effectively implement this model, the protocols and standards must be followed carefully, as any small change in the implementation might cause considerable changes to the development process.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;If the requirements of the project change in the future, using the same prototype might get difficult.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Involves extensive documentation in the intermediate stages during which management of the project might get difficult.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Not suitable for Low Risk projects.&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Applications of The Spiral Model ==&lt;br /&gt;
&lt;br /&gt;
The Spiral model is used most often in large projects and needs constant review to stay on target. Given the disadvantages of the Spiral Model that are cited above, the Agile Software Development Model can act as a viable alternative. &amp;lt;ref name=”refz”&amp;gt; Applications of Spiral Model http://en.wikipedia.org/wiki/Spiral_model#Applications&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
- The military had adopted the spiral model for its Future Combat Systems program. The FCS&lt;br /&gt;
project was eventually canceled after six years (2003–2009). it had a two year iteration (spiral).&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
- The FCS originally should have resulted in three consecutive prototypes (one prototype per spiral—every two years).&lt;br /&gt;
The above application of the Spiral Model indicates that the spiral model thus may suit small&lt;br /&gt;
(up to $3 million) software applications and not a complicated ($3 billion) distributed,&lt;br /&gt;
interoperable, system of systems.&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
- Also it is reasonable to use the spiral model in projects where business goals are unstable but&lt;br /&gt;
the architecture is realized well enough to provide high loading and stress ability.&lt;br /&gt;
For example, the Spiral Architecture Driven Development is a spiral-based Software&lt;br /&gt;
Development Life Cycle which shows one possible way how to reduce the risk of non-effective       &lt;br /&gt;
architectures with the help of a spiral model in conjunction with the best practices from other models.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Spangul</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2012/SM_sm&amp;diff=68637</id>
		<title>CSC/ECE 517 Fall 2012/SM sm</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2012/SM_sm&amp;diff=68637"/>
		<updated>2012-10-27T00:37:27Z</updated>

		<summary type="html">&lt;p&gt;Spangul: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;font size=&amp;quot;5&amp;quot;&amp;gt;The Spiral Model&amp;lt;/font&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
==Introduction==&lt;br /&gt;
The spiral model is a software development process that combines the elements of both design and prototyping-in-stages.This model represents a risk-driven approach to software process analysis and structuring. Also known as the spiral lifecycle model (or spiral development), it is a systems development method (SDM) used in information technology (IT).  This model combines the advantages of top-down and bottom-up concepts and promotes quality assurance through prototyping at each stage.Thus it includes the features of both prototyping and the waterfall model but provides emphasis in a key area which is mostly neglected by other methodologies: deliberate iterative risk analysis.&lt;br /&gt;
Generally,the spiral model is intended for large, expensive and complicated projects.This approach incorporates elements of specification-driven, prototype-driven process methods, together with the classic software life cycle.&lt;br /&gt;
&lt;br /&gt;
History:&lt;br /&gt;
The spiral model was defined by Barry Boehm in his 1986 article &amp;quot;A Spiral Model of Software Development and Enhancement&amp;quot;. This model was not the first model to discuss iterative development but it was the first model to explain why the iteration matters. Each phase is characterised by setting a design goal initially and ends with the client (who may be internal) reviewing the progress thus far. Analysis and engineering efforts are applied at each phase of the project, all the way till  the end goal of the project is achieved. The key characteristic of a Spiral model is risk management at regular stages in the development cycle.&lt;br /&gt;
&lt;br /&gt;
Description:&lt;br /&gt;
It does so by representing iterative development cycles as an expanding spiral, with inner cycles denoting early system analysis and prototyping, and outer cycles denoting the classic software life cycle.&lt;br /&gt;
The radial dimension denotes cumulative development costs, and the angular dimension denotes progress made in accomplishing each development spiral.&lt;br /&gt;
&lt;br /&gt;
The steps in the spiral model can be generalized as follows:&lt;br /&gt;
&lt;br /&gt;
    The requirements for building the new system are gathered using different methods and defined in as much detail as possible. The methods usually involve interviewing a number of users representing all the external or internal users, preparing questionnaires regarding the other aspects of the existing system.&lt;br /&gt;
&lt;br /&gt;
    Based on the requirements gathered, a preliminary design is created for the new system.&lt;br /&gt;
&lt;br /&gt;
    A first prototype of the new system is constructed from the preliminary design. This is usually a scaled-down system that implements the core functionality and represents an approximation of the characteristics of the final product.&lt;br /&gt;
&lt;br /&gt;
    A second prototype is evolved by a fourfold procedure: &lt;br /&gt;
&lt;br /&gt;
(1) evaluating the first prototype in terms of its strengths, weaknesses, and risks based on customer feedback.&lt;br /&gt;
&lt;br /&gt;
(2) defining more detailed requirements of the second prototype&lt;br /&gt;
&lt;br /&gt;
(3) planning and designing the second prototype&lt;br /&gt;
&lt;br /&gt;
(4) constructing and testing the second prototype.&lt;br /&gt;
&lt;br /&gt;
    At the customer's option, the entire project can be aborted if the risk is deemed too great. Risk factors might involve development cost overruns, operating-cost miscalculation, or any other factor that could, in the customer's judgment, result in a less-than-satisfactory final product.&lt;br /&gt;
&lt;br /&gt;
    The existing prototype is evaluated in the same manner as was the previous prototype, and, if unsatisfactory, another prototype is developed from it according to the fourfold procedure outlined above.&lt;br /&gt;
&lt;br /&gt;
    The preceding steps are iterated until the customer is satisfied with the final product, that is refined prototype.&lt;br /&gt;
&lt;br /&gt;
    The final system is then constructed, based on the refined prototype.&lt;br /&gt;
&lt;br /&gt;
    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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The insights that the Spiral Model offered has in turned influenced the standard software life cycle process models, such as ISO12207&lt;br /&gt;
&lt;br /&gt;
System development in this model therefore spirals out only so far as needed according to the risk that must be managed.&lt;br /&gt;
&lt;br /&gt;
.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Illustration ==&lt;br /&gt;
&lt;br /&gt;
Spiral model is also called as “meta-model”, The name comes from the way the Spiral Model incorporates other Models in the Software Development Life-Cycle. Both waterfall and prototype models are those that are used most often in it. The Software development progresses systematically over the loops (adhering to waterfall approach) and at the same time prototypes are created and displayed to the user after completion of various phases. This ensures a systematic approach with minimal chances of risks.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;img src=”http://4.bp.blogspot.com/-DrUmxAA-0ow/Tuel4-sLo1I/AAAAAAAAAIE/MziZ7Wnu1F8/s400/Spiral_model.JPG”&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Advantages of The Spiral Model==&lt;br /&gt;
&lt;br /&gt;
 Spiral Model is one of the most used Software Development Models and is known for it’s   &lt;br /&gt;
 efficiency, accuracy and straight forward design. Following are various advantages of the Spiral&lt;br /&gt;
 Model:&amp;lt;ref name=&amp;quot;refx&amp;quot;&amp;gt;Spiral Model - Advantages    &lt;br /&gt;
 http://www.ianswer4u.com/2011/12/spiral-model-advantages-and.html#axzz2ARqc6EGX&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
- The Spiral Life-Cycle Model is one of the most flexible SDLC models in software Development.&lt;br /&gt;
  Various phases in Development can be determined by the project manager, based on the&lt;br /&gt;
  complexity of the project.&lt;br /&gt;
- Monitoring is very easy, effective and efficient. Each phase, as well as each loop, requires a&lt;br /&gt;
  review from concerned people. This facilitates transparency in the model.&lt;br /&gt;
- Risk management is one of the in-built features of the model, which makes up for an added&lt;br /&gt;
  advantage compared to other models.&lt;br /&gt;
-  Changes in the model can be introduced at a later stage. The person in charge of the project is&lt;br /&gt;
  given enough flexibility to incorporate these changes.&lt;br /&gt;
-  Estimates about the project including the time taken, cost and schedule become more&lt;br /&gt;
  accurate as the development progresses.&lt;br /&gt;
-  The Spiral Model is highly adaptive for High-Risk projects, where business needs may be&lt;br /&gt;
   unstable.&lt;br /&gt;
-  A heavier emphasis is present on Customization, ensuring heavy customizability.&lt;br /&gt;
&lt;br /&gt;
== Disadvantages of the Spiral Model ==&lt;br /&gt;
&lt;br /&gt;
Despite the various advantages Spiral Model brings in, it also has a few considerable disadvantages:&amp;lt;ref name=&amp;quot;refy&amp;quot;&amp;gt;Spiral Model - Disadvantages  http://www.ianswer4u.com/2011/12/spiral-model-advantages-and.html#axzz2ARqc6EGX&amp;lt;/ref&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The Spiral Model might involve higher costs, although it can accurately estimate the numbers.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The model might become complicated even for projects with a clear Software-Requirements-Specifications.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Evaluation and reviews of the Spiral Model might require advanced skills, though not true in all cases.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;In order to effectively implement this model, the protocols and standards must be followed carefully, as any small change in the implementation might cause considerable changes to the development process.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;If the requirements of the project change in the future, using the same prototype might get difficult.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Involves extensive documentation in the intermediate stages during which management of the project might get difficult.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Not suitable for Low Risk projects.&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Applications of The Spiral Model ==&lt;br /&gt;
&lt;br /&gt;
The Spiral model is used most often in large projects and needs constant review to stay on target. Given the disadvantages of the Spiral Model that are cited above, the Agile Software Development Model can act as a viable alternative. &amp;lt;ref name=”refz”&amp;gt; Applications of Spiral Model http://en.wikipedia.org/wiki/Spiral_model#Applications&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
- The military had adopted the spiral model for its Future Combat Systems program. The FCS&lt;br /&gt;
project was eventually canceled after six years (2003–2009). it had a two year iteration (spiral).&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
- The FCS originally should have resulted in three consecutive prototypes (one prototype per spiral—every two years).&lt;br /&gt;
The above application of the Spiral Model indicates that the spiral model thus may suit small&lt;br /&gt;
(up to $3 million) software applications and not a complicated ($3 billion) distributed,&lt;br /&gt;
interoperable, system of systems.&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
- Also it is reasonable to use the spiral model in projects where business goals are unstable but&lt;br /&gt;
the architecture is realized well enough to provide high loading and stress ability.&lt;br /&gt;
For example, the Spiral Architecture Driven Development is a spiral-based Software&lt;br /&gt;
Development Life Cycle which shows one possible way how to reduce the risk of non-effective       &lt;br /&gt;
architectures with the help of a spiral model in conjunction with the best practices from other models.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Spangul</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2012/SM_sm&amp;diff=68635</id>
		<title>CSC/ECE 517 Fall 2012/SM sm</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2012/SM_sm&amp;diff=68635"/>
		<updated>2012-10-27T00:36:48Z</updated>

		<summary type="html">&lt;p&gt;Spangul: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;font size=&amp;quot;5&amp;quot;&amp;gt;The Spiral Model&amp;lt;/font&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
==Introduction==&lt;br /&gt;
The spiral model is a software development process that combines the elements of both design and prototyping-in-stages.This model represents a risk-driven approach to software process analysis and structuring. Also known as the spiral lifecycle model (or spiral development), it is a systems development method (SDM) used in information technology (IT).  This model combines the advantages of top-down and bottom-up concepts and promotes quality assurance through prototyping at each stage.Thus it includes the features of both prototyping and the waterfall model but provides emphasis in a key area which is mostly neglected by other methodologies: deliberate iterative risk analysis.&lt;br /&gt;
Generally,the spiral model is intended for large, expensive and complicated projects.This approach incorporates elements of specification-driven, prototype-driven process methods, together with the classic software life cycle.&lt;br /&gt;
&lt;br /&gt;
History:&lt;br /&gt;
The spiral model was defined by Barry Boehm in his 1986 article &amp;quot;A Spiral Model of Software Development and Enhancement&amp;quot;. This model was not the first model to discuss iterative development but it was the first model to explain why the iteration matters. Each phase is characterised by setting a design goal initially and ends with the client (who may be internal) reviewing the progress thus far. Analysis and engineering efforts are applied at each phase of the project, all the way till  the end goal of the project is achieved. The key characteristic of a Spiral model is risk management at regular stages in the development cycle.&lt;br /&gt;
&lt;br /&gt;
Description:&lt;br /&gt;
It does so by representing iterative development cycles as an expanding spiral, with inner cycles denoting early system analysis and prototyping, and outer cycles denoting the classic software life cycle.&lt;br /&gt;
The radial dimension denotes cumulative development costs, and the angular dimension denotes progress made in accomplishing each development spiral.&lt;br /&gt;
&lt;br /&gt;
The steps in the spiral model can be generalized as follows:&lt;br /&gt;
&lt;br /&gt;
    The requirements for building the new system are gathered using different methods and defined in as much detail as possible. The methods usually involve interviewing a number of users representing all the external or internal users, preparing questionnaires regarding the other aspects of the existing system.&lt;br /&gt;
&lt;br /&gt;
    Based on the requirements gathered, a preliminary design is created for the new system.&lt;br /&gt;
&lt;br /&gt;
    A first prototype of the new system is constructed from the preliminary design. This is usually a scaled-down system that implements the core functionality and represents an approximation of the characteristics of the final product.&lt;br /&gt;
&lt;br /&gt;
    A second prototype is evolved by a fourfold procedure: &lt;br /&gt;
&lt;br /&gt;
(1) evaluating the first prototype in terms of its strengths, weaknesses, and risks based on customer feedback.&lt;br /&gt;
&lt;br /&gt;
(2) defining more detailed requirements of the second prototype&lt;br /&gt;
&lt;br /&gt;
(3) planning and designing the second prototype&lt;br /&gt;
&lt;br /&gt;
(4) constructing and testing the second prototype.&lt;br /&gt;
&lt;br /&gt;
    At the customer's option, the entire project can be aborted if the risk is deemed too great. Risk factors might involve development cost overruns, operating-cost miscalculation, or any other factor that could, in the customer's judgment, result in a less-than-satisfactory final product.&lt;br /&gt;
&lt;br /&gt;
    The existing prototype is evaluated in the same manner as was the previous prototype, and, if unsatisfactory, another prototype is developed from it according to the fourfold procedure outlined above.&lt;br /&gt;
&lt;br /&gt;
    The preceding steps are iterated until the customer is satisfied with the final product, that is refined prototype.&lt;br /&gt;
&lt;br /&gt;
    The final system is then constructed, based on the refined prototype.&lt;br /&gt;
&lt;br /&gt;
    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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The insights that the Spiral Model offered has in turned influenced the standard software life cycle process models, such as ISO12207&lt;br /&gt;
&lt;br /&gt;
System development in this model therefore spirals out only so far as needed according to the risk that must be managed.&lt;br /&gt;
&lt;br /&gt;
.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Illustration ==&lt;br /&gt;
&lt;br /&gt;
Spiral model is also called as “meta-model”, The name comes from the way the Spiral Model incorporates other Models in the Software Development Life-Cycle. Both waterfall and prototype models are those that are used most often in it. The Software development progresses systematically over the loops (adhering to waterfall approach) and at the same time prototypes are created and displayed to the user after completion of various phases. This ensures a systematic approach with minimal chances of risks.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;img src=”http://4.bp.blogspot.com/-DrUmxAA-0ow/Tuel4-sLo1I/AAAAAAAAAIE/MziZ7Wnu1F8/s400/Spiral_model.JPG”&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Advantages of The Spiral Model==&lt;br /&gt;
&lt;br /&gt;
 Spiral Model is one of the most used Software Development Models and is known for it’s   &lt;br /&gt;
 efficiency, accuracy and straight forward design. Following are various advantages of the Spiral&lt;br /&gt;
 Model:&amp;lt;ref name=&amp;quot;refx&amp;quot;&amp;gt;Spiral Model - Advantages    &lt;br /&gt;
 http://www.ianswer4u.com/2011/12/spiral-model-advantages-and.html#axzz2ARqc6EGX&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
- The Spiral Life-Cycle Model is one of the most flexible SDLC models in software Development.&lt;br /&gt;
  Various phases in Development can be determined by the project manager, based on the&lt;br /&gt;
  complexity of the project.&lt;br /&gt;
- Monitoring is very easy, effective and efficient. Each phase, as well as each loop, requires a&lt;br /&gt;
  review from concerned people. This facilitates transparency in the model.&lt;br /&gt;
- Risk management is one of the in-built features of the model, which makes up for an added&lt;br /&gt;
  advantage compared to other models.&lt;br /&gt;
-  Changes in the model can be introduced at a later stage. The person in charge of the project is&lt;br /&gt;
  given enough flexibility to incorporate these changes.&lt;br /&gt;
-  Estimates about the project including the time taken, cost and schedule become more&lt;br /&gt;
  accurate as the development progresses.&lt;br /&gt;
-  The Spiral Model is highly adaptive for High-Risk projects, where business needs may be&lt;br /&gt;
   unstable.&lt;br /&gt;
-  A heavier emphasis is present on Customization, ensuring heavy customizability.&lt;br /&gt;
&lt;br /&gt;
== Disadvantages of the Spiral Model ==&lt;br /&gt;
&lt;br /&gt;
Despite the various advantages Spiral Model brings in, it also has a few considerable disadvantages:&amp;lt;ref name=&amp;quot;refy&amp;quot;&amp;gt;Spiral Model - Disadvantages  http://www.ianswer4u.com/2011/12/spiral-model-advantages-and.html#axzz2ARqc6EGX&amp;lt;/ref&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The Spiral Model might involve higher costs, although it can accurately estimate the numbers.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The model might become complicated even for projects with a clear Software-Requirements-Specifications.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Evaluation and reviews of the Spiral Model might require advanced skills, though not true in all cases.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;In order to effectively implement this model, the protocols and standards must be followed carefully, as any small change in the implementation might cause considerable changes to the development process.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;If the requirements of the project change in the future, using the same prototype might get difficult.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Involves extensive documentation in the intermediate stages during which management of the project might get difficult.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Not suitable for Low Risk projects.&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Applications of The Spiral Model ==&lt;br /&gt;
&lt;br /&gt;
The Spiral model is used most often in large projects and needs constant review to stay on target. Given the disadvantages of the Spiral Model that are cited above, the Agile Software Development Model can act as a viable alternative. &amp;lt;ref name=”refz”&amp;gt; Applications of Spiral Model http://en.wikipedia.org/wiki/Spiral_model#Applications&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
- The military had adopted the spiral model for its Future Combat Systems program. The FCS&lt;br /&gt;
project was eventually canceled after six years (2003–2009). it had a two year iteration (spiral).&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
- The FCS originally should have resulted in three consecutive prototypes (one prototype per spiral—every two years).&lt;br /&gt;
The above application of the Spiral Model indicates that the spiral model thus may suit small&lt;br /&gt;
(up to $3 million) software applications and not a complicated ($3 billion) distributed,&lt;br /&gt;
interoperable, system of systems.&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
- Also it is reasonable to use the spiral model in projects where business goals are unstable but&lt;br /&gt;
the architecture is realized well enough to provide high loading and stress ability.&lt;br /&gt;
For example, the Spiral Architecture Driven Development is a spiral-based Software&lt;br /&gt;
Development Life Cycle which shows one possible way how to reduce the risk of non-effective       &lt;br /&gt;
architectures with the help of a spiral model in conjunction with the best practices from other models.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Spangul</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2012/SM_sm&amp;diff=68632</id>
		<title>CSC/ECE 517 Fall 2012/SM sm</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2012/SM_sm&amp;diff=68632"/>
		<updated>2012-10-27T00:36:12Z</updated>

		<summary type="html">&lt;p&gt;Spangul: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;font size=&amp;quot;5&amp;quot;&amp;gt;The Spiral Model&amp;lt;/font&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
==Introduction==&lt;br /&gt;
The spiral model is a software development process that combines the elements of both design and prototyping-in-stages.This model represents a risk-driven approach to software process analysis and structuring. Also known as the spiral lifecycle model (or spiral development), it is a systems development method (SDM) used in information technology (IT).  This model combines the advantages of top-down and bottom-up concepts and promotes quality assurance through prototyping at each stage.Thus it includes the features of both prototyping and the waterfall model but provides emphasis in a key area which is mostly neglected by other methodologies: deliberate iterative risk analysis.&lt;br /&gt;
Generally,the spiral model is intended for large, expensive and complicated projects.This approach incorporates elements of specification-driven, prototype-driven process methods, together with the classic software life cycle.&lt;br /&gt;
&lt;br /&gt;
History:&lt;br /&gt;
The spiral model was defined by Barry Boehm in his 1986 article &amp;quot;A Spiral Model of Software Development and Enhancement&amp;quot;. This model was not the first model to discuss iterative development but it was the first model to explain why the iteration matters. Each phase is characterised by setting a design goal initially and ends with the client (who may be internal) reviewing the progress thus far. Analysis and engineering efforts are applied at each phase of the project, all the way till  the end goal of the project is achieved. The key characteristic of a Spiral model is risk management at regular stages in the development cycle.&lt;br /&gt;
&lt;br /&gt;
Description:&lt;br /&gt;
It does so by representing iterative development cycles as an expanding spiral, with inner cycles denoting early system analysis and prototyping, and outer cycles denoting the classic software life cycle.&lt;br /&gt;
The radial dimension denotes cumulative development costs, and the angular dimension denotes progress made in accomplishing each development spiral.&lt;br /&gt;
&lt;br /&gt;
The steps in the spiral model can be generalized as follows:&lt;br /&gt;
&lt;br /&gt;
    The requirements for building the new system are gathered using different methods and defined in as much detail as possible. The methods usually involve interviewing a number of users representing all the external or internal users, preparing questionnaires regarding the other aspects of the existing system.&lt;br /&gt;
&lt;br /&gt;
    Based on the requirements gathered, a preliminary design is created for the new system.&lt;br /&gt;
&lt;br /&gt;
    A first prototype of the new system is constructed from the preliminary design. This is usually a scaled-down system that implements the core functionality and represents an approximation of the characteristics of the final product.&lt;br /&gt;
&lt;br /&gt;
    A second prototype is evolved by a fourfold procedure: &lt;br /&gt;
&lt;br /&gt;
(1) evaluating the first prototype in terms of its strengths, weaknesses, and risks based on customer feedback.&lt;br /&gt;
&lt;br /&gt;
(2) defining more detailed requirements of the second prototype&lt;br /&gt;
&lt;br /&gt;
(3) planning and designing the second prototype&lt;br /&gt;
&lt;br /&gt;
(4) constructing and testing the second prototype.&lt;br /&gt;
&lt;br /&gt;
    At the customer's option, the entire project can be aborted if the risk is deemed too great. Risk factors might involve development cost overruns, operating-cost miscalculation, or any other factor that could, in the customer's judgment, result in a less-than-satisfactory final product.&lt;br /&gt;
&lt;br /&gt;
    The existing prototype is evaluated in the same manner as was the previous prototype, and, if unsatisfactory, another prototype is developed from it according to the fourfold procedure outlined above.&lt;br /&gt;
&lt;br /&gt;
    The preceding steps are iterated until the customer is satisfied with the final product, that is refined prototype.&lt;br /&gt;
&lt;br /&gt;
    The final system is then constructed, based on the refined prototype.&lt;br /&gt;
&lt;br /&gt;
    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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The insights that the Spiral Model offered has in turned influenced the standard software life cycle process models, such as ISO12207&lt;br /&gt;
&lt;br /&gt;
System development in this model therefore spirals out only so far as needed according to the risk that must be managed.&lt;br /&gt;
&lt;br /&gt;
.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Illustration ==&lt;br /&gt;
&lt;br /&gt;
Spiral model is also called as “meta-model”, The name comes from the way the Spiral Model incorporates other Models in the Software Development Life-Cycle. Both waterfall and prototype models are those that are used most often in it. The Software development progresses systematically over the loops (adhering to waterfall approach) and at the same time prototypes are created and displayed to the user after completion of various phases. This ensures a systematic approach with minimal chances of risks.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;img src=”http://4.bp.blogspot.com/-DrUmxAA-0ow/Tuel4-sLo1I/AAAAAAAAAIE/MziZ7Wnu1F8/s400/Spiral_model.JPG”&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Advantages of The Spiral Model==&lt;br /&gt;
&lt;br /&gt;
 Spiral Model is one of the most used Software Development Models and is known for it’s   &lt;br /&gt;
 efficiency, accuracy and straight forward design. Following are various advantages of the Spiral&lt;br /&gt;
 Model:&amp;lt;ref name=&amp;quot;refx&amp;quot;&amp;gt;Spiral Model - Advantages    &lt;br /&gt;
 http://www.ianswer4u.com/2011/12/spiral-model-advantages-and.html#axzz2ARqc6EGX&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
- The Spiral Life-Cycle Model is one of the most flexible SDLC models in software Development.&lt;br /&gt;
  Various phases in Development can be determined by the project manager, based on the&lt;br /&gt;
  complexity of the project.&lt;br /&gt;
- Monitoring is very easy, effective and efficient. Each phase, as well as each loop, requires a&lt;br /&gt;
  review from concerned people. This facilitates transparency in the model.&lt;br /&gt;
- Risk management is one of the in-built features of the model, which makes up for an added&lt;br /&gt;
  advantage compared to other models.&lt;br /&gt;
-  Changes in the model can be introduced at a later stage. The person in charge of the project is&lt;br /&gt;
  given enough flexibility to incorporate these changes.&lt;br /&gt;
-  Estimates about the project including the time taken, cost and schedule become more&lt;br /&gt;
  accurate as the development progresses.&lt;br /&gt;
-  The Spiral Model is highly adaptive for High-Risk projects, where business needs may be&lt;br /&gt;
   unstable.&lt;br /&gt;
-  A heavier emphasis is present on Customization, ensuring heavy customizability.&lt;br /&gt;
&lt;br /&gt;
== Disadvantages of the Spiral Model ==&lt;br /&gt;
&lt;br /&gt;
Despite the various advantages Spiral Model brings in, it also has a few considerable disadvantages:&amp;lt;ref name=&amp;quot;refy&amp;quot;&amp;gt;Spiral Model - Disadvantages  http://www.ianswer4u.com/2011/12/spiral-model-advantages-and.html#axzz2ARqc6EGX&amp;lt;/ref&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The Spiral Model might involve higher costs, although it can accurately estimate the numbers.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The model might become complicated even for projects with a clear Software-Requirements-Specifications.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Evaluation and reviews of the Spiral Model might require advanced skills, though not true in all cases.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;In order to effectively implement this model, the protocols and standards must be followed carefully, as any small change in the implementation might cause considerable changes to the development process.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;If the requirements of the project change in the future, using the same prototype might get difficult.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Involves extensive documentation in the intermediate stages during which management of the project might get difficult.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Not suitable for Low Risk projects.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Applications of The Spiral Model ==&lt;br /&gt;
&lt;br /&gt;
The Spiral model is used most often in large projects and needs constant review to stay on target. Given the disadvantages of the Spiral Model that are cited above, the Agile Software Development Model can act as a viable alternative. &amp;lt;ref name=”refz”&amp;gt; Applications of Spiral Model http://en.wikipedia.org/wiki/Spiral_model#Applications&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
- The military had adopted the spiral model for its Future Combat Systems program. The FCS&lt;br /&gt;
project was eventually canceled after six years (2003–2009). it had a two year iteration (spiral).&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
- The FCS originally should have resulted in three consecutive prototypes (one prototype per spiral—every two years).&lt;br /&gt;
The above application of the Spiral Model indicates that the spiral model thus may suit small&lt;br /&gt;
(up to $3 million) software applications and not a complicated ($3 billion) distributed,&lt;br /&gt;
interoperable, system of systems.&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
- Also it is reasonable to use the spiral model in projects where business goals are unstable but&lt;br /&gt;
the architecture is realized well enough to provide high loading and stress ability.&lt;br /&gt;
For example, the Spiral Architecture Driven Development is a spiral-based Software&lt;br /&gt;
Development Life Cycle which shows one possible way how to reduce the risk of non-effective       &lt;br /&gt;
architectures with the help of a spiral model in conjunction with the best practices from other models.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Spangul</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2012/SM_sm&amp;diff=68576</id>
		<title>CSC/ECE 517 Fall 2012/SM sm</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2012/SM_sm&amp;diff=68576"/>
		<updated>2012-10-27T00:14:29Z</updated>

		<summary type="html">&lt;p&gt;Spangul: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;font size=&amp;quot;5&amp;quot;&amp;gt;The Spiral Model&amp;lt;/font&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
==Introduction==&lt;br /&gt;
The spiral model is a software development process that combines the elements of both design and prototyping-in-stages.This model represents a risk-driven approach to software process analysis and structuring. Also known as the spiral lifecycle model (or spiral development), it is a systems development method (SDM) used in information technology (IT).  This model combines the advantages of top-down and bottom-up concepts and promotes quality assurance through prototyping at each stage.Thus it includes the features of both prototyping and the waterfall model but provides emphasis in a key area which is mostly neglected by other methodologies: deliberate iterative risk analysis.&lt;br /&gt;
Generally,the spiral model is intended for large, expensive and complicated projects.This approach incorporates elements of specification-driven, prototype-driven process methods, together with the classic software life cycle.&lt;br /&gt;
&lt;br /&gt;
History:&lt;br /&gt;
The spiral model was defined by Barry Boehm in his 1986 article &amp;quot;A Spiral Model of Software Development and Enhancement&amp;quot;. This model was not the first model to discuss iterative development but it was the first model to explain why the iteration matters. Each phase is characterised by setting a design goal initially and ends with the client (who may be internal) reviewing the progress thus far. Analysis and engineering efforts are applied at each phase of the project, all the way till  the end goal of the project is achieved. The key characteristic of a Spiral model is risk management at regular stages in the development cycle.&lt;br /&gt;
&lt;br /&gt;
Description:&lt;br /&gt;
It does so by representing iterative development cycles as an expanding spiral, with inner cycles denoting early system analysis and prototyping, and outer cycles denoting the classic software life cycle.&lt;br /&gt;
The radial dimension denotes cumulative development costs, and the angular dimension denotes progress made in accomplishing each development spiral.&lt;br /&gt;
&lt;br /&gt;
The steps in the spiral model can be generalized as follows:&lt;br /&gt;
&lt;br /&gt;
    The requirements for building the new system are gathered using different methods and defined in as much detail as possible. The methods usually involve interviewing a number of users representing all the external or internal users, preparing questionnaires regarding the other aspects of the existing system.&lt;br /&gt;
&lt;br /&gt;
    Based on the requirements gathered, a preliminary design is created for the new system.&lt;br /&gt;
&lt;br /&gt;
    A first prototype of the new system is constructed from the preliminary design. This is usually a scaled-down system that implements the core functionality and represents an approximation of the characteristics of the final product.&lt;br /&gt;
&lt;br /&gt;
    A second prototype is evolved by a fourfold procedure: &lt;br /&gt;
&lt;br /&gt;
(1) evaluating the first prototype in terms of its strengths, weaknesses, and risks based on customer feedback.&lt;br /&gt;
&lt;br /&gt;
(2) defining more detailed requirements of the second prototype&lt;br /&gt;
&lt;br /&gt;
(3) planning and designing the second prototype&lt;br /&gt;
&lt;br /&gt;
(4) constructing and testing the second prototype.&lt;br /&gt;
&lt;br /&gt;
    At the customer's option, the entire project can be aborted if the risk is deemed too great. Risk factors might involve development cost overruns, operating-cost miscalculation, or any other factor that could, in the customer's judgment, result in a less-than-satisfactory final product.&lt;br /&gt;
&lt;br /&gt;
    The existing prototype is evaluated in the same manner as was the previous prototype, and, if unsatisfactory, another prototype is developed from it according to the fourfold procedure outlined above.&lt;br /&gt;
&lt;br /&gt;
    The preceding steps are iterated until the customer is satisfied with the final product, that is refined prototype.&lt;br /&gt;
&lt;br /&gt;
    The final system is then constructed, based on the refined prototype.&lt;br /&gt;
&lt;br /&gt;
    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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The insights that the Spiral Model offered has in turned influenced the standard software life cycle process models, such as ISO12207&lt;br /&gt;
&lt;br /&gt;
System development in this model therefore spirals out only so far as needed according to the risk that must be managed.&lt;br /&gt;
&lt;br /&gt;
.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Illustration ==&lt;br /&gt;
&lt;br /&gt;
Spiral model is also called as “meta-model”, The name comes from the way the Spiral Model incorporates other Models in the Software Development Life-Cycle. Both waterfall and prototype models are those that are used most often in it. The Software development progresses systematically over the loops (adhering to waterfall approach) and at the same time prototypes are created and displayed to the user after completion of various phases. This ensures a systematic approach with minimal chances of risks.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;img src=”http://4.bp.blogspot.com/-DrUmxAA-0ow/Tuel4-sLo1I/AAAAAAAAAIE/MziZ7Wnu1F8/s400/Spiral_model.JPG”&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Advantages of The Spiral Model==&lt;br /&gt;
&lt;br /&gt;
 Spiral Model is one of the most used Software Development Models and is known for it’s   &lt;br /&gt;
 efficiency, accuracy and straight forward design. Following are various advantages of the Spiral&lt;br /&gt;
 Model:&amp;lt;ref name=&amp;quot;refx&amp;quot;&amp;gt;Spiral Model - Advantages    &lt;br /&gt;
 http://www.ianswer4u.com/2011/12/spiral-model-advantages-and.html#axzz2ARqc6EGX&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
- The Spiral Life-Cycle Model is one of the most flexible SDLC models in software Development.&lt;br /&gt;
  Various phases in Development can be determined by the project manager, based on the&lt;br /&gt;
  complexity of the project.&lt;br /&gt;
- Monitoring is very easy, effective and efficient. Each phase, as well as each loop, requires a&lt;br /&gt;
  review from concerned people. This facilitates transparency in the model.&lt;br /&gt;
- Risk management is one of the in-built features of the model, which makes up for an added&lt;br /&gt;
  advantage compared to other models.&lt;br /&gt;
-  Changes in the model can be introduced at a later stage. The person in charge of the project is&lt;br /&gt;
  given enough flexibility to incorporate these changes.&lt;br /&gt;
-  Estimates about the project including the time taken, cost and schedule become more&lt;br /&gt;
  accurate as the development progresses.&lt;br /&gt;
-  The Spiral Model is highly adaptive for High-Risk projects, where business needs may be&lt;br /&gt;
   unstable.&lt;br /&gt;
-  A heavier emphasis is present on Customization, ensuring heavy customizability.&lt;br /&gt;
&lt;br /&gt;
== Disadvantages of the Spiral Model ==&lt;br /&gt;
&lt;br /&gt;
  Despite the various advantages Spiral Model brings in, it also has a few considerable&lt;br /&gt;
  disadvantages:&amp;lt;ref name=&amp;quot;refy&amp;quot;&amp;gt;Spiral Model - Disadvantages  http://www.ianswer4u.com/2011/12/spiral-model-advantages-and.html#axzz2ARqc6EGX&amp;lt;/ref&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
-  The Spiral Model might involve higher costs, although it can accurately estimate the numbers.&lt;br /&gt;
-  The model might become complicated even for projects with a clear&lt;br /&gt;
  Software-Requirements-Specifications.&lt;br /&gt;
-  Evaluation and reviews of the Spiral Model might require advanced skills, though not true in all   &lt;br /&gt;
  cases.&lt;br /&gt;
-  In order to effectively implement this model, the protocols and standards must be followed&lt;br /&gt;
  carefully, as any small change in the implementation might cause considerable changes to the&lt;br /&gt;
  development process.&lt;br /&gt;
-  If the requirements of the project change in the future, using the same prototype might get&lt;br /&gt;
  difficult.&lt;br /&gt;
-  Involves extensive documentation in the intermediate stages during which management of the&lt;br /&gt;
  project might get difficult.&lt;br /&gt;
-  Not suitable for Low Risk projects.&lt;br /&gt;
&lt;br /&gt;
== Applications of The Spiral Model ==&lt;br /&gt;
&lt;br /&gt;
The Spiral model is used most often in large projects and needs constant review to stay on target. Given the disadvantages of the Spiral Model that are cited above, the Agile Software Development Model can act as a viable alternative. &amp;lt;ref name=”refz”&amp;gt; Applications of Spiral Model http://en.wikipedia.org/wiki/Spiral_model#Applications&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
- The military had adopted the spiral model for its Future Combat Systems program. The FCS&lt;br /&gt;
project was eventually canceled after six years (2003–2009). it had a two year iteration (spiral).&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
- The FCS originally should have resulted in three consecutive prototypes (one prototype per spiral—every two years).&lt;br /&gt;
The above application of the Spiral Model indicates that the spiral model thus may suit small&lt;br /&gt;
(up to $3 million) software applications and not a complicated ($3 billion) distributed,&lt;br /&gt;
interoperable, system of systems.&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
- Also it is reasonable to use the spiral model in projects where business goals are unstable but&lt;br /&gt;
the architecture is realized well enough to provide high loading and stress ability.&lt;br /&gt;
For example, the Spiral Architecture Driven Development is a spiral-based Software&lt;br /&gt;
Development Life Cycle which shows one possible way how to reduce the risk of non-effective       &lt;br /&gt;
architectures with the help of a spiral model in conjunction with the best practices from other models.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Spangul</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2012/SM_sm&amp;diff=68570</id>
		<title>CSC/ECE 517 Fall 2012/SM sm</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2012/SM_sm&amp;diff=68570"/>
		<updated>2012-10-27T00:12:37Z</updated>

		<summary type="html">&lt;p&gt;Spangul: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;font size=&amp;quot;5&amp;quot;&amp;gt;The Spiral Model&amp;lt;/font&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
==Introduction==&lt;br /&gt;
The spiral model is a software development process that combines the elements of both design and prototyping-in-stages.This model represents a risk-driven approach to software process analysis and structuring. Also known as the spiral lifecycle model (or spiral development), it is a systems development method (SDM) used in information technology (IT).  This model combines the advantages of top-down and bottom-up concepts and promotes quality assurance through prototyping at each stage.Thus it includes the features of both prototyping and the waterfall model but provides emphasis in a key area which is mostly neglected by other methodologies: deliberate iterative risk analysis.&lt;br /&gt;
Generally,the spiral model is intended for large, expensive and complicated projects.This approach incorporates elements of specification-driven, prototype-driven process methods, together with the classic software life cycle.&lt;br /&gt;
&lt;br /&gt;
History:&lt;br /&gt;
The spiral model was defined by Barry Boehm in his 1986 article &amp;quot;A Spiral Model of Software Development and Enhancement&amp;quot;. This model was not the first model to discuss iterative development but it was the first model to explain why the iteration matters. Each phase is characterised by setting a design goal initially and ends with the client (who may be internal) reviewing the progress thus far. Analysis and engineering efforts are applied at each phase of the project, all the way till  the end goal of the project is achieved. The key characteristic of a Spiral model is risk management at regular stages in the development cycle.&lt;br /&gt;
&lt;br /&gt;
Description:&lt;br /&gt;
It does so by representing iterative development cycles as an expanding spiral, with inner cycles denoting early system analysis and prototyping, and outer cycles denoting the classic software life cycle.&lt;br /&gt;
The radial dimension denotes cumulative development costs, and the angular dimension denotes progress made in accomplishing each development spiral.&lt;br /&gt;
&lt;br /&gt;
The steps in the spiral model can be generalized as follows:&lt;br /&gt;
&lt;br /&gt;
    The requirements for building the new system are gathered using different methods and defined in as much detail as possible. The methods usually involve interviewing a number of users representing all the external or internal users, preparing questionnaires regarding the other aspects of the existing system.&lt;br /&gt;
&lt;br /&gt;
    Based on the requirements gathered, a preliminary design is created for the new system.&lt;br /&gt;
&lt;br /&gt;
    A first prototype of the new system is constructed from the preliminary design. This is usually a scaled-down system that implements the core functionality and represents an approximation of the characteristics of the final product.&lt;br /&gt;
&lt;br /&gt;
    A second prototype is evolved by a fourfold procedure: &lt;br /&gt;
&lt;br /&gt;
(1) evaluating the first prototype in terms of its strengths, weaknesses, and risks based on customer feedback.&lt;br /&gt;
&lt;br /&gt;
(2) defining more detailed requirements of the second prototype&lt;br /&gt;
&lt;br /&gt;
(3) planning and designing the second prototype&lt;br /&gt;
&lt;br /&gt;
(4) constructing and testing the second prototype.&lt;br /&gt;
&lt;br /&gt;
    At the customer's option, the entire project can be aborted if the risk is deemed too great. Risk factors might involve development cost overruns, operating-cost miscalculation, or any other factor that could, in the customer's judgment, result in a less-than-satisfactory final product.&lt;br /&gt;
&lt;br /&gt;
    The existing prototype is evaluated in the same manner as was the previous prototype, and, if unsatisfactory, another prototype is developed from it according to the fourfold procedure outlined above.&lt;br /&gt;
&lt;br /&gt;
    The preceding steps are iterated until the customer is satisfied with the final product, that is refined prototype.&lt;br /&gt;
&lt;br /&gt;
    The final system is then constructed, based on the refined prototype.&lt;br /&gt;
&lt;br /&gt;
    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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The insights that the Spiral Model offered has in turned influenced the standard software life cycle process models, such as ISO12207&lt;br /&gt;
&lt;br /&gt;
System development in this model therefore spirals out only so far as needed according to the risk that must be managed.&lt;br /&gt;
&lt;br /&gt;
.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Illustration ==&lt;br /&gt;
&lt;br /&gt;
Spiral model is also called as “meta-model”, The name comes from the way the Spiral Model incorporates other Models in the Software Development Life-Cycle. Both waterfall and prototype models are those that are used most often in it. The Software development progresses systematically over the loops (adhering to waterfall approach) and at the same time prototypes are created and displayed to the user after completion of various phases. This ensures a systematic approach with minimal chances of risks.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;img src=”http://4.bp.blogspot.com/-DrUmxAA-0ow/Tuel4-sLo1I/AAAAAAAAAIE/MziZ7Wnu1F8/s400/Spiral_model.JPG”&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Advantages of The Spiral Model==&lt;br /&gt;
&lt;br /&gt;
 Spiral Model is one of the most used Software Development Models and is known for it’s   &lt;br /&gt;
 efficiency, accuracy and straight forward design. Following are various advantages of the Spiral&lt;br /&gt;
 Model:&amp;lt;ref name=&amp;quot;refx&amp;quot;&amp;gt;Spiral Model - Advantages    &lt;br /&gt;
 http://www.ianswer4u.com/2011/12/spiral-model-advantages-and.html#axzz2ARqc6EGX&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
- The Spiral Life-Cycle Model is one of the most flexible SDLC models in software Development.&lt;br /&gt;
  Various phases in Development can be determined by the project manager, based on the&lt;br /&gt;
  complexity of the project.&lt;br /&gt;
- Monitoring is very easy, effective and efficient. Each phase, as well as each loop, requires a&lt;br /&gt;
  review from concerned people. This facilitates transparency in the model.&lt;br /&gt;
- Risk management is one of the in-built features of the model, which makes up for an added&lt;br /&gt;
  advantage compared to other models.&lt;br /&gt;
-  Changes in the model can be introduced at a later stage. The person in charge of the project is&lt;br /&gt;
  given enough flexibility to incorporate these changes.&lt;br /&gt;
-  Estimates about the project including the time taken, cost and schedule become more&lt;br /&gt;
  accurate as the development progresses.&lt;br /&gt;
-  The Spiral Model is highly adaptive for High-Risk projects, where business needs may be&lt;br /&gt;
   unstable.&lt;br /&gt;
-  A heavier emphasis is present on Customization, ensuring heavy customizability.&lt;br /&gt;
&lt;br /&gt;
== Disadvantages of the Spiral Model ==&lt;br /&gt;
&lt;br /&gt;
  Despite the various advantages Spiral Model brings in, it also has a few considerable&lt;br /&gt;
  disadvantages:&amp;lt;ref name=&amp;quot;refy&amp;quot;&amp;gt;Spiral Model - Disadvantages  http://www.ianswer4u.com/2011/12/spiral-model-advantages-and.html#axzz2ARqc6EGX&amp;lt;/ref&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
-  The Spiral Model might involve higher costs, although it can accurately estimate the numbers.&lt;br /&gt;
-  The model might become complicated even for projects with a clear&lt;br /&gt;
  Software-Requirements-Specifications.&lt;br /&gt;
-  Evaluation and reviews of the Spiral Model might require advanced skills, though not true in all   &lt;br /&gt;
  cases.&lt;br /&gt;
-  In order to effectively implement this model, the protocols and standards must be followed&lt;br /&gt;
  carefully, as any small change in the implementation might cause considerable changes to the&lt;br /&gt;
  development process.&lt;br /&gt;
-  If the requirements of the project change in the future, using the same prototype might get&lt;br /&gt;
  difficult.&lt;br /&gt;
-  Involves extensive documentation in the intermediate stages during which management of the&lt;br /&gt;
  project might get difficult.&lt;br /&gt;
-  Not suitable for Low Risk projects.&lt;br /&gt;
&lt;br /&gt;
== Applications of The Spiral Model ==&lt;br /&gt;
&lt;br /&gt;
The Spiral model is used most often in large projects and needs constant review to stay on target. Given the disadvantages of the Spiral Model that are cited above, the Agile Software Development Model can act as a viable alternative. &amp;lt;ref name=”refz”&amp;gt; Applications of Spiral Model http://en.wikipedia.org/wiki/Spiral_model#Applications&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The military had adopted the spiral model for its Future Combat Systems program. The FCS&lt;br /&gt;
project was eventually canceled after six years (2003–2009). it had a two year iteration (spiral).&lt;br /&gt;
The FCS originally should have resulted in three consecutive prototypes (one prototype per spiral—every two years).&lt;br /&gt;
The above application of the Spiral Model indicates that the spiral model thus may suit small&lt;br /&gt;
(up to $3 million) software applications and not a complicated ($3 billion) distributed,&lt;br /&gt;
interoperable, system of systems.&amp;lt;br/&amp;gt;&lt;br /&gt;
Also it is reasonable to use the spiral model in projects where business goals are unstable but&lt;br /&gt;
the architecture is realized well enough to provide high loading and stress ability.&lt;br /&gt;
For example, the Spiral Architecture Driven Development is a spiral-based Software&lt;br /&gt;
Development Life Cycle which shows one possible way how to reduce the risk of non-effective       &lt;br /&gt;
architectures with the help of a spiral model in conjunction with the best practices from other models.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Spangul</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2012/SM_sm&amp;diff=68554</id>
		<title>CSC/ECE 517 Fall 2012/SM sm</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2012/SM_sm&amp;diff=68554"/>
		<updated>2012-10-27T00:09:43Z</updated>

		<summary type="html">&lt;p&gt;Spangul: Created page with &amp;quot;&amp;lt;p&amp;gt; &amp;lt;font size=&amp;quot;5&amp;quot;&amp;gt;The Spiral Model&amp;lt;/font&amp;gt; &amp;lt;/p&amp;gt; ==Introduction== The spiral model is a software development process that combines the elements of both design and prototyping-in-s...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;font size=&amp;quot;5&amp;quot;&amp;gt;The Spiral Model&amp;lt;/font&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
==Introduction==&lt;br /&gt;
The spiral model is a software development process that combines the elements of both design and prototyping-in-stages.This model represents a risk-driven approach to software process analysis and structuring. Also known as the spiral lifecycle model (or spiral development), it is a systems development method (SDM) used in information technology (IT).  This model combines the advantages of top-down and bottom-up concepts and promotes quality assurance through prototyping at each stage.Thus it includes the features of both prototyping and the waterfall model but provides emphasis in a key area which is mostly neglected by other methodologies: deliberate iterative risk analysis.&lt;br /&gt;
Generally,the spiral model is intended for large, expensive and complicated projects.This approach incorporates elements of specification-driven, prototype-driven process methods, together with the classic software life cycle.&lt;br /&gt;
&lt;br /&gt;
History:&lt;br /&gt;
The spiral model was defined by Barry Boehm in his 1986 article &amp;quot;A Spiral Model of Software Development and Enhancement&amp;quot;. This model was not the first model to discuss iterative development but it was the first model to explain why the iteration matters. Each phase is characterised by setting a design goal initially and ends with the client (who may be internal) reviewing the progress thus far. Analysis and engineering efforts are applied at each phase of the project, all the way till  the end goal of the project is achieved. The key characteristic of a Spiral model is risk management at regular stages in the development cycle.&lt;br /&gt;
&lt;br /&gt;
Description:&lt;br /&gt;
It does so by representing iterative development cycles as an expanding spiral, with inner cycles denoting early system analysis and prototyping, and outer cycles denoting the classic software life cycle.&lt;br /&gt;
The radial dimension denotes cumulative development costs, and the angular dimension denotes progress made in accomplishing each development spiral.&lt;br /&gt;
&lt;br /&gt;
The steps in the spiral model can be generalized as follows:&lt;br /&gt;
&lt;br /&gt;
    The requirements for building the new system are gathered using different methods and defined in as much detail as possible. The methods usually involve interviewing a number of users representing all the external or internal users, preparing questionnaires regarding the other aspects of the existing system.&lt;br /&gt;
&lt;br /&gt;
    Based on the requirements gathered, a preliminary design is created for the new system.&lt;br /&gt;
&lt;br /&gt;
    A first prototype of the new system is constructed from the preliminary design. This is usually a scaled-down system that implements the core functionality and represents an approximation of the characteristics of the final product.&lt;br /&gt;
&lt;br /&gt;
    A second prototype is evolved by a fourfold procedure: &lt;br /&gt;
&lt;br /&gt;
(1) evaluating the first prototype in terms of its strengths, weaknesses, and risks based on customer feedback.&lt;br /&gt;
&lt;br /&gt;
(2) defining more detailed requirements of the second prototype&lt;br /&gt;
&lt;br /&gt;
(3) planning and designing the second prototype&lt;br /&gt;
&lt;br /&gt;
(4) constructing and testing the second prototype.&lt;br /&gt;
&lt;br /&gt;
    At the customer's option, the entire project can be aborted if the risk is deemed too great. Risk factors might involve development cost overruns, operating-cost miscalculation, or any other factor that could, in the customer's judgment, result in a less-than-satisfactory final product.&lt;br /&gt;
&lt;br /&gt;
    The existing prototype is evaluated in the same manner as was the previous prototype, and, if unsatisfactory, another prototype is developed from it according to the fourfold procedure outlined above.&lt;br /&gt;
&lt;br /&gt;
    The preceding steps are iterated until the customer is satisfied with the final product, that is refined prototype.&lt;br /&gt;
&lt;br /&gt;
    The final system is then constructed, based on the refined prototype.&lt;br /&gt;
&lt;br /&gt;
    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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The insights that the Spiral Model offered has in turned influenced the standard software life cycle process models, such as ISO12207&lt;br /&gt;
&lt;br /&gt;
System development in this model therefore spirals out only so far as needed according to the risk that must be managed.&lt;br /&gt;
&lt;br /&gt;
.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Illustration ==&lt;br /&gt;
&lt;br /&gt;
Spiral model is also called as “meta-model”, The name comes from the way the Spiral Model incorporates other Models in the Software Development Life-Cycle. Both waterfall and prototype models are those that are used most often in it. The Software development progresses systematically over the loops (adhering to waterfall approach) and at the same time prototypes are created and displayed to the user after completion of various phases. This ensures a systematic approach with minimal chances of risks.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;img src=”http://4.bp.blogspot.com/-DrUmxAA-0ow/Tuel4-sLo1I/AAAAAAAAAIE/MziZ7Wnu1F8/s400/Spiral_model.JPG”&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Advantages of The Spiral Model==&lt;br /&gt;
&lt;br /&gt;
 Spiral Model is one of the most used Software Development Models and is known for it’s   &lt;br /&gt;
 efficiency, accuracy and straight forward design. Following are various advantages of the Spiral&lt;br /&gt;
 Model:&amp;lt;ref name=&amp;quot;refx&amp;quot;&amp;gt;Spiral Model - Advantages    &lt;br /&gt;
 http://www.ianswer4u.com/2011/12/spiral-model-advantages-and.html#axzz2ARqc6EGX&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
- The Spiral Life-Cycle Model is one of the most flexible SDLC models in software Development.&lt;br /&gt;
  Various phases in Development can be determined by the project manager, based on the&lt;br /&gt;
  complexity of the project.&lt;br /&gt;
- Monitoring is very easy, effective and efficient. Each phase, as well as each loop, requires a&lt;br /&gt;
  review from concerned people. This facilitates transparency in the model.&lt;br /&gt;
- Risk management is one of the in-built features of the model, which makes up for an added&lt;br /&gt;
  advantage compared to other models.&lt;br /&gt;
-  Changes in the model can be introduced at a later stage. The person in charge of the project is&lt;br /&gt;
  given enough flexibility to incorporate these changes.&lt;br /&gt;
-  Estimates about the project including the time taken, cost and schedule become more&lt;br /&gt;
  accurate as the development progresses.&lt;br /&gt;
-  The Spiral Model is highly adaptive for High-Risk projects, where business needs may be&lt;br /&gt;
   unstable.&lt;br /&gt;
-  A heavier emphasis is present on Customization, ensuring heavy customizability.&lt;br /&gt;
&lt;br /&gt;
== Disadvantages of the Spiral Model ==&lt;br /&gt;
&lt;br /&gt;
  Despite the various advantages Spiral Model brings in, it also has a few considerable&lt;br /&gt;
  disadvantages:&amp;lt;ref name=&amp;quot;refy&amp;quot;&amp;gt;Spiral Model - Disadvantages  http://www.ianswer4u.com/2011/12/spiral-model-advantages-and.html#axzz2ARqc6EGX&amp;lt;/ref&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
-  The Spiral Model might involve higher costs, although it can accurately estimate the numbers.&lt;br /&gt;
-  The model might become complicated even for projects with a clear&lt;br /&gt;
  Software-Requirements-Specifications.&lt;br /&gt;
-  Evaluation and reviews of the Spiral Model might require advanced skills, though not true in all   &lt;br /&gt;
  cases.&lt;br /&gt;
-  In order to effectively implement this model, the protocols and standards must be followed&lt;br /&gt;
  carefully, as any small change in the implementation might cause considerable changes to the&lt;br /&gt;
  development process.&lt;br /&gt;
-  If the requirements of the project change in the future, using the same prototype might get&lt;br /&gt;
  difficult.&lt;br /&gt;
-  Involves extensive documentation in the intermediate stages during which management of the&lt;br /&gt;
  project might get difficult.&lt;br /&gt;
-  Not suitable for Low Risk projects.&lt;br /&gt;
&lt;br /&gt;
== Applications of The Spiral Model ==&lt;br /&gt;
&lt;br /&gt;
The Spiral model is used most often in large projects and needs constant review to stay on target. Given the disadvantages of the Spiral Model that are cited above, the Agile Software Development Model can act as a viable alternative. &amp;lt;ref name=”refz”&amp;gt; Applications of Spiral Model http://en.wikipedia.org/wiki/Spiral_model#Applications&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
- The military had adopted the spiral model for its Future Combat Systems program. The FCS&lt;br /&gt;
 project was eventually canceled after six years (2003–2009). it had a two year iteration (spiral).&lt;br /&gt;
 The FCS originally should have resulted in three consecutive prototypes (one prototype per&lt;br /&gt;
 spiral—every two years).&lt;br /&gt;
- The above application of the Spiral Model indicates that the spiral model thus may suit small&lt;br /&gt;
 (up to $3 million) software applications and not a complicated ($3 billion) distributed,&lt;br /&gt;
 interoperable, system of systems.&lt;br /&gt;
- Also it is reasonable to use the spiral model in projects where business goals are unstable but&lt;br /&gt;
 the architecture is realized well enough to provide high loading and stress ability.&lt;br /&gt;
 For example, the Spiral Architecture Driven Development is a spiral-based Software&lt;br /&gt;
 Development Life Cycle which shows one possible way how to reduce the risk of non-effective       &lt;br /&gt;
 architectures with the help of a spiral model in conjunction with the best practices from other&lt;br /&gt;
 models.&lt;/div&gt;</summary>
		<author><name>Spangul</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2012&amp;diff=68347</id>
		<title>CSC/ECE 517 Fall 2012</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2012&amp;diff=68347"/>
		<updated>2012-10-26T22:39:54Z</updated>

		<summary type="html">&lt;p&gt;Spangul: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;*[[CSC/ECE 517 Fall 2012/ch1 n xx]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch1 1w1 rk]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch1 1w20 pp]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch1 1w5 su]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch1 1w6 pp]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch1 1w4 aj]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch1 1w7 am]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch1 1w8 aa]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch1 1w9 av]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch1 1w10 pk]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch1 1w11 ap]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch1a 1w12 mv]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch1 1w14 gv]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch1 1w17 ir]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch1 1w18 as]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch1 1w22 an]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch1 1w21 aa]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch1 1w21 wi]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch1 1w31 sa]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch1a 1w16 br]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch1a 1w23 as]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch1 1w24 nr]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch1 1w15 rt]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch1 1w3 pl]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch1 1w32 cm]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch2a 2w5 dp]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch1b 1w37 ss]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch1b 1w67 ks]]&lt;br /&gt;
&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch1 1w27 ms]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch1 1w29 sa]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch1 1w33 op]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch1 1w19 sa]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch1 1w34 vd]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch1 1w35 sa]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch1 1w30 rp]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch1b 1w58 am]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch1b 1w47 sk]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch1b 1w69 mv]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch1b 1w44 as]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch1b 1w45 is]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch1b 1w53 kc]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch1b 1w40 ar]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch1b 1w39 sn]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch1b 1w54 go]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch1b 1w56 ms]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch1b 1w64 nn]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch1b 1w66 as]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch1b 1w40 as]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch1b 1w42 js]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch1b 1w46 sm]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch1b 1w71 gs]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch1b 1w63 dv]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch1b 1w55 ms]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch1b 1w57 mp]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch1b 1w52 an]]&lt;br /&gt;
*[[CSC/ECE_517_Fall_2012/ch1b 1w38 nm]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch1b 1w60 ac]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch1b 1w62 rb]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch2a 2w29 st]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch2a 2w30 an]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch2a 2w17 pt]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch2a 2w31 up]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch2a 2w9 ms]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch2a 2w19 is]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch2a 2w26 aj]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch2a 2w5 dp]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch2a 2w16 dp]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch2a 2w8 vp]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch2a 2w18 as]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch2a 2w3 jm]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch2a 2w23 sr]]&lt;br /&gt;
*[[CSC/ECE_517_Fall_2012/ch2a_2w11_aa]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch2a 2w15 rr]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2012/ch2a 2w33 pv]]&lt;br /&gt;
*[[CSC/ECE_517_Fall_2012/ch2a_2w20_aa]]&lt;br /&gt;
*[[CSC/ECE_517_Fall_2012/ch2a_2w14_bb]]&lt;br /&gt;
*[[CSC/ECE_517_Fall_2012/ch2a_2w21_ap]]&lt;br /&gt;
*[[CSC/ECE_517_Fall_2012/ch2a_2w13_sm]]&lt;br /&gt;
*[[CSC/ECE_517_Fall_2012/ch2a_2w4_sa]]&lt;br /&gt;
*[[CSC/ECE_517_Fall_2012/ch2a_2w25_nr]]&lt;br /&gt;
*[[CSC/ECE_517_Fall_2012/ch2a_2w12_sv]]&lt;br /&gt;
*[[CSC/ECE_517_Fall_2012/SM_sm]]&lt;/div&gt;</summary>
		<author><name>Spangul</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2012/ch1b_1w66_as&amp;diff=67286</id>
		<title>CSC/ECE 517 Fall 2012/ch1b 1w66 as</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2012/ch1b_1w66_as&amp;diff=67286"/>
		<updated>2012-10-05T03:03:53Z</updated>

		<summary type="html">&lt;p&gt;Spangul: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Forms-Ruby=&lt;br /&gt;
==Introduction==&lt;br /&gt;
Forms in web applications are an essential interface for user input. However, form markup can quickly become tedious to write and maintain because of form control naming and their numerous attributes. Rails deals away with these complexities by providing view helpers for generating form markup.&amp;lt;ref&amp;gt;http://www.guides.rubyonrails.org/form_helpers.html&amp;lt;/ref&amp;gt; Rails provides excellent features to create forms and gather user input.&lt;br /&gt;
Forms in Rails are an effective way to obtain user input in a convenient manner. Forms &lt;br /&gt;
can include different types of data fields that will help obtain different types of data. For&lt;br /&gt;
example, Text box can fetch a few words from the user and Text Area, a paragraph. Forms are embedded in a Web Application and are very user-friendly.&lt;br /&gt;
Forms in Rails also have in-built functionalities to verify the data the user enters, validate it using a set of predefined rules, display corresponding error messages(in case of non-compliance) and storing the information in the database if it passes validation.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
==Creating a Form==&lt;br /&gt;
Forms written in Rails are automatically generated as HTML Forms and are rendered into views.&lt;br /&gt;
Forms are created in Rails using the basic helper called Form_tag&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;%= form_tag do %&amp;gt;&lt;br /&gt;
  Form contents&lt;br /&gt;
&amp;lt;% end %&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
When form_tag is called as above, it creates a &amp;lt;form&amp;gt; tag which, when submitted, will POST to the current page. For instance, assuming the current page is /home/index, the generated HTML will look like this (some line breaks added for readability): &amp;lt;ref&amp;gt;http://edgeguides.rubyonrails.org/form_helpers.html#making-select-boxes-with-ease&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;form accept-charset=&amp;quot;UTF-8&amp;quot; action=&amp;quot;/home/index&amp;quot; method=&amp;quot;post&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;div style=&amp;quot;margin:0;padding:0&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;input name=&amp;quot;utf8&amp;quot; type=&amp;quot;hidden&amp;quot; value=&amp;quot;&amp;amp;#x2713;&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;input name=&amp;quot;authenticity_token&amp;quot; type=&amp;quot;hidden&amp;quot; value=&amp;quot;f755bb0ed134b76c432144748a6d4b7a7ddf2b71&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
  Form contents&lt;br /&gt;
&amp;lt;/form&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Forms in Rails consist of Elements, which are labels, input elements, submit buttons etc.&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
===Text Fields===&lt;br /&gt;
Text Fields in Rails Forms allow the user to input a few words or a single word. These are generally used to capture Names, Addresses, Phone numbers etc. To create a text field in Rails Forms use the following syntax:&amp;lt;ref&amp;gt;http://www.tutorialspoint.com/ruby-on-rails/rails-html-forms.htm&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;%= text_field :modelname, :attribute_name, options %&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
In the example below we create a text field of size 20 characters :&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;%= text_field &amp;quot;person&amp;quot;, &amp;quot;name&amp;quot;, &amp;quot;size&amp;quot; =&amp;gt; 20 %&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
This will generate following code:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;input type=&amp;quot;text&amp;quot; id=&amp;quot;person_name&amp;quot; name=&amp;quot;person[name]&amp;quot;&lt;br /&gt;
      size=&amp;quot;20&amp;quot; value=&amp;quot;&amp;lt;%= @person.name %&amp;gt;&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Rails also allows us to create Hidden Fields. Hidden Fields don't show up on the Page and hence can contain any value which the user cannot see or change. To create hidden fields use the following syntax;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;%= hidden_field ... %&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
To create password fields use the following syntax;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;%= password_field ... %&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
To create file upload fields use the following syntax;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;%= file_field ... %&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
===TextArea Fields===&lt;br /&gt;
Text Area Fields allow us to enter information in paragraphs, i.e, enter data that has more than a few words and sentences. Text Area Fields are also adjustable in size. To change the size of a Text Area Field, we are required to change the rows and cols values to numbers of our interest. &amp;lt;ref&amp;gt;http://www.tutorialspoint.com/ruby-on-rails/rails-html-forms.htm&amp;lt;/ref&amp;gt;&lt;br /&gt;
To create a text area use the following syntax:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;%= text_area ... %&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;%= text_area &amp;quot;post&amp;quot;, &amp;quot;body&amp;quot;, &amp;quot;cols&amp;quot; =&amp;gt; 20, &amp;quot;rows&amp;quot; =&amp;gt; 40%&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
This will generate the following code:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;textarea cols=&amp;quot;20&amp;quot; rows=&amp;quot;40&amp;quot; id=&amp;quot;post_body&amp;quot; name=&amp;quot;post[body]&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;%={@post.body}%&amp;gt;&lt;br /&gt;
&amp;lt;/textarea&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
===Radio Button===&lt;br /&gt;
Rails Forms can also include Radio Button, for choice based User Inputs. To create a radio button, use the following Syntax &amp;lt;ref&amp;gt;http://apidock.com/rails/ActionView/Helpers/FormHelper/radio_button&amp;lt;/ref&amp;gt;:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;%= radio_button :modelname, :attribute, :tag_value, options %&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Consider example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 radio_button(&amp;quot;post&amp;quot;, &amp;quot;category&amp;quot;, &amp;quot;rails&amp;quot;)&lt;br /&gt;
 radio_button(&amp;quot;post&amp;quot;, &amp;quot;category&amp;quot;, &amp;quot;java&amp;quot;)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This will generate following code:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;input type=&amp;quot;radio&amp;quot; id=&amp;quot;post_category&amp;quot; name=&amp;quot;post[category]&amp;quot; &lt;br /&gt;
value=&amp;quot;rails&amp;quot; checked=&amp;quot;checked&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;input type=&amp;quot;radio&amp;quot; id=&amp;quot;post_category&amp;quot; name=&amp;quot;post[category]&amp;quot; &lt;br /&gt;
                    value=&amp;quot;java&amp;quot;= /&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Checkbox Button===&lt;br /&gt;
Checkboxes can be added to Forms in Rails, using the following syntax&amp;lt;ref&amp;gt;http://www.tutorialspoint.com/ruby-on-rails/rails-html-forms.htm&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;%= check_box :modelname, :attribute,options,on_value,off_value%&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Consider the following example:&lt;br /&gt;
&amp;lt;pre&amp;gt;check_box(&amp;quot;post&amp;quot;, &amp;quot;validated&amp;quot;)&amp;lt;/pre&amp;gt;&lt;br /&gt;
This generate following code:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;input type=&amp;quot;checkbox&amp;quot; id=&amp;quot;post_validate&amp;quot; name=&amp;quot;post[validated]&amp;quot; &lt;br /&gt;
                                   value=&amp;quot;1&amp;quot; checked=&amp;quot;checked&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;input name=&amp;quot;post[validated]&amp;quot; type=&amp;quot;hidden&amp;quot; value=&amp;quot;0&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
===Dropdown List===&lt;br /&gt;
Dropdown Lists in Forms allow users to select a value from a set of predefined values. &amp;lt;ref&amp;gt;http://www.tutorialspoint.com/ruby-on-rails/rails-html-forms.htm&amp;lt;/ref&amp;gt;To create a drop-down list use the following syntax:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;%= select :variable,:attribute,choices,options,html_options%&amp;lt;/pre&amp;gt;&lt;br /&gt;
Have a look at the following example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
select(&amp;quot;post&amp;quot;, &amp;quot;person_id&amp;quot;, &lt;br /&gt;
       Person.find(:all).collect {|p| [ p.name, p.id ] })&lt;br /&gt;
This could generate following code. It depends on what value is available in your database.:&lt;br /&gt;
  &amp;lt;select name=&amp;quot;post[person_id]&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;option value=&amp;quot;1&amp;quot;&amp;gt;David&amp;lt;/option&amp;gt;&lt;br /&gt;
    &amp;lt;option value=&amp;quot;2&amp;quot;&amp;gt;Sam&amp;lt;/option&amp;gt;&lt;br /&gt;
    &amp;lt;option value=&amp;quot;3&amp;quot;&amp;gt;Tobias&amp;lt;/option&amp;gt;&lt;br /&gt;
  &amp;lt;/select&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=== The Submit Button===&lt;br /&gt;
&lt;br /&gt;
Submit button in Rails will perform the desired action the form is linked to, and is usually located in the bottom, where the form ends. Submit button sends the data in the form through POST/GET actions in HTML.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
==Actions==&lt;br /&gt;
The action attribute in Rails Forms specifies what to do when a Form is submitted&amp;lt;ref&amp;gt;http://paulsturgess.co.uk/articles/49-using-helper-methods-in-ruby-on-rails&amp;lt;/ref&amp;gt;. The action attribute is specified in form_tag itself. For example,  &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  &amp;lt;%= form_tag :action =&amp;gt; &amp;quot;create&amp;quot; %&amp;gt;&lt;br /&gt;
   Name: &amp;lt;%= text_field &amp;quot;item&amp;quot;, &amp;quot;name&amp;quot;&lt;br /&gt;
%&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
   Value: &amp;lt;%= text_field &amp;quot;item&amp;quot;, &amp;quot;value&amp;quot;&lt;br /&gt;
%&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
   &amp;lt;%= submit_tag %&amp;gt;&lt;br /&gt;
  &amp;lt;%= end_form_tag %&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
For the object &amp;quot;item&amp;quot;  in the example above, the Controller ItemsController should include a method called &amp;quot;create&amp;quot; which will respond to the form's action. We add the method &amp;quot;Create&amp;quot; in the code below:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
class ItemsController &amp;lt; ApplicationController&lt;br /&gt;
    def new&lt;br /&gt;
      @item = Item.new&lt;br /&gt;
    end&lt;br /&gt;
#add method create&lt;br /&gt;
    def create&lt;br /&gt;
      @item = Item.create(params[:item]) &lt;br /&gt;
      redirect_to :action =&amp;gt; 'edit', :id =&amp;gt; @item.id &lt;br /&gt;
    end&lt;br /&gt;
#add method create&lt;br /&gt;
  end&amp;lt;/pre&amp;gt;&lt;br /&gt;
If more actions are desired, corresponding methods must be added in the Controller class of the object.&lt;br /&gt;
==Routes==&lt;br /&gt;
In rails,routes are used to automatically direct a HTTP request to the appropriate controller action.&lt;br /&gt;
With the help of routes one can easily name and configure a URL path i.e the routing engine can figure out where to go and which action to invoke for a given URL. This also works in reverse, which in turn reduces the rigidness in your application structure. &amp;lt;ref&amp;gt;http://guides.rubyonrails.org/v2.3.11/routing.html#crud-verbs-and-actions&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Views==&lt;br /&gt;
Views are used to render forms or data to the user. It displays only necessary information and hides internal workings from the user.&lt;br /&gt;
In views it is more about presentation of data than the data itself. More focus is given to layout and template so as to make it easily readable for the end user.&lt;br /&gt;
&lt;br /&gt;
===Views in forms===&lt;br /&gt;
In Rails, each form element has a name which controls how values will appear in the controller which has the params hash.&lt;br /&gt;
When we use params rails automatically does the required HTTP parsing  for populating the instance.&lt;br /&gt;
Also one of the main advantages of ruby is that it has many features which can be used to reduce repetition of code for generating views.&lt;br /&gt;
One was the ways this can be done is to use helper modules which by default have excellent ruby support.&lt;br /&gt;
&lt;br /&gt;
==Helpers==&lt;br /&gt;
Can be used to define any piece of code which will be called many times by the view. Helper methods mainly are used to provide functionality in the views. Also default helper programs can used for otherwise cumbersome to implement functions like date etc&amp;lt;ref&amp;gt;http://www.railsforum.com/viewtopic.php?id=1026&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Helpers in forms===&lt;br /&gt;
Helpers are used to hide view logic form the end user. Ideally all business logic need to be present in model methods but if one needs to add logic in the view itself then writing the helper method is a good design choice.&amp;lt;br/&amp;gt;&lt;br /&gt;
Inbuilt options in rails:&lt;br /&gt;
We have many default helper methods in rails which provide us with ready to use option for most commonly used things in a form.&lt;br /&gt;
Some example for default helpers are:&amp;lt;br/&amp;gt;&lt;br /&gt;
•	Linking and form building&amp;lt;br/&amp;gt;&lt;br /&gt;
•	Date and Time methods&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Things to do with forms==&lt;br /&gt;
&lt;br /&gt;
1) Generate/display – This relates to presenting a layout by using templates to the user.&amp;lt;br/&amp;gt;&lt;br /&gt;
2) Values filling by user -&lt;br /&gt;
Take input from the user for the generated form by providing buttons,text boxes or drop downs.&amp;lt;br/&amp;gt;&lt;br /&gt;
3) Render after form creation-&lt;br /&gt;
After the form is filled and ready, the form should get submitted and the required data must be saved.&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==General steps to create forms==&lt;br /&gt;
•	Identify action that fetches the form &amp;lt;br/&amp;gt;&lt;br /&gt;
•	Identify actions that handle form submission&amp;lt;br/&amp;gt;&lt;br /&gt;
•	Create routes, action, views for each&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==What does a form look like?==&lt;br /&gt;
Below is a sample form which can be used to add a new entry. A entry has a topic with some content and a checkbox option as a functionality. Notice the use of the format modelname.field as this is the convention genrerally followed. This helps in easy understandably of code later on.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;h1&amp;gt;Add a new entry&amp;lt;/h1&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;%= form_for  @entry do |fc|  %&amp;gt;&lt;br /&gt;
    &amp;lt;p&amp;gt;&lt;br /&gt;
      &amp;lt;%= f.label :topic  %&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
      &amp;lt;%= f.text_field :topic  %&amp;gt;&lt;br /&gt;
    &amp;lt;/p&amp;gt;&lt;br /&gt;
    &amp;lt;p&amp;gt;&lt;br /&gt;
      &amp;lt;%= f.label :content  %&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
      &amp;lt;%= f.text_area :content %&amp;gt;&lt;br /&gt;
    &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
      &amp;lt;%= f.label :tick %&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
      &amp;lt;%= f.check_box :tick %&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
    &amp;lt;p&amp;gt;&lt;br /&gt;
      &amp;lt;%= f.submit &amp;quot;Add a new Entry&amp;quot; %&amp;gt;&lt;br /&gt;
    &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;% end %&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Conclusion==&lt;br /&gt;
Forms in Rails are a great way to interact and obtain data from the user. Additionally, forms also support validation checks. &lt;br /&gt;
Other major advantages of forms are that they are easy to maintain and readable not only from the users viewpoint but also for the developers.  &lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&amp;lt;references&amp;gt;&amp;lt;/references&amp;gt;&lt;br /&gt;
==See Also==&lt;br /&gt;
[http://www.tutorialspoint.com/ruby-on-rails/rails-html-forms.htm Rails Forms]&amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.devarticles.com/c/a/Ruby-on-Rails/Web-Forms-and-Ruby-on-Rails Web forms in Rails]&amp;lt;br/&amp;gt;&lt;br /&gt;
[http://rubypond.com/blog/sexy-forms-in-rails Rails Form Designs]&amp;lt;br/&amp;gt;&lt;br /&gt;
[http://ruby.about.com/od/mechanize20handbook/a/Forms-In-Mechanize_4.htm Forms in Rails in Mechanize]&amp;lt;br/&amp;gt;&lt;br /&gt;
[http://pragprog.com/screencasts/v-rbforms/mastering-rails-forms Rails Forms in Rails - Mastering Rails Forms]&amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.buildingwebapps.com/transcript/79330-rails-form-processing Rails Forms Processing]&amp;lt;br/&amp;gt;&lt;br /&gt;
[http://paulsturgess.co.uk/articles/49-using-helper-methods-in-ruby-on-rails Rails Helper Methods]&amp;lt;br/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Spangul</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2012/ch1b_1w66_as&amp;diff=67177</id>
		<title>CSC/ECE 517 Fall 2012/ch1b 1w66 as</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2012/ch1b_1w66_as&amp;diff=67177"/>
		<updated>2012-10-04T02:15:01Z</updated>

		<summary type="html">&lt;p&gt;Spangul: /* See Also */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Forms-Ruby=&lt;br /&gt;
==Introduction==&lt;br /&gt;
Forms in web applications are an essential interface for user input. However, form markup can quickly become tedious to write and maintain because of form control naming and their numerous attributes. Rails deals away with these complexities by providing view helpers for generating form markup.&amp;lt;ref&amp;gt;http://www.guides.rubyonrails.org/form_helpers.html&amp;lt;/ref&amp;gt; Rails provides excellent features to create forms and gather user input.&lt;br /&gt;
Forms in Rails are an effective way to obtain user input in a convenient manner. Forms &lt;br /&gt;
can include different types of data fields that will help obtain different types of data. For&lt;br /&gt;
example, Text box can fetch a few words from the user and Text Area, a paragraph. Forms are embedded in a Web Application and are very user-friendly.&lt;br /&gt;
Forms in Rails also have in-built functionalities to verify the data the user enters, validate it using a set of predefined rules, display corresponding error messages(in case of non-compliance) and storing the information in the database if it passes validation.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
==Creating a Form==&lt;br /&gt;
Forms written in Rails are automatically generated as HTML Forms and are rendered into views.&lt;br /&gt;
Forms are created in Rails using the basic helper called Form_tag&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;%= form_tag do %&amp;gt;&lt;br /&gt;
  Form contents&lt;br /&gt;
&amp;lt;% end %&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
When form_tag is called as above, it creates a &amp;lt;form&amp;gt; tag which, when submitted, will POST to the current page. For instance, assuming the current page is /home/index, the generated HTML will look like this (some line breaks added for readability): &amp;lt;ref&amp;gt;http://edgeguides.rubyonrails.org/form_helpers.html#making-select-boxes-with-ease&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;form accept-charset=&amp;quot;UTF-8&amp;quot; action=&amp;quot;/home/index&amp;quot; method=&amp;quot;post&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;div style=&amp;quot;margin:0;padding:0&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;input name=&amp;quot;utf8&amp;quot; type=&amp;quot;hidden&amp;quot; value=&amp;quot;&amp;amp;#x2713;&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;input name=&amp;quot;authenticity_token&amp;quot; type=&amp;quot;hidden&amp;quot; value=&amp;quot;f755bb0ed134b76c432144748a6d4b7a7ddf2b71&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
  Form contents&lt;br /&gt;
&amp;lt;/form&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Forms in Rails consist of Elements, which are labels, input elements, submit buttons etc.&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
===Text Fields===&lt;br /&gt;
Text Fields in Rails Forms allow the user to input a few words or a single word. These are generally used to capture Names, Addresses, Phone numbers etc. To create a text field in Rails Forms use the following syntax:&amp;lt;ref&amp;gt;http://www.tutorialspoint.com/ruby-on-rails/rails-html-forms.htm&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;%= text_field :modelname, :attribute_name, options %&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
In the example below we create a text field of size 20 characters :&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;%= text_field &amp;quot;person&amp;quot;, &amp;quot;name&amp;quot;, &amp;quot;size&amp;quot; =&amp;gt; 20 %&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
This will generate following code:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;input type=&amp;quot;text&amp;quot; id=&amp;quot;person_name&amp;quot; name=&amp;quot;person[name]&amp;quot;&lt;br /&gt;
      size=&amp;quot;20&amp;quot; value=&amp;quot;&amp;lt;%= @person.name %&amp;gt;&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Rails also allows us to create Hidden Fields. Hidden Fields don't show up on the Page and hence can contain any value which the user cannot see or change. To create hidden fields use the following syntax;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;%= hidden_field ... %&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
To create password fields use the following syntax;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;%= password_field ... %&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
To create file upload fields use the following syntax;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;%= file_field ... %&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
===TextArea Fields===&lt;br /&gt;
Text Area Fields allow us to enter information in paragraphs, i.e, enter data that has more than a few words and sentences. Text Area Fields are also adjustable in size. To change the size of a Text Area Field, we are required to change the rows and cols values to numbers of our interest. &amp;lt;ref&amp;gt;http://www.tutorialspoint.com/ruby-on-rails/rails-html-forms.htm&amp;lt;/ref&amp;gt;&lt;br /&gt;
To create a text area use the following syntax:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;%= text_area ... %&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;%= text_area &amp;quot;post&amp;quot;, &amp;quot;body&amp;quot;, &amp;quot;cols&amp;quot; =&amp;gt; 20, &amp;quot;rows&amp;quot; =&amp;gt; 40%&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
This will generate the following code:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;textarea cols=&amp;quot;20&amp;quot; rows=&amp;quot;40&amp;quot; id=&amp;quot;post_body&amp;quot; name=&amp;quot;post[body]&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;%={@post.body}%&amp;gt;&lt;br /&gt;
&amp;lt;/textarea&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
===Radio Button===&lt;br /&gt;
Rails Forms can also include Radio Button, for choice based User Inputs. To create a radio button, use the following Syntax &amp;lt;ref&amp;gt;http://apidock.com/rails/ActionView/Helpers/FormHelper/radio_button&amp;lt;/ref&amp;gt;:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;%= radio_button :modelname, :attribute, :tag_value, options %&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Consider example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 radio_button(&amp;quot;post&amp;quot;, &amp;quot;category&amp;quot;, &amp;quot;rails&amp;quot;)&lt;br /&gt;
 radio_button(&amp;quot;post&amp;quot;, &amp;quot;category&amp;quot;, &amp;quot;java&amp;quot;)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This will generate following code:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;input type=&amp;quot;radio&amp;quot; id=&amp;quot;post_category&amp;quot; name=&amp;quot;post[category]&amp;quot; &lt;br /&gt;
value=&amp;quot;rails&amp;quot; checked=&amp;quot;checked&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;input type=&amp;quot;radio&amp;quot; id=&amp;quot;post_category&amp;quot; name=&amp;quot;post[category]&amp;quot; &lt;br /&gt;
                    value=&amp;quot;java&amp;quot;= /&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Checkbox Button===&lt;br /&gt;
Checkboxes can be added to Forms in Rails, using the following syntax&amp;lt;ref&amp;gt;http://www.tutorialspoint.com/ruby-on-rails/rails-html-forms.htm&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;%= check_box :modelname, :attribute,options,on_value,off_value%&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Consider the following example:&lt;br /&gt;
&amp;lt;pre&amp;gt;check_box(&amp;quot;post&amp;quot;, &amp;quot;validated&amp;quot;)&amp;lt;/pre&amp;gt;&lt;br /&gt;
This generate following code:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;input type=&amp;quot;checkbox&amp;quot; id=&amp;quot;post_validate&amp;quot; name=&amp;quot;post[validated]&amp;quot; &lt;br /&gt;
                                   value=&amp;quot;1&amp;quot; checked=&amp;quot;checked&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;input name=&amp;quot;post[validated]&amp;quot; type=&amp;quot;hidden&amp;quot; value=&amp;quot;0&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
===Dropdown List===&lt;br /&gt;
Dropdown Lists in Forms allow users to select a value from a set of predefined values. &amp;lt;ref&amp;gt;http://www.tutorialspoint.com/ruby-on-rails/rails-html-forms.htm&amp;lt;/ref&amp;gt;To create a drop-down list use the following syntax:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;%= select :variable,:attribute,choices,options,html_options%&amp;lt;/pre&amp;gt;&lt;br /&gt;
Have a look at the following example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
select(&amp;quot;post&amp;quot;, &amp;quot;person_id&amp;quot;, &lt;br /&gt;
       Person.find(:all).collect {|p| [ p.name, p.id ] })&lt;br /&gt;
This could generate following code. It depends on what value is available in your database.:&lt;br /&gt;
  &amp;lt;select name=&amp;quot;post[person_id]&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;option value=&amp;quot;1&amp;quot;&amp;gt;David&amp;lt;/option&amp;gt;&lt;br /&gt;
    &amp;lt;option value=&amp;quot;2&amp;quot;&amp;gt;Sam&amp;lt;/option&amp;gt;&lt;br /&gt;
    &amp;lt;option value=&amp;quot;3&amp;quot;&amp;gt;Tobias&amp;lt;/option&amp;gt;&lt;br /&gt;
  &amp;lt;/select&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=== The Submit Button===&lt;br /&gt;
&lt;br /&gt;
Submit button in Rails will perform the desired action the form is linked to, and is usually located in the bottom, where the form ends. Submit button sends the data in the form through POST/GET actions in HTML.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
==Actions==&lt;br /&gt;
The action attribute in Rails Forms specifies what to do when a Form is submitted&amp;lt;ref&amp;gt;http://paulsturgess.co.uk/articles/49-using-helper-methods-in-ruby-on-rails&amp;lt;/ref&amp;gt;. The action attribute is specified in form_tag itself. For example,  &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  &amp;lt;%= form_tag :action =&amp;gt; &amp;quot;create&amp;quot; %&amp;gt;&lt;br /&gt;
   Name: &amp;lt;%= text_field &amp;quot;item&amp;quot;, &amp;quot;name&amp;quot;&lt;br /&gt;
%&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
   Value: &amp;lt;%= text_field &amp;quot;item&amp;quot;, &amp;quot;value&amp;quot;&lt;br /&gt;
%&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
   &amp;lt;%= submit_tag %&amp;gt;&lt;br /&gt;
  &amp;lt;%= end_form_tag %&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
For the object &amp;quot;item&amp;quot;  in the example above, the Controller ItemsController should include a method called &amp;quot;create&amp;quot; which will respond to the form's action. We add the method &amp;quot;Create&amp;quot; in the code below:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
class ItemsController &amp;lt; ApplicationController&lt;br /&gt;
    def new&lt;br /&gt;
      @item = Item.new&lt;br /&gt;
    end&lt;br /&gt;
#add method create&lt;br /&gt;
    def create&lt;br /&gt;
      @item = Item.create(params[:item]) &lt;br /&gt;
      redirect_to :action =&amp;gt; 'edit', :id =&amp;gt; @item.id &lt;br /&gt;
    end&lt;br /&gt;
#add method create&lt;br /&gt;
  end&amp;lt;/pre&amp;gt;&lt;br /&gt;
If more actions are desired, corresponding methods must be added in the Controller class of the object.&lt;br /&gt;
==Routes==&lt;br /&gt;
In rails,routes are used to automatically direct a HTTP request to the appropriate controller action.&lt;br /&gt;
With the help of routes one can easily name and configure a URL path i.e the routing engine can figure out where to go and which action to invoke for a given URL. This also works in reverse, which in turn reduces the rigidness in your application structure. &amp;lt;ref&amp;gt;http://guides.rubyonrails.org/v2.3.11/routing.html#crud-verbs-and-actions&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Views==&lt;br /&gt;
Views are used to render forms or data to the user. It displays only necessary information and hides internal workings from the user.&lt;br /&gt;
In views it is more about presentation of data than the data itself. More focus is given to layout and template so as to make it easily readable for the end user.&lt;br /&gt;
&lt;br /&gt;
===Views in forms===&lt;br /&gt;
In Rails, each form element has a name which controls how values will appear in the controller which has the params hash.&lt;br /&gt;
When we use params rails automatically does the required HTTP parsing  for populating the instance.&lt;br /&gt;
Also one of the main advantages of ruby is that it has many features which can be used to reduce repetition of code for generating views.&lt;br /&gt;
One was the ways this can be done is to use helper modules which by default have excellent ruby support.&lt;br /&gt;
&lt;br /&gt;
==Helpers==&lt;br /&gt;
Can be used to define any piece of code which will be called many times by the view. Helper methods mainly are used to provide functionality in the views. Also default helper programs can used for otherwise cumbersome to implement functions like date etc&amp;lt;ref&amp;gt;http://www.railsforum.com/viewtopic.php?id=1026&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Helpers in forms===&lt;br /&gt;
Helpers are used to hide view logic form the end user. Ideally all business logic need to be present in model methods but if one needs to add logic in the view itself then writing the helper method is a good design choice.&amp;lt;br/&amp;gt;&lt;br /&gt;
Inbuilt options in rails:&lt;br /&gt;
We have many default helper methods in rails which provide us with ready to use option for most commonly used things in a form.&lt;br /&gt;
Some example for default helpers are:&amp;lt;br/&amp;gt;&lt;br /&gt;
•	Linking and form building&amp;lt;br/&amp;gt;&lt;br /&gt;
•	Date and Time methods&lt;br /&gt;
&lt;br /&gt;
==Routes==&lt;br /&gt;
In rails,routes are used to automatically direct a HTTP request to the appropriate controller action.The main purpose&lt;br /&gt;
With the help of routes one can easily name and configure a URL path i.e the routing engine can figure out where to go and which action to invoke for a given URL.&lt;br /&gt;
This also works in reverse, which in turn reduces the rigidness in your application structure.&lt;br /&gt;
&amp;lt;ref&amp;gt;http://guides.rubyonrails.org/v2.3.11/routing.html#crud-verbs-and-actions&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Things to do with forms==&lt;br /&gt;
&lt;br /&gt;
1) Generate/display – This relates to presenting a layout by using templates to the user.&amp;lt;br/&amp;gt;&lt;br /&gt;
2) Values filling by user -&lt;br /&gt;
Take input from the user for the generated form by providing buttons,text boxes or drop downs.&amp;lt;br/&amp;gt;&lt;br /&gt;
3) Render after form creation-&lt;br /&gt;
After the form is filled and ready, the form should get submitted and the required data must be saved.&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==General steps to create forms==&lt;br /&gt;
•	Identify action that fetches the form &amp;lt;br/&amp;gt;&lt;br /&gt;
•	Identify actions that handle form submission&amp;lt;br/&amp;gt;&lt;br /&gt;
•	Create routes, action, views for each&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==What does a form look like?==&lt;br /&gt;
Below is a sample form which can be used to add a new entry. A entry has a topic with some content and a checkbox option as a functionality. Notice the use of the format modelname.field as this is the convention genrerally followed. This helps in easy understandably of code later on.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;h1&amp;gt;Add a new entry&amp;lt;/h1&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;%= form_for  @entry do |fc|  %&amp;gt;&lt;br /&gt;
    &amp;lt;p&amp;gt;&lt;br /&gt;
      &amp;lt;%= f.label :topic  %&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
      &amp;lt;%= f.text_field :topic  %&amp;gt;&lt;br /&gt;
    &amp;lt;/p&amp;gt;&lt;br /&gt;
    &amp;lt;p&amp;gt;&lt;br /&gt;
      &amp;lt;%= f.label :content  %&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
      &amp;lt;%= f.text_area :content %&amp;gt;&lt;br /&gt;
    &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
      &amp;lt;%= f.label :tick %&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
      &amp;lt;%= f.check_box :tick %&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
    &amp;lt;p&amp;gt;&lt;br /&gt;
      &amp;lt;%= f.submit &amp;quot;Add a new Entry&amp;quot; %&amp;gt;&lt;br /&gt;
    &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;% end %&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Conclusion==&lt;br /&gt;
Forms in Rails are a great way to interact and obtain data from the user. Additionally, forms also support validation checks. &lt;br /&gt;
Other major advantages of forms are that they are easy to maintain and readable not only from the users viewpoint but also for the developers.  &lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&amp;lt;references&amp;gt;&amp;lt;/references&amp;gt;&lt;br /&gt;
==See Also==&lt;br /&gt;
[http://www.tutorialspoint.com/ruby-on-rails/rails-html-forms.htm Rails Forms]&amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.devarticles.com/c/a/Ruby-on-Rails/Web-Forms-and-Ruby-on-Rails Web forms in Rails]&amp;lt;br/&amp;gt;&lt;br /&gt;
[http://rubypond.com/blog/sexy-forms-in-rails Rails Form Designs]&amp;lt;br/&amp;gt;&lt;br /&gt;
[http://ruby.about.com/od/mechanize20handbook/a/Forms-In-Mechanize_4.htm Forms in Rails in Mechanize]&amp;lt;br/&amp;gt;&lt;br /&gt;
[http://pragprog.com/screencasts/v-rbforms/mastering-rails-forms Rails Forms in Rails - Mastering Rails Forms]&amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.buildingwebapps.com/transcript/79330-rails-form-processing Rails Forms Processing]&amp;lt;br/&amp;gt;&lt;br /&gt;
[http://paulsturgess.co.uk/articles/49-using-helper-methods-in-ruby-on-rails Rails Helper Methods]&amp;lt;br/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Spangul</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2012/ch1b_1w66_as&amp;diff=67175</id>
		<title>CSC/ECE 517 Fall 2012/ch1b 1w66 as</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2012/ch1b_1w66_as&amp;diff=67175"/>
		<updated>2012-10-04T02:14:36Z</updated>

		<summary type="html">&lt;p&gt;Spangul: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Forms-Ruby=&lt;br /&gt;
==Introduction==&lt;br /&gt;
Forms in web applications are an essential interface for user input. However, form markup can quickly become tedious to write and maintain because of form control naming and their numerous attributes. Rails deals away with these complexities by providing view helpers for generating form markup.&amp;lt;ref&amp;gt;http://www.guides.rubyonrails.org/form_helpers.html&amp;lt;/ref&amp;gt; Rails provides excellent features to create forms and gather user input.&lt;br /&gt;
Forms in Rails are an effective way to obtain user input in a convenient manner. Forms &lt;br /&gt;
can include different types of data fields that will help obtain different types of data. For&lt;br /&gt;
example, Text box can fetch a few words from the user and Text Area, a paragraph. Forms are embedded in a Web Application and are very user-friendly.&lt;br /&gt;
Forms in Rails also have in-built functionalities to verify the data the user enters, validate it using a set of predefined rules, display corresponding error messages(in case of non-compliance) and storing the information in the database if it passes validation.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
==Creating a Form==&lt;br /&gt;
Forms written in Rails are automatically generated as HTML Forms and are rendered into views.&lt;br /&gt;
Forms are created in Rails using the basic helper called Form_tag&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;%= form_tag do %&amp;gt;&lt;br /&gt;
  Form contents&lt;br /&gt;
&amp;lt;% end %&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
When form_tag is called as above, it creates a &amp;lt;form&amp;gt; tag which, when submitted, will POST to the current page. For instance, assuming the current page is /home/index, the generated HTML will look like this (some line breaks added for readability): &amp;lt;ref&amp;gt;http://edgeguides.rubyonrails.org/form_helpers.html#making-select-boxes-with-ease&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;form accept-charset=&amp;quot;UTF-8&amp;quot; action=&amp;quot;/home/index&amp;quot; method=&amp;quot;post&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;div style=&amp;quot;margin:0;padding:0&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;input name=&amp;quot;utf8&amp;quot; type=&amp;quot;hidden&amp;quot; value=&amp;quot;&amp;amp;#x2713;&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;input name=&amp;quot;authenticity_token&amp;quot; type=&amp;quot;hidden&amp;quot; value=&amp;quot;f755bb0ed134b76c432144748a6d4b7a7ddf2b71&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
  Form contents&lt;br /&gt;
&amp;lt;/form&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Forms in Rails consist of Elements, which are labels, input elements, submit buttons etc.&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
===Text Fields===&lt;br /&gt;
Text Fields in Rails Forms allow the user to input a few words or a single word. These are generally used to capture Names, Addresses, Phone numbers etc. To create a text field in Rails Forms use the following syntax:&amp;lt;ref&amp;gt;http://www.tutorialspoint.com/ruby-on-rails/rails-html-forms.htm&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;%= text_field :modelname, :attribute_name, options %&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
In the example below we create a text field of size 20 characters :&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;%= text_field &amp;quot;person&amp;quot;, &amp;quot;name&amp;quot;, &amp;quot;size&amp;quot; =&amp;gt; 20 %&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
This will generate following code:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;input type=&amp;quot;text&amp;quot; id=&amp;quot;person_name&amp;quot; name=&amp;quot;person[name]&amp;quot;&lt;br /&gt;
      size=&amp;quot;20&amp;quot; value=&amp;quot;&amp;lt;%= @person.name %&amp;gt;&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Rails also allows us to create Hidden Fields. Hidden Fields don't show up on the Page and hence can contain any value which the user cannot see or change. To create hidden fields use the following syntax;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;%= hidden_field ... %&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
To create password fields use the following syntax;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;%= password_field ... %&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
To create file upload fields use the following syntax;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;%= file_field ... %&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
===TextArea Fields===&lt;br /&gt;
Text Area Fields allow us to enter information in paragraphs, i.e, enter data that has more than a few words and sentences. Text Area Fields are also adjustable in size. To change the size of a Text Area Field, we are required to change the rows and cols values to numbers of our interest. &amp;lt;ref&amp;gt;http://www.tutorialspoint.com/ruby-on-rails/rails-html-forms.htm&amp;lt;/ref&amp;gt;&lt;br /&gt;
To create a text area use the following syntax:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;%= text_area ... %&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;%= text_area &amp;quot;post&amp;quot;, &amp;quot;body&amp;quot;, &amp;quot;cols&amp;quot; =&amp;gt; 20, &amp;quot;rows&amp;quot; =&amp;gt; 40%&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
This will generate the following code:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;textarea cols=&amp;quot;20&amp;quot; rows=&amp;quot;40&amp;quot; id=&amp;quot;post_body&amp;quot; name=&amp;quot;post[body]&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;%={@post.body}%&amp;gt;&lt;br /&gt;
&amp;lt;/textarea&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
===Radio Button===&lt;br /&gt;
Rails Forms can also include Radio Button, for choice based User Inputs. To create a radio button, use the following Syntax &amp;lt;ref&amp;gt;http://apidock.com/rails/ActionView/Helpers/FormHelper/radio_button&amp;lt;/ref&amp;gt;:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;%= radio_button :modelname, :attribute, :tag_value, options %&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Consider example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 radio_button(&amp;quot;post&amp;quot;, &amp;quot;category&amp;quot;, &amp;quot;rails&amp;quot;)&lt;br /&gt;
 radio_button(&amp;quot;post&amp;quot;, &amp;quot;category&amp;quot;, &amp;quot;java&amp;quot;)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This will generate following code:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;input type=&amp;quot;radio&amp;quot; id=&amp;quot;post_category&amp;quot; name=&amp;quot;post[category]&amp;quot; &lt;br /&gt;
value=&amp;quot;rails&amp;quot; checked=&amp;quot;checked&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;input type=&amp;quot;radio&amp;quot; id=&amp;quot;post_category&amp;quot; name=&amp;quot;post[category]&amp;quot; &lt;br /&gt;
                    value=&amp;quot;java&amp;quot;= /&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Checkbox Button===&lt;br /&gt;
Checkboxes can be added to Forms in Rails, using the following syntax&amp;lt;ref&amp;gt;http://www.tutorialspoint.com/ruby-on-rails/rails-html-forms.htm&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;%= check_box :modelname, :attribute,options,on_value,off_value%&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Consider the following example:&lt;br /&gt;
&amp;lt;pre&amp;gt;check_box(&amp;quot;post&amp;quot;, &amp;quot;validated&amp;quot;)&amp;lt;/pre&amp;gt;&lt;br /&gt;
This generate following code:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;input type=&amp;quot;checkbox&amp;quot; id=&amp;quot;post_validate&amp;quot; name=&amp;quot;post[validated]&amp;quot; &lt;br /&gt;
                                   value=&amp;quot;1&amp;quot; checked=&amp;quot;checked&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;input name=&amp;quot;post[validated]&amp;quot; type=&amp;quot;hidden&amp;quot; value=&amp;quot;0&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
===Dropdown List===&lt;br /&gt;
Dropdown Lists in Forms allow users to select a value from a set of predefined values. &amp;lt;ref&amp;gt;http://www.tutorialspoint.com/ruby-on-rails/rails-html-forms.htm&amp;lt;/ref&amp;gt;To create a drop-down list use the following syntax:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;%= select :variable,:attribute,choices,options,html_options%&amp;lt;/pre&amp;gt;&lt;br /&gt;
Have a look at the following example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
select(&amp;quot;post&amp;quot;, &amp;quot;person_id&amp;quot;, &lt;br /&gt;
       Person.find(:all).collect {|p| [ p.name, p.id ] })&lt;br /&gt;
This could generate following code. It depends on what value is available in your database.:&lt;br /&gt;
  &amp;lt;select name=&amp;quot;post[person_id]&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;option value=&amp;quot;1&amp;quot;&amp;gt;David&amp;lt;/option&amp;gt;&lt;br /&gt;
    &amp;lt;option value=&amp;quot;2&amp;quot;&amp;gt;Sam&amp;lt;/option&amp;gt;&lt;br /&gt;
    &amp;lt;option value=&amp;quot;3&amp;quot;&amp;gt;Tobias&amp;lt;/option&amp;gt;&lt;br /&gt;
  &amp;lt;/select&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=== The Submit Button===&lt;br /&gt;
&lt;br /&gt;
Submit button in Rails will perform the desired action the form is linked to, and is usually located in the bottom, where the form ends. Submit button sends the data in the form through POST/GET actions in HTML.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
==Actions==&lt;br /&gt;
The action attribute in Rails Forms specifies what to do when a Form is submitted&amp;lt;ref&amp;gt;http://paulsturgess.co.uk/articles/49-using-helper-methods-in-ruby-on-rails&amp;lt;/ref&amp;gt;. The action attribute is specified in form_tag itself. For example,  &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  &amp;lt;%= form_tag :action =&amp;gt; &amp;quot;create&amp;quot; %&amp;gt;&lt;br /&gt;
   Name: &amp;lt;%= text_field &amp;quot;item&amp;quot;, &amp;quot;name&amp;quot;&lt;br /&gt;
%&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
   Value: &amp;lt;%= text_field &amp;quot;item&amp;quot;, &amp;quot;value&amp;quot;&lt;br /&gt;
%&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
   &amp;lt;%= submit_tag %&amp;gt;&lt;br /&gt;
  &amp;lt;%= end_form_tag %&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
For the object &amp;quot;item&amp;quot;  in the example above, the Controller ItemsController should include a method called &amp;quot;create&amp;quot; which will respond to the form's action. We add the method &amp;quot;Create&amp;quot; in the code below:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
class ItemsController &amp;lt; ApplicationController&lt;br /&gt;
    def new&lt;br /&gt;
      @item = Item.new&lt;br /&gt;
    end&lt;br /&gt;
#add method create&lt;br /&gt;
    def create&lt;br /&gt;
      @item = Item.create(params[:item]) &lt;br /&gt;
      redirect_to :action =&amp;gt; 'edit', :id =&amp;gt; @item.id &lt;br /&gt;
    end&lt;br /&gt;
#add method create&lt;br /&gt;
  end&amp;lt;/pre&amp;gt;&lt;br /&gt;
If more actions are desired, corresponding methods must be added in the Controller class of the object.&lt;br /&gt;
==Routes==&lt;br /&gt;
In rails,routes are used to automatically direct a HTTP request to the appropriate controller action.&lt;br /&gt;
With the help of routes one can easily name and configure a URL path i.e the routing engine can figure out where to go and which action to invoke for a given URL. This also works in reverse, which in turn reduces the rigidness in your application structure. &amp;lt;ref&amp;gt;http://guides.rubyonrails.org/v2.3.11/routing.html#crud-verbs-and-actions&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Views==&lt;br /&gt;
Views are used to render forms or data to the user. It displays only necessary information and hides internal workings from the user.&lt;br /&gt;
In views it is more about presentation of data than the data itself. More focus is given to layout and template so as to make it easily readable for the end user.&lt;br /&gt;
&lt;br /&gt;
===Views in forms===&lt;br /&gt;
In Rails, each form element has a name which controls how values will appear in the controller which has the params hash.&lt;br /&gt;
When we use params rails automatically does the required HTTP parsing  for populating the instance.&lt;br /&gt;
Also one of the main advantages of ruby is that it has many features which can be used to reduce repetition of code for generating views.&lt;br /&gt;
One was the ways this can be done is to use helper modules which by default have excellent ruby support.&lt;br /&gt;
&lt;br /&gt;
==Helpers==&lt;br /&gt;
Can be used to define any piece of code which will be called many times by the view. Helper methods mainly are used to provide functionality in the views. Also default helper programs can used for otherwise cumbersome to implement functions like date etc&amp;lt;ref&amp;gt;http://www.railsforum.com/viewtopic.php?id=1026&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Helpers in forms===&lt;br /&gt;
Helpers are used to hide view logic form the end user. Ideally all business logic need to be present in model methods but if one needs to add logic in the view itself then writing the helper method is a good design choice.&amp;lt;br/&amp;gt;&lt;br /&gt;
Inbuilt options in rails:&lt;br /&gt;
We have many default helper methods in rails which provide us with ready to use option for most commonly used things in a form.&lt;br /&gt;
Some example for default helpers are:&amp;lt;br/&amp;gt;&lt;br /&gt;
•	Linking and form building&amp;lt;br/&amp;gt;&lt;br /&gt;
•	Date and Time methods&lt;br /&gt;
&lt;br /&gt;
==Routes==&lt;br /&gt;
In rails,routes are used to automatically direct a HTTP request to the appropriate controller action.The main purpose&lt;br /&gt;
With the help of routes one can easily name and configure a URL path i.e the routing engine can figure out where to go and which action to invoke for a given URL.&lt;br /&gt;
This also works in reverse, which in turn reduces the rigidness in your application structure.&lt;br /&gt;
&amp;lt;ref&amp;gt;http://guides.rubyonrails.org/v2.3.11/routing.html#crud-verbs-and-actions&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Things to do with forms==&lt;br /&gt;
&lt;br /&gt;
1) Generate/display – This relates to presenting a layout by using templates to the user.&amp;lt;br/&amp;gt;&lt;br /&gt;
2) Values filling by user -&lt;br /&gt;
Take input from the user for the generated form by providing buttons,text boxes or drop downs.&amp;lt;br/&amp;gt;&lt;br /&gt;
3) Render after form creation-&lt;br /&gt;
After the form is filled and ready, the form should get submitted and the required data must be saved.&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==General steps to create forms==&lt;br /&gt;
•	Identify action that fetches the form &amp;lt;br/&amp;gt;&lt;br /&gt;
•	Identify actions that handle form submission&amp;lt;br/&amp;gt;&lt;br /&gt;
•	Create routes, action, views for each&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==What does a form look like?==&lt;br /&gt;
Below is a sample form which can be used to add a new entry. A entry has a topic with some content and a checkbox option as a functionality. Notice the use of the format modelname.field as this is the convention genrerally followed. This helps in easy understandably of code later on.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;h1&amp;gt;Add a new entry&amp;lt;/h1&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;%= form_for  @entry do |fc|  %&amp;gt;&lt;br /&gt;
    &amp;lt;p&amp;gt;&lt;br /&gt;
      &amp;lt;%= f.label :topic  %&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
      &amp;lt;%= f.text_field :topic  %&amp;gt;&lt;br /&gt;
    &amp;lt;/p&amp;gt;&lt;br /&gt;
    &amp;lt;p&amp;gt;&lt;br /&gt;
      &amp;lt;%= f.label :content  %&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
      &amp;lt;%= f.text_area :content %&amp;gt;&lt;br /&gt;
    &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
      &amp;lt;%= f.label :tick %&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
      &amp;lt;%= f.check_box :tick %&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
    &amp;lt;p&amp;gt;&lt;br /&gt;
      &amp;lt;%= f.submit &amp;quot;Add a new Entry&amp;quot; %&amp;gt;&lt;br /&gt;
    &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;% end %&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Conclusion==&lt;br /&gt;
Forms in Rails are a great way to interact and obtain data from the user. Additionally, forms also support validation checks. &lt;br /&gt;
Other major advantages of forms are that they are easy to maintain and readable not only from the users viewpoint but also for the developers.  &lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&amp;lt;references&amp;gt;&amp;lt;/references&amp;gt;&lt;br /&gt;
==See Also==&lt;br /&gt;
[http://www.tutorialspoint.com/ruby-on-rails/rails-html-forms.htm Rails Forms]&lt;br /&gt;
[http://www.devarticles.com/c/a/Ruby-on-Rails/Web-Forms-and-Ruby-on-Rails Web forms in Rails]&lt;br /&gt;
[http://rubypond.com/blog/sexy-forms-in-rails Rails Form Designs]&lt;br /&gt;
[http://ruby.about.com/od/mechanize20handbook/a/Forms-In-Mechanize_4.htm Forms in Rails in Mechanize]&lt;br /&gt;
[http://pragprog.com/screencasts/v-rbforms/mastering-rails-forms Rails Forms in Rails - Mastering Rails Forms]&lt;br /&gt;
[http://www.buildingwebapps.com/transcript/79330-rails-form-processing Rails Forms Processing]&lt;br /&gt;
[http://paulsturgess.co.uk/articles/49-using-helper-methods-in-ruby-on-rails Rails Helper Methods]&lt;/div&gt;</summary>
		<author><name>Spangul</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2012/ch1b_1w66_as&amp;diff=67170</id>
		<title>CSC/ECE 517 Fall 2012/ch1b 1w66 as</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2012/ch1b_1w66_as&amp;diff=67170"/>
		<updated>2012-10-04T02:11:14Z</updated>

		<summary type="html">&lt;p&gt;Spangul: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Forms-Ruby=&lt;br /&gt;
==Introduction==&lt;br /&gt;
Forms in web applications are an essential interface for user input. However, form markup can quickly become tedious to write and maintain because of form control naming and their numerous attributes. Rails deals away with these complexities by providing view helpers for generating form markup.&amp;lt;ref&amp;gt;http://www.guides.rubyonrails.org/form_helpers.html&amp;lt;/ref&amp;gt; Rails provides excellent features to create forms and gather user input.&lt;br /&gt;
Forms in Rails are an effective way to obtain user input in a convenient manner. Forms &lt;br /&gt;
can include different types of data fields that will help obtain different types of data. For&lt;br /&gt;
example, Text box can fetch a few words from the user and Text Area, a paragraph. Forms are embedded in a Web Application and are very user-friendly.&lt;br /&gt;
Forms in Rails also have in-built functionalities to verify the data the user enters, validate it using a set of predefined rules, display corresponding error messages(in case of non-compliance) and storing the information in the database if it passes validation.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
==Creating a Form==&lt;br /&gt;
Forms written in Rails are automatically generated as HTML Forms and are rendered into views.&lt;br /&gt;
Forms are created in Rails using the basic helper called Form_tag&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;%= form_tag do %&amp;gt;&lt;br /&gt;
  Form contents&lt;br /&gt;
&amp;lt;% end %&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
When form_tag is called as above, it creates a &amp;lt;form&amp;gt; tag which, when submitted, will POST to the current page. For instance, assuming the current page is /home/index, the generated HTML will look like this (some line breaks added for readability): &amp;lt;ref&amp;gt;http://edgeguides.rubyonrails.org/form_helpers.html#making-select-boxes-with-ease&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;form accept-charset=&amp;quot;UTF-8&amp;quot; action=&amp;quot;/home/index&amp;quot; method=&amp;quot;post&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;div style=&amp;quot;margin:0;padding:0&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;input name=&amp;quot;utf8&amp;quot; type=&amp;quot;hidden&amp;quot; value=&amp;quot;&amp;amp;#x2713;&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;input name=&amp;quot;authenticity_token&amp;quot; type=&amp;quot;hidden&amp;quot; value=&amp;quot;f755bb0ed134b76c432144748a6d4b7a7ddf2b71&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
  Form contents&lt;br /&gt;
&amp;lt;/form&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Forms in Rails consist of Elements, which are labels, input elements, submit buttons etc.&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
===Text Fields===&lt;br /&gt;
Text Fields in Rails Forms allow the user to input a few words or a single word. These are generally used to capture Names, Addresses, Phone numbers etc. To create a text field in Rails Forms use the following syntax:&amp;lt;ref&amp;gt;http://www.tutorialspoint.com/ruby-on-rails/rails-html-forms.htm&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;%= text_field :modelname, :attribute_name, options %&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
In the example below we create a text field of size 20 characters :&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;%= text_field &amp;quot;person&amp;quot;, &amp;quot;name&amp;quot;, &amp;quot;size&amp;quot; =&amp;gt; 20 %&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
This will generate following code:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;input type=&amp;quot;text&amp;quot; id=&amp;quot;person_name&amp;quot; name=&amp;quot;person[name]&amp;quot;&lt;br /&gt;
      size=&amp;quot;20&amp;quot; value=&amp;quot;&amp;lt;%= @person.name %&amp;gt;&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Rails also allows us to create Hidden Fields. Hidden Fields don't show up on the Page and hence can contain any value which the user cannot see or change. To create hidden fields use the following syntax;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;%= hidden_field ... %&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
To create password fields use the following syntax;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;%= password_field ... %&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
To create file upload fields use the following syntax;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;%= file_field ... %&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
===TextArea Fields===&lt;br /&gt;
Text Area Fields allow us to enter information in paragraphs, i.e, enter data that has more than a few words and sentences. Text Area Fields are also adjustable in size. To change the size of a Text Area Field, we are required to change the rows and cols values to numbers of our interest. &amp;lt;ref&amp;gt;http://www.tutorialspoint.com/ruby-on-rails/rails-html-forms.htm&amp;lt;/ref&amp;gt;&lt;br /&gt;
To create a text area use the following syntax:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;%= text_area ... %&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;%= text_area &amp;quot;post&amp;quot;, &amp;quot;body&amp;quot;, &amp;quot;cols&amp;quot; =&amp;gt; 20, &amp;quot;rows&amp;quot; =&amp;gt; 40%&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
This will generate the following code:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;textarea cols=&amp;quot;20&amp;quot; rows=&amp;quot;40&amp;quot; id=&amp;quot;post_body&amp;quot; name=&amp;quot;post[body]&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;%={@post.body}%&amp;gt;&lt;br /&gt;
&amp;lt;/textarea&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
===Radio Button===&lt;br /&gt;
Rails Forms can also include Radio Button, for choice based User Inputs. To create a radio button, use the following Syntax &amp;lt;ref&amp;gt;http://apidock.com/rails/ActionView/Helpers/FormHelper/radio_button&amp;lt;/ref&amp;gt;:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;%= radio_button :modelname, :attribute, :tag_value, options %&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Consider example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 radio_button(&amp;quot;post&amp;quot;, &amp;quot;category&amp;quot;, &amp;quot;rails&amp;quot;)&lt;br /&gt;
 radio_button(&amp;quot;post&amp;quot;, &amp;quot;category&amp;quot;, &amp;quot;java&amp;quot;)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This will generate following code:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;input type=&amp;quot;radio&amp;quot; id=&amp;quot;post_category&amp;quot; name=&amp;quot;post[category]&amp;quot; &lt;br /&gt;
value=&amp;quot;rails&amp;quot; checked=&amp;quot;checked&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;input type=&amp;quot;radio&amp;quot; id=&amp;quot;post_category&amp;quot; name=&amp;quot;post[category]&amp;quot; &lt;br /&gt;
                    value=&amp;quot;java&amp;quot;= /&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Checkbox Button===&lt;br /&gt;
Checkboxes can be added to Forms in Rails, using the following syntax&amp;lt;ref&amp;gt;http://www.tutorialspoint.com/ruby-on-rails/rails-html-forms.htm&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;%= check_box :modelname, :attribute,options,on_value,off_value%&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Consider the following example:&lt;br /&gt;
&amp;lt;pre&amp;gt;check_box(&amp;quot;post&amp;quot;, &amp;quot;validated&amp;quot;)&amp;lt;/pre&amp;gt;&lt;br /&gt;
This generate following code:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;input type=&amp;quot;checkbox&amp;quot; id=&amp;quot;post_validate&amp;quot; name=&amp;quot;post[validated]&amp;quot; &lt;br /&gt;
                                   value=&amp;quot;1&amp;quot; checked=&amp;quot;checked&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;input name=&amp;quot;post[validated]&amp;quot; type=&amp;quot;hidden&amp;quot; value=&amp;quot;0&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
===Dropdown List===&lt;br /&gt;
Dropdown Lists in Forms allow users to select a value from a set of predefined values. &amp;lt;ref&amp;gt;http://www.tutorialspoint.com/ruby-on-rails/rails-html-forms.htm&amp;lt;/ref&amp;gt;To create a drop-down list use the following syntax:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;%= select :variable,:attribute,choices,options,html_options%&amp;lt;/pre&amp;gt;&lt;br /&gt;
Have a look at the following example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
select(&amp;quot;post&amp;quot;, &amp;quot;person_id&amp;quot;, &lt;br /&gt;
       Person.find(:all).collect {|p| [ p.name, p.id ] })&lt;br /&gt;
This could generate following code. It depends on what value is available in your database.:&lt;br /&gt;
  &amp;lt;select name=&amp;quot;post[person_id]&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;option value=&amp;quot;1&amp;quot;&amp;gt;David&amp;lt;/option&amp;gt;&lt;br /&gt;
    &amp;lt;option value=&amp;quot;2&amp;quot;&amp;gt;Sam&amp;lt;/option&amp;gt;&lt;br /&gt;
    &amp;lt;option value=&amp;quot;3&amp;quot;&amp;gt;Tobias&amp;lt;/option&amp;gt;&lt;br /&gt;
  &amp;lt;/select&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=== The Submit Button===&lt;br /&gt;
&lt;br /&gt;
Submit button in Rails will perform the desired action the form is linked to, and is usually located in the bottom, where the form ends. Submit button sends the data in the form through POST/GET actions in HTML.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
==Actions==&lt;br /&gt;
The action attribute in Rails Forms specifies what to do when a Form is submitted&amp;lt;ref&amp;gt;http://paulsturgess.co.uk/articles/49-using-helper-methods-in-ruby-on-rails&amp;lt;/ref&amp;gt;. The action attribute is specified in form_tag itself. For example,  &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  &amp;lt;%= form_tag :action =&amp;gt; &amp;quot;create&amp;quot; %&amp;gt;&lt;br /&gt;
   Name: &amp;lt;%= text_field &amp;quot;item&amp;quot;, &amp;quot;name&amp;quot;&lt;br /&gt;
%&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
   Value: &amp;lt;%= text_field &amp;quot;item&amp;quot;, &amp;quot;value&amp;quot;&lt;br /&gt;
%&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
   &amp;lt;%= submit_tag %&amp;gt;&lt;br /&gt;
  &amp;lt;%= end_form_tag %&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
For the object &amp;quot;item&amp;quot;  in the example above, the Controller ItemsController should include a method called &amp;quot;create&amp;quot; which will respond to the form's action. We add the method &amp;quot;Create&amp;quot; in the code below:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
class ItemsController &amp;lt; ApplicationController&lt;br /&gt;
    def new&lt;br /&gt;
      @item = Item.new&lt;br /&gt;
    end&lt;br /&gt;
#add method create&lt;br /&gt;
    def create&lt;br /&gt;
      @item = Item.create(params[:item]) &lt;br /&gt;
      redirect_to :action =&amp;gt; 'edit', :id =&amp;gt; @item.id &lt;br /&gt;
    end&lt;br /&gt;
#add method create&lt;br /&gt;
  end&amp;lt;/pre&amp;gt;&lt;br /&gt;
If more actions are desired, corresponding methods must be added in the Controller class of the object.&lt;br /&gt;
==Routes==&lt;br /&gt;
In rails,routes are used to automatically direct a HTTP request to the appropriate controller action.&lt;br /&gt;
With the help of routes one can easily name and configure a URL path i.e the routing engine can figure out where to go and which action to invoke for a given URL. This also works in reverse, which in turn reduces the rigidness in your application structure. &amp;lt;ref&amp;gt;http://guides.rubyonrails.org/v2.3.11/routing.html#crud-verbs-and-actions&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Views==&lt;br /&gt;
Views are used to render forms or data to the user. It displays only necessary information and hides internal workings from the user.&lt;br /&gt;
In views it is more about presentation of data than the data itself. More focus is given to layout and template so as to make it easily readable for the end user.&lt;br /&gt;
&lt;br /&gt;
===Views in forms===&lt;br /&gt;
In Rails, each form element has a name which controls how values will appear in the controller which has the params hash.&lt;br /&gt;
When we use params rails automatically does the required HTTP parsing  for populating the instance.&lt;br /&gt;
Also one of the main advantages of ruby is that it has many features which can be used to reduce repetition of code for generating views.&lt;br /&gt;
One was the ways this can be done is to use helper modules which by default have excellent ruby support.&lt;br /&gt;
&lt;br /&gt;
==Helpers==&lt;br /&gt;
Can be used to define any piece of code which will be called many times by the view. Helper methods mainly are used to provide functionality in the views. Also default helper programs can used for otherwise cumbersome to implement functions like date etc&amp;lt;ref&amp;gt;http://www.railsforum.com/viewtopic.php?id=1026&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Helpers in forms===&lt;br /&gt;
Helpers are used to hide view logic form the end user. Ideally all business logic need to be present in model methods but if one needs to add logic in the view itself then writing the helper method is a good design choice.&amp;lt;br/&amp;gt;&lt;br /&gt;
Inbuilt options in rails:&lt;br /&gt;
We have many default helper methods in rails which provide us with ready to use option for most commonly used things in a form.&lt;br /&gt;
Some example for default helpers are:&amp;lt;br/&amp;gt;&lt;br /&gt;
•	Linking and form building&amp;lt;br/&amp;gt;&lt;br /&gt;
•	Date and Time methods&lt;br /&gt;
&lt;br /&gt;
==Routes==&lt;br /&gt;
In rails,routes are used to automatically direct a HTTP request to the appropriate controller action.The main purpose&lt;br /&gt;
With the help of routes one can easily name and configure a URL path i.e the routing engine can figure out where to go and which action to invoke for a given URL.&lt;br /&gt;
This also works in reverse, which in turn reduces the rigidness in your application structure.&lt;br /&gt;
&amp;lt;ref&amp;gt;http://guides.rubyonrails.org/v2.3.11/routing.html#crud-verbs-and-actions&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Things to do with forms==&lt;br /&gt;
&lt;br /&gt;
1) Generate/display – This relates to presenting a layout by using templates to the user.&amp;lt;br/&amp;gt;&lt;br /&gt;
2) Values filling by user -&lt;br /&gt;
Take input from the user for the generated form by providing buttons,text boxes or drop downs.&amp;lt;br/&amp;gt;&lt;br /&gt;
3) Render after form creation-&lt;br /&gt;
After the form is filled and ready, the form should get submitted and the required data must be saved.&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==General steps to create forms==&lt;br /&gt;
•	Identify action that fetches the form &amp;lt;br/&amp;gt;&lt;br /&gt;
•	Identify actions that handle form submission&amp;lt;br/&amp;gt;&lt;br /&gt;
•	Create routes, action, views for each&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==What does a form look like?==&lt;br /&gt;
Below is a sample form which can be used to add a new entry. A entry has a topic with some content and a checkbox option as a functionality. Notice the use of the format modelname.field as this is the convention genrerally followed. This helps in easy understandably of code later on.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;h1&amp;gt;Add a new entry&amp;lt;/h1&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;%= form_for  @entry do |fc|  %&amp;gt;&lt;br /&gt;
    &amp;lt;p&amp;gt;&lt;br /&gt;
      &amp;lt;%= f.label :topic  %&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
      &amp;lt;%= f.text_field :topic  %&amp;gt;&lt;br /&gt;
    &amp;lt;/p&amp;gt;&lt;br /&gt;
    &amp;lt;p&amp;gt;&lt;br /&gt;
      &amp;lt;%= f.label :content  %&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
      &amp;lt;%= f.text_area :content %&amp;gt;&lt;br /&gt;
    &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
      &amp;lt;%= f.label :tick %&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
      &amp;lt;%= f.check_box :tick %&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
    &amp;lt;p&amp;gt;&lt;br /&gt;
      &amp;lt;%= f.submit &amp;quot;Add a new Entry&amp;quot; %&amp;gt;&lt;br /&gt;
    &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;% end %&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Conclusion==&lt;br /&gt;
Forms in Rails are a great way to interact and obtain data from the user. Additionally, forms also support validation checks. &lt;br /&gt;
Other major advantages of forms are that they are easy to maintain and readable not only from the users viewpoint but also for the developers.  &lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&amp;lt;references&amp;gt;&amp;lt;/references&amp;gt;&lt;br /&gt;
==See Also==&lt;br /&gt;
[http://www.tutorialspoint.com/ruby-on-rails/rails-html-forms.htm Rails Forms]&lt;/div&gt;</summary>
		<author><name>Spangul</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2012/ch1b_1w66_as&amp;diff=66348</id>
		<title>CSC/ECE 517 Fall 2012/ch1b 1w66 as</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2012/ch1b_1w66_as&amp;diff=66348"/>
		<updated>2012-10-03T05:45:54Z</updated>

		<summary type="html">&lt;p&gt;Spangul: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Forms-Ruby=&lt;br /&gt;
==Introduction==&lt;br /&gt;
Forms in web applications are an essential interface for user input. However, form markup can quickly become tedious to write and maintain because of form control naming and their numerous attributes. Rails deals away with these complexities by providing view helpers for generating form markup.&amp;lt;ref&amp;gt;http://www.guides.rubyonrails.org/form_helpers.html&amp;lt;/ref&amp;gt; Rails provides excellent features to create forms and gather user input.&lt;br /&gt;
Forms in Rails are an effective way to obtain user input in a convenient manner. Forms &lt;br /&gt;
can include different types of data fields that will help obtain different types of data. For&lt;br /&gt;
example, Text box can fetch a few words from the user and Text Area, a paragraph. Forms are embedded in a Web Application and are very user-friendly.&lt;br /&gt;
Forms in Rails also have in-built functionalities to verify the data the user enters, validate it using a set of predefined rules, display corresponding error messages(in case of non-compliance) and storing the information in the database if it passes validation.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
==Creating a Form==&lt;br /&gt;
Forms written in Rails are automatically generated as HTML Forms and are rendered into views.&lt;br /&gt;
Forms are created in Rails using the basic helper called Form_tag&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;%= form_tag do %&amp;gt;&lt;br /&gt;
  Form contents&lt;br /&gt;
&amp;lt;% end %&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
When form_tag is called as above, it creates a &amp;lt;form&amp;gt; tag which, when submitted, will POST to the current page. For instance, assuming the current page is /home/index, the generated HTML will look like this (some line breaks added for readability): &amp;lt;ref&amp;gt;http://edgeguides.rubyonrails.org/form_helpers.html#making-select-boxes-with-ease&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;form accept-charset=&amp;quot;UTF-8&amp;quot; action=&amp;quot;/home/index&amp;quot; method=&amp;quot;post&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;div style=&amp;quot;margin:0;padding:0&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;input name=&amp;quot;utf8&amp;quot; type=&amp;quot;hidden&amp;quot; value=&amp;quot;&amp;amp;#x2713;&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;input name=&amp;quot;authenticity_token&amp;quot; type=&amp;quot;hidden&amp;quot; value=&amp;quot;f755bb0ed134b76c432144748a6d4b7a7ddf2b71&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
  Form contents&lt;br /&gt;
&amp;lt;/form&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Forms in Rails consist of Elements, which are labels, input elements, submit buttons etc.&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
===Text Fields===&lt;br /&gt;
Text Fields in Rails Forms allow the user to input a few words or a single word. These are generally used to capture Names, Addresses, Phone numbers etc. To create a text field in Rails Forms use the following syntax:&amp;lt;ref&amp;gt;http://www.tutorialspoint.com/ruby-on-rails/rails-html-forms.htm&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;%= text_field :modelname, :attribute_name, options %&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
In the example below we create a text field of size 20 characters :&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;%= text_field &amp;quot;person&amp;quot;, &amp;quot;name&amp;quot;, &amp;quot;size&amp;quot; =&amp;gt; 20 %&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
This will generate following code:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;input type=&amp;quot;text&amp;quot; id=&amp;quot;person_name&amp;quot; name=&amp;quot;person[name]&amp;quot;&lt;br /&gt;
      size=&amp;quot;20&amp;quot; value=&amp;quot;&amp;lt;%= @person.name %&amp;gt;&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Rails also allows us to create Hidden Fields. Hidden Fields don't show up on the Page and hence can contain any value which the user cannot see or change. To create hidden fields use the following syntax;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;%= hidden_field ... %&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
To create password fields use the following syntax;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;%= password_field ... %&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
To create file upload fields use the following syntax;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;%= file_field ... %&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
===TextArea Fields===&lt;br /&gt;
Text Area Fields allow us to enter information in paragraphs, i.e, enter data that has more than a few words and sentences. Text Area Fields are also adjustable in size. To change the size of a Text Area Field, we are required to change the rows and cols values to numbers of our interest. &amp;lt;ref&amp;gt;http://www.tutorialspoint.com/ruby-on-rails/rails-html-forms.htm&amp;lt;/ref&amp;gt;&lt;br /&gt;
To create a text area use the following syntax:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;%= text_area ... %&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;%= text_area &amp;quot;post&amp;quot;, &amp;quot;body&amp;quot;, &amp;quot;cols&amp;quot; =&amp;gt; 20, &amp;quot;rows&amp;quot; =&amp;gt; 40%&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
This will generate the following code:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;textarea cols=&amp;quot;20&amp;quot; rows=&amp;quot;40&amp;quot; id=&amp;quot;post_body&amp;quot; name=&amp;quot;post[body]&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;%={@post.body}%&amp;gt;&lt;br /&gt;
&amp;lt;/textarea&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
===Radio Button===&lt;br /&gt;
Rails Forms can also include Radio Button, for choice based User Inputs. To create a radio button, use the following Syntax &amp;lt;ref&amp;gt;http://apidock.com/rails/ActionView/Helpers/FormHelper/radio_button&amp;lt;/ref&amp;gt;:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;%= radio_button :modelname, :attribute, :tag_value, options %&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Consider example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 radio_button(&amp;quot;post&amp;quot;, &amp;quot;category&amp;quot;, &amp;quot;rails&amp;quot;)&lt;br /&gt;
 radio_button(&amp;quot;post&amp;quot;, &amp;quot;category&amp;quot;, &amp;quot;java&amp;quot;)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This will generate following code:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;input type=&amp;quot;radio&amp;quot; id=&amp;quot;post_category&amp;quot; name=&amp;quot;post[category]&amp;quot; &lt;br /&gt;
value=&amp;quot;rails&amp;quot; checked=&amp;quot;checked&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;input type=&amp;quot;radio&amp;quot; id=&amp;quot;post_category&amp;quot; name=&amp;quot;post[category]&amp;quot; &lt;br /&gt;
                    value=&amp;quot;java&amp;quot;= /&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Checkbox Button===&lt;br /&gt;
Checkboxes can be added to Forms in Rails, using the following syntax&amp;lt;ref&amp;gt;http://www.tutorialspoint.com/ruby-on-rails/rails-html-forms.htm&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;%= check_box :modelname, :attribute,options,on_value,off_value%&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Consider the following example:&lt;br /&gt;
&amp;lt;pre&amp;gt;check_box(&amp;quot;post&amp;quot;, &amp;quot;validated&amp;quot;)&amp;lt;/pre&amp;gt;&lt;br /&gt;
This generate following code:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;input type=&amp;quot;checkbox&amp;quot; id=&amp;quot;post_validate&amp;quot; name=&amp;quot;post[validated]&amp;quot; &lt;br /&gt;
                                   value=&amp;quot;1&amp;quot; checked=&amp;quot;checked&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;input name=&amp;quot;post[validated]&amp;quot; type=&amp;quot;hidden&amp;quot; value=&amp;quot;0&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
===Dropdown List===&lt;br /&gt;
Dropdown Lists in Forms allow users to select a value from a set of predefined values. &amp;lt;ref&amp;gt;http://www.tutorialspoint.com/ruby-on-rails/rails-html-forms.htm&amp;lt;/ref&amp;gt;To create a drop-down list use the following syntax:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;%= select :variable,:attribute,choices,options,html_options%&amp;lt;/pre&amp;gt;&lt;br /&gt;
Have a look at the following example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
select(&amp;quot;post&amp;quot;, &amp;quot;person_id&amp;quot;, &lt;br /&gt;
       Person.find(:all).collect {|p| [ p.name, p.id ] })&lt;br /&gt;
This could generate following code. It depends on what value is available in your database.:&lt;br /&gt;
  &amp;lt;select name=&amp;quot;post[person_id]&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;option value=&amp;quot;1&amp;quot;&amp;gt;David&amp;lt;/option&amp;gt;&lt;br /&gt;
    &amp;lt;option value=&amp;quot;2&amp;quot;&amp;gt;Sam&amp;lt;/option&amp;gt;&lt;br /&gt;
    &amp;lt;option value=&amp;quot;3&amp;quot;&amp;gt;Tobias&amp;lt;/option&amp;gt;&lt;br /&gt;
  &amp;lt;/select&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=== The Submit Button===&lt;br /&gt;
The Submit Button:&lt;br /&gt;
Submit button in Rails will perform the desired action the form is linked to, and is usually located in the bottom, where the form ends. Submit button sends the data in the form through POST/GET actions in HTML.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
==Actions==&lt;br /&gt;
The action attribute in Rails Forms specifies what to do when a Form is submitted&amp;lt;ref&amp;gt;http://paulsturgess.co.uk/articles/49-using-helper-methods-in-ruby-on-rails&amp;lt;/ref&amp;gt;. The action attribute is specified in form_tag itself. For example,  &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  &amp;lt;%= form_tag :action =&amp;gt; &amp;quot;create&amp;quot; %&amp;gt;&lt;br /&gt;
   Name: &amp;lt;%= text_field &amp;quot;item&amp;quot;, &amp;quot;name&amp;quot;&lt;br /&gt;
%&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
   Value: &amp;lt;%= text_field &amp;quot;item&amp;quot;, &amp;quot;value&amp;quot;&lt;br /&gt;
%&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
   &amp;lt;%= submit_tag %&amp;gt;&lt;br /&gt;
  &amp;lt;%= end_form_tag %&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
For the object &amp;quot;item&amp;quot;  in the example above, the Controller ItemsController should include a method called &amp;quot;create&amp;quot; which will respond to the form's action. We add the method &amp;quot;Create&amp;quot; in the code below:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
class ItemsController &amp;lt; ApplicationController&lt;br /&gt;
    def new&lt;br /&gt;
      @item = Item.new&lt;br /&gt;
    end&lt;br /&gt;
#add method create&lt;br /&gt;
    def create&lt;br /&gt;
      @item = Item.create(params[:item]) &lt;br /&gt;
      redirect_to :action =&amp;gt; 'edit', :id =&amp;gt; @item.id &lt;br /&gt;
    end&lt;br /&gt;
#add method create&lt;br /&gt;
  end&amp;lt;/pre&amp;gt;&lt;br /&gt;
If more actions are desired, corresponding methods must be added in the Controller class of the object.&lt;br /&gt;
==Actions==&lt;br /&gt;
In rails,routes are used to automatically direct a HTTP request to the appropriate controller action.The main purpose&lt;br /&gt;
With the help of routes one can easily name and configure a URL path i.e the routing engine can figure out where to go and which action to invoke for a given URL. This also works in reverse, which in turn reduces the rigidness in your application structure. &amp;lt;ref&amp;gt;http://guides.rubyonrails.org/v2.3.11/routing.html#crud-verbs-and-actions&amp;lt;/ref&amp;gt;&lt;br /&gt;
==Views==&lt;br /&gt;
Views are used to render forms or data to the user. It displays only necessary information and hides internal workings from the user.&lt;br /&gt;
In views it is more about presentation of data than the data itself. More focus is given to layout and template so as to make it as easy as possible for the end user.&lt;br /&gt;
&lt;br /&gt;
===Views in forms===&lt;br /&gt;
In Rails, each form element has a name which controls how values will appear in the controller which has the params hash.&lt;br /&gt;
When we use params rails automatically does the required HTTP parsing  for populating the instance.&amp;lt;br/&amp;gt;&lt;br /&gt;
Also one of the main advantages of ruby is that it has many features which can be used to reduce repetition of code for generating views.&lt;br /&gt;
One was the ways this can be done is to use helper modules which by default have excellent ruby support.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Helpers==&lt;br /&gt;
Can be used to define any piece of code which will be called many times by the view. Helper methods mainly are used to provide functionality in the views. Also default helper programs can used for otherwise cumbersome to implement functions like date etc&amp;lt;ref&amp;gt;http://www.railsforum.com/viewtopic.php?id=1026&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Helpers in forms===&lt;br /&gt;
Helpers are used to hide view logic form the end user. Ideally all business logic need to be present in model methods but if one needs to add logic in the view itself then writing the helper method is a good design choice.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Inbuilt options in rails&lt;br /&gt;
We have many default helper methods in rails which provide us with ready to use option for most commonly used things in a form&lt;br /&gt;
Some example for default helpers are:&lt;br /&gt;
•	Linking and form building&lt;br /&gt;
•	Date and Time methods&lt;br /&gt;
&lt;br /&gt;
==Routes==&lt;br /&gt;
In rails,routes are used to automatically direct a HTTP request to the appropriate controller action.The main purpose&lt;br /&gt;
With the help of routes one can easily name and configure a URL path i.e the routing engine can figure out where to go and which action to invoke for a given URL.&lt;br /&gt;
This also works in reverse, which in turn reduces the rigidness in your application structure.&lt;br /&gt;
&amp;lt;ref&amp;gt;http://guides.rubyonrails.org/v2.3.11/routing.html#crud-verbs-and-actions&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Things to do with forms==&lt;br /&gt;
&lt;br /&gt;
1)Generate/display – This relates to presenting a layout by using templates to the user.&amp;lt;br/&amp;gt;&lt;br /&gt;
2)Values filling by user -&lt;br /&gt;
Take input from the user for the generated form by providing buttons,text boxes or drop downs.&amp;lt;br/&amp;gt;&lt;br /&gt;
3)Render/Redirect after form creation-&lt;br /&gt;
After the form is filled and ready, the form should get submitted and the required data must be saved.&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==General steps to create forms==&lt;br /&gt;
•	Identify action that fetches the form &amp;lt;br/&amp;gt;&lt;br /&gt;
•	Identify actions that handles form submission&amp;lt;br/&amp;gt;&lt;br /&gt;
•	Create routes, action, views for each&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==What does a form look like?==&lt;br /&gt;
Below is a sample form which can be used to add a new entry. A entry has a topic with some content and a checkbox option as a functionality. Notice the use of the format modelname.field as this is the convention genrerally followed. This helps in easy understandably of code later on.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;h1&amp;gt;Add a new entry&amp;lt;/h1&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;%= form_for  @entry do |fc|  %&amp;gt;&lt;br /&gt;
    &amp;lt;p&amp;gt;&lt;br /&gt;
      &amp;lt;%= f.label :topic  %&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
      &amp;lt;%= f.text_field :topic  %&amp;gt;&lt;br /&gt;
    &amp;lt;/p&amp;gt;&lt;br /&gt;
    &amp;lt;p&amp;gt;&lt;br /&gt;
      &amp;lt;%= f.label :content  %&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
      &amp;lt;%= f.text_area :content %&amp;gt;&lt;br /&gt;
    &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
      &amp;lt;%= f.label :tick %&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
      &amp;lt;%= f.check_box :tick %&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
    &amp;lt;p&amp;gt;&lt;br /&gt;
      &amp;lt;%= f.submit &amp;quot;Add a new Entry&amp;quot; %&amp;gt;&lt;br /&gt;
    &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;% end %&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Conclusion==&lt;br /&gt;
Forms in Rails are a great way to interact and obtain data from the user. Additionally, forms also support validation checks. &lt;br /&gt;
Other major advantages of forms are that they are easy to maintain and readable not only from the users viewpoint but also for the developers.  &lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&amp;lt;references&amp;gt;&amp;lt;/references&amp;gt;&lt;/div&gt;</summary>
		<author><name>Spangul</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2012/ch1b_1w66_as&amp;diff=66346</id>
		<title>CSC/ECE 517 Fall 2012/ch1b 1w66 as</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2012/ch1b_1w66_as&amp;diff=66346"/>
		<updated>2012-10-03T05:33:56Z</updated>

		<summary type="html">&lt;p&gt;Spangul: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Forms-Ruby=&lt;br /&gt;
==Introduction==&lt;br /&gt;
Forms in web applications are an essential interface for user input. However, form markup can quickly become tedious to write and maintain because of form control naming and their numerous attributes. Rails deals away with these complexities by providing view helpers for generating form markup.&amp;lt;ref&amp;gt;http://www.guides.rubyonrails.org/form_helpers.html&amp;lt;/ref&amp;gt; Rails provides excellent features to create forms and gather user input.&lt;br /&gt;
Forms in Rails are an effective way to obtain user input in a convenient manner. Forms &lt;br /&gt;
can include different types of data fields that will help obtain different types of data. For&lt;br /&gt;
example, Text box can fetch a few words from the user and Text Area, a paragraph. Forms are embedded in a Web Application and are very user-friendly.&lt;br /&gt;
Forms in Rails also have in-built functionalities to verify the data the user enters, validate it using a set of predefined rules, display corresponding error messages(in case of non-compliance) and storing the information in the database if it passes validation.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
==Creating a Form==&lt;br /&gt;
Forms written in Rails are automatically generated as HTML Forms and are rendered into views.&lt;br /&gt;
Forms are created in Rails using the basic helper called Form_tag&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;%= form_tag do %&amp;gt;&lt;br /&gt;
  Form contents&lt;br /&gt;
&amp;lt;% end %&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
When form_tag is called as above, it creates a &amp;lt;form&amp;gt; tag which, when submitted, will POST to the current page. For instance, assuming the current page is /home/index, the generated HTML will look like this (some line breaks added for readability): &amp;lt;ref&amp;gt;http://edgeguides.rubyonrails.org/form_helpers.html#making-select-boxes-with-ease&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;form accept-charset=&amp;quot;UTF-8&amp;quot; action=&amp;quot;/home/index&amp;quot; method=&amp;quot;post&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;div style=&amp;quot;margin:0;padding:0&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;input name=&amp;quot;utf8&amp;quot; type=&amp;quot;hidden&amp;quot; value=&amp;quot;&amp;amp;#x2713;&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;input name=&amp;quot;authenticity_token&amp;quot; type=&amp;quot;hidden&amp;quot; value=&amp;quot;f755bb0ed134b76c432144748a6d4b7a7ddf2b71&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
  Form contents&lt;br /&gt;
&amp;lt;/form&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Forms in Rails consist of Elements, which are labels, input elements, submit buttons etc.&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
===Text Fields===&lt;br /&gt;
Text Fields in Rails Forms allow the user to input a few words or a single word. These are generally used to capture Names, Addresses, Phone numbers etc. To create a text field in Rails Forms use the following syntax:&amp;lt;ref&amp;gt;http://www.tutorialspoint.com/ruby-on-rails/rails-html-forms.htm&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;%= text_field :modelname, :attribute_name, options %&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
In the example below we create a text field of size 20 characters :&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;%= text_field &amp;quot;person&amp;quot;, &amp;quot;name&amp;quot;, &amp;quot;size&amp;quot; =&amp;gt; 20 %&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
This will generate following code:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;input type=&amp;quot;text&amp;quot; id=&amp;quot;person_name&amp;quot; name=&amp;quot;person[name]&amp;quot;&lt;br /&gt;
      size=&amp;quot;20&amp;quot; value=&amp;quot;&amp;lt;%= @person.name %&amp;gt;&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Rails also allows us to create Hidden Fields. Hidden Fields don't show up on the Page and hence can contain any value which the user cannot see or change. To create hidden fields use the following syntax;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;%= hidden_field ... %&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
To create password fields use the following syntax;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;%= password_field ... %&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
To create file upload fields use the following syntax;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;%= file_field ... %&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
===TextArea Fields===&lt;br /&gt;
Text Area Fields allow us to enter information in paragraphs, i.e, enter data that has more than a few words and sentences. Text Area Fields are also adjustable in size. To change the size of a Text Area Field, we are required to change the rows and cols values to numbers of our interest. &amp;lt;ref&amp;gt;http://www.tutorialspoint.com/ruby-on-rails/rails-html-forms.htm&amp;lt;/ref&amp;gt;&lt;br /&gt;
To create a text area use the following syntax:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;%= text_area ... %&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;%= text_area &amp;quot;post&amp;quot;, &amp;quot;body&amp;quot;, &amp;quot;cols&amp;quot; =&amp;gt; 20, &amp;quot;rows&amp;quot; =&amp;gt; 40%&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
This will generate the following code:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;textarea cols=&amp;quot;20&amp;quot; rows=&amp;quot;40&amp;quot; id=&amp;quot;post_body&amp;quot; name=&amp;quot;post[body]&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;%={@post.body}%&amp;gt;&lt;br /&gt;
&amp;lt;/textarea&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
===Radio Button===&lt;br /&gt;
Rails Forms can also include Radio Button, for choice based User Inputs. To create a radio button, use the following Syntax &amp;lt;ref&amp;gt;http://apidock.com/rails/ActionView/Helpers/FormHelper/radio_button&amp;lt;/ref&amp;gt;:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;%= radio_button :modelname, :attribute, :tag_value, options %&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Consider example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 radio_button(&amp;quot;post&amp;quot;, &amp;quot;category&amp;quot;, &amp;quot;rails&amp;quot;)&lt;br /&gt;
 radio_button(&amp;quot;post&amp;quot;, &amp;quot;category&amp;quot;, &amp;quot;java&amp;quot;)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This will generate following code:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;input type=&amp;quot;radio&amp;quot; id=&amp;quot;post_category&amp;quot; name=&amp;quot;post[category]&amp;quot; &lt;br /&gt;
value=&amp;quot;rails&amp;quot; checked=&amp;quot;checked&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;input type=&amp;quot;radio&amp;quot; id=&amp;quot;post_category&amp;quot; name=&amp;quot;post[category]&amp;quot; &lt;br /&gt;
                    value=&amp;quot;java&amp;quot;= /&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Checkbox Button===&lt;br /&gt;
Checkboxes can be added to Forms in Rails, using the following syntax&amp;lt;ref&amp;gt;http://www.tutorialspoint.com/ruby-on-rails/rails-html-forms.htm&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;%= check_box :modelname, :attribute,options,on_value,off_value%&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Consider the following example:&lt;br /&gt;
&amp;lt;pre&amp;gt;check_box(&amp;quot;post&amp;quot;, &amp;quot;validated&amp;quot;)&amp;lt;/pre&amp;gt;&lt;br /&gt;
This generate following code:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;input type=&amp;quot;checkbox&amp;quot; id=&amp;quot;post_validate&amp;quot; name=&amp;quot;post[validated]&amp;quot; &lt;br /&gt;
                                   value=&amp;quot;1&amp;quot; checked=&amp;quot;checked&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;input name=&amp;quot;post[validated]&amp;quot; type=&amp;quot;hidden&amp;quot; value=&amp;quot;0&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
===Dropdown List===&lt;br /&gt;
Dropdown Lists in Forms allow users to select a value from a set of predefined values. &amp;lt;ref&amp;gt;http://www.tutorialspoint.com/ruby-on-rails/rails-html-forms.htm&amp;lt;/ref&amp;gt;To create a drop-down list use the following syntax:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;%= select :variable,:attribute,choices,options,html_options%&amp;lt;/pre&amp;gt;&lt;br /&gt;
Have a look at the following example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
select(&amp;quot;post&amp;quot;, &amp;quot;person_id&amp;quot;, &lt;br /&gt;
       Person.find(:all).collect {|p| [ p.name, p.id ] })&lt;br /&gt;
This could generate following code. It depends on what value is available in your database.:&lt;br /&gt;
  &amp;lt;select name=&amp;quot;post[person_id]&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;option value=&amp;quot;1&amp;quot;&amp;gt;David&amp;lt;/option&amp;gt;&lt;br /&gt;
    &amp;lt;option value=&amp;quot;2&amp;quot;&amp;gt;Sam&amp;lt;/option&amp;gt;&lt;br /&gt;
    &amp;lt;option value=&amp;quot;3&amp;quot;&amp;gt;Tobias&amp;lt;/option&amp;gt;&lt;br /&gt;
  &amp;lt;/select&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=== The Submit Button===&lt;br /&gt;
The Submit Button:&lt;br /&gt;
Submit button in Rails will perform the desired action the form is linked to, and is usually located in the bottom, where the form ends. Submit button sends the data in the form through POST/GET actions in HTML.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
==Actions==&lt;br /&gt;
The action attribute in Rails Forms specifies what to do when a Form is submitted&amp;lt;ref&amp;gt;http://paulsturgess.co.uk/articles/49-using-helper-methods-in-ruby-on-rails&amp;lt;/ref&amp;gt;. The action attribute is specified in form_tag itself. For example,  &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  &amp;lt;%= form_tag :action =&amp;gt; &amp;quot;create&amp;quot; %&amp;gt;&lt;br /&gt;
   Name: &amp;lt;%= text_field &amp;quot;item&amp;quot;, &amp;quot;name&amp;quot;&lt;br /&gt;
%&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
   Value: &amp;lt;%= text_field &amp;quot;item&amp;quot;, &amp;quot;value&amp;quot;&lt;br /&gt;
%&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
   &amp;lt;%= submit_tag %&amp;gt;&lt;br /&gt;
  &amp;lt;%= end_form_tag %&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
For the object &amp;quot;item&amp;quot;  in the example above, the Controller ItemsController should include a method called &amp;quot;create&amp;quot; which will respond to the form's action. We add the method &amp;quot;Create&amp;quot; in the code below:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
class ItemsController &amp;lt; ApplicationController&lt;br /&gt;
    def new&lt;br /&gt;
      @item = Item.new&lt;br /&gt;
    end&lt;br /&gt;
#add method create&lt;br /&gt;
    def create&lt;br /&gt;
      @item = Item.create(params[:item]) &lt;br /&gt;
      redirect_to :action =&amp;gt; 'edit', :id =&amp;gt; @item.id &lt;br /&gt;
    end&lt;br /&gt;
#add method create&lt;br /&gt;
  end&amp;lt;/pre&amp;gt;&lt;br /&gt;
If more actions are desired, corresponding methods must be added in the Controller class of the object.&lt;br /&gt;
==Actions==&lt;br /&gt;
In rails,routes are used to automatically direct a HTTP request to the appropriate controller action.The main purpose&lt;br /&gt;
With the help of routes one can easily name and configure a URL path i.e the routing engine can figure out where to go and which action to invoke for a given URL. This also works in reverse, which in turn reduces the rigidness in your application structure. &amp;lt;ref&amp;gt;http://guides.rubyonrails.org/v2.3.11/routing.html#crud-verbs-and-actions&amp;lt;/ref&amp;gt;&lt;br /&gt;
==Views==&lt;br /&gt;
Views are used to render forms or data to the user. It displays only necessary information and hides internal workings from the user.&lt;br /&gt;
In views it is more about presentation of data than the data itself. More focus is given to layout and template so as to make it as easy as possible for the end user.&lt;br /&gt;
&lt;br /&gt;
===Views in forms===&lt;br /&gt;
In Rails, each form element has a name which controls how values will appear in the controller which has the params hash.&lt;br /&gt;
When we use params rails automatically does the required HTTP parsing  for populating the instance.&amp;lt;br/&amp;gt;&lt;br /&gt;
Also one of the main advantages of ruby is that it has many features which can be used to reduce repetition of code for generating views.&lt;br /&gt;
One was the ways this can be done is to use helper modules which by default have excellent ruby support.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Helpers==&lt;br /&gt;
Can be used to define any piece of code which will be called many times by the view. Helper methods mainly are used to provide functionality in the views. Also default helper programs can used for otherwise cumbersome to implement functions like date etc&amp;lt;ref&amp;gt;http://www.railsforum.com/viewtopic.php?id=1026&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Helpers in forms===&lt;br /&gt;
Helpers are used to hide view logic form the end user. Ideally all business logic need to be present in model methods but if one needs to add logic in the view itself then writing the helper method is a good design choice.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Inbuilt options in rails&lt;br /&gt;
We have many default helper methods in rails which provide us with ready to use option for most commonly used things in a form&lt;br /&gt;
Some example for default helpers are:&lt;br /&gt;
•	Linking and form building&lt;br /&gt;
•	Date and Time methods&lt;br /&gt;
&lt;br /&gt;
==Routes==&lt;br /&gt;
In rails,routes are used to automatically direct a HTTP request to the appropriate controller action.The main purpose&lt;br /&gt;
With the help of routes one can easily name and configure a URL path i.e the routing engine can figure out where to go and which action to invoke for a given URL.&lt;br /&gt;
This also works in reverse, which in turn reduces the rigidness in your application structure.&lt;br /&gt;
&amp;lt;ref&amp;gt;http://guides.rubyonrails.org/v2.3.11/routing.html#crud-verbs-and-actions&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Things to do with forms==&lt;br /&gt;
&lt;br /&gt;
1)Generate/display – This relates to presenting a layout by using templates to the user.&amp;lt;br/&amp;gt;&lt;br /&gt;
2)Values filling by user -&lt;br /&gt;
Take input from the user for the generated form by providing buttons,text boxes or drop downs.&amp;lt;br/&amp;gt;&lt;br /&gt;
3)Render/Redirect after form creation-&lt;br /&gt;
After the form is filled and ready, the form should get submitted and the required data must be saved.&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==General steps to create forms==&lt;br /&gt;
•	Identify action that fetches the form&lt;br /&gt;
•	Identify actions that handles form submission&lt;br /&gt;
•	Create routes, action, views for each&lt;br /&gt;
&lt;br /&gt;
==What does a form look like?==&lt;br /&gt;
Below is a sample form which can be used to add a new entry. A entry has a topic with some content and a checkbox option as a functionality. Notice the use of the format modelname.field as this is the convention genrerally followed. This helps in easy understandably of code later on.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;h1&amp;gt;Add a new entry&amp;lt;/h1&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;%= form_for  @entry do |fc|  %&amp;gt;&lt;br /&gt;
    &amp;lt;p&amp;gt;&lt;br /&gt;
      &amp;lt;%= f.label :topic  %&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
      &amp;lt;%= f.text_field :topic  %&amp;gt;&lt;br /&gt;
    &amp;lt;/p&amp;gt;&lt;br /&gt;
    &amp;lt;p&amp;gt;&lt;br /&gt;
      &amp;lt;%= f.label :content  %&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
      &amp;lt;%= f.text_area :content %&amp;gt;&lt;br /&gt;
    &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
      &amp;lt;%= f.label :tick %&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
      &amp;lt;%= f.check_box :tick %&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
    &amp;lt;p&amp;gt;&lt;br /&gt;
      &amp;lt;%= f.submit &amp;quot;Add a new Entry&amp;quot; %&amp;gt;&lt;br /&gt;
    &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;% end %&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&amp;lt;references&amp;gt;&amp;lt;/references&amp;gt;&lt;/div&gt;</summary>
		<author><name>Spangul</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2012/ch1b_1w66_as&amp;diff=66342</id>
		<title>CSC/ECE 517 Fall 2012/ch1b 1w66 as</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2012/ch1b_1w66_as&amp;diff=66342"/>
		<updated>2012-10-03T05:13:05Z</updated>

		<summary type="html">&lt;p&gt;Spangul: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Forms-Ruby=&lt;br /&gt;
==Introduction==&lt;br /&gt;
Forms in web applications are an essential interface for user input. However, form markup can quickly become tedious to write and maintain because of form control naming and their numerous attributes. Rails deals away with these complexities by providing view helpers for generating form markup.&amp;lt;ref&amp;gt;http://www.guides.rubyonrails.org/form_helpers.html&amp;lt;/ref&amp;gt; Rails provides excellent features to create forms and gather user input.&lt;br /&gt;
Forms in Rails are an effective way to obtain user input in a convenient manner. Forms &lt;br /&gt;
can include different types of data fields that will help obtain different types of data. For&lt;br /&gt;
example, Text box can fetch a few words from the user and Text Area, a paragraph. Forms are embedded in a Web Application and are very user-friendly.&lt;br /&gt;
Forms in Rails also have in-built functionalities to verify the data the user enters, validate it using a set of predefined rules, display corresponding error messages(in case of non-compliance) and storing the information in the database if it passes validation.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
==Creating a Form==&lt;br /&gt;
Forms written in Rails are automatically generated as HTML Forms and are rendered into views.&lt;br /&gt;
Forms are created in Rails using the basic helper called Form_tag&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;%= form_tag do %&amp;gt;&lt;br /&gt;
  Form contents&lt;br /&gt;
&amp;lt;% end %&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
When form_tag is called as above, it creates a &amp;lt;form&amp;gt; tag which, when submitted, will POST to the current page. For instance, assuming the current page is /home/index, the generated HTML will look like this (some line breaks added for readability): &amp;lt;ref&amp;gt;http://edgeguides.rubyonrails.org/form_helpers.html#making-select-boxes-with-ease&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;form accept-charset=&amp;quot;UTF-8&amp;quot; action=&amp;quot;/home/index&amp;quot; method=&amp;quot;post&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;div style=&amp;quot;margin:0;padding:0&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;input name=&amp;quot;utf8&amp;quot; type=&amp;quot;hidden&amp;quot; value=&amp;quot;&amp;amp;#x2713;&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;input name=&amp;quot;authenticity_token&amp;quot; type=&amp;quot;hidden&amp;quot; value=&amp;quot;f755bb0ed134b76c432144748a6d4b7a7ddf2b71&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
  Form contents&lt;br /&gt;
&amp;lt;/form&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Forms in Rails consist of Elements, which are labels, input elements, submit buttons etc.&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
===Text Fields===&lt;br /&gt;
Text Fields in Rails Forms allow the user to input a few words or a single word. These are generally used to capture Names, Addresses, Phone numbers etc. To create a text field in Rails Forms use the following syntax:&amp;lt;ref&amp;gt;http://www.tutorialspoint.com/ruby-on-rails/rails-html-forms.htm&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;%= text_field :modelname, :attribute_name, options %&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
In the example below we create a text field of size 20 characters :&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;%= text_field &amp;quot;person&amp;quot;, &amp;quot;name&amp;quot;, &amp;quot;size&amp;quot; =&amp;gt; 20 %&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
This will generate following code:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;input type=&amp;quot;text&amp;quot; id=&amp;quot;person_name&amp;quot; name=&amp;quot;person[name]&amp;quot;&lt;br /&gt;
      size=&amp;quot;20&amp;quot; value=&amp;quot;&amp;lt;%= @person.name %&amp;gt;&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Rails also allows us to create Hidden Fields. Hidden Fields don't show up on the Page and hence can contain any value which the user cannot see or change. To create hidden fields use the following syntax;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;%= hidden_field ... %&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
To create password fields use the following syntax;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;%= password_field ... %&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
To create file upload fields use the following syntax;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;%= file_field ... %&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
===TextArea Fields===&lt;br /&gt;
Text Area Fields allow us to enter information in paragraphs, i.e, enter data that has more than a few words and sentences. Text Area Fields are also adjustable in size. To change the size of a Text Area Field, we are required to change the rows and cols values to numbers of our interest. &amp;lt;ref&amp;gt;http://www.tutorialspoint.com/ruby-on-rails/rails-html-forms.htm&amp;lt;/ref&amp;gt;&lt;br /&gt;
To create a text area use the following syntax:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;%= text_area ... %&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;%= text_area &amp;quot;post&amp;quot;, &amp;quot;body&amp;quot;, &amp;quot;cols&amp;quot; =&amp;gt; 20, &amp;quot;rows&amp;quot; =&amp;gt; 40%&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
This will generate the following code:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;textarea cols=&amp;quot;20&amp;quot; rows=&amp;quot;40&amp;quot; id=&amp;quot;post_body&amp;quot; name=&amp;quot;post[body]&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;%={@post.body}%&amp;gt;&lt;br /&gt;
&amp;lt;/textarea&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
===Radio Button===&lt;br /&gt;
Rails Forms can also include Radio Button, for choice based User Inputs. To create a radio button, use the following Syntax &amp;lt;ref&amp;gt;http://apidock.com/rails/ActionView/Helpers/FormHelper/radio_button&amp;lt;/ref&amp;gt;:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;%= radio_button :modelname, :attribute, :tag_value, options %&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Consider example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 radio_button(&amp;quot;post&amp;quot;, &amp;quot;category&amp;quot;, &amp;quot;rails&amp;quot;)&lt;br /&gt;
 radio_button(&amp;quot;post&amp;quot;, &amp;quot;category&amp;quot;, &amp;quot;java&amp;quot;)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This will generate following code:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;input type=&amp;quot;radio&amp;quot; id=&amp;quot;post_category&amp;quot; name=&amp;quot;post[category]&amp;quot; &lt;br /&gt;
value=&amp;quot;rails&amp;quot; checked=&amp;quot;checked&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;input type=&amp;quot;radio&amp;quot; id=&amp;quot;post_category&amp;quot; name=&amp;quot;post[category]&amp;quot; &lt;br /&gt;
                    value=&amp;quot;java&amp;quot;= /&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Checkbox Button===&lt;br /&gt;
Checkboxes can be added to Forms in Rails, using the following syntax&amp;lt;ref&amp;gt;http://www.tutorialspoint.com/ruby-on-rails/rails-html-forms.htm&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;%= check_box :modelname, :attribute,options,on_value,off_value%&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Consider the following example:&lt;br /&gt;
&amp;lt;pre&amp;gt;check_box(&amp;quot;post&amp;quot;, &amp;quot;validated&amp;quot;)&amp;lt;/pre&amp;gt;&lt;br /&gt;
This generate following code:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;input type=&amp;quot;checkbox&amp;quot; id=&amp;quot;post_validate&amp;quot; name=&amp;quot;post[validated]&amp;quot; &lt;br /&gt;
                                   value=&amp;quot;1&amp;quot; checked=&amp;quot;checked&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;input name=&amp;quot;post[validated]&amp;quot; type=&amp;quot;hidden&amp;quot; value=&amp;quot;0&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
===Dropdown List===&lt;br /&gt;
Dropdown Lists in Forms allow users to select a value from a set of predefined values. &amp;lt;ref&amp;gt;http://www.tutorialspoint.com/ruby-on-rails/rails-html-forms.htm&amp;lt;/ref&amp;gt;To create a drop-down list use the following syntax:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;%= select :variable,:attribute,choices,options,html_options%&amp;lt;/pre&amp;gt;&lt;br /&gt;
Have a look at the following example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
select(&amp;quot;post&amp;quot;, &amp;quot;person_id&amp;quot;, &lt;br /&gt;
       Person.find(:all).collect {|p| [ p.name, p.id ] })&lt;br /&gt;
This could generate following code. It depends on what value is available in your database.:&lt;br /&gt;
  &amp;lt;select name=&amp;quot;post[person_id]&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;option value=&amp;quot;1&amp;quot;&amp;gt;David&amp;lt;/option&amp;gt;&lt;br /&gt;
    &amp;lt;option value=&amp;quot;2&amp;quot;&amp;gt;Sam&amp;lt;/option&amp;gt;&lt;br /&gt;
    &amp;lt;option value=&amp;quot;3&amp;quot;&amp;gt;Tobias&amp;lt;/option&amp;gt;&lt;br /&gt;
  &amp;lt;/select&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=== The Submit Button===&lt;br /&gt;
The Submit Button:&lt;br /&gt;
Submit button in Rails will perform the desired action the form is linked to, and is usually located in the bottom, where the form ends. Submit button sends the data in the form through POST/GET actions in HTML.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
==Actions==&lt;br /&gt;
The action attribute in Rails Forms specifies what to do when a Form is submitted&amp;lt;ref&amp;gt;http://paulsturgess.co.uk/articles/49-using-helper-methods-in-ruby-on-rails&amp;lt;/ref&amp;gt;. The action attribute is specified in form_tag itself. For example,  &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  &amp;lt;%= form_tag :action =&amp;gt; &amp;quot;create&amp;quot; %&amp;gt;&lt;br /&gt;
   Name: &amp;lt;%= text_field &amp;quot;item&amp;quot;, &amp;quot;name&amp;quot;&lt;br /&gt;
%&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
   Value: &amp;lt;%= text_field &amp;quot;item&amp;quot;, &amp;quot;value&amp;quot;&lt;br /&gt;
%&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
   &amp;lt;%= submit_tag %&amp;gt;&lt;br /&gt;
  &amp;lt;%= end_form_tag %&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
For the object &amp;quot;item&amp;quot;  in the example above, the Controller ItemsController should include a method called &amp;quot;create&amp;quot; which will respond to the form's action. We add the method &amp;quot;Create&amp;quot; in the code below:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
class ItemsController &amp;lt; ApplicationController&lt;br /&gt;
    def new&lt;br /&gt;
      @item = Item.new&lt;br /&gt;
    end&lt;br /&gt;
#add method create&lt;br /&gt;
    def create&lt;br /&gt;
      @item = Item.create(params[:item]) &lt;br /&gt;
      redirect_to :action =&amp;gt; 'edit', :id =&amp;gt; @item.id &lt;br /&gt;
    end&lt;br /&gt;
#add method create&lt;br /&gt;
  end&amp;lt;/pre&amp;gt;&lt;br /&gt;
If more actions are desired, corresponding methods must be added in the Controller class of the object.&lt;br /&gt;
==Actions==&lt;br /&gt;
In rails,routes are used to automatically direct a HTTP request to the appropriate controller action.The main purpose&lt;br /&gt;
With the help of routes one can easily name and configure a URL path i.e the routing engine can figure out where to go and which action to invoke for a given URL. This also works in reverse, which in turn reduces the rigidness in your application structure. &amp;lt;ref&amp;gt;http://guides.rubyonrails.org/v2.3.11/routing.html#crud-verbs-and-actions&amp;lt;/ref&amp;gt;&lt;br /&gt;
==Views==&lt;br /&gt;
Views are used to render forms or data to the user. It displays only necessary information and hides internal workings from the user.&lt;br /&gt;
In views it is more about presentation of data than the data itself. More focus is given to layout and template so as to make it as easy as possible for the end user.&lt;br /&gt;
==Helpers==&lt;br /&gt;
Helpers:&lt;br /&gt;
Can be used to define any piece of code which will be called many times by the view. Helper methods mainly are used to provide functionality in the views. Also default helper programs can used for otherwise cumbersome to implement functions like date etc&amp;lt;ref&amp;gt;http://www.railsforum.com/viewtopic.php?id=1026&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&amp;lt;references&amp;gt;&amp;lt;/references&amp;gt;&lt;/div&gt;</summary>
		<author><name>Spangul</name></author>
	</entry>
</feed>