Nirvana

xiaoxiao2021-03-06  76

In 1999, Computer Scientists Brooocks, JR. Brought the Turing Award in Nearly 70 years old - this hardware and software expert in the world in decades, educator has "no silver" (1986) One article proposes a famous anchor that has not been broken so far: "There is no pure technology or management progress, can independently undertake the productivity, reliability and simplicity of software in 10 years. ". Brox's metaphor of the image discusses the "trap" in software engineering - "in the monsters of all terrorist folklore, the most terrible is the wolf, because they can completely unexpectedly become terrible from familiar faces into terrible "Monster", "And" The familiar software project has some people's wolves (at least in non-technical manager), often seem simple and clear, but it is possible to become a backward schedule, beyond the budget, there is a lot of defective monster". In the thrilling story, people only use silver bombs (silver bullets) to eliminate people's wolves, while Brooz believes that in software engineering, "no silver bomb", no one can contain software to "monsters", while still significantly Improve the development efficiency and weapons of product quality.

In a sense, Brooks' view (or prediction) is correct - if you don't have a thorough innovation based on code-based software system, then we will still be buurous in the future 10 years (or even longer) The code maze encounters "monsters".

Software death

First, large enterprise-class applications have died

At the end of August 2003, the annual DCI CRM exhibition was held in the New York Javitz Center, 21% of the exhibitions were CXO from global companies (an average of more than 6,600 employees), 60% of these companies are middle management staff. As a predictor and leading sheep in the CRM market, Siebel president Tom Siebel's annual theme speech is waiting for everyone. However, this year TOM Siebel's speech title made the participants shocked: "Death of CRM".

"CRM products have no market." According to Siebel's expectation: IT department will no longer purchase universal CRM software, then adjust the software according to its internal business processes. If Siebel's foresee is correct, the end of the CRM market also means that the company relationship management market, supply chain, human resource management market, and the end of other large application software markets. Through market research, we found that several international mainstream enterprise management software vendors, including SAP, PeopleSoft, Siebel, etc. In recent years, the revenue has been in the past, and the profit has more declined. Currently, almost every large enterprise application is encountering a deep crisis that occurs endangered or even dying symptoms. A study of the National Institute of Standards and Technology shows that "occupying 85% of the world software sales is large-scale software, while the failure rate of its development is as high as 70%!"

Large enterprise-class applications are going to death, which is manifested in various aspects.

First, large enterprise-class applications developed in traditional ways difficult to break through Brooks' "no silver bombism", find software engineering or project management methods, can greatly improve the development efficiency of application software - long development cycle, development The cost is high, and the cost of the cost is overdue and the construction period is extended. More terrible is that as the environmental and demand changes, "built is idle", forming a disaster of software engineering.

Second, the customer's expectations for large enterprise applications are almost unable to meet. For example, customers expect business integration and collaboration, build an efficient enterprise application system on the basis of collaboration; customer expects information on the information on the supply chain to achieve faster market response ability; customer expectation can be implemented quickly And low-cost deployment software systems that meet individualized needs, and adapt to the future of future business environments ... a sentence, customer requirements for software features and performance are getting higher and higher. Under this market demand, it is necessary to realize the integration of all levels of enterprises, it will inevitably lead to unprecedented software in size, complexity and function. Not only that, but the crisis of enterprise applications also behave as the "crisis" of the system deployment and maintenance. Application Environment From a stand-alone application, transitions to the client / server environment, and then transitions to the browser / server environment, and further migrates to the network environment of the multilayer (N-Tier) distributed system. Today, the Internet-based enterprise-based application requires software to achieve cross-space, cross-time, cross-devices, cross users, software is in an extremely complex heterogeneous environment, in which case the traditional software development thinking should be the current crisis It can only be a boat as a sword, and the wood is asking fish.

A similar crisis is particularly prominent in China. China is a rapid development and continuous transformation of countries, and Chinese companies are therefore more complicated, and the change in the reform of Chinese companies is even greater. Because of this, the crisis of Chinese enterprise application development and operation is more serious, and the risk of enterprise informationization is more, the failure rate is higher.

