Software engineering seven basic principles
Selected from: Songliocounted Space Production Group
1. Strict management of the lifecycle plan is strictly managed by the statistical discovery. In the unsuccessful software project, it is because the plan is caused by the plan, it can be seen that the establishment of a complete plan is the first basic principle to learn before. The lessons of people are raised. In the long life cycle of software development and maintenance, many properties are needed. This basic principle means that the software life cycle should be divided into several phases, and the practical plan should be developed accordingly, and then strictly manage the development and maintenance of the software according to the plan. Boehm believes that the six types of programs should be developed and strictly enforced in the entire life cycle of the software, they are project profiles, milestones, project control plans, product control plans, verification programs, and operation maintenance programs. Different levels of management must strictly follow the plan to manage software development and maintenance work, and must not be detained from the predetermined plan by the impact of customers or superiors. 2. Insist on the phase review, it has been recognized that the quality assurance work of the software cannot wait until the end of the coding phase. This is said that at least two reasons: First, most of the errors are caused before the encoding, for example, according to the statistics of Boehm et al., Design errors account for 63% of software errors, and the code accounts for only 37%; second, error discovery The yourself with the change of the right, the higher the cost you need. Therefore, strict reviews are carried out in each stage to discover the errors made during the software development process as soon as possible, it is an important principle that must be followed. 3. Implementing strict product control should not change demand in software development, because changing a demand often requires a higher price, but in software development, change demand is inevitable, due to changes in external environments Correspondingly, the user needs correspondingly, it is an objective need, apparently cannot hardly prohibit the requirements of customers from changing demand, but can only rely on scientific product control technology to comply with this requirement. That is, when changing the demand, in order to maintain the consistency of the various configuration components of the software, strict product control must be implemented, which is mainly based on the reference configuration management. The so-called baseline configuration is also known as baseline configuration, which is a software configuration component after phase review (document or program code generated at each stage). Benchmark configuration management is also called a variation control: a cut relevant recommendations for modifying software, in particular to the revision of the reference configuration, must be reviewed in accordance with a strict procedure, and the approval will be implemented. Never want to modify the software (including software in the process of development), will be modified at will. 4, modern programming technology begins with the concept of software engineering, people have always used primary energy to study various new programming technology. The structural programming technology proposed in the end of the 1960s has become an advanced programming technology recognized by most people. Each of the various structural analysis (SA) and structural design (SD) techniques later. Practice shows that adoption of advanced technologies can improve software development efficiency and improve software maintenance efficiency. 5. The result should be clearly reviewed that the software products are different from the general physical products, which is not a logical product that cannot be touched. The progress of the work of software developers (or development group) visible is poor, it is difficult to accurately measure, so that the development process of software products is more difficult to evaluate and manage than the development process of general products. In order to improve the visibility of the software development process, manage the responsibility and product standards of the development organization according to the total objectives and completion periods of the software development project, so that the results obtained can be clearly reviewed. 6. The staff of the development team should be less and the meaning of this basic principle is that the quality of the components of the software development team should be good, and the number is not too much.