What is sdlc?
Software Development Life Cycle is a process that produced software at the highest quality for the lowest cost in the shortest time. SDLC is a detailed plan on how to develop, test, maintain and replace a software system as per my customer’s requirements. SDLC has defined its stages as, Specifications, Design, Testing and Maintenance.
The success of failure of any software project depend on how well the specifications are stated at the beginning. This is a critical step which is required before I can give my customer a time period for the project and a fixed cost can be agreed. The specifications stage is when all relevant information is collected from you (my customer) to develop the product you desire. I will meet you and discuss your specifications this will allow me to gather all the information I need, i.e. what the customer wants to build. If it’s a website? Will this be a business website? An eCommerce website? A blog website? Pages your website requires?
I design your system software to include all of the specifications we have discussed in our first meeting. System design will guide me in deciding what features I will need to put in place to ensure that the system will be designed the way you want it to be. I will provide you with screen shots and design a template, so you will be fully included in this design stage. I also provide a full database schema if your system requires it.
Testing starts once the coding stage has competed it is tested against the specifications to make sure that the system works as it should. All types of functional testing which include unit testing, integration testing, system testing, and acceptance testing are done.
Once the customer receives the working system they will do the beta testing. If any bugs are caught or if the system require changes it will be changed at this point before releasing the system to the general public.
Maintenance phase occurs when the system is up and running. After the development of a system then certain problems may arise and they will need to be fixed from time to time. The key area I concentrate on when it comes to maintenance is
- Keeping the system live
- Maintaining code
- Updating software when required