I think it is a traditional software system brewing and aggravating the crisis of enterprise applications.

The software system mainly includes software structure and production. The main features of traditional large enterprise-class applications are: coded development methods and development of continuous operation - coded development methods, making it difficult to realize quickly developing enterprise applications; once the development continues to run The way the software is rigid and endangered. .

The traditional software system is going to death under the serious crisis in inside and outside!

Second, explore the cause of software death

The Internet Age has brought infinite imagination space to enterprises. The marketing model of the company is leading the Internet-based ABC model (any time based on network, communication marketing) based on traditional 4P (product, pricing, location, promotion). The enterprise system has been applied from department-level, enterprise-level, and real-time online applications, and the scope of the application in depth and breadth.

Shi Yi time shift, change the "law". When the application needs have risen from the department, the company has risen to the society, we must re-examine the needs of enterprise applications.

On the one hand, the user needs individual software. Under the market economy, successful enterprises must be personalized, unique management methods and corporate culture, with this from competitors to win market space. The value of the enterprise must be personalized. Enterprise information must start from personality: the implementation of enterprise applications should fully reflect and enlarge the individual value associated with core competitiveness, thus enhance the value of the company. It should be the core contribution of information on the enterprise. If an informationization project not only does not highlight the individuality of the company - but exacerbates the "value homoification" of the company and the peers, it can be judged that this informationization project failed to succeed.

On the other hand, companies need flexible software. The business cycle of the company is a dynamic change process. In each growth stage, companies need to distinguish policies and management; as the environment changes, the business and management methods should change accordingly; coupled with the extension of the company's concept, now become A virtual organization that covers suppliers, customers, and various partners. Therefore, companies have become very important for flexibility or elastic demand. Correspondingly, enterprise applications also require higher flexibility. Currently, traditional enterprise applications often use two typical delivery modes.

First, the package software plus secondary development delivery customers. The function of the software is cured on this manner, leaving only a small part of the parameter configuration. Such software also requires a lot of secondary development in the process, even in this way, often does not meet the needs of the enterprise. Application software vendors usually promote their own products contain "industry best business practices", and inform customers' management models to adapt to this standardized "industry best business practice". However, each company is worth having a difference, the company's strategy, core competitiveness is different, and the company only maintains its own distinct personality, and maintains a high flexibility to the environment, ready to adjust management strategy, is survival The key to development. Where is this management truth with this "four seas," can solve all enterprises? It can be seen that the so-called "industry best practice" is inevitably achieved with the cost of erase the enterprise characteristics and not adaptation of future development. The way "open box is used" often has good system architecture and stable system performance, which can adapt to market demand in a certain field, but it is difficult to meet the individual needs of different users.

Second, for our customers, develop customized software systems from code levels. This custom development method is basically starting from the personalized demand from the customer. It is true that this custom-developed software system can meet most of the needs of a particular user, but developers are always difficult to fully consider structural factors such as software scalability, stability, and the product cannot quickly adapt to customer demand changes. It is also difficult to improve the efficiency of development. Many software companies are caught in the mashtacks in software customized development - software knowledge is not effective, and the cost is high, which constitutes a software company or the development bottleneck of system integration company, and is also a certain degree The development of the software industry is damaged.

Obviously, the above two software development methods can not solve the problem of software on demand - software development mode is low, and the software structure is rigid. In this corporate morphology, the company's extension is continuously expanded, the environment of the enterprise is constantly changing, and the era of continuous adjustment of the business of the company, this company has sustainedly used as a year to expire and drop.

Third, find a silver bomb

"No silver!" Brooks said that there is no technical or management of progress, can independently enhance the productivity, reliability and simplicity of software development?

Indeed, until the end of the last century, more than 20 years, the production efficiency of the software industry still has no orders, and software has become the most original "hand industry" while helping traditional industries improve efficiency. Although many large enterprise applications have adopted large-scale production and collaboration, this software often has long development time, low efficiency, and cannot be dynamically adjusted, and cannot be flexible and agile by stiffness. The software industry also needs to be separated from the era of hand workshop and industrial era, and enter the reusable industrial era of agile.

