Software Architecture History

Source: Internet
Author: User

Software Architecture History

The development history of computer science can be traced back to the first generation of electronic tube computers (1945 ~ 1956 ). In February 15, 1946, the world's first 30-ton computer, ENIAC (Electronic Numerical Integrator and computer), was officially announced in Philadelphia, marking the birth of modern computer science.
In contrast, the development of computer software architecture is even later. Since the late 1980s S, the entire computer scientific community began researching software architecture to cope with the complexity brought by large-scale system design. Because the previous system architecture and design rely heavily on the practical experience and observations of relevant personnel, the quality of architecture activities cannot be measured and controlled objectively.
After more than a decade of unremitting efforts, the research on software architecture has gradually matured. Today's mature architecture technology already includes many research results: the use of annotation language, a large number of design tools, problem analysis technology, architecture design technology and means, Guide for complex system design and development, etc. At the same time, today's architecture technology has been well integrated with research results in other related fields: Research on the software product family and domain-driven) design Technology and component-based reuse technology. These achievements have become a powerful weapon in today's complex system design, ensuring that the quality of system design is strictly controlled.
Before systematically reviewing the great achievements of humans in Software Architecture over the past decade, we should first introduce an evaluation model of technical maturity. From the perspective of scientific engineering, we must first objectively review the development history of a technology, and then scientifically measure the maturity of the technology. In this way, we can truly ensure that we can fully grasp the development trend of this technology and position our own research efforts in this field.
The industry generally has very few models that systematically assess the maturity of a technology. In 1985, the redwine/riddle model proposed at the Eighth World Software Engineering Conference held by Samuel redwine and William riddle in IEEE-CS was the most widely used classical evaluation model. The classic feature of the redwine/riddle model is that it puts forward an important concept of "technical goal. It is a target-driven technical evaluation model that can well measure whether a technology is moving closer to the overall goal according to the precisely defined trajectory. Only in this way can we clearly understand the maturity of the technology.
By using this model, we can analyze and evaluate some important systems and software technologies, and finally discover the laws of their development and evolution. The results of an evaluation study using this model by Samuel redwine and William riddle show that the maturity period of a technology is 15 to 20 years. That is to say, from the formation and establishment of a new technology to its application and large-scale practice, it generally takes 15 to 20 years of development. Based on his own research, Samuel redwine and William riddle have defined the following six typical stages of development.
Basic research phase: basic research ideas and basic concepts; analysis and organization of the structure of the issues to be studied; Defining the main framework of the research direction. Concept establishment stage: communication is informal, forming a unified basic idea and concept; organizing and establishing research teams; working closely with solving specific sub-problems; constantly refine and improve the structure of the issues studied.
Exploring the development stage: exploring the application fields of new technologies; gradually clarifying the underlying problems and ideas brought about by preliminary technical applications; summarize and summarize the preliminary experience brought about by the technical application, and make the new technology more perfect and universal.
Internal improvement and expansion stage: gradually expands the application of new technologies to relevant fields, challenges new technologies to solving practical problems, gradually improves and stabilizes new technologies, and develops training materials, demonstrate the value of new technology research results through training.
External improvement expansion stage: similar to internal improvement and expansion. The difference is to expand the application of new technologies to a wider range of fields, so that more people in the industrial or application fields can participate in the practical application of technology. Verify the value and applicability of the technology. At the same time, refer to the feedback to further enrich the technology, modify the details of the problem to make it a complete system-level solution.
Popularization and Application Stage: develop products with production and quality, make the technology have strict version characteristics, and commercialize the new technology and develop the market for it, so as to expand the user scope of the technology; of course, gradually standardizing new technologies is also an important step.
Research statistics from the redwine/riddle model show that the new technology cycle from 15 to 20 years is the most common. For the past 10 years, we have concentrated on the concept establishment stage and the exploration and development stage (maybe the "Basic Research Stage" lasts for a longer period, because it is difficult to define the real start time of this phase ). Studies have shown that the reason for these two phases being so long is that only the verification over time can truly allow researchers of new technologies to adjust the appropriate research strategies and steps completely.
If we use the redwine/riddle model to analyze the development history of the software architecture, we will find that in terms of time, the development and improvement of the software architecture is not as linear as the redwine/riddle model introduces: The Evolution speed of six different stages varies, the smooth transition from the end of a stage to the beginning of another stage is not obvious. However, we can see from figure 1-9 that the redwine/riddle model is still very useful in describing the evolution of software architecture technology.

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.