of Faculty of Information and Engineering Sciences, Peking
For coping with the drastically increasing demand on the information technology and the extremely open and dynamic nature of the Internet, software engineering should become an independent discipline along with computer science and co-operative efforts from academia, governments and industries should be needed for the development of software engineering. In this talk, some thoughts on the co-operative development model of software engineering are presented.
When looking back to the history of software engineering, we can identify four driving forces of software technologies. Firstly, new software technologies emerge to take the advantages of the increasing hardware power. Secondly, new paradigms of software emerge to deal with the increasing complexity of software. Thirdly, new technologies for interoperation emerge to bridge the continuously coming heterogeneity. Fourthly, commonalities of existing software systems are distilled and reused to increase the quality and efficiency of future software development. Based on the discussion of the above driving forces, the milestones of software engineering, such as the separation of concerns, and information hiding etc., are also analyzed.
Furthermore, the history and achievements of software engineering in China in the past two decades are reviewed with emphasis on the representative software engineering research and practice in China, such as Jade Bird project, and the status quo of software industry and education of China, e.g., the government investment on software engineering.
Finally, a co-operative development model for software engineering is proposed with some recent experience in China. The main aim of the model is to utilize the efforts from the government, the software industry and the academia to change software production from handcrafting to industrialization. In this model, the role of the government is to bring the academia and the industry together; the software industry should base its software development on technologies that aim at mass production of software, such as the component based software development; and the academia should focus its research mainly on techniques for industrialized software production and help the government to set up solid technical infrastructures for the industry. The education of future practitioners suitable for this model should also be based on the joint efforts of the government, the software industry and the academia. In the new millennium, the Chinese government has started to build up a nation wide component repository, and Peking University plays a central role in the development of this repository. To produce more practitioners suitable for industrialized software production, more than 35 schools of software have been set up in various universities in China since 2002. These schools are much more industry oriented than existing computer science departments in universities. For example, in the school of software in Peking University, half of the departments are jointly operated with leading companies and half of the courses are taught by skillful practitioners from industry. To cope with the extremely open and dynamic nature of the Internet, a joint project has been sponsored by the Chinese government since 2002 to study the future software running on the Internet, which is called Internetware in the project. Due to the nature of the Internet, Internetware should be autonomous, evolvable, co-operative, polymorphic and context-aware. In this project, Peking University has proposed an approach, called ABC (Architecture based Component Composition), to the engineering of Internetware. ABC implements a middleware, called PKUAS, to support popular component models, like J2EE/EJB and Web Services, and novel component models required by Internetware, like reflective component and autonomous component. ABC also provides a set of CASE tools, including feature modeling, architecture modeling, object-oriented modeling, component oriented testing, architecture based deployment, and architecture based maintenance and so on. ABC is applied in some national wide and commercial systems, e.g., Information System of Beijing 2008 Olympic Games.
Professor Fuqing Yang is a professor in Computer Science in the School of Electronics Engineering and Computer Science, the Dean of the Faculty of Information and Engineering Sciences, Peking University. She is a member of the Chinese Academy of Sciences and an IEEE Fellow. Prof. Yang is among the first generation computer scientists and a pioneer of software engineering research and practice in China.
In the 1950s, at the Moscow University of the former Soviet Union. her research focused on programming automation. In the 1970s she developed the DJS-150 operating system, the first Chinese operating system to support multi-tasking and the DJS-240 operating system, written entirely with high-level programming languages. In the early 1980s, she led the Jade Bird (JB) project, a major Sci.&Tech. project of the State. More than 20 institutions, 300 researchers and developers are involved in the development of JB Project. The JB project has contributed to the fundamental construction of China’s national software industry, and constitutes a turning point from “handicraft workshops” to industrial production of software in China. In order to accelerate technology transfer, Yang, supported by the Chinese government, established the National Engineering Research Center for Software Engineering, as well as Beida Jadebird Company, Ltd. Yang was also the director of Computer Science and Technology Department of Peking University from August 1983-March 1999. She has published 8 books and more than 150 papers.