The backwardness of the software production, the further complexity of the demand and the environment, making the traditional software production method not only mitigated the crisis of software engineering, but is in a continuous deepening crisis. Internet application era, companies expect to get high quality, high-quality software with lower cost, faster, high-spirited software. Obviously, relying on the traditional software industry's backward production methods and rigid software structures, it is impossible to face the challenge of Internet applications. Contradictions are constantly intensifying, and the crisis is constantly deepening. My opinion is that traditional software engineering methods cannot solve the problem of "software crisis"; in other words, do not expect to find true "silver bombs" from traditional software systems.

The rigid software structure cannot produce a silver bomb - software from the code level, emphasizing the functional implementation, is naturally a disadvantage that is huge, rigid and unable to adapt. Coded software, no matter what kind of way, it is unable to realize "agile custom". Code level programming, code level maintenance makes efficiency impossible to improve.

The backward production method is unable to produce silver bombs - from the code started from the code level, experienced a large number of repetitive demand analysis, design, coding, testing, maintenance, long production cycle, poor software reuse. Relying on such a production method, how is the production efficiency improve? How can I guarantee the high quality of the software?

Since the traditional software system is the fundamental reason that leads to the software crisis, the software system will never get rid of the "software crisis" nightmare, and it is more unable to achieve a large-scale unclear dream, then that is uniform. Where is the silver bomb of "Software Wolf"?

Software change

"In the history of prehistoric, there is no other scene than the beast. The scene is more shocking in the tar pit. God witnessed the dinosaur, fierce, the sword tiger struggles in the tar. The more violent, the more fierce Tight, there is no beast to strong enough or have enough skills, you can break away. They finally sinked the bottom ... The large system development of the past few decades is like such a tar, a lot of large and strong animals in it. Struggle. Most of them have developed a running system - however, only very small number of projects meet the requirements of goals, time progress and budgets. Various teams, large and small, pumored and descent A picking one drown in the taro pit ... "

Brooks "Moon Myth"

Structural change

Let's anatomy a large application software system. In a business that has thousands of employees, a business-level business support system just launched in line after investing thousands of funds and two years. However, the organizational structure, process, and personnel have changed in software development, and it is still changing! Software developers must modify the software. The software has a thousand pages of design documents, and millions of lines of code. "Experience" programmers skip the design ideas and directly write program source code. Over time, the software design document is still "engraved the boat as sword" stopped in place, and the source code has been in the original picture. In fact, after anything has the factor of "Million", there is no way to manage directly. Military software source code is almost no one can understand, and it is extremely difficult to modify and maintain, so the software has become a huge monster that struggled in the tar pit.

To solve the problem of large-scale applications, you must first solve the structure of the software. The emergence of assembly language makes the software say goodbye to "Tianshu" consisting of "0" and "1". The wheels of the software have passed through high-level language, object-oriented, service-oriented, and more. Software technicians will break away from the quagmires of large segment of software technology until the components. In a component-oriented software, an application system is not composed of a code of millions of lines, but by several thousand components, it is visualized. The complexity of the system has a decline in order, while graphical assembly makes software and application design in one.

As the subversion and innovation of the code software system, the component-oriented software system first fills the difference between the expression and the graphical knowledge expression, completely eliminating the fault between software source code and software design ideas. . The main advantage is that the user's demand changes can be reflected directly through the components assembled graphical design; the permanent shielding software code layer allows software architects and programmers to jump out of the limitations of traditional development models, only need to graphically The components are dealt, while thoroughly evolving software expression, it also makes it easy to change and maintain. Under the software idea facing the component, the concise expression brings a simple software update - "The response" is no longer just a slogan. The component-oriented software system, loosely coupled component assembly, and the low correlation between the system different components. Repeatedly used the test-tested component, visual knowledge expression, the quantity of the system complex index decline, which also makes enterprise applications more mature and more stable.

