Archive | Traditional Methods of Software Development RSS feed for this section

Advantages & Disadvantages of the Spiral Model

11 Mar

Advantages of Spiral model:

  • High amount of risk analysis hence, avoidance of Risk is enhanced.
  • Good for large and mission-critical projects.
  • Strong approval and documentation control.
  • Additional Functionality can be added at a later date.
  • Software is produced early in the software life cycle. 

Disadvantages of Spiral model:

  • Can be a costly model to use.
  • Risk analysis requires highly specific expertise.
  • Project’s success is highly dependent on the risk analysis phase.
  • Doesn’t work well for smaller projects.

 When to use Spiral model:

  • When costs and risk evaluation is important
  • For medium to high-risk projects
  • Long-term project commitment unwise because of potential changes to economic priorities
  • Users are unsure of their needs
  • Requirements are complex
  • New product line
  • Significant changes are expected (research and exploration)

 

Source:

http://istqbexamcertification.com

Spiral Model

11 Mar

 

In order to overcome the disadvantages of older models such as the waterfall model, it was necessary to develop a new Software Development Model, which could help in ensuring the success of a software project. The Spiral model incorporated the common methodologies followed in the waterfall model, but it also eliminated almost every possible/known risk factors from it.

There are four phases in this model which are: Planning, Evaluation, Risk Analysis and Engineering. These four phases are iteratively followed one after another in order to eliminate all the problems, which were faced in the waterfall model. Iterating the phases helps in understating the problems associated with a phase and dealing with those problems when the same phase is repeated next time, planning and developing strategies to be followed while iterating through the phases. The phases are:

  • Plan: In this phase, the objectives, alternatives and constraints of the project are determined and are documented. The objectives and other specifications are fixed
  • Risk Analysis: This phase is the most important part of spiral model. In this phase, all possible (and available) alternatives, which can help in developing a cost-effective project are analyzed and strategies are decided so as to use them. This phase has been added specially in order to identify and resolve all the possible risks in the project development. If risks indicate any kind of uncertainty in requirements, prototyping may be used to proceed with the available data and find out a possible solution in order to deal with the potential changes in the requirements.
  • Engineering: In this phase, the actual development of the project is carried out. The output of this phase is passed through all the phases iteratively in order to obtain improvements in the same.
  • Customer Evaluation: In this phase, developed product is passed on to the customer in order to receive customer’s comments and suggestions which can help in identifying and resolving potential problems/errors in the software developed. This phase is very much similar to ‘testing’ phase.

url.gif

The process progresses in spiral sense to indicate the iterative path followed, progressively a more complete software is built as we go on iterating through all four phases. The first iteration in this model is considered to be most important, as in the first iteration, almost all possible risk factors, constraints, requirements are identified and in the next iterations, all known strategies are used to bring up a complete software system. The radical dimensions indicate evolution of the product towards a complete system.

However, as every system has its own pros and cons, the spiral model does have its pros and cons too. As this model is developed to overcome the disadvantages of the waterfall model, to follow spiral model, highly skilled people in the area of planning, risk analysis and mitigation, development, customer relation etc., are required. This along with the fact that, the process needs to be iterated more than once, demands more time and is somehow an expensive task.

I know that this is technically a late submission, i would appreciate if we could overcome this. Thank you.

Source:

http://www.buzzle.com/editorials/1-13-2005-64082.asp

http://american-informatics.com/solutions.html

Final Blog!!

11 Mar

Summary of Traditional Software Development:

Waterfall Model

V Model

Spiral Model

Systems Development Life Cycle.
What is the difference between Agile and Traditional Software Development Methodology?
Although Agile method is based on iterative development as some of the traditional approaches, Agile and Traditional methodologies have key differences. Traditional approaches use planning as their control mechanism, while Agile models use the feedback from the users as the main control mechanism. Agile can be called a people-centric approach than traditional methods. Agile model delivers a working version of the product very early compared to traditional methodologies so that the customer can realize some of the benefits early on. Testing cycle time of Agile is relatively short compared to traditional methods, because testing is done parallel to development. Most traditional models are very rigid and relatively less flexible than the Agile model. Because of all these advantages, Agile is preferred over the traditional methodologies at the moment.

I hope by reading my blogs i have helped you more clearly understand The traditional methods of software development. Although it is not preferred when compared to Agile methods it is still extremely important. Best of luck in the exams.

Waterfall Model, Maintenance.

10 Mar

The final phase stage of the waterfall model is maintenance. When any new system is put in place it will often need ongoing maintenance. This is to make sure the software is operating at optimum levels of performance. This can be be concerned with bugs in the software, security issues or to address issues that have only come to light when the new system was implemented. Activities in this phase include obtaining maintenance requests from the end users, transforming these requests into changes, designing the changes and finally implementing said changes.

There are four types of maintenance.

1. Corrective, which is concerned with removing errors or bugs from the software.

2. Adaptive, which is used to enhance the system by adding features, capabilities and functions as a result of new technologies.

3. Perfective, which improves the features of the system, usually done as a result of requests by the users of the system.

4. Preventative, which is concerned with the anticipation of problems and correcting them before they happen.

This phase can be significantly affected by each previous step in the model, for example, mistakes made during analysis and design can seriously hinder the success of the new system. Maintenance is then seen as a reactive step in which any errors are addressed so the system can operate effectively.

 

Waterfall Model, Implementation.

10 Mar

Hi again, this post will discuss the implementation phase of the waterfall model.

This phase is concerned with the physical construction of the software as set out in the design stage. This is normally done by a development team that consists of programmers, interface designers and other specialists. As well as developing working and reliable software, this phase also documents work that has been done to date and provides help for current and intended users of the system. There are 6 key activities in this stage. Coding which is where the physical design specifications are turned into working computer code. Testing is performed in parallel with coding to confirm that the system meets the requirements set out. This can be done by inspection, walk through or unit testing. Installation where the current system is replaced by the new one. There are four ways in which this can be done.

