Many people who are absolute laymen do not know anything about project management let alone know what is software lifecycle. But even people who are working in the software industry for sometime; get confused between project lifecycle and software lifecycle. Let us get it cleared.
Project management is the process which helps in getting any project planned, initiated, executed and finally finished. These process steps can be called project phases. Each and every project goes through these phases. So lifecycle for any project can be considered to be consisting of these phases.
Software development is also done through many steps. First a software product or application is conceived. Then all the features and facilities which are to be included in the software product is finalised through user interaction. This is known as requirement gathering. Based on the requirments, a software design is made. Software coding is then done using the software design. After coding, software product gets completed. This product is then tested. Once software product is found to be good enough for use then it is released to the user community. Later when enhancement of features or user reported defects are to be fixed then a maintenance plan is made and maintenance is done.
All these process steps which are used for developing or maintaining any software product or application can be considered as phases. Software lifecycle basically consists of these phases.