The trend facing the components is optimistic about the prophet of the software industry. In the book "Software Successful Mystery", McKinsey four senior experts Detlev Hoch, Cyriac Roeding, Gert Purkert, Sandro Lindner After the world's most successful software company, 450 top leadership, think Component technology is the core part of the future prospect of the software industry, and the software industry improves the main source of productivity. Quote Software Experts Brad Cox says that the component-oriented technology is a silver bomb in the software industry!

Take back historical, the technical idea for components has been a long time. In 1968, MCLLROY submitted the "Software Components" of a large number of software components in 1968, the idea of ​​"software assembly production line" was put forward. As early as early in the early 1990s, the Academician of Yangfuqing, the Chinese Academy of Sciences, proposed the idea of ​​componentization software system. After that, the components technology implemented software reuse, using the "grades" mode production software, it has become a dream that software developers have long been unable to implement. At home and abroad, he is in a large number of explorations of components technology, and the final analysis is to solve the problem of "repeating inventions" during software development, how to make the same wheel can also be used for different cars. This is just confirming an old saying in China: the same way.

Change of production mode

China is manufacturing everything. This is true in Americans, Europeans, Japanese people. From lighter, children's toys, clothing shoes, the piano, computer motherboard, aircraft accessories, our government never gone manufacturing has become the pillar industry of China's economic development. Imagine that if you can fully learn from and draw the development experience of the manufacturing industry, the software industry will not be another "strong engine" that drives China's economic growth in the near future.

In fact, it is like manufacturing a car, and the development of software can be constructed above the "component assembly" mode; so that software technicians can get rid of the inefficiencies of "one line of writing code", directly enter "block matching components" Higher stage. Not only that, the technology-oriented technology completely broke the original software based on the inherent mode development. "Components" replaces "code" becomes the "information atom" of the software (basic structural unit). With the continuous enormous and perfect, flexible components of the component library, the integrated software structure will turn the wood "assembly software" from the dream to reality.

Components-oriented products are not only in the customer's demand anastomosis, online time, and software quality leading to similar products, which greatly improves the success rate of the project. Moreover, the development and maintenance of the software becomes unprecedentedly simple, and customers can obtain the latest information scheme respond to commercial environmental changes and IT technology changes anytime, anywhere, and truly implement "agile custom".

From the perspective of software applications - Enterprise application definitions in the Internet age are being revolutionary changes. Software is serving a sector in traditional enterprise application model, and is also based on the functions that have been completed. From subjective, enterprise applications can be divided into personnel, finance, administration, ERP, CRM, SCM, BI, etc. In the application, in the Internet, the horizontal department interacts, real-time enterprises interaction, diverse interaction channels, flexible business rules, make it unpredictable in the original sense. Changes in customer application modes have fundamentally requested higher requirements for software companies and their products. As mentioned above, the components are not lost as a software enterprise - as a collection of software code, the component can complete a specific service of one or more functions, and provide a number of interfaces for users. Through the component assembly, all software functions that are fitted with the application needs of the Internet age are realized. This solution will have a historic bid to draw the current large enterprise application product. Soon, the company solution we see will be new, no longer solid; it is a group or more group-oriented modules, according to the company itself needs flexible assembly, and continuously recombine, dynamically matches as the company changes.

The idea of ​​components, the first time gives the wings of the software, can be] Fast implementation of any assembly customization like hardware. In the past, some people defined the software as "encoded knowledge", and now, the software under the new system has become the "component's knowledge" - even if it is "component technology rewriting software definition" is not too late.

Industrial change

Development efficiency is corporate productivity. Software companies worldwide are exploring the feasible ways of "improving software development efficiency". Summary, the key to improving software development efficiency is to improve software reuse capabilities and multiplexing levels.

The research report shows that "60% -70% of the software can be multiplexed." However, the actual situation is that different companies are always constantly developing a few "wheels" for their customers - In a sense, the "continuous re-repeating invention" is the most appropriate description of the current software production mode. There is no doubt that only the components can allow the company to drive the chariot (including software companies and customers), "Software Reuse Road" is more rapid, more stable.

