Software development life cycle is basically a systematic way of developing software. It includes various phases starting from the functional requirement of software (means what software is supposed to do). After that designing takes place then development and then testing. After testing is finished, the source code is generally released for Unit Acceptance Testing (UAT) in client testing environment. After approval from client, the source code is released into production environment.