Component-based software development
Recently I have some information about component-based software development, some gains and opinions.
Components don't mean things in the VCL class library, and components should be the binary binders that are later bound.
The component is a self-description program encapsulated into a separate binary unit and can be reused. It can be accessed by object-oriented ways. Components are language-independent, and components are later binding (relative to compile time link), in the final product environment, components can be replaced by different deployment policies.
Realing component-based software development modes (CBD) can bring the following advantages:
1. Improve the reusability of product resources.
CBD's maximum adaptation of software development platforms and changes in software architectures, making it sufficient use of existing product resources.
2, version control is simpler
Component-based software development allows us to maintain the version change of the core component code, and this part of the version management is relatively simple, it can avoid a lot of version branches or other complex situations.
The project code that connects the components together is only possible, there is no high reuse value, and there is not much careful maintenance. Many version branches don't even need to consider mergers.
3. Effective use of human resources
The actual level of the developer is good, and the CBD makes human resources more reasonable. Only a few people need to develop and maintain the development and maintenance of core components, reduce the human resources costs of most project implementors, so that human resources are reasonably utilized.
In addition, since only a few personnel participate, the CBD can effectively guarantee the quality of the core code.
4. Implement from sales software to sales software, find balance between doing projects and products
The function of the actual project will be just a functional subset of the component products, and the implementation of the project is actually only necessary to conduct secondary development according to customer requirements. In the continuous maintenance of components product resources, the implementation of the project is more and more convenient.
5, the development efficiency is improved, more convenient compilation and commissioning
The use of components makes the compilation link in the software development process more quickly.
Disadvantages of component-based software development models:
I didn't think it was. The existing visible issues are not fatal, and they can be avoided by certain means, and can be referred to the "requirements" part.
Prerequisites the implementation of components-based software development models:
During a certain period, the company has several projects in the same business sector, and there are programs that plan to develop in this field, and can implement a certain degree of CBD in this field.
Require components-based software development model:
1. Has a core team with strong design achievements, a well-designed software interface, ensuring high availability and version compatibility of components. And you can conduct some key training for the project implementation team.
2. There are more primary software developers who have more item implementation.
3. To play the advantage of CBD, accumulation is important, need a process.