In the long-term software sky, the idea of ​​the components seems to be a dawn, tearing the old software system of Chen Yu - believe in evolutionary, ultimately, the old everything will be abandoned, and the replacement will be a new component Software structure. This is a flexible software replaces the process of replacing the rigid software, and it is also a new system that starts industrialization. According to incomplete statistics, there are currently a considerable part of the forward-looking manufacturers at home and abroad, start to try new software systems.

Chart: Software Industrial Structure under Software System for Components

Then, what changes will the new software system that bring to the software industry and the application model? There are mainly the following two aspects:

On the one hand, it will be highly eye-oriented - the platform will become a "pyramid base" for application software components, which provides development and operational environment and infrastructure for the application software.

On the other hand, the application member of the hierarchical application member will replace the application software coding - complex, rigid application software will end, and replaced by "agile components integrated era".

In addition, the technology-oriented technology will also greatly promote the development of the application market. In the future, the software industry-based software industry will have a large number of application component manufacturers to form social division of labor and exchange. The significant benefit of this division of labor is that component-oriented applications will far-beyond the application software under traditional software architecture in cost, quality, delivery period.

Analyze the life cycle of the component-oriented software industry, which can be roughly divided into five stages: innovation period, receiving period, early maturity, late and recession during maturity. Today, the component-oriented software production has across the acceptance period, and its mark is a component-oriented software production idea to start commercialization, and a single manufacturer begins to use a component-oriented software production method. However, the industrial gap between the accepted and maturity periods still exists. The component concept has evolved early from the accepted period, and there is a lot of breakthroughs, but there is no ecological chain. It is foreseeable that once across the industrial gap, the overall industrial development will experience the giant change, we will face an avalanche development stage - according to Gartner Group: "New applications from at least 70% of 2005 will mainly establish such as software components and Application Frames This type of 'Constructing Block'. "- my country has also quietly traveling in the exploration of component software, and in the Information Technology Office of the State Council in the" Revitalizing Software Industry Operations (2002-2005) ", Many referred to promotion application software components and multiplexing technologies, speeding up the goal requirements of the development of components. Some manufacturers have begun to promote the development of a component-oriented software system through the league. Undoubtedly, the new system will provide a valuable opportunity for the Chinese software industry! The curtain of software industry has opened, and the components are more software technology that is increasingly domestic and foreign industry experts to promote the one of the one. It can be convinced that in the next decade, we will have a fortunate to develop the software under the guidance of a component's idea and mature. The code-style software will eventually become history, and the software will be expressed in a more beautiful form, a better way in production and get a more perfect experience during use.

Please pay attention to "The Software of the Nirvana" three songs of the "Software Beauty".

Software beauty

Software architecture

At the beginning of the new year, the temperature of Beijing will rise slightly. On the weekend, the Summer Palace is bustling, tourists are like weaving. On the banks of Kunming, Wanshou Mountain, there is a magnificent, laminated heavy gurle, natural and beautiful, gods like water township, Jiangnan; enjoy the lake and mountains, can't help but sigh the beauty of Chinese ancient buildings. In fact, many buildings in the Summer Palace are mainly built by standardized components.

The beauty of ancient buildings can find the source traceability in "Building French". The book became in the Northern Song Dynasty (about 1103 years), all three volumes, is the Chinese ancient architecture. The book proposes a design method of a set of wood frame buildings, summarizes the details, specifications, sizes, and standards of various material components, and bricks, watts, glass firing methods, etc. - This book can be said to be the origin of the Summer Palace architecture and the architectural method - "Building French" has laid the foundation for the structural design and engineering management of Chinese ancient buildings through the decomposition and standardization of building components. The beauty of Chinese architecture begins here.

At the same time as the beauty of architecture, I am thinking: Can I find "Creating French" belonging to the software system?

Research the current software system, it is not difficult to find: The current software experts still need to deal with the details of a large demand, design, code. For project implementation time, investment resources, etc., large software is often targeted for a number of specific user functions. Experts don't have time, and there is no effort to pursue software aesthetics. Day Recycle, as the user functional requirements change, large software projects have become a randomly accomplied stack of code, and unparalleled. Once the project is completed, once the project is completed, he is not as good as it, does not want to touch the labor results of the next few months.

