Software development life cycle
SDLC is a process followed for a software project, within a software organization. It consists of a detailed plan describing how to develop, maintain, replace and alter or enhance specific software. The life cycle defines a methodology for improving the quality of software and the overall development process. It is a standard practices to building software applications. Many companies will subdivide these steps into smaller units. Planning might be broken into technology research, marketing research, and a cost-benefit analysis. Other steps can merge with each other Every phase of the SDLC life Cycle has its own process and deliverable that feed into the next phaseout is also referred to as the Application Development life-cycle. it offers planning , scheduling, estimating. Provides a framework for a standard set of activities and deliverables. Increased enhance development speed.
The entire SDLC process divided into the following stages:
- Problem definition and Analysis :- This is the first phase of software development life cycle. It is conducted by senior team. this stage gives clearer picture and scope of the entire
project. Requirements Gathering stage need teams to get detailed and precise requirements.
This helps companies to finalize the necessary timeline to finish the work of that system.
2. Feasibility Study :- This is the second phase of software development cycle.This process conducted with the help of ‘Software Requirement Specification’ document also known as ‘SRS’ document. It includes everything which should be designed and developed during the project life cycle.
There are mainly five types of feasibility checks:
Technically :Need to check whether the current computer system can support the software
Operation : Can we create operations which is expected by the client? ‘
Schedule : Can we deliver he project given time period.
Economically : can we complete the project within the given budget.
Legally :whether is software code of conduct & ethics.
3. System Design :- SRS is the reference for product architects to come out with the best architecture for the product to be developed. Based on the requirements specified in SRS, usually more than one design approach for the product architecture is proposed and documented in a DDS — Design Document Specification. This DDS is reviewed by all the important stakeholders and based on various parameters as risk assessment, product robustness, design modularity, budget and time constraints, the best design approach is selected for the product. A design approach clearly defines all the architectural modules of the product along with its communication and data flow representation with the external and third party modules (if any). The internal design of all the modules of the proposed architecture should be clearly defined with the minutest of the details in DDS.
4. System Development :- Once the system design phase is over, the next phase is coding. In this phase, developers start build the entire system by writing code using the chosen programming language. In the coding phase, tasks are divided into units or modules and assigned to the various developers. It is the longest phase of the Software Development Life Cycle process.
In this phase, Developer needs to follow certain predefined coding guidelines.
5. Testing :- Once the software is complete, and it is deployed in the testing environment. The testing team starts testing the functionality of the entire system. This is done to verify that the entire application works according to the customer requirement.During this phase, QA and testing team may find some bugs/defects which they communicate to developers. The development team fixes the bug and send back to QA for a re-test. This process continues until the software is bug-free, stable, and working according to the business needs of that system.
6. Installation/Deployment:- Once the software testing phase is over and no bugs or errors left in the system then the final deployment process starts. Based on the feedback given by the project manager, the final software is released and checked for deployment issues if any.
7. Maintenance :- Once the system is deployed, and customers start using the developed system, following 3 activities occur.
Bug fixing — bugs are reported because of some scenarios which are not tested at all .
Upgrade — Upgrading the application to the newer versions of the Software Enhancement — Adding some new features into the existing software
The main focus of this SDLC phase is to ensure that needs continue to be met and that the system continues to perform as per the specification mentioned in the first phase.
Advantages
• Simple to understand
• Management simplicity thanks to its rigidity every phase has a defined result and process reviewed
• development go one by one.
• Perfect for the small or mid-sized projects where requirements are clear and not equivocal
• Easy to determine the key points in the development cycle
• Easy to classify and prioritize tasks
Disadvantages
• The software is ready only last stage over
• High risks and uncertainty
• Not the best choice for complex and object oriented projects
• Inappropriate long term projects
• The progress of the stage is hard to measure while it is still in the development
- Integration is done at the very end, which does not give the option of identifying the problem in advance
There are various software development life cycle models defined and designed which are followed during the software development process. These models are also referred as Software Development Process Models”.
Following are the most important and popular SDLC models followed in the industry −
- Waterfall Model
- Iterative Model
- Spiral Model
- V-Model
- Big Bang Model