Software Development Life Cycle
page 4 of 7
by Joydip Kanjilal
Feedback
Average Rating: This article has not yet been rated.
Views (Total / Last 10 Days): 46783/ 87

The Software Process Models

Software engineering follows some structured models for software development.  This section provides a generic overview of the different software development methodologies that are currently in use.

A Software Model describes the phases of the Software Life Cycle and the order in which those phases are executed.  The following sections discuss the following important process models:

·         Waterfall Model

·         Iterative Model

·         Incremental Model

·         Spiral Model

Waterfall Model

This is the most common, easy to implement and classic of all the life cycle models.  It also is referred to as a Classic Life Cycle Model or linear-sequential life cycle model.  This model places a lot of emphasis on documentation, i.e. Requirements Specification and Design Document.  In a waterfall model each phase must be completed sequentially in its entirety before the immediate next phase can begin.   A review is done after each phase to analyze whether the project is running as per the required standards, specifications and timelines.  The output of each phase is the input to the immediate next phase in this model.  This model is well suited if the project requirements are static or have been clearly stated from the beginning.  The Waterfall Model is great for specifying the individual tasks, roles, and deliverables in the project life cycle.  It is a misleading model when used for project planning because it de-emphasizes iteration and incremental delivery.

Advantages of the Waterfall Model

The following are the advantages of the Waterfall Model.

·         It is very simple and easy to implement meaning it is well suited for small projects.

·         Testing is inherent to each of the phases of this model.

·         The model is rigid and each of the phases has certain deliverables and a review process immediately after a particular phase is over.

Disadvantages

The following are the disadvantages of the Waterfall Model.

·         It is high risk.

·         It cannot be guaranteed that one phase of this model is perfect before we move on to the immediate next phase in the model.

·         It is not suited for long or complex projects or projects where the requirements can change.

·         The deliverable software is produced late during the life cycle.

Iterative Model

The Iterative Model addresses many problems associated with the Waterfall Model.  In the Iterative Model analysis is done the same way as it is done in the Waterfall method.  Once this analysis is over, each requirement is categorized based on their priority.  These priorities are:

·         High

·         Low

·         Medium

Advantages

The advantages of the Iterative Model are:

·         Faster Coding, testing and Design Phases

·         Facilitates the support for changes within the life cycle

Disadvantages

The disadvantages of the Iterative Model are:

·         More time spent in review and analysis

·         A lot of steps that need to be followed in this model

·         Delay in one phase can have detrimental effect on the software as a whole

Incremental Model

The incremental model divides the software to be developed into modules which are then developed and tested in parallel.  These modules or cycles are divided up into smaller, easily managed iterations.  Each iteration passes through the requirements, design, implementation and testing phases.  The Incremental model allows full SDLC of prototypes to be made and then tested before moving to next level.  In this model the functionality is produced and delivered to the customer incrementally.  Starting from the existing situation, we proceed towards the desired solution in a number of steps.  At each of these steps the Waterfall Model is followed.

Advantages

The following are the advantages of the Incremental Model.

·         Deliverables are produced early in the software development lifecycle in each iteration.

·         It is flexible and easy to manage

·         Risk Management and Testing is easy

Disadvantages

The following are the disadvantages of the Iterative Model.

·         Each phase of iteration is rigid and does not overlap each other.

·         All the requirements are not gathered up front for the entire software life cycle which can create problems at the later stages in the design and development cycle.

Spiral Model

The Spiral Model or the Spiral Development Model combines the best of both top down and bottom up approaches and is specifically risk-driven.  It combines the features of both the prototyping and the waterfall models.  In essence the Spiral Model is a combination of the classic Waterfall Model and Risk Analysis.  It is iterative, but each iteration is designed to reduce the risk at that particular stage of the project.  The Spiral Model provides a rapid development and at the same time, incremental versions of the software application.  The Spiral model is better than the Waterfall Model in the sense that it emphasizes more on risk management while the Waterfall Model emphasizes more on the project management aspects.

The spiral model has four phases.  These phases are as follows:

·         Planning

·         Risk Analysis

·         Engineering

·         Evaluation

Advantages

The following are the advantages of the Spiral Model.

·         It has strong support for Risk Analysis.

·         It is well suited for complex and large projects.

·         The deliverable is produced early in the software development life cycle.

·         It uses prototyping as a risk reduction technique and can reduce risks in the SDLC process considerably.

Disadvantages

The following are the disadvantages of the Spiral Model.

·         It is high in cost and Risk Analysis is also very difficult.

·         It is not suited for small projects.

·         Needs considerable Risk Assessment.


View Entire Article

User Comments