1. Direct installation, where the new system is installed and made operational immediately and any old systems are turned off.

2.Parallel Installation, here the old and new system run side by side until it is decided that the old one can be turned off.

3.Single-Location Installation,where the new system is used in only one site and deciding based on the experienced how it should be implemented in its entirety.

4. Phase Installation, which changes from the old to the new system bit by bit until the system is replaced entirely.

The next key activity is documentation for the IS users who will maintain and develop the system throughout its life cycle and also for people who will use the system as part of their daily lives also known as end users. The last 2 activities include training and support. Here the IS users are given on-going educational and problem solving training for the new system, this covers areas such as; use of the system, system management and system installation.

The next post will be about the maintenance phase 🙂

See you then!!

Spiral Model

10 Mar

Hey bloggers,

I’ve previously written about the Spiral Model of Traditional Software Development and I’m going to elaborate on some of the associated advantages and disadvantages with the method in this post.

spiral model

Advantages of Spiral Model

1)  Spiral Life Cycle Model is one of the most flexible SDLC models in place. Development phases can be determined by the project manager, according to the complexity of the project.
2)  Project monitoring is very easy and effective. Each phase, as well as each loop, requires a review from concerned people. This makes the model more transparent.
3)  Risk management is one of the in-built features of the model, which makes it extra attractive compared to other models.
4)  Changes can be introduced later in the life cycle as well. And coping with these changes isn’t a very big headache for the project manager.
5)  Project estimates in terms of schedule, cost etc become more and more realistic as the project moves forward and loops in spiral get completed.
6)  It is suitable for high risk projects, where business needs may be unstable.
7)  A highly customized product can be developed using this.

Disadvantages of Spiral Model

1)  Cost involved in this model is usually high.
2)  It is a complicated approach especially for projects with a clear system requirement specification(SRS).
3)  Skills required, to evaluate and review project from time to time, need expertise.
4)  Rules and protocols should be followed properly to effectively implement this model. Doing so, through-out the span of project is tough.
5)  Due to various customizations allowed from the client, using the same prototype in other projects, in future, is difficult.
6)  It is not suitable for low risk projects.
7)  Meeting budgetary and scheduling requirements is tough if this development process is followed.
8)  Amount of documentation required in intermediate stages makes management of project very complex affair.

Keep Reading : http://www.ianswer4u.com/2011/12/spiral-model-advantages-and.html#ixzz2NAqF3KF0 

Agile vs. Traditional Methods of Software

10 Mar
  • Agile vs Traditional Software Development Methodology
    There are number of different software development methodologies used in the software industry today. Waterfall development method is one of the earliest software development methods. V-Model, RUP and few other linear, iterative and combined linear-iterative methods, which came after waterfall methodology, intended to wipe out many issues of the waterfall method. All these earlier methodologies are called Traditional Software Development Methodologies. Agile model is a more recent software development model introduced to address the shortcomings found in the traditional models. Main focus of Agile is incorporating testing as early as possible and releasing a working version of the product very early, by breaking down the system in to very small and manageable sub parts.
    What is Traditional Software Development Methodology?
    Software methodologies like Waterfall method, V-Model and RUP are called traditional software development methodologies. Waterfall methodology is one of the earliest software development models. As the name suggests, it is a sequential process in which progress flows through several phases (requirement analysis, design, development, testing and implementation) from top to bottom, analogous to a waterfall. V-Model is considered as an extension of the Waterfall software development model. V-Model uses the same relationships between phases defined in the Waterfall model. But instead of descending linearly (like the Waterfall model) V-Model steps down diagonally and then moves back up (after the coding phase), forming the shape of the letter V. RUP (Rational Unified Process) is an adaptable process framework (not a single concrete process), that can be customized by the development organization according to their needs. Slightly similar to waterfall, it has fixed phases as inception, elaboration, construction and transition. But unlike waterfall, RUP is an iterative process.
    What is Agile?
    Agile is a very recent software development methodology (or more correctly, a group of methodologies) based on the agile manifesto. This was developed to solve some shortcoming in traditional software development methodologies. Agile methods are based on giving high priority to the customer participation early in the development cycle. It recommends incorporating testing by the customer early and often as possible. Testing is done at each point when a stable version becomes available. The foundation of Agile is based on starting testing from the beginning of the project and continuing throughout to the end of the project. Scrum and Extreme programming are two of the most popular variations of Agile methods.
    Key value of Agile is “quality is the team’s responsibility”, which stresses that the quality of the software is the responsibility of the whole team (not just the testing team). One other important aspect of Agile is breaking down the software in to smaller manageable parts and delivering them to customer very quickly. Delivering a working product is an utmost importance. Then the team continues to improve the software and deliver continuously at each major step. This is achieved by having very short release cycles (called sprints in Scrum) and getting feedback for improvement at the end of each cycle. Contributors without much interactions of the team such as developers and testers in the earlier methods, now work together within the Agile model.
    What is the difference between Agile and Traditional Software Development Methodology?
    Although Agile method is based on iterative development as some of the traditional approaches, Agile and Traditional methodologies have key differences. Traditional approaches use planning as their control mechanism, while Agile models use the feedback from the users as the main control mechanism. Agile can be called a people-centric approach than traditional methods. Agile model delivers a working version of the product very early compared to traditional methodologies so that the customer can realize some of the benefits early on. Testing cycle time of Agile is relatively short compared to traditional methods, because testing is done parallel to development. Most traditional models are very rigid and relatively less flexible than the Agile model. Because of all these advantages, Agile is preferred over the traditional methodologies at the moment.
%d bloggers like this: