Saturday, June 26, 2010

Spiral Model

Spiral model is one of SDLC model which is useful to develop application in organised way.

Sprial model is iteration of more than one waterfall model. It means we devide application in small modules.

Follwoing steps will be follow in spiral model

1. We gather requirement for the module
2. We design the module and get approval from the client
3. We implement the module
4. We test that module
5. We deploy that module
6. We will plan for next module and go to step1 for next module.

The above steps will be followed for all the modules while whole application will not complete.

Waterfall Model

Waterfall model is one of SDLC model (Software Development Life Cycle) which helps to develop application in organised way.

In Waterfall model, Application life cycle is devided into following phases:

1. Requirement Gathering
In this phase, We need to gather requirement from the client and create RUD (Requirement Understanding Document) or SRS (Software Requirement specification). We also need to approve those document from Client to move to next phase.

In this phase, We need to develop mock-up which will help to client to understand how application will work after development. If there is any change required then client suggest in this phase, so we can save our time in development. After getting approval on design, we need to move to next phase.

3. Implementation
In this phase, we will start implementation. Before going to implement anything, Develop needs to create unit test case document which helps to trace requirement with the SRS or RUD document. Unit testing is part of this phase only.

4. Verification or Testing
In this phase, QA will test the application and check all the requirement is developed as per specification in RUD or SRS. If QA will find any bugs then Developer need to resolve.

5. Deployment
In this phase, We need to deploy application on production machines.

6. Maintenance
In this phase, We need to give support to application on production machines. If any bugs found after deployment then developer needs to solve the bugs.

Different types of SDLC Models

SDLC stands for Software Development Life Cycle. SDLC helps to develop application in organised way.

There are many SDLC models available.

1. Waterfall Model
2. Spiral Model
3. Iterative Model
4. Prototype Model
5. RAD Model
6. COCOMO Model
7. V-Model
8. Fish Model

Interface VS Abstract Class

I tried to find out the difference between Inteface and Abstract class. I have described it blow

1. Methods
In Abstract Class, User can implement method. In Interface, We can't implement any method. (Method signature is not allowed into Interface)

public abstract class TestAbstract
public string strProperty { get; set; }

public abstract void abstractMethod();

public string NormalMethod()
return "def";


public interface ITestInterface
string stringProperty { get; set; }

void abstractMethod();


In above code, NormalMethod is implemented into Abstract class but Interface is not allowed to implement method.

2. Access specifier
We can specify access specifier for property, method. But we cannot specify access specifier in Interface

3. Inheritance
Interface allows multiple inheritance but Abstract class is not allow multiple inheritance.

DotNet Code Guru