The main disadvantage of current development methods
The source of developing methods in development is mainly in design, implementation, and runtime separation and weak connections.
1 Separation of design and implementation (generalized code). All current designs are weak design (only different degrees), that is, the design cannot be directly or unable to generate code implementation, once managed is not strict, the code implementation will be detached, especially in a project test or running The period, and the demand variation is relatively large; even a long-term maintenance system, the design often has already disappeared, only maintenance person knows the system's current look. As for reverse engineering from achieving reverse, it is a high difficult action. This weak design is directly caused to achieve lack of control, and finally lead to failure of software or shorten the software life. Currently solving this problem from two perspectives from technology and people, on the one hand, using the language such as UML to strengthen the design, on the other hand, using CMM's specifications to enhance people's management. It should be pointed out that the UML's strengthening is limited, and the management of CMM will greatly improve the cost.
2 Realize (code) and the runtime separation. This separation has led the developer to write code needs to imagine the condition of the system, this time the developer can use a lot of implementation methods, which kind of use of the developer's quality and experience, this is to say the programming is art s reason. To eliminate this randomness and inconsistency, you must verify the results of the runtime by repeated testing, that is, this is not possible to ensure that the code does not make unexpected things. The above factors have led to low software quality and long test cycles. Solving the above problems, generally by providing a large number of functional modules, 4GL interfaces, strengthening development specifications, etc., popular XP (extreme programming) is a better way, mainly through excavating people's potential.
Separation of the above important factors leads to demand to design to code to generate operation results, just like a loose chain, a long march team, complexity complexity is more complicated under sectional participation of human factors. To achieve the goal: In order to constrain the final result, it is necessary to increase human cost and technical costs to complete, such as purchasing various development aids and training of project management and personnel.
In summary, the quality problem and guarantee progress of the software by adding various types of efforts to eliminate software.