<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Learn Software Development &#187; Process</title>
	<atom:link href="http://learnsoftwareprocesses.com/category/process/feed/" rel="self" type="application/rss+xml" />
	<link>http://learnsoftwareprocesses.com</link>
	<description>All about the processes involved in software development</description>
	<lastBuildDate>Sun, 20 May 2012 19:17:40 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Explain the waterfall model of software testing. What are its advantages and disadvantages?</title>
		<link>http://learnsoftwareprocesses.com/2012/05/20/explain-the-waterfall-model-of-software-testing-what-are-its-advantages-and-disadvantages/</link>
		<comments>http://learnsoftwareprocesses.com/2012/05/20/explain-the-waterfall-model-of-software-testing-what-are-its-advantages-and-disadvantages/#comments</comments>
		<pubDate>Sun, 20 May 2012 19:17:40 +0000</pubDate>
		<dc:creator>ashish</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Process]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[Software development methodology]]></category>
		<category><![CDATA[Software processes]]></category>
		<category><![CDATA[Waterfall]]></category>

		<guid isPermaLink="false">http://learnsoftwareprocesses.com/?p=1105</guid>
		<description><![CDATA[<p>There are a number of models that have been developed for the software testing like the waterfall model, spiral model, agile model and so on. The discussion in this article is limited to the waterfall model of software testing along with its advantages and disadvantages. You must have seen a waterfall and how the water [...]]]></description>
			<content:encoded><![CDATA[<p>There are a number of models that have been developed for the software testing like the waterfall model, spiral model, agile model and so on. The discussion in this article is limited to the waterfall model of software testing along with its advantages and disadvantages. You must have seen a waterfall and how the water flows in it ! In a similar way to the water fall, this software development model progresses and so has been named as the water fall model of software development. Like a waterfall, it follows some sequence of flow and therefore is considered to be a sequential design process which is generally used in the software development life cycle or the SDLC which require the flow of the development to be downwards like in a water fall – progressive and steady through different phases like those mentioned below:<br />
1. Conception<br />
2. Initiation<br />
3. Analysis<br />
4. Design<br />
5. Construction<br />
6. Testing<br />
7. Production<br />
8. Implementation<br />
9. Maintenance etc.<br />
This model has a flow similar to that of a real water fall. Now below we list out all the phases of the software development process that implements a water fall model:<br />
1. Requirements<br />
2. Specifications<br />
3. Architecture<br />
4. Design<br />
5. Implementation<br />
6. Testing<br />
7. Deployment, and lastly<br />
8. Maintenance<br />
Now below we are mentioning some of the common methodologies apart from  the water fall model of software development that too are used in the software development process:<br />
1. Agile<br />
2. Clean room<br />
3. Iterative<br />
4. RAD or rapid application development<br />
5. RUP or rational unified process<br />
6. Spiral<br />
7. XP<br />
8. Lean<br />
9. Scrum<br />
10. V model<br />
11. TDD or test driven development<br />
The below mentioned tools are used for the implementation of the water fall model of software development:<br />
1. Compiler<br />
2. Debugger<br />
3. Profiler<br />
4. IDE or integrated development environment<br />
5. GUI or graphical user interface designer.</p>
<p>When a water fall model of software development has been implemented, the software system or application under development can move to the higher stages only if the preceding one has been successfully completed and all the issues discovered in the preceding stage have been identified and fixed. So many types of water fall models have been developed with different ways and order of implementation of the common steps. The most popular waterfall model of software development is that of the “Royce’s final model”. Other types of the waterfall model have been derived from this model only. Now we list some advantages and disadvantages of the waterfall model of software development:</p>
<p>Advantages:<br />
1. Waterfall model insists on spending time on the early stages of development since it open ups the option of greater economy at the succeeding stages regarding the money, efforts and time.<br />
2. It employs the idea of fixing the bug earlier with spending less efforts and money rather than spending huge amounts of time and efforts later.<br />
3. It employs the idea of the big design upfront model.<br />
4. It makes sure that the preceding stages have been perfectly completed before the development moves on to the next stage.<br />
5. It involves the identification of all the requirements and resources before the beginning of the development process so the development in progress won’t fall short of resources and thus saves the potential wastage of the efforts. </p>
<p>Disadvantages:<br />
1. Most of the times it has been considered as a bad idea to be followed in the practical implementation since it is not possible for any project to complete the preceding level 100 percent before moving on to the next one.<br />
2. The designers stay unaware of the future implementation difficulties while designing a software product that has not been implemented.</p>
<table>
<tr>
<td>Rapid Development: Taming Wild Software Schedules</td>
<td>The Mythical Man-Month</td>
<td>The Waterfall Method (Kindle)</td>
</tr>
<tr>
<td><iframe src="http://rcm.amazon.com/e/cm?t=learnsoftware-20&#038;o=1&#038;p=8&#038;l=as1&#038;asins=1556159005&#038;ref=qf_sp_asin_til&#038;fc1=000000&#038;IS2=1&#038;lt1=_blank&#038;m=amazon&#038;lc1=0000FF&#038;bc1=000000&#038;bg1=FFFFFF&#038;f=ifr" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"></iframe>
</td>
<td><iframe src="http://rcm.amazon.com/e/cm?t=learnsoftware-20&#038;o=1&#038;p=8&#038;l=as1&#038;asins=0201835959&#038;ref=qf_sp_asin_til&#038;fc1=000000&#038;IS2=1&#038;lt1=_blank&#038;m=amazon&#038;lc1=0000FF&#038;bc1=000000&#038;bg1=FFFFFF&#038;f=ifr" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"></iframe>
</td>
<td><iframe src="http://rcm.amazon.com/e/cm?t=learnsoftware-20&#038;o=1&#038;p=8&#038;l=as1&#038;asins=B0083AWEP8&#038;ref=qf_sp_asin_til&#038;fc1=000000&#038;IS2=1&#038;lt1=_blank&#038;m=amazon&#038;lc1=0000FF&#038;bc1=000000&#038;bg1=FFFFFF&#038;f=ifr" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"></iframe>
</td>
</tr>
</table>
<div class="addthis_toolbox addthis_default_style " addthis:url='http://learnsoftwareprocesses.com/2012/05/20/explain-the-waterfall-model-of-software-testing-what-are-its-advantages-and-disadvantages/' addthis:title='Explain the waterfall model of software testing. What are its advantages and disadvantages? '  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_button_google_plusone" g:plusone:size="medium"></a><a class="addthis_counter addthis_pill_style"></a></div>]]></content:encoded>
			<wfw:commentRss>http://learnsoftwareprocesses.com/2012/05/20/explain-the-waterfall-model-of-software-testing-what-are-its-advantages-and-disadvantages/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Explain the spiral model of software development? What are its advantages and disadvantages?</title>
		<link>http://learnsoftwareprocesses.com/2012/04/05/explain-the-spiral-model-of-software-development-what-are-its-advantages-and-disadvantages/</link>
		<comments>http://learnsoftwareprocesses.com/2012/04/05/explain-the-spiral-model-of-software-development-what-are-its-advantages-and-disadvantages/#comments</comments>
		<pubDate>Thu, 05 Apr 2012 19:23:56 +0000</pubDate>
		<dc:creator>ashish</dc:creator>
				<category><![CDATA[Process]]></category>
		<category><![CDATA[Processes]]></category>
		<category><![CDATA[Software processes]]></category>
		<category><![CDATA[Spiral development]]></category>
		<category><![CDATA[Spiral development model]]></category>

		<guid isPermaLink="false">http://learnsoftwareprocesses.com/?p=1051</guid>
		<description><![CDATA[<p>A number of different models such as: 1. Agile 2. Clean room 3. Iterative 4. RAD or rapid application development 5. RUP or rational unified process 6. Spiral 7. XP 8. Lean 9. Scrum 10. V model 11. TDD or test driven development, and maybe others, have been developed for increasing the efficiency of the [...]]]></description>
			<content:encoded><![CDATA[<p>A number of different models such as:<br />
1. Agile<br />
2. Clean room<br />
3. Iterative<br />
4. RAD or rapid application development<br />
5. RUP or rational unified process<br />
6. Spiral<br />
7. XP<br />
8. Lean<br />
9. Scrum<br />
10. V model<br />
11. TDD or test driven development, and maybe others,<br />
have been developed for increasing the efficiency of the software development process. As you see from the list above, the spiral model is also one of them. This article is focussed entirely up on the spiral model of software development and its advantages and disadvantages.<br />
The spiral model of software development is a result of the combination of prototyping in stages as well as the design in stages. This model has been developed to get a model with the combined advantages of both the approaches namely:<br />
1. Top down approach and<br />
2. Bottom up approach<br />
Another name by which this model is commonly known as is “the spiral life cycle model” and it has been named so because it implements the spiral development process. The spiral model is considered to be a systems development method or SDM and mostly finds its use in the industry of information technology or IT. This model also has some of the features of the water-fall model of software development incorporated in to it. Spiral model of software development has been designed for projects which are quite large, complicated and expensive. Many a times the spiral model of software development is confused with the helical model at first glance; although there is a considerable difference between them, such as the helical model making use of the dynamic programming approach. This approach is followed for the optimization of the architecture of the software system before decisions regarding the design are taken since they may cause problem.<br />
This spiral model came in to existence in the year of 1986 designed by Barry Boehm although this model was not the first to take into consideration iterative development type of development methodology. The spiral model of software development as mentioned above combines the features of water-fall model of software development with the iterative development or prototyping as it is more commonly known as. The spiral model of software development has facilitated the ease of incremental release of the software product and also the incremental refinement of the software system or application. The spiral model of software development is also popular since it includes the explicit risk management within the scopes of the software development. It also provides benefits in terms of the following mentioned aspects:<br />
1. Identification of the major risks whether be it managerial or technical.<br />
2. Determination of the factors leading to the lessening of the risks.<br />
All these added advantages help in maintaining a control over the software development process. The spiral model involves the substantial refinement of all the key products one by one for the following purposes:<br />
1. Requirements definition and analysis<br />
2. System designing<br />
3. Software designing<br />
4. Implementation of the code.<br />
The key products are treated as the extension of an earlier product in each of the iteration of every cycle. This model makes use of almost the same phases of the development as mentioned below:<br />
1. Requirements<br />
2. Specifications<br />
3. Architecture<br />
4. Design<br />
5. Implementation<br />
6. Testing<br />
7. Deployment, and lastly<br />
8. Maintenance<br />
The additional phases are:<br />
1. Planning<br />
2. Risk assessment<br />
3. Building of prototypes<br />
4. Creation of simulations<br />
Like any other process, each and every phase of the spiral model is documented. The creation of the documentation keeps on going side by side the development process. A continuous stream of produced products is made available to the user to review.<br />
Disadvantages of the spiral development process:<br />
1. Highly customized<br />
2. Limited reusability<br />
3. Different applying method for every software system or application<br />
4. Budget related risks.</p>
<table>
<tr>
<td>Agile and Iterative Development</td>
<td>Software Development Using Scrum</td>
<td>Agile Estimating and Planning</td>
</tr>
<tr>
<td><iframe src="http://rcm.amazon.com/e/cm?t=learnsoftware-20&#038;o=1&#038;p=8&#038;l=as1&#038;asins=0131111558&#038;ref=qf_sp_asin_til&#038;fc1=000000&#038;IS2=1&#038;lt1=_blank&#038;m=amazon&#038;lc1=0000FF&#038;bc1=000000&#038;bg1=FFFFFF&#038;f=ifr" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"></iframe>
</td>
<td><iframe src="http://rcm.amazon.com/e/cm?t=learnsoftware-20&#038;o=1&#038;p=8&#038;l=as1&#038;asins=0321579364&#038;ref=qf_sp_asin_til&#038;fc1=000000&#038;IS2=1&#038;lt1=_blank&#038;m=amazon&#038;lc1=0000FF&#038;bc1=000000&#038;bg1=FFFFFF&#038;f=ifr" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"></iframe>
</td>
<td><iframe src="http://rcm.amazon.com/e/cm?t=learnsoftware-20&#038;o=1&#038;p=8&#038;l=as1&#038;asins=0131479415&#038;ref=qf_sp_asin_til&#038;fc1=000000&#038;IS2=1&#038;lt1=_blank&#038;m=amazon&#038;lc1=0000FF&#038;bc1=000000&#038;bg1=FFFFFF&#038;f=ifr" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"></iframe>
</td>
</tr>
</table>
<div class="addthis_toolbox addthis_default_style " addthis:url='http://learnsoftwareprocesses.com/2012/04/05/explain-the-spiral-model-of-software-development-what-are-its-advantages-and-disadvantages/' addthis:title='Explain the spiral model of software development? What are its advantages and disadvantages? '  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_button_google_plusone" g:plusone:size="medium"></a><a class="addthis_counter addthis_pill_style"></a></div>]]></content:encoded>
			<wfw:commentRss>http://learnsoftwareprocesses.com/2012/04/05/explain-the-spiral-model-of-software-development-what-are-its-advantages-and-disadvantages/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>An explanation of the concepts of static analysis testing</title>
		<link>http://learnsoftwareprocesses.com/2012/03/15/an-explanation-of-the-concepts-of-static-analysis-testing/</link>
		<comments>http://learnsoftwareprocesses.com/2012/03/15/an-explanation-of-the-concepts-of-static-analysis-testing/#comments</comments>
		<pubDate>Thu, 15 Mar 2012 16:51:37 +0000</pubDate>
		<dc:creator>ashish</dc:creator>
				<category><![CDATA[Process]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Static testing]]></category>
		<category><![CDATA[Testing]]></category>
		<category><![CDATA[Amazon]]></category>
		<category><![CDATA[Book]]></category>
		<category><![CDATA[Explanation]]></category>
		<category><![CDATA[QE]]></category>
		<category><![CDATA[Static analysis]]></category>
		<category><![CDATA[static analysis testing]]></category>
		<category><![CDATA[Test]]></category>

		<guid isPermaLink="false">http://learnsoftwareprocesses.com/?p=1025</guid>
		<description><![CDATA[<p>A software system or application indeed consists of many bugs and errors which cannot be rooted out using just one software testing methodology. Each aspect of a software system is tested by a uniquely defined testing methodology for it. As a result, many software testing and analysis methodologies have been developed and static analysis is [...]]]></description>
			<content:encoded><![CDATA[<p>A software system or application indeed consists of many bugs and errors which cannot be rooted out using just one software testing methodology. Each aspect of a software system is tested by a uniquely defined testing methodology for it. As a result, many software testing and analysis methodologies have been developed and static analysis is one of them. This article deals with the concepts of the static analysis. Static code analysis is also known as static program analysis or SPA. It is somewhat similar to the static testing. Like static testing, static program analysis is a software testing methodology that is carried out on the software, but no actual execution takes place. The counterpart of static analysis is dynamic analysis in which the programs are executed and then tested. The static analysis can be carried out either on the source code or on the object code as the case may be.<br />
The process of static analysis is often automated and rarely carried out manually. When carried out manually it is called code review or program comprehension. The levels on which the static program analysis is carried out may also vary depending up on the sophistication of the testing strategy i.e., whether the testing is to involve only the tests for the behavior of individual statements or it is to be carried out on the complete source code of the software program. The information deduced from the outcome of the static analysis can tell the programmers about the possible errors and flaws in the coding of the program. Nowadays, reverse engineering and software metrics are being considered as the different forms of the static program analysis.<br />
This is so because in many of the testing strategies, the testers often deploy these three techniques i.e., software metrics, reverse engineering and static analysis together for the creation and testing of embedded software systems. These three testing methodologies are also used together for defining the objectives of the software quality. Static program analysis is being used commercially for the verification of the properties of the software system or application and these are the software that are implemented in the safety critical computer systems. From all this we can conclude that the static analysis is aimed at finding the code with potential vulnerabilities. Some of the organizations make use of this static program analysis for making improvements in the quality of their complex and highly sophisticated software systems and applications.<br />
Such complex and sophisticated softwares include nuclear software and medical software. Another form of static program analysis is the SAST or static application security testing and it is employed in the industry of the application security. Certain formal methods have been defined to assist the static analysis. Formal methods are purely mathematical in nature and include techniques like axiomatic semantics, denotational semantics, abstract interpretation and operational semantics. Below we are mentioning some of the implementation techniques for formal static program analysis:<br />
1. Data flow analysis: This technique is lattice based and is used for gathering the information regarding the set of values that is possible.<br />
2. Model checking: This technique takes into consideration the software systems that either have a finite state or there is a possibility that they can be reduced to the finite state by the process of abstraction.<br />
3. Abstract interpretation: This method is being used for the analysis of the effects that every statement has.<br />
Static program analysis can also be thought of as a methodology for debugging the program. Static program analysis provides a better understanding of the software system or application. </p>
<table>
<tr>
<td>Software Verification and Analysis</td>
<td>Static Analysis of Software</td>
<td>Software Testing and Analysis</td>
</tr>
<tr>
<td><iframe src="http://rcm.amazon.com/e/cm?t=learnsoftware-20&#038;o=1&#038;p=8&#038;l=as1&#038;asins=1849968292&#038;ref=qf_sp_asin_til&#038;fc1=000000&#038;IS2=1&#038;lt1=_blank&#038;m=amazon&#038;lc1=0000FF&#038;bc1=000000&#038;bg1=FFFFFF&#038;f=ifr" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"></iframe>
</td>
<td><iframe src="http://rcm.amazon.com/e/cm?t=learnsoftware-20&#038;o=1&#038;p=8&#038;l=as1&#038;asins=1848213204&#038;ref=qf_sp_asin_til&#038;fc1=000000&#038;IS2=1&#038;lt1=_blank&#038;m=amazon&#038;lc1=0000FF&#038;bc1=000000&#038;bg1=FFFFFF&#038;f=ifr" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"></iframe>
</td>
<td><iframe src="http://rcm.amazon.com/e/cm?t=learnsoftware-20&#038;o=1&#038;p=8&#038;l=as1&#038;asins=0471455938&#038;ref=qf_sp_asin_til&#038;fc1=000000&#038;IS2=1&#038;lt1=_blank&#038;m=amazon&#038;lc1=0000FF&#038;bc1=000000&#038;bg1=FFFFFF&#038;f=ifr" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"></iframe>
</td>
</tr>
</table>
<div class="addthis_toolbox addthis_default_style " addthis:url='http://learnsoftwareprocesses.com/2012/03/15/an-explanation-of-the-concepts-of-static-analysis-testing/' addthis:title='An explanation of the concepts of static analysis testing '  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_button_google_plusone" g:plusone:size="medium"></a><a class="addthis_counter addthis_pill_style"></a></div>]]></content:encoded>
			<wfw:commentRss>http://learnsoftwareprocesses.com/2012/03/15/an-explanation-of-the-concepts-of-static-analysis-testing/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>What is the concept of scaffolding in terms of software ?</title>
		<link>http://learnsoftwareprocesses.com/2012/03/14/what-is-the-concept-of-scaffolding-in-terms-of-software/</link>
		<comments>http://learnsoftwareprocesses.com/2012/03/14/what-is-the-concept-of-scaffolding-in-terms-of-software/#comments</comments>
		<pubDate>Wed, 14 Mar 2012 16:33:42 +0000</pubDate>
		<dc:creator>ashish</dc:creator>
				<category><![CDATA[Meta]]></category>
		<category><![CDATA[Process]]></category>
		<category><![CDATA[Scaffolding]]></category>
		<category><![CDATA[Amazon]]></category>
		<category><![CDATA[Amazon Books]]></category>
		<category><![CDATA[Book]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[Meta Programs]]></category>
		<category><![CDATA[Processes]]></category>
		<category><![CDATA[Product Development]]></category>
		<category><![CDATA[Scaffolding and Ruby on Rails]]></category>
		<category><![CDATA[software process]]></category>
		<category><![CDATA[Software processes]]></category>

		<guid isPermaLink="false">http://learnsoftwareprocesses.com/?p=1021</guid>
		<description><![CDATA[<p>Scaffolding is quite an unfamiliar term and not much known of. This article is entirely devoted to the concepts of scaffolding. Scaffolding can be thought of as a Meta programming methodology and is employed for the building and development of the software applications that require a data base – backend. The programs built on the [...]]]></description>
			<content:encoded><![CDATA[<p>Scaffolding is quite an unfamiliar term and not much known of. This article is entirely devoted to the concepts of scaffolding. Scaffolding can be thought of as a Meta programming methodology and is employed for the building and development of the software applications that require a data base – backend. The programs built on the principle of the Meta programming treat the other program as their data and manipulate them. Meta programs are also used for the compilation work. If not compiled at this stage they will have to be carried out at the time of the program execution. This type of programming helps in reducing the length of the code as well as the development time. Meta programming lends the program some extra flexibility so that they are able to handle the new situations effectively and that too without any requirement for the recompilation. The language of the Meta programs is the Meta language and the language of the programs that are used as data is called the object language.<br />
Some programming languages are said to possess the property of what is called reflexivity or reflection i.e., these languages have the ability to act as their own Meta language. The scaffolding methodology is adequately supported by the model view controller frameworks. In such frameworks, the specifications describing the way of usage of the data base are written. These specifications are utilised by the program compiler for the generation of the code that can be later used by the software system or application for creating, updating, deleting and reading of the entire data base content. This all in turn leads to the effective treatment of the template which is nothing but a scaffold. This scaffold then can be used to build a powerful software system or application up on it.<br />
The creation of the scaffolding methodology has brought about an evolution in the field of generation of the data base codes. Few successful examples are:<br />
1. 4GL client server software development products and<br />
2. CASE generator from Oracle etc.<br />
Scaffolding was not much known until it was successfully implemented on the framework called “Ruby on Rails”. From that it was later adapted to other frameworks like:<br />
1. Django<br />
2. Monorail.Net<br />
3. Symfony<br />
4. Codelgniter<br />
5. Yii<br />
6. Cake PHP<br />
7. Model Glue<br />
8. Grails<br />
9. Catalyst<br />
10. Seam framework<br />
11. Spring roo<br />
12. ASP.NET MVC<br />
13. ASP.NET Dynamic Data and the list go on.<br />
The scaffolding methodology was implemented in Ruby on Rails for the automatic generation of all the appropriate interfaces of data during the run time. The API call sequences are generated on the fly, therefore it becomes difficult for the programmer to modify the above generated interfaces. Such scaffolds are quite simple and are often employed for the purpose of prototyping of the applications and inputting the test data in to a data base. An external command can also be used for generation of the Ruby codes for the scaffolds and production of the files of the Ruby code. Through these files, interaction between the code and the data base takes place. This type of approach to scaffolding proves to be less convenient then than the dynamic scaffolding, although it provides large flexibility to the programmer by virtue of which the generated APIs can be customized or modified.  Scaffolding is quite a quick way for the generation of the major parts of a software system or application. It also proves to be an effective technique when it comes to the creation of the views, controllers and models for a resource.</p>
<table>
<tr>
<td>Software Design: From Programming to Architecture</td>
<td>The Process of Software Architecting</td>
<td>Coding: On Software Design Process</td>
</tr>
<tr>
<td><iframe src="http://rcm.amazon.com/e/cm?t=learnsoftware-20&#038;o=1&#038;p=8&#038;l=as1&#038;asins=0471204595&#038;ref=qf_sp_asin_til&#038;fc1=000000&#038;IS2=1&#038;lt1=_blank&#038;m=amazon&#038;lc1=0000FF&#038;bc1=000000&#038;bg1=FFFFFF&#038;f=ifr" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"></iframe>
</td>
<td><iframe src="http://rcm.amazon.com/e/cm?t=learnsoftware-20&#038;o=1&#038;p=8&#038;l=as1&#038;asins=0321357485&#038;ref=qf_sp_asin_til&#038;fc1=000000&#038;IS2=1&#038;lt1=_blank&#038;m=amazon&#038;lc1=0000FF&#038;bc1=000000&#038;bg1=FFFFFF&#038;f=ifr" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"></iframe>
</td>
<td><iframe src="http://rcm.amazon.com/e/cm?t=learnsoftware-20&#038;o=1&#038;p=8&#038;l=as1&#038;asins=0615404820&#038;ref=qf_sp_asin_til&#038;fc1=000000&#038;IS2=1&#038;lt1=_blank&#038;m=amazon&#038;lc1=0000FF&#038;bc1=000000&#038;bg1=FFFFFF&#038;f=ifr" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"></iframe>
</td>
</tr>
</table>
<div class="addthis_toolbox addthis_default_style " addthis:url='http://learnsoftwareprocesses.com/2012/03/14/what-is-the-concept-of-scaffolding-in-terms-of-software/' addthis:title='What is the concept of scaffolding in terms of software ? '  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_button_google_plusone" g:plusone:size="medium"></a><a class="addthis_counter addthis_pill_style"></a></div>]]></content:encoded>
			<wfw:commentRss>http://learnsoftwareprocesses.com/2012/03/14/what-is-the-concept-of-scaffolding-in-terms-of-software/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>What is meant by risk analysis in software testing?</title>
		<link>http://learnsoftwareprocesses.com/2012/02/28/what-is-meant-by-risk-analysis-in-software-testing/</link>
		<comments>http://learnsoftwareprocesses.com/2012/02/28/what-is-meant-by-risk-analysis-in-software-testing/#comments</comments>
		<pubDate>Tue, 28 Feb 2012 19:59:32 +0000</pubDate>
		<dc:creator>ashish</dc:creator>
				<category><![CDATA[Process]]></category>
		<category><![CDATA[Risk]]></category>
		<category><![CDATA[Risk analysis]]></category>
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://learnsoftwareprocesses.com/?p=1009</guid>
		<description><![CDATA[<p>The basic objective of any risk analysis process is to identify the components of a software system or application which are at very high risk and need attention in order to reduce their risk profile and mitigate against such risks. These high risk components may require exhaustive testing in order to find out the bugs [...]]]></description>
			<content:encoded><![CDATA[<p>The basic objective of any risk analysis process is to identify the components of a software system or application which are at very high risk and need attention in order to reduce their risk profile and mitigate against such risks. These high risk components may require exhaustive testing in order to find out the bugs and errors which may be putting them at risk. This risk assessment helps the testers in deciding the objectives for the various testing methodologies that have to be employed in the software testing. In a way risk analysis helps in designing an effective test plan.<br />
A well formalized approach should be followed by the tester for carrying out risk analysis since an informal approach will give you wrong assessments and that in turn will lead you nowhere. There is nothing more problematic than getting wrong information through an imperfect analysis. Further it is going to take away your precious time.. you don’t want to lose your precious time! Do you? Of course not! To perform an effective risk analysis one needs to have a good sense of instinct and judgment. These two factors form the basis of any informal approach to risk analysis and are based on the experience and knowledge of the tester.<br />
But this approach is not preferred since other testers cannot benefit from the experience and knowledge of one tester. The testing thus gets limited to just one person. The lesser the number of testers, the less is the number of bugs and errors will be discovered. However, the experienced tester can pen down his instincts and experiences so that the others testers can also use the same rather than keeping it to himself/ herself. But this approach does not gives great precision since the results are based on the estimation of the number of times a bug or error occurs.<br />
Another method employs the software risk assessment package. It can be made out from the name itself, that it is an automated analyzing process. The best advantage here is that carrying out risk analysis using this assessment package is very simple and requires minimal skills, minimal efforts and utilizes less time. Software assessment packages make use of two typical risk analyzing methods, namely dollar estimation and identifying and weighing risk attributes. Another advantage is that the testers are free to design their own risk analysis tests.<br />
The dollar estimation technique is based on the quantification of the business risk by using dollars as a measurement unit. But, this method also lacks a good precision. The second approach used in software assessment packages is concerned with the identification of the attributes that put the software at risk. There exists a relationship between the attributes and the risk they can cause. This risk is measured by weighing. The weighed values give an idea about which aspects of the software system or application are at high risk. 3 dimensions have been identified in concern with the risk assessment:<br />
1. Structure of the project: If the structure of the project has been built well and elaborated, then obviously there will be less risk associated with its structure.<br />
2. Size of the project: The intensity of the risk and size of the project are directly proportional to each other. By size of the project we mean its cost, completion time, functional areas and so on.<br />
3. Technological experience: In contrast to the above mentioned dimension, this dimension is inversely proportional to the risk. The more the experience, more efficient will be the development process and hence less risk.<br />
Risk analysis constitutes of five steps:<br />
1. Determination of the risk score<br />
2. Creation of the risk profile<br />
3. Modification of the attributes that are causing risk<br />
4. Allocation of the resources for testing.<br />
5. Creation of database for the risk.</p>
<table>
<tr>
<td>Risk Analysis: A Quantitative Guide</td>
<td>Risk Analysis and Security Countermeasure Selection</td>
<td>Just Enough Software Architecture: A Risk-Driven Approach</td>
</tr>
<tr>
<td><iframe src="http://rcm.amazon.com/e/cm?t=learnsoftware-20&#038;o=1&#038;p=8&#038;l=as1&#038;asins=0470512849&#038;ref=tf_til&#038;fc1=000000&#038;IS2=1&#038;lt1=_blank&#038;m=amazon&#038;lc1=0000FF&#038;bc1=000000&#038;bg1=FFFFFF&#038;f=ifr" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"></iframe>
</td>
<td><iframe src="http://rcm.amazon.com/e/cm?t=learnsoftware-20&#038;o=1&#038;p=8&#038;l=as1&#038;asins=1420078704&#038;ref=tf_til&#038;fc1=000000&#038;IS2=1&#038;lt1=_blank&#038;m=amazon&#038;lc1=0000FF&#038;bc1=000000&#038;bg1=FFFFFF&#038;f=ifr" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"></iframe>
</td>
<td><iframe src="http://rcm.amazon.com/e/cm?t=learnsoftware-20&#038;o=1&#038;p=8&#038;l=as1&#038;asins=0984618104&#038;ref=tf_til&#038;fc1=000000&#038;IS2=1&#038;lt1=_blank&#038;m=amazon&#038;lc1=0000FF&#038;bc1=000000&#038;bg1=FFFFFF&#038;f=ifr" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"></iframe>
</td>
</tr>
</table>
<div class="addthis_toolbox addthis_default_style " addthis:url='http://learnsoftwareprocesses.com/2012/02/28/what-is-meant-by-risk-analysis-in-software-testing/' addthis:title='What is meant by risk analysis in software testing? '  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_button_google_plusone" g:plusone:size="medium"></a><a class="addthis_counter addthis_pill_style"></a></div>]]></content:encoded>
			<wfw:commentRss>http://learnsoftwareprocesses.com/2012/02/28/what-is-meant-by-risk-analysis-in-software-testing/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

