Abstract
In the past 40 years, software engineering has emerged as an important sub-field of computer science and has made significant contribution to the software industry. Now it is gradually becoming a new independent discipline. This paper presents a survey of software engineering development from a research perspective. Firstly, the history of software engineering is reviewed with focus on the driving forces of software technology, the software engineering framework and the milestones of software engineering development. Secondly, after reviewing the past academic efforts, the current research activities are surveyed and new challenges brought by Internet are analyzed. Software engineering researches and activities in China are also reviewed. The work in Peking University is described as a representative.
Similar content being viewed by others
Explore related subjects
Discover the latest articles, news and stories from top researchers in related subjects.References
Brooks F P Jr. No silver bullet: Essence and accidents of software engineering. Computer, April 1987, 20(4): 10-19.
Zhang Xiaoxiang. Encyclopedia of Computer Science and Technology. Second edition, Beijing: Tsinghua University Press, 2005. (in Chinese)
Hong Mei. A component model for perspective management of enterprise software reuse. Annals of Software Engineering USA, 11(1): 219–236.
Papazoglou M P, Georgakopoulos D (eds.). Special issue on service oriented computing. Communications of ACM, Oct. 2003, 46(10): 24–60.
Fuggetta A. Software process: A roadmap. In Proc. the Conf. Future of Software Engineering, Limerick, Ireland: ACM Press, 2000, pp. 25–34.
Zave P. Classification of research efforts in requirements engineering. ACM Computing Surveys, 1997, 29(4): 315–321.
Bashar Nuseibeh, Steve Easterbrook. Requirement engineering: A roadmap. In Proc. the Conf. Future of Software Engineering, Limerick, Ireland: ACM Press, 2000, pp. 35–46.
Frankel D S. Model Driven Architecture: Applying MDA to Enterprise Computing. Wiley, 2003.
Meservy T O, Fenstermacher K D. Transforming software development: An MDA roadmap. Computer, 2005, 38(9): 52–58.
Kiczales G et al. Aspect-oriented programming. In Proc. 11th European Conf. Object-Oriented Programming (ECOOP), Springer-Verlag, Finland, 1997, pp. 220–243.
Wooldridge M. Agent-oriented software engineering. In IEE Proc. Software Engineering, 1997, 144(1): 26–37.
Diomidis Spinellis, Clemens Szyperski. How is open source affecting software development? IEEE Software, Jan/Feb 2004, 21(1): 28–33.
Foster I, Kesselman C, Tuecke S. The anatomy of the grid: Enabling scalable virtual organizations. Int. Journal of High Performance Computing Applications, 2001, 15(3): 200–222.
Satyanarayanan M. Pervasive computing: Vision and challenges. IEEE Personal Communications, 2001, 8(4): 10–17.
Xu J, Lu J. Software Languages and Their Implementation. Scientific Publishing House, 2000. (in Chinese)
Tang C-S. Toward a unified logic basis for programming languages. IFIP Congress, North Holland, Amsterdam, 1983, pp. 425–429.
Dong Y, Li K, Chen H et al. Design and implementation of the formal specification acquisition system SAQ. In Conf. Software: Theory and Practice, IFIP 16th World Computer Congress 2000, Beijing, 2000, pp. 201–211.
Jinling Wang, Beihong Jin, Jing Li. An ontology-based publish/subscribe system. In 5th ACM/IFIP/USENIX Int. Middleware Conference (Middleware 2004), Toronto, Canada, Oct. 2004, Springer, LNCS 3231, pp. 232–253.
Li Juan, Li Ming-Shu, Wu Zhan-Chun, Wang Qing. A SPEM-based software process metamodel for CMM. Journal of Software, 2005, 16(8): 1366–1377.
Lin H. Complete inference systems for weak bisimulation equivalences in the pi-calculus. Information and Computation, 2003, 180(1): 1–29.
Liu Chao, Zhang Mao-lin, Yan Hai-hua et al. Teamwork collaboration model of software integration testing and its characteristics. Journal of Software, 2000, 11(6): 841–847.
Ge Sheng, Hu Chun-ming, Du Zong-xia et al. WebSASE: A web service-based application supporting environment. In Proc. the 5th Northeast Asia Symposium, Seal, Korea, Aug 6, 2002, pp. 67–76.
Ruqian Lu, Zhi Jin. Formal ontology: Foundation of domain knowledge sharing and reusing. Journal of Computer Science and Technology, September 2002, 17(5): pp. 535–548.
Lu Jian. Developing parallel object-oriented programs in the framework of VDM. Annals of Software Engineering, 1996, 2(9): 199–211.
Lu Jian, Li Yingjun, Ma Xiaoxing et al. A hierarchical framework for parallel seismic applications. Communications of ACM, 2000, 43(10): 55–59.
Li Xuandong, Zhao Jianhua, Pei Yu et al. Positive loop-closed automata: A decidable class of hybrid systems. Journal of Logic and Algebraic Programming, 2002, 52-53: 79–108.
Wang H M, Wang Y F, Tang Y B. StarBus+: Distributed object middleware practice for Internet computing. Journal of Computer Science and Technology, 2005, 20(4): 542–551.
Ji Wang, Wei Dong, Zhi-Chang Qi. Slicing hierarchical automata for model checking UML statecharts. Formal Methods and Software Engineering. Lecture Notes in Computer Science 2495, Springer, 2002.
He Jifeng, Tony Hoare. Unifying Theories for Parallel Programming. Lecture Notes in Computer Sciences 1300, Springer, 1997, pp. 15–30.
Yang F et al. Kernel Software Engineering Environment BETA-85. Science in China (A), 1988, 18(5): 530–538.
Yang F, Shao W, Mei H. The design and implementation of object-oriented CASE environment Jade Bird 2(JB2). Science in China (A), 1995, 25(5): 533–542. (in Chinese)
Yang F, Mei H. Research on technology for industrialization production of software—Practice of JB (Jade Bird) project. In Symp. Sino-American Engineering Technology, Beijing, Oct. 1997, pp. 190–200.
Mei H, Chang J C, Yang F Q. Software component composition based on ADL and middleware. Science in China (Series F), 2001, 44(2): 136–151.
Mei H, Chen Feng, Wang Qianxiang, Feng Yaodong. ABC/ADL: An ADL supporting component composition. In Proc. 4th Int. Conf. Formal Engineering Methods (ICFEM2002), Shanghai, China, 2002, pp. 38–47.
Mei H, Zhang W, Gu F. A feature oriented approach to modeling and reusing requirements of software product lines. In Proc. COMPSAC, Dallas, USA, 2003, pp. 250–256.
Zhang W, Mei H, Zhao H Y. A feature-oriented approach to modeling requirements dependencies. In Proc. 13th IEEE Int. Conf. Requirements Engineering (ICRE), La Sorbonne, France, August 29–September 2, 2005, pp. 273–282.
Zhu Y, Huang G, Mei M. Quality attribute scenario based architectural modeling for self-adaptation supported by architecture-based reflective middleware. In Asia Pacific Software Engineering Conference (APSEC 2004), Busan, Korea, Nov. 30–Dec. 3, 2004, pp. 2–9.
Feng Y, Huang G, Zhu Y L, Mei H. Exception handling in component composition with the support of middleware. In Fifth Int. Workshop on Software Engineering and Middleware (SEM 2005), co-located with ESEC-FSE’05, Lisbon, Portugal, ACM Press, September 5–6, 2005, pp. 90–97.
Huang G, Liu T C, Mei H et al. Towards autonomic computing middleware via reflection. In Proc. 28th Annual Int. Computer Software and Applications Conference (COMPSAC), Hong Kong, China, Sept. 28–30, 2004, pp. 122–127.
Huang G, Mei H, Yang F Q. Runtime recovery and manipulation of software architecture of component-based systems. International Journal of Automated Software Engineering, 2006, 13(2): 257–281.
Zhang W, Mei H, Zhao H Y, Yang J. Transformation from CIM to PIM: Feature-oriented component-based approach. In Proc. 8th Int. Conf. Model Driven Engineering Languages and Systems (MoDELS 2005), Montego Bay, Jamaica, Oct. 2–7, 2005, LNCS 3713, 2005, pp. 248–263.
Shen J, Sun X, Huang G et al. Towards a unified formal model for supporting mechanisms of dynamic component update. The Fifth Joint Meeting of the European Software Engineering Conference and ACM SIGSOFT Symposium on the Foundations of Software Engineering (ESEC-FSE’05), Lisbon, Portugal, September 5–9, 2005, pp. 80–89.
Liu T, Huang G, Fan G, Mei H. The coordinated recovery of data service and transaction service in J2EE. In Proc. 29th Annual Int. Computer Software and Applications Conference (COMPSAC05), Edinburgh, Scotland, July 2005, pp. 485–490.
Author information
Authors and Affiliations
Corresponding author
Additional information
Survey: This work was supported by several government-funded projects, including the National Key Projects in the State 6th to 10th Five-Year Plan, the National High Technology Development 863 Program of China, the National Grand Fundamental Research 973 Program of China, and the National Natural Science Foundation of China, etc.
Hong Mei is a professor in computer science at the Peking University, China. He got the B.Eng. and M.S. degrees in computer science from Nanjing University of Aeronautics & Astronautics (NUAA) in 1984 and 1987 respectively, and the Ph.D. degree in computer science from Shanghai Jiao Tong University in 1992. His current research interests include: software engineering and software engineering environment, software reuse and software component technology, distributed object technology, etc.
Dong-Gang Cao is an assistant professor in the School of Electronics Engineering and Computer Science at the Peking University, China. He received the B.Eng. and M.Eng. degrees in computer science & technology from the Beijing University of Posts and Telecommunications in 1998 and 2001 respectively, and the Ph.D. degree in computer science from Peking University in 2005. His research interests include software engineering, Internet technologies and component-based software development.
Fu-Qing 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 an academician of the Chinese Academy of Sciences and an IEEE fellow.
Rights and permissions
About this article
Cite this article
Mei, H., Cao, DG. & Yang, FQ. Development of Software Engineering: A Research Perspective. J Comput Sci Technol 21, 682–696 (2006). https://doi.org/10.1007/s11390-006-0682-8
Received:
Revised:
Issue Date:
DOI: https://doi.org/10.1007/s11390-006-0682-8