Friday, May 23, 2008

Software Development Life cycle (SDLC)

It is a framework that describes the activities performed at each stage of a software development project. It is a process of formal, logical step taken to develop a software product

In other words – it is a process of developing information system through investigation, analysis, design, implementation and maintenance.

SDLC has seven stages, which are designed to build on one another. Additional information is gathered or developed which is combined with output from the previous stage to serve as an input for following stage.

In general, an SDLC methodology follows these steps:

1. If there is an existing system, its deficiencies are identified. This is accomplished by interviewing users and consulting with support personnel.

2. The new system requirements are defined including addressing any deficiencies in the existing system with specific proposals for improvement.

3. The proposed system is designed. Plans are created detailing the hardware, operating systems, programming, and security issues.

4. The new system is developed. The new components and programs must be obtained and installed. Users of the system must be trained in its use, and all aspects of performance must be tested. If necessary, adjustments must be made at this stage.

5. The system is put into use. This can be done in various ways. The new system can be phased in, according to application or location, and the old system gradually replaced. In some cases, it may be more cost-effective to shut down the old system and implement the new system all at once.

6. Once the new system is up and running for a while, it should be exhaustively evaluated. Maintenance must be kept up rigorously at all times. Users of the system should be kept up-to-date concerning the latest modifications and procedures.

The stages are –

1. Requirement - This stage includes detailed study of business needs of the organization. Options to change the business process may be considered. The requirement gathering process takes as its input the goals identified in the high level requirement from the project plan. Each goal will be refined into a set of one or more requirements. In short it is the study of processes - the WHAT. The understanding of what is being done, how it is being done, what is the frequency, the goals the limits, the problems.

2. Analysis
In this stage Business Requirements are prioritized, understood and they are put in the requirement definition document.

3. Design
Design elements are produced for each requirement. Design elements describe software feature in details, and generally include screen layout diagrams, business process diagrams. These elements are intended to describe the software in sufficient details.
4. Development
In this phase design are translated in to code. For each design element a set of one or more artifacts are created. The output of development stage includes a fully functional set of software that satisfies the requirement and design element previously documented.
5. Testing

Generally, programs are written as a series of individual artifacts. These separate modules are brought together and tested as a whole. The system is tested for quality and errors and to ensure that interfaces between modules work, the system works on the intended platform and with expected volume of data. The system is also reviewed according to the user requirements.

6. Deployment
Fit the tested application into the production environment by deploying the code libraries to the destined machines, training the users, and fine-tuning the business procedures surrounding the new system.
7. Maintenance
Software will definitely undergo change once it is delivered to the customer. There are many reasons for the change. Change could happen because of some unexpected input values into the system. In addition, the changes in the system could directly affect the software operations. The software should be developed to accommodate changes that could happen during the post implementation period.

No comments: