Members of software system ------ Internet Lab (2004-2-20 9:56:00)

xiaoxiao2021-03-06  48

- Software industry large-scale agile custom era

First, the software industry calls for the arrival of large-scale agile custom age

In the 19th century, the industrial revolution in the manufacturing industry, through standardized production, forming socialization division, and promoting the era of manufacturing from the hand workshop towards the production of socialized production; the socialized production is greatly rich in products, Reduce the cost, thereby bringing a leap in human civilization!

With the improvement of the production level of the whole society, standardized general-purpose products are increasingly unable to meet individualized demand. People expect to get "well-organized goods", which is the change of demand, demand, requires manufacturing by large-scale standardization Production turns to large scale agile. The so-called large-scale agile customization is to emphasize the need for fast and agile to meet customer personalization, while maintaining a low-cost advantage of large-scale production.

The high-speed development of information technology and production technology provides the possibility of achieving large-scale agile customization. So in the late 20th century, the manufacturing industry achieved a leap of large-scale standardized production toward large-scale agility. The most typical case is: Dell mode, Dell's full use of information technology to achieve large-scale agile customization, which laid the position of the global PC overlord!

In the Internet age, the software industry must also achieve large-scale agile customizations like the manufacturing industry. Internet-based applications will inevitably bring deep impact on the software industry! Throughout the process of human industrialization, we noticed that a social network and the application of the whole society here will inevitably have a comprehensive promotion of social progress, and bring a new huge industry. For example, the formation of the transportation network and the development of personal transportation, accelerating the flow of personnel, and generates an automobile industry; the development of power networks and the development of household appliances accelerate energy transfer, and produces home appliance industry; communication network formation and personal communication The development of technology has accelerated information exchange and forms a telecommunications industry. Today, the development of the global Internet and the development of network software technology have promoted the integration of communication and calculation, and humans need to handle a lot of information anytime, anywhere. The software industry must face huge opportunities and challenges: 1) Human expects to achieve convenient resources, which result in the calculated demand, and the efficiency requirements have increased, and the software must produce more efficiently. Many higher quality software products; 2) Human expectations software meet personalized needs and adapt to the change in the future business environment and IT technology. Realize agile informationization programs with the lowest development and deployment cost! In short, the human expectation software is like manufacturing, achieving large-scale agility!

Second, the fragile software system is unable to achieve the dream of change

Ironically, information technology assists that manufacturing industries have realized a leap in large-scale standardized production to large-scale agile. Software industry for the main body of the information technology industry is still staying in the former industrial era! The software traditional production method emphasizes the development and deployment of software in software design-centered functional modules, demand, analysis, design, coding, testing, system deployment, etc.

Chart 1 Traditional software production flow chart

Data Source: Internet Lab

Studies have shown that "60% -70% of the software can be multiplexed." However, due to the technical factors, the large-scale multiplexing of software has not been implemented, "continuous re-repeating the invention!" This is The most appropriate description of current software production status! Because the software must be made up of the software, the software must be made from the coding, causing the existing software system very fragile: concentrated in two aspects:

1) The rigid software structure cannot be adapted

Software starting from the code level, emphasizing the functional implementation, is born with a huge, rigid and unable to adapt the disadvantages. Taking an enterprise application solution as an example, traditional application software products often followed by two typical delivery modes:

l Delive customer with standardized software

Coded software development and service cost is high, in order to reduce development and service costs, the application software manufacturers usually promote their own products contain "industry best business practices", and "Management Experts" identity to customers The management model is forcibly changed to adapt to this standardized "industry best business practices". However, each company's competitive environment is very different. The company's strategy, core competitiveness is also different, and the company only maintains its own distinct personality, and maintains a high degree of flexibility to the environment, and adjusts management strategies at any time is survival and The key to development. I will ask the management truth that has this "four seas" "can solve all the time of all enterprises? The best practice of the so-called industry is achieved to a certain extent to erase corporate characteristics and uncomfortable future development needs. l Software systems customized from the code level development

Customized software systems meet the customer 's management of personalized demands to some extent, but it is difficult to adapt to future business environment and IT technology changes. Today's business environment is changing, IT technology has a thousand miles of IT technology, and traditional application system architecture is modular as subject, achieving customer needs, its expansion, and reuse has poor ability, and is difficult to apply recombination for modules. Customized systems often meet the needs of customers at a certain time, but they cannot adapt to future changes.

Coded software, no matter what kind of way, you can't really realize "agile custom"!

2) Low efficiency and low quality caused by backward production methods

The result that cannot be reused led to the production of software to start from the code level, not effective division of labor, which is similar to the traditional industry in the 19th century workshop manual single piece production! However, software has developed to today's abnormality, and the space shuttle has 40 million lines of code, and the space station is a 100 million line code. Such complex software needs to start from the code level, how is the production efficiency improve? How do I guarantee the high quality of the software?

This shows: The traditional coding software system cannot achieve large-scale agility of software! Is there a new software system to achieve large-scale agile custom?

The answer is: Yes!

That is the new software system brought about by components!

Third, the component-oriented software system carries dreams

The existing software system cannot achieve large-scale agile customization because software multiplexing is not implemented. Software multiplexing is considered to be an effective way to solve the problem of software system. The technical self-birth of the component is self-born, and the dream of carrying software resembling software reuse is concerned. In the past few decades, although the mainstream development thoughts have been in the past few years, the software industry has never been disconnected from the pursuit of component technology! However, due to technical level restrictions, software reuse remains in the stage of function multiplexing or class multiplexing, unable to achieve thorough change of the entire software system!

The interconnected telecommunications techniques are developed and the development of the whole software system is possible. The software system for components will bring a shocking revolution to the software industry. This new system includes two aspects: a component-oriented software structural system and a component-oriented software production system. The new system set off in these two aspects.

1) Flexible components integrated software structure

l The basic unit of application system, "Information Atom" - component

The application will be divided into "non-score" component-component, which will become the basic unit of the application system, and the component is also the basic unit of software multiplexing. The components have high integration and low coupling, so the application system in which the components is combined will be more unacceptable.

l Software will exist in rigorous logic spaces

The component is the basic element of the future, since the software can be stored and reused in the form of component, and the component can perform organic combinations, and the software will generate a rigorous layer-level logic that is combined by the component. The presence of spatial form.

Chart 2 New Enterprise Application Software Structure System

2) Assembled collaborative production brings production efficiency revolutionary improvement

The main flow of components is divided into: demand analysis and domain analysis, frame design and selection, component selection, assembly integration, test and system deployment. Chart 3 Software production process for components

Data Source: Internet Lab

l demand analysis and analysis of field analysis

The domain analysis activities are different from demand analysis of specific systems, which are analyzed for systems, expected demand variations, and technological evolutions for specific applications, with the aim of identifying a general framework in the entire field. To achieve the software in the framework level. To assess the necessity and feasibility of the domain analysis. Field analysis or adoption of existing analysis results in an appropriate timing.

l frame design and selection

A framework is a reusable design, which specifies the architecture of the application, which clarifies the dependence, responsibility allocation and control flow between the entire design, collaborative component, which is characterized by a group of abstract classes and the cooperation between the examples. .

l component selection and testing

Extracting components from component library components or obtaining components from component markets, may also re-develop some new components, these extensions or newly developed components must be tested on construction tools, ensuring component function and interface specifications. This step is fast and easy to test more than traditional units.

l Assembly and integration

The assembly and integration of the component is to assemble the member into a module or a package, and can have their own custom descriptor in the module or packet.

l system test

According to the previous design, the system integrated system is tested, which will greatly simplify relative to the traditional software development process.

l Deployment of application system

Application system development is only focused on application logic and data definition, so that the completion of the entire application system is simple. After completing the application logic and data definition programming, the application server and customer have completed the deployment of the entire application by standard XML file configuration and deployment.

It can be seen that the component-oriented software production achieves the efficient multiplexing of the software through the components to avoid low efficiency and low quality of the repeated development strip from the code level.

The component-oriented production has the following characteristics:

l Standard

The integration between components is based on the development of components, and common production standards are a major feature of component production.

l Knowledge multiplexed

Knowledge is stored in the form of components, reducing deduplication labor!

l divided into cooperation

Complex software systems can be implemented by combining components, in parallel ways will increase development efficiency. Through the social division of labor, the production efficiency of the software industry will be revolutionized!

l High efficiency

Standardization, knowledge reuse, and division of labor bring the revolutionary improvement in software production efficiency!

l Efficient high quality

The components have been repeatedly tested to ensure high quality, and the components integrated application systems have high quality and stability.

Assembled collaborative production will bring software production efficiency, quality revolutionary improvement!

Summary: Human calculations are nowhere to put forward the requirements of "large-scale agile custom" requirements for software industry, and the old software system is in jeopardy. The new software system for components, realizes the flexible component integrated software structure and efficient assembled collaborative production, and the new software system will inevitably bring large-scale agile and customized eras.

Fourth, the leader of the new system promotes dream implementation

As Microsoft brought the era of desktop applications, BEA became the hero of the distributed calculation era, the establishment of a component-oriented software system, requiring some profound professional manufacturers to promote the industry revolution. Some large manufacturers such as IBM, Wakesoft, M7 have launched the corresponding products. It is worthy of China's excellent enterprise is standing on the same starting line as foreign giants, and the typical representative is: Puyuan

Shanghai Puyuan's representative products are: Puyuan EOS use componentization, visualization technology provides a platform-oriented Internet application base platform, which is committed to providing basic operation, development and maintenance of the facial-oriented application software system. High-scale agile customization of application software.

On April 6, 2003, the Expert Appraisal Association of the "EOS Component Integrated Platform" was conducted under the Shanghai Municipal Science and Technology Commission, and the participating experts listened to the research report, technical report, and the system demonstration, and the consistency is consistent. It is believed that the EOS component integration platform uses XML, components and its multiplexing, J2EE and other advanced technology routes and automated machine-based components, overall technology reach current international advanced level. In the project bidding of the Shanghai Land Bureau, in the system selection process, the Shanghai Land Bureau and the Shanghai Internet Economic Consulting Center jointly conducted a strict bidding and system prototype verification process. In the end, Puyuan defeated the international giants such as BEA with its leading technique, and pulled his lead in competition. On January 8, 2004, the formal opening of the "Shanghai Land Trading System" developed by Puyuan EOS was rated as "template project" of e-government.

The success of Puyuan explained that when the era of the component-oriented system, China's software industry has stood in the same way with the international manufacturer, and the Chinese companies have a chance, let us work together to build a component-oriented software. The system, the arrival of the large-scale custom era of software.

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

New Post(0)