Pages

Monday, March 30, 2015

Software Development Life Cycle



SDLC stands for Software Development Life Cycle. A Software Development Life Cycle is essentially a series of steps, or phases, that provide a model for the development and lifecycle management of an application or piece of software.
There is various software development approaches defined and designed which are used/employed during development process of software, these approaches are also referred as “Software Development Process Models”. Few processes are as below:
·         Waterfall Model
·         Iterative Model
·         Spiral Model
·         V-Model
·         Big Bang Mode
·         Rapid Action Development & Prototyping (RAD) Model
·         Agile Model

Each process model follows a particular life cycle in order to ensure success in process of software development.
There are following six phases in every Software development life cycle model:
  1. Requirement gathering and analysis
  2. System Analysis & Design
  3. Development or Coding
  4. Testing
  5. Implementation
  6. Maintenance

Process of SDLC
Process of SDLC

1)   Requirement gathering and analysis:  Business requirements are gathered in this phase. This phase is the main focus of the project managers and stake holders. Meetings with managers, stake holders and users are held in order to determine the requirements like; who is going to use the system? How will they use the system?  What data should be input into the system?  What data should be output by the system?  These are general questions that get answered during a requirements gathering phase. Requirements analysis is critical to the success of a systems or software project. The requirements should be documented, actionable, measurable, testable, traceable, related to identified business needs or opportunities, and defined to a level of detail sufficient for system design. After requirement gathering these requirements are analyzed for their validity and the possibility of incorporating the requirements in the system to be development is also studied. Finally, a Requirement Specification document is created which serves the purpose of guideline for the next phase of the model.
2)   System Analysis & Design:  In this phase the system and software design is prepared from the requirement specifications which were studied in the first phase. System Design helps in specifying hardware and system requirements and also helps in defining overall system architecture. The system design specifications serve as input for the next phase of the model.
3)   Development/Coding:  On receiving system design documents, the work is divided in modules/units and actual coding is started. Since, in this phase the code is produced so it is the main focus for the developer. This is the longest phase of the software development life cycle.
4)   Testing:  After the code is developed it is tested against the requirements to make sure that the product is actually solving the needs addressed and gathered during the requirements phase. During this phase unit testing, integration testing, system testing, acceptance testing are done.
5)   Implementation: After successful testing the product is delivered or implemented to the customer for their use.
6)   Maintenance: Once when the customers starts using the developed system then the actual problems comes up and needs to be solved from time to time. This process where the care is taken for the developed product is known as maintenance.

2 comments: