20 years of R & D Management Experience (IX)

In this paper, following 20 years of R & D management experience to talk about (eight) .

Seven basic principles of software engineering

  Since 1968, that "software engineering," the term software engineering research experts and scholars continue to put forward more than 100 criteria or creed on software engineering. US well-known software engineering expert Boehm comprehensive views of these experts, and summed up the company's many years of open TRW
experience in software development, put forward the basic principles of software engineering seven in 1983.

  Boehm believes that these seven principles is to ensure that the principle of the minimum set of software quality and development efficiency. They are independent of each other, it is a minimum set indispensable; the same time, they are also fairly complete.

  It certainly can not mathematically rigorous proof that they are a complete collection, but can prove, more than 100 software engineering criteria had previously proposed can have any combination of these seven principles derived or implied.

The following briefly describes the seven principles of software engineering:

1 life cycle of a phased program with strict management

  This one is to learn the lessons of their predecessors and put forward. Statistics show that more than 50% of the project failed due to poor planning caused. In software development and maintenance of a long life cycle, the need to complete many of the properties of different work. This principle means that, should the software life cycle is divided into several stages, and accordingly develop a practical plan and in strict accordance with the plan to manage the development and maintenance of software. Boehm believes, should be specified and strictly enforce the 6 class program in the entire software life cycle: project summary plan, milestone planning, project control plan, product control plan, verification plan, operation and maintenance plan.

2 insists on the assessment stage

  Statistics showed that: most of the errors are caused before coding, which accounts for 63%; <2> The later the errors found, correct it the greater the price to be paid to the difference between 2-3 orders of magnitude. Therefore, software quality assurance work can not wait until after the end of the coding then, should adhere to rigorous assessment stage, in order to detect errors as early as possible.

3 strict product control

  One of the developers of the most hated thing is to demand changes. But practice tells us that change requests are often inevitable. This requires us to adopt a scientific product control technologies to comply with this requirement. That is, to adopt changes in control, also known as baseline configuration management. When demand changes, other various stages of documentation or code along with corresponding changes to ensure the consistency of the software.

4 adoption of modern programming techniques

  From structured software development technology six or seven o'clock years, to the nearest object-oriented technology, from the first and second generation language, fourth-generation language, it has been fully aware of: Methods big like strength. The use of advanced technology which can improve the efficiency of software development, software maintenance and cost can be reduced.

5 results should be clearly reviewed

  Software is an invisible, intangible logic products. Progress of software development team of poor visibility situation, difficult to evaluate and manage. In order to better manage software development should be based on the overall objectives and deadlines, as far as possible clearly defined development team and product liability standards, so that the resulting standards can be clearly examined.

6 staff development team should be concise

  The quality and quantity of developers is an important factor affecting software quality and development efficiency, it should be concise. This one based on two reasons: the efficiency of high-quality developer of efficient than low-quality developers to be several times to several times, development work mistakes have much less; when the development team for the N-person, may communication channels is N (N-1) / 2, can be seen with increasing number of N, communication overhead increases sharply.

7 recognize the need for continuous improvement of software engineering practices

  Comply with the above-mentioned six basic principles, it can achieve better software engineering production. However, they are only on existing experience of review and summarize, and can not guarantee to keep pace with technology continues to advance development. Therefore, Boehm proposed should recognize the need to continue to improve software engineering practices as Article VII of software engineering principles. According to this principle, not only to actively adopt new software development technology, but also pay attention to constantly sum up experience, collection progress and consumption data, the type of error and problem reporting statistics. These data can be used to assess the effect of the new software technology can also be used to indicate the problem must focus attention and priority should be given the tools and techniques of research.

Guess you like

Origin www.cnblogs.com/yanfei1819/p/11041115.html