The secondary development of management software is based on the existing software products, according to the personalized needs of customers to develop, generally by the software product developer, or by the manufacturer to provide secondary development interface and source code by a third party. Unlike full custom development, secondary development is not developed from scratch, but based on existing software. Evaluation of an open software product is qualified, mature and perfect development interface is an important sign.

First, why there is secondary development of management software?

Existing product functions can not meet customer requirements, or need to connect with other software to achieve data exchange and transmission. Baidu cloud secondary development will generally be based on the existing product technology and design situation, the need to provide the relevant interface or source code, at the same time need to understand personalized functions and requirements, comprehensive design and development.

The workload of secondary development is determined by comprehensive factors such as the difference between the functions of existing products and the personalized needs of customers, the difficulty of interfaces, the design of the system (such as the low coupling degree between modules), and the expansibility of the product (whether it is suitable for secondary development or not).

Second, the advantages of secondary development of management software

1. Compared with complete customized development, secondary development requires less work, shorter time and lower risk.

2. Secondary development is carried out on the basis of existing products, and the accumulation of functions and businesses of the original products can be inherited well.

3. Solved the problem that the personalized needs of the product cannot be met.

Problems existing in the secondary development of management software

Secondary development issues are often closely related to existing systems, particularly the architecture and design of software systems and the ease of secondary development interfaces.

1. The second development is based on the system to provide the best interface to develop, if directly to the source code changes and development, will be on the basis of the core source code for the disposal of punishment, this will not only lead to new error and existing functionality is not stable, and after the producers upgrade standard products, not directly upgrade, need to be integrated, the situation is catastrophic. Many users do not understand the seriousness of the problem, which is one reason many software vendors are reluctant to offer secondary development.

2. Existing products need to provide mature and perfect series of interfaces, which is one of the important indicators to evaluate whether a software product is mature and standardized. Otherwise, secondary development can only be carried out by the original manufacturer. Failure to carry out secondary development leads to the existing system can not be deeply used or can only be exchanged, the existing investment and time are wasted.

3, not all products can carry out secondary development, there is no mature and standardized interface, system design and coding is very poor system, secondary development time and cost is much higher than the system exchange and fully customized development, this is also quite important, easy to be ignored