Planning and Requirement analysis
Requirements are gathered and analysed, a feasibility study is conducted. Planning for quality assurance requirements are laid out and possible risk factors are determined.
After the analysis is done, they are clearly defined and documented. They are documented in Software Requirement Specification (SRS) document which defines all the product requirements that need to be developed into a working software product.
Based on the SRS document, the design for the product is outlined and documented in a Design Document Specification (DDS). Product modules are designed and data flow amongst them are specified using several tools.
The actual building of the product starts here. Code generation occurs in this stage referring to the design. Programming languages and other tools for developing software are chosen in this stage.
In this stage, the errors are detected and fixed using different testing methods. The product is tested to check whether it has achieved the requirements and quality standards specified in SRS.
The software product is delivered and implemented in a real business environment. Customers or end-users evaluate the product which is called User Acceptance Testing(UAT) and gives feedback based on which the product is finalized or a call for modification is considered.
After the product is accepted by the customer or released into the market, the software has to be maintained for a long run to incorporate changing environment requirements of the future, for improving performance and consistency of the product.