Like anything else, a software product or software system should go through the stages of conception, birth, growth, maturity, and demise, generally known as the software life cycle (software life cycle). The entire software life cycle is divided into a number of stages, so that each stage has a clear task, so that the large-scale, complex structure and management of complex software development becomes easy to control and manage. Typically, the software life cycle includes feasibility analysis and development project plan, requirements analysis, design (outline design and detailed design), coding, testing, maintenance and other activities, which can be assigned to different phases in an appropriate way to complete.
Software life cycle (SDLC, software life cycle) is the generation of software until the end of the life cycle, the cycle has a problem definition, feasibility analysis, general description, system design, coding, debugging and testing, acceptance and operation, maintenance and upgrading to the abandonment of the stage, this time by time the idea of the process of thinking method is a software engineering in the idea of the principle, that is, step-by-step, step-by-step, progress. Each stage should be defined, worked on, reviewed, and documented for communication or for review in order to improve the quality of the software. However, with the maturity of new object-oriented design methods and technologies, the guiding significance of the software life cycle design approach is gradually diminishing.
Six phases of the software life cycle (SDLC)
1, problem definition and planning
This phase is a discussion between the software developer and the demand side **** with the main to determine the development objectives of the software and its feasibility.
2, requirements analysis
In the case of determining the feasibility of software development, the software needs to achieve a detailed analysis of the various functions. Requirements analysis phase is a very important stage, this stage is done well, will lay a good foundation for the success of the entire software development project." The only constant is change itself." , Similarly requirements are constantly changing and deepening throughout the software development process, so we must have a requirements change plan to cope with such changes to protect the smooth running of the entire project.
3, software design
This stage is mainly based on the results of the requirements analysis, the entire software system design, such as system framework design, database design and so on. Software design is generally divided into general design and detailed design. Good software design will lay a good foundation for software program writing.
4, program coding
This stage is the result of software design into a computer can run the program code. In the program coding must be developed uniformly, in line with the standard writing specifications. To ensure that the program is readable, easy to maintain, improve the efficiency of the program.
5, software testing
After the completion of the software design should be rigorously tested to find the software in the entire design process and correct the problem. The entire testing process is divided into unit testing, assembly testing and system testing in three stages. There are two main testing methods: white-box testing and black-box testing. In the testing process need to establish a detailed test plan and test in strict accordance with the test plan to reduce the arbitrariness of the test.
6, operation and maintenance
Software maintenance is the longest duration of the software life cycle. In the software development is completed and put into use, due to a variety of reasons, the software can not continue to adapt to user requirements. To continue the life of the software, it is necessary to maintain the software. Software maintenance, including error correction maintenance and improvement of two aspects of maintenance.