Software development, like any other thing, must go through the stages of gestation, birth, growth, maturity, and termination. It is called the software development lifecycle.
Generally, the software development lifecycle includesFeasibility analysis and project development plan, requirement analysis, design, coding, testing, release and Maintenance.
1) Feasibility Analysis and Project Development Plan
In this phase, the goal and feasibility of software development are determined, the problems to be solved and the solutions are identified, as well as the costs, resources, and time required to solve the problems. Problem definition, feasibility analysis, and project development plan should be carried out.
Documents generated at this stage mainly include:Feasibility Analysis Report(Rarely needed) andProject development plan.
2) Demand Analysis
Requirement analysis is to clarify what the software system is going to do and determine the functional, performance, data, and interface requirements of the software system.
Documents generated at this stage includeSoftware Requirement Specification.
3) Design
The design can be divided into outline design and detailed design.
The outline design is to design the structure of the software. It is clear that the software system is composed of those modules. The hierarchy, call relationship, and functions of these modules are also defined, and the data structure and database structure are also determined.
The detailed design is to describe the functions completed by each module, and transform the function description into a precise and structured process description, that is, the control structure or logical structure of the module.
Documents generated at this stage includeSummary design specification, database design specification, interface design, detailed design specification.
4) Encoding
Encoding refers to converting the control structure of the module into program code.Code Specification.
5) test
Testing is to ensure the quality of software. The documents generated at this stage mainly include:Software Test plan, test cases, Software Test report.
6) Release and Maintenance
Release is to complete the software switch and install the developed software system on the customer's server. maintenance is to provide the customer with training, troubleshooting, and necessary software upgrades.
Documents generated at this stage mainly include:Project Development Summary Report, user manual, Application Software List, source code list, maintenance document.