Software life cycle is an important concept in software engineering. Dividing the entire life cycle into several stages is an important step to implement software production engineering.
The software life cycle is generally divided into three periods: Software plan, software development and software operation, for example:
The planning stage includes problem definition and feasibility study. The development stage includes requirement analysis, software design (Outline Design and detailed design), coding and testing. The maintenance stage is the software operation and maintenance.
I. planning phaseThe planning phase is of course to solve the "what is" problem of the system. There are two steps in the planning period. The first step is the problem definition. The second step is the feasibility study. The main task is to investigate the user requirements, analyze the new system objectives, and analyze the feasibility of developing the new system. (1) problem definition: it is the first step in the planning period and must answer "what is the problem that the user needs to solve on the computer". The system analyst determines the system goal based on the problem. (2) The feasibility study, that is, the second step of the plan, is to determine whether the problem can be solved.
Ii. Development StagePerform requirement analysis, design, coding, and testing in a task-based manner in the development phase. The design is divided into a summary design and a detailed design. (1) The requirement analysis answers the system's "what must be done" and determines the functions of the target system. (2) The Outline Design answers the system's "How to do" question and how to achieve the target system. The main task is to convert user requirements into the software architecture. (3) The detailed design answers the system's question "how to implement it?" And converts the function into a precise and structured process description. (4) major coding tasks: select a development language to convert a structured process description into a program acceptable to the computer. (5) testing is the last step in the software development phase. It is an important means to ensure the software quality. It is divided into unit testing, integration testing, and acceptance testing at different levels.
Iii. Operation stageSoftware maintenance is the most important task at this stage, which is the longest time. After being delivered to the user for use, it enters the software maintenance stage.
Software Engineering (IV)-Life Cycle