In the software idea of ​​the components, software experts must be lucky. They no longer need to repeat the technical details of the specific software implementation; their work is more like a software architect; their thoughts are re-concentrated on the user's personal business needs, around the user, how to build a simple structure There is a personality, a beautiful software.

As looking at the scenery. Imagine that the lake in Kunming suddenly rains, you can still go around the lake, the taste of the rain; or look for an octagonal pavilion, invite three five friends to drink tea. But say back to the current software, the beauty of the United States is lost; it seems that there is a sense of being in the end of the score. Maybe there is one day, the software will also like the scenery of Kunming, whenever and wherever, can make users feel free to experience the Internet era of happiness. Software structure

From a psychological point of view, human beings have roughly experienced a perception, perception, and then gradual process of thinking, which is also a process from specific to abstract. At first we would "expression" according to the substance of the substance (such as soft hard, cold, black and white), and then "expression" according to its function, and finally we understand the structure of all substances.

As early as the first five centuries BC, Democritic proposed a substance forever. He believes that the world consists of a huge void and countless atom.

The atomics founded by the British Chemist Daltton in 1803, revealing from the world from the world: "All elements are composed of fine particles that cannot be divided and not destroyed, this particulate is called atoms; from then on The understanding of things is gradually transitioned from atoms and molecules to the macro level.

This evolution of this essential understanding has laid the foundation of the entire scientific progress. Regardless of the atomic theory from the philosophy, it is clear that the way we can clearly discover that the way Western expression is an evolution process, and it is still always from essence, and the basic structure of the substance is used. - So, if we are no longer functional as the software, it is concerned about its nature, pay attention to its structure, will it find a new way to enhance software production efficiency? The answer is yes.

In constant changing, the new day-changing business knowledge is category, the component-oriented software system finds a structure that can curing software knowledge, that is, the means for establishing effective accumulation and reuse of knowledge resources through components - substantially, component is various general purpose Package and multiplexing of knowledge and business knowledge. The components can improve the quality of the production and management of software knowledge, realize the effective accumulation of software wealth, implement knowledge management and innovation.

Software made by "assembly" in component forms is more accommodated in software companies and their customers, and it is also more "beauty" characteristics. The beauty ugliness of the evaluation software, the key to consider the structure of the software, the software design and the change of the ability to respond quickly to business needs. Based on this standard, it can be concluded that the code software is subject to the development method and software structure, so it is not much likely to show the characteristics of "beauty"; and the components have a component-oriented software system to rely on changes to obtain vitality, which can be kept clean, Simple design - this is certainly closer to our definition of "beauty".

Beautiful software structure requires good reuse, maintainability, and portability. Good complexability, guarantees that developers save a large number of resources; and get rid of code-based traditional software structure, it is difficult to understand, and establish a basis for convenient maintenance. More traditional coded software maintenance is difficult, modifying difficult defects, the components are clear, easy to understand, but also have strong maintenanceability. Portability, in the traditional software system, there is no mention of the software system itself and the system application environment, software companies are also unable to unlock the complicated related entity, and she clipped. With the components, the component has been taken away from the dependence on the underlying application environment and technology, so that the component can also be reused in the heterogeneous environment to achieve good portability.

The beauty of experience in demand

In the preamble of "Agile Software Development", Robert C Martin has described Software: "(The Beauty of Software) is that its internal structure is that the team creates its process." However, the value of the United States is ultimately in the experience. It is like Bolhers. When the scenery can't see it, it can't be "landscape" - so we need to make a moderate correction for Robert Martin's views. : The beauty of the software is reflected in the coordination of structural and functionality, the development of developers and applicants, and the process of teamwork creation. Beautiful software is the ultimate goal of software companies and software developers.

Let's take a look at traditional code software. Traditional coded software, difficult to adapt to future IT technology and business changes; code-based customization development and customer demand often there is often difficult to overmaters, customer complaints, software manufacturers are often announced by large software projects. Completely failed. Can only be upgraded in the way "broken and back" way - after paying expensive information costs, it is a time-free, lack of flexible software: how long, customers will find When the business needs have changed fierce, the original software system is so weak. Customers are reluctant to step into the same river twice (repeated investment on the same software project), software companies may not like to push down the "secondary development".

Software that looks facing components, it will have sufficient ability, sufficient flexibility to manage changes, meet the requirements of the market and customers. "Change" does not bring challenges and crises to the components, which is just the opposite, "change" can fully display the advantages of components software. Through "change", customers can fully display the core competitiveness of the component-oriented IT system.

Who said that the elephant can't dance? Who said that enterprise informationization can only be thousands of people? Regardless of the size of the company, the component-oriented software can support agile functional extension and rich "personal selection". At present, traditional general-purpose enterprise software is frequently rigid, narrow and unable to respond to customer needs, etc., is because code-based applications are "limited" in terms of extensibility and personalization. Component-oriented software inevitably enables both software companies to get better and wonderful development and application experiences.

Software process beauty

The beauty of the software process, for software developers and customers are multiple: for software designers, software structures can be visually split, and the software structure with minimal internal coupling is "simple beauty". For developers and managers, produce non-defective code, and obtain a significant progress weekly is "exquisite beauty." For the user, by intuitive, simple interface, accurately present the selected program is "clear beauty".

Only by software development methods, software companies can capture aesthetics from product development - clear division of labor will break a huge software project into several controllable, manageable sub-projects; reducing project risks At the same time, it improves the visibility and controllable project management.

Specifically, the beauty of the software is mainly reflected from time to space, from the connotation to the different sides of the epitaxial:

From time control, traditional processes are unclear, or there are trivial and complex associations between different divisions, leading to demand variations, the time progress and engineering quality of the project is easily out of control. This is not the case, because there is a large number of multiplexed software exists, the division of labor is relatively clear, and the time and quality of the project are naturally easier to control.

For software space deployment, traditional software project deployment management is often only completed on some parameter settings and limited secondary development interfaces, and large business needs cannot be met; and the components are complex in software systems. Business needs can also be done in the infrastructure and industry components, have good service engineering management capabilities.

From the contents of the product, in a component-oriented software system, the product consists of many components; only recombacked small parts, or adds a small part of the component to achieve product innovation. Inside and outside, personalization is an external manifestation of a member-oriented software product: in a component-oriented software engineering management, a general purpose function is realized by the component, and personalization is realized by the selection, assembly and configuration of the component, and it is easy to implement software. Engineering management of personalized demand; contrary to traditional software products, even perform effective expression of a single personalized user demand, unable, personalized function and general function are often mixed together.

The component-oriented software is beautiful. Through the component-oriented Internet application base platform, business experts can focus more to envisage software, structural experts can separate universal components to build US software, and component-oriented software development process is more harmonious, more efficient. Today, components-oriented software system and this new system brought us more efficiently, but more importantly, it is its connotation, which is its performance.

"Horizontal Gongling Side", if we stand on a higher perspective search software, it will find that the software has many similarities with knowledge: knowledge, unlimited, constituent software basic elements - components Endless endless. But as long as you master certain knowledge, you can do infinite exploration; software is also, as long as there is a certain number of infrastructure, you can produce different applications. Bill Gates has a saying: the development of software does not have the so-called "limit", and its development speed will only be restricted by people's intelligence, imagination and creativity. But I think, if it is based on the software research and development of the success rate in the past, the software research and development of the project is broken into the coke pit, then the development of software (especially large industry applications) has already been encountered "limits" - good Today, the component-oriented software allows us to easily go beyond the limit and fully release their intelligence, imagination and creativity.

It should be fortunate that the "gene" defect of the traditional software system has been promptly discovered. It should be pleased to manage software development knowledge, industry business knowledge, and management. It should be believed that the practice of the idea of ​​the components should be considered, we can build new companies - knowledge companies, we can build new society - knowledge society.

When the software revolution whirls blow, let us expect changes to change the storm that is more violent, let us expect software to provide endless power for the information train high speed, and let us expect software beauty to be a heart!

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

New Post(0)