Title: Good   
Name: Palani
Date: 2006-12-26 1:21:37 PM
Comment:
Models are explained well but there should also be some examples for each process.
Title: BEST FEED FOR TEST ENGINEERS!!!!!!!   
Name: RekhaGerald
Date: 2006-12-06 4:58:10 AM
Comment:
HI IT'S REALLY A GOOD ARTICLE AND EASILY UNDERSTANDABLE. PLEASE UPDATE IT WITH NEWER ARTICLES WITH THE LIFE CYCLE IMAGES WHICH WILL MAKE THIS MORE SUPERB.THANX 4 DIS GOOD ARTICLE.
Title: understandable fact!   
Name: Jerald.J
Date: 2006-12-06 4:51:37 AM
Comment:
Ya the life cycle is very well explained. It wil be easy for the beginners as well.
Title: Thanks a lot.   
Name: Gayan Jayasinghe
Date: 2006-12-01 11:01:29 PM
Comment:
Hey Joydip,
Thank you very much for you article. I gained lots of knowledge from that. I wan to collect some infor mation about WATERFALL METHOD in a software company and How the each category belongs to there workers. Can you pease send me that to my mail?
gayancj@yahoo.com

Thanks,
Gayan
Title: Nice Article   
Name: Srini
Date: 2006-11-24 4:04:08 AM
Comment:
Very useful article for test engineers
Title: Nice Explanation!   
Name: Soumya
Date: 2006-11-22 11:30:28 AM
Comment:
SDLC is very well and meaningfully explained.
Only flaw i found was figures are missing which would have added for better understanding.
Thank you!!!
Title: I am fresher   
Name: manohar
Date: 2006-11-20 4:01:35 PM
Comment:
i could understand all the model fully, thanx
Title: Very Useful   
Name: Jeff P
Date: 2006-11-13 3:53:43 PM
Comment:
This article is well organized and well written. I would like to have seen a little more detail as to which environments are suited to each business type. Overall, an outstanding job.
Title: MR   
Name: SRAVAN SEKHAR
Date: 2006-11-10 8:54:04 PM
Comment:
THIS WAS REALLY BEAUTIFUL
THANKS FOR EVERYTHING
Title: Good Article   
Name: Thilak
Date: 2006-11-05 11:27:35 PM
Comment:
SDLC process is well explained. Would also request you to add some examples so that it will be more lively.
Title: system analyst -training   
Name: wanjala vincent w
Date: 2006-11-04 3:17:32 AM
Comment:
adquate
Title: good article   
Name: swetha
Date: 2006-11-03 12:57:36 AM
Comment:
well explained..easy to understand
Title: The Article is very Useful for Freshers   
Name: Samudyatha
Date: 2006-10-26 6:06:18 AM
Comment:
The Article gives quick and usefyl information about SDLC and its various models. Its Very useful for freshers to refer and understand the concept.
Title: Super article   
Name: K.Prabhu
Date: 2006-10-25 3:55:11 AM
Comment:
It is really nice and good
Title: Good approach to provide details all of us   
Name: Hemant Kumar Sharma
Date: 2006-10-17 6:01:32 AM
Comment:
models are explained well ... but there should also be explain some suitable examples then it will be betters for students/new commers.
Title: Good one   
Name: Giribabu Vuppula
Date: 2006-10-12 12:29:51 PM
Comment:
This is very good and Appriciated.
Title: Good   
Name: Chandru
Date: 2006-10-09 10:21:17 AM
Comment:
It is really a good aritcle to understand in different persuption
Title: very Useful article   
Name: Satinder Uppal
Date: 2006-10-05 5:23:24 AM
Comment:
it is a very good articel and it was useful during my btec studies
Title: Thanks ....too usefull   
Name: Abdulaziz al-blushi
Date: 2006-10-04 10:31:40 AM
Comment:
too useful thanks
Title: Excellent   
Name: shakera
Date: 2006-10-04 6:36:19 AM
Comment:
helped me a lot to complete my assignments.
Title: detailed article   
Name: sumukhi
Date: 2006-10-02 4:28:46 PM
Comment:
very nice article for new software developers and testers
Title: big help   
Name: Rob
Date: 2006-10-01 7:21:52 AM
Comment:
this article was very helpful while i was studying BTEC national cert especially during my forsy assignment
Title: EXAMPLES   
Name: Sajjad
Date: 2006-10-01 2:37:05 AM
Comment:
models are explained well ... but they should also be elaborated with example. For instance, the article should also explain the process models used by different companies during the development of their famous product.
Title: Good Article   
Name: Murali
Date: 2006-09-20 1:21:27 PM
Comment:
The The Software Process Models, are explained well. very useful for the new commers.

Product Spotlight
Product Spotlight 





Community Advice: ASP | SQL | XML | Regular Expressions | Windows


©Copyright 1998-2024 ASPAlliance.com  |  Page Processed at 2024-05-18 8:34:28 AM  AspAlliance Recent Articles RSS Feed
About ASPAlliance | Newsgroups | Advertise | Authors | Email Lists | Feedback | Link To Us | Privacy | Search