Software development and feedback control system

zhaozj2021-02-16  63

Software development and feedback control system? Where is this? You may ask. I have found a lot of similarities between the two.

The feedback control system is the most common control system. In the feedback control system, the output signal is detected that the feedback signal is formed by the controller, which is subtracted to the input signal, thereby adjusting the input signal of the control system, so that the output signal tends to stabilize. If the feedback controller fails, the system output value is easy to deviate from the set value.

I think the software development is actually a complex control system. User needs and labor of developers are input, code, and various documentation, etc. are output. The goal of software development is to try to make the developed software in line with user needs. The user's demand will continue to be changed, and it is a mobile target. This is also one of the reasons why software development is difficult. How to develop software under control (Under Control)?

A few years ago, I participated in the development of a graphic editing software. The development tool is MSVC 1.0. At that time, we have considerable understanding of Windows programming, and have mastered the programming technology of the opposite object. Colleagues are also very high. A few months later, the boss has been able to make a demonstration at the exhibition. The positive response of potential customers makes the boss very excited. He asked us to constantly realize new features to participate in an exhibition. If the mistakes found, if you turn a blind, as long as you don't desert the machine. The surface seems to develop well. But it is actually a problem. After the function is implemented, the error is started. But modifying an error often cause other errors. Finally, we have found that some key mistakes have no way, unless they do a big change. After a period of struggle, the project had to be given up. I really want to be heartache.

The reason is that we did not check the error in time, and there was no timely change in time. We didn't get feedback in time, even if it has feedback, we didn't use it to adjust our actions. Some errors may not be serious in the development stage, neither causing crash, and has not caused data loss. But they may be unreasonable software structure. This kind of error is not resolved as soon as possible, will be endless. Even if the software structure is reasonable and there is no serious error, can software be the user? not necessarily.

So what feedback can you get during development? How can I get more feedback as soon as possible?

Structured programming suggests use from bottom to top, waterfall development. This approach decomposes software into several phases of analysis, design, programming, testing, release. The biggest problem with structured programming is: it requires that you have a comprehensive and correct understanding of the software before starting programming. But how much is this opportunity? Therefore, software development using structured programming is like a open loop system, which is easy to deviate from the preset goal.

It is now popular in INCREMENTAL ITERATIVEEVELOPMENT. The method is to set several milestones during software development, usually three or four. When you reach a milestone, you must deliver a user or potential user an available primary product. It may be in full, but must be controlled by quality. At this time, you should listen to the user's opinion. The user's opinion is extremely important feedback, which ensures that the system's function is correct. Between the two milestones, it is divided into a number of cycles. Each cycle is composed of analysis, design, programming, testing steps. It is usually developed to develop a loop. A loop is approximately two weeks. The feedback is mainly from the development team and the test team. Feedback form includes design review, code review, unit test, functional test, and so on. I found that the problem is solved in time, and I will never do it. These feedback ensures that the system structure is correct.

Only structural and functions are correct, your software can succeed. I believe everyone has learned the relationship between structure and function. The structure determines the function, and the function has a counter structure. Usually developers pay more attention to structures, and users only care about software. Ignore the function, the user may not buy your software. Ignore the structure, the software will be difficult to maintain and expand. Gradual development helps you take into account these two aspects because you can get two feedback in time. In fact, small to being a person, it is necessary to feedback. Without feedback, it is possible to fall, out of control. How can software development be exceptional?

转载请注明原文地址:https://www.9cbs.com/read-23972.html

New Post(0)