Component technology development
Many inevitable factors such as changing demand, complex business processes, lack of domain knowledge can cause software changes, evolutionality is one of the basic features of software. Repeated development of the same type of software is not only a waste of human material, but also causes low development efficiency, and the development level is slow and other incident. How to adapt to software-changing needs and improve software products have become the focus of concern during software development. Practice indicates that the stability in the software is from high to low as data, functions, objects, interfaces, thereby understanding definitions and implementation, high-internal gathering, low coupling, and low coupling are adapting to software evolution, improve software complexity Guiding Principles. Object-oriented method, the development method of component-oriented components is produced in this principle.
◇ Structured design, software system behavior and data separation
◇ Hide of encapsulation, behavior, and attributes for object-oriented design, data and operation
◇ When a complex occupies the dominant position of the application development, the constructor is sometimes referred to as a component-based development or component software. Based on the development of construction, the coupling is lower, suitable for rapid creation of more complex systems
Component classification
According to the function, it is divided into three layers: the underlying member is the basic data class component and the system support member, including the database member, the code table member; the intermediate layer is a variety of general components including a message intermediate, data exchange intermediate, etc .; the top layer is For special components or subsystem components in various fields, such as statistical components, query components, and the like.
Traditional software architecture, development process, organizational form
◇ Since the bottom of the law and the top downward method
Since the bottom-up method appeared in an early computer application, that is, when systematic analysis and design, start from the underlying module, then gradually complete the entire system. Since the bottom of the law, the development of the system is easy to adapt to the true needs of the organization; helps to discover the growth needs of the system, and the experience gained will help the next phase of development, easy control and management. However, due to the evolution of the method, the system is difficult to achieve the overall nature of the system; at the same time, due to the system failure to guarantee the overall planning, data consistency and integrity; and to ensure system performance needs, often to be re-adjusted, and even Redesign the system.
With the expansion of system planning and summary and summary of development experience, the top-down system analysis method is gradually developed and improved. Since the top-down method requires developers to first develop the overall planning of the system, then gradually separate the highly structured subsystems, and achieve the entire system from top to bottom. Using this type of method can lay the foundation for the mid-term or long-term development plan of the enterprise or institution system, and support the overall integrity of the system, providing guarantees for the overall planning of the system, the coordination of subsystems. However, it also has a disadvantage: the system analysis, the design personnel require high, in large systems, the implementation of the underlying system is often lacking, the period is long, the system is complicated, and the cost is higher.
◇ Fast prototype method
The core of the prototype method is the prototype, namely the model, is an early running version of the system. As the user or developer is deepened to the system, the prototype is constantly supplemented and refined. The definition of the system is done in the process of gradually discovery, which is the basic starting point of the rapid prototype method. The development process of the rapid prototype method reflects the continuous iterative rapid modification process, which is a dynamic definition technology.
The biggest advantage of rapid prototyping is to greatly reduce the post-maintenance cost of software systems, so that system functions can correctly reflect the needs of users. The deficiency of prototype itself and this method is that if the prototype itself is not complete, the performance is not good, it will cause the prototype design and use exceeding the expected cost and time. Another key is that prototypes require a suitable software development environment so that prototype can directly convert into a reality system.
The above methods have their excellent disadvantages. "Since the bottom up" method, it is only partially part of the overall grasp; "Self-top" method is long, the effectiveness is slow, the flexibility and adaptability; the rapid prototyping method has a significant advantage, but Because of its support of rapid development tools, it is no longer necessary to have many system developers. Software architecture, development process, organizational form based on soft component technology
◇ system architecture
◇ Organize form
In this new software development method, software companies provide specifications of soft components with development software. System integrators summarize headers, combining soft components that can complete different functions, and make their own core technical components. It is the division of work between the two, and the industrialization of the software industry has gradually introduced successfully.
At present, software products developed by soft components have been introduced, and the mainstream is the product headed by the United States, Japan. The time launched by the development tools adopted by their thoughts is less than five years. Therefore, the user who truly uses the soft component is also still countable. Although the soft component technology still has a lot of immature, people believe that the benefits of soft components are unmeasureable, which represents the development direction of new generation software technology.
For organizational organizations within the company to take matrix forms, different groups are determined in different components. When doing projects, select the appropriate personnel to form project groups in each group.
◇ system development process
The component-based software development and other development processes are different in its work in various stages of analysis, design, implementation, no longer starting from scratch. At each stage developers must first pass the component library management system Some component libraries retrieve needed components, if:
For new, modified components should be added to the component according to the standard library standard, enrich system construction, providing good support for future system development. Component-based software development requires a wide range of components that need to be supported, and the component library should contain a large number of various types of components, and it is also necessary to classify, description, retrieve, and maintenance. To this end, you need to design a managed program of a soft component library to complete these work, the hypervisor of the soft component library mainly completes the following features:
Component retrieval: Find the required components in a soft member;
Component expansion: Add a component into the component library;
Components Delete: Delete an existing component;
Component Modification: Modify an existing component.
Components Integration: Using Existing Soft Software System;
The component-based development will be mapped into complex problem space to solve component analysis, extraction, development and component integration mechanism issues. The integrated mechanism of the component is also referred to as architectural techniques, involving various techniques such as components, architecture, and messaging. The analysis of the component, the extraction work needs to have rich experience in the field, and through the continuous analysis of the commonality and personality characteristics in the field, the method mainly has the system-oriented feature analysis method, etc., the implementation of the component and the system to be used. The structure and integrated mechanism are related. Image stated that the development method of structured is the use of mud, grass maternal house, object-oriented development method is to use bricks, steel and other raw materials, and the components are poured with concrete, which is done. The shelf is the so-called architecture, or becomes an integrated mechanism. Based on the development of components, it is generally the overall framework of the system, and then constructs each component and mounted the component to the system.
The development method facing the component overcomes the shortage of rapid prototyping to support the lack of quick tool support, in order to construct the system in software component technology. The system in most areas, there is a similar point, so it can increase the granularity of software reuse, improve the reuse rate, and greatly simplify the development efficiency. Based on component development in determining the overall framework of the system, constructing the overall frame, modify the overall frame, constructing components, and modification components, the rich component library is the key to improving system development efficiency and ensuring the key to the system. Therefore, for the use of components-based development groups, don't be too pursuit of the component of the system, especially if you don't excessively considering multiplex problems, you should take step-by-step methods, and constantly improve the level of software components and multiplexing. , The constant improvement of the component library is implemented for the development method of the component, otherwise it may lose its superiority, so it is like building a pig house than the way to use concrete. Component development
The emergence of component techniques greatly meets the requirements of multiple applications, so that the soft components formed by various techniques can be reused to maximize. At the same time, a series of problems faced by large-scale software development, how to build object-oriented soft component library structures, and organize and manage; how to analyze, extract the reused components; how to design the environment that is suitable for building integration.
The production of industrialization has brought people to the earth-shaking changes; the industrial production of software will bring more convenient and comfortable, but this road is still very long, but with new technologies such as components, architecture, product line technology. Produce, we have reason to believe that software industrialization is inevitable, component development is also inevitable in software industrialization.