Skip to main content
Log in

Development of Software Engineering: A Research Perspective

  • Software
  • Published:
Journal of Computer Science and Technology Aims and scope Submit manuscript

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Brooks F P Jr. No silver bullet: Essence and accidents of software engineering. Computer, April 1987, 20(4): 10-19.

    Google Scholar 

  2. Zhang Xiaoxiang. Encyclopedia of Computer Science and Technology. Second edition, Beijing: Tsinghua University Press, 2005. (in Chinese)

  3. Hong Mei. A component model for perspective management of enterprise software reuse. Annals of Software Engineering USA, 11(1): 219–236.

  4. Papazoglou M P, Georgakopoulos D (eds.). Special issue on service oriented computing. Communications of ACM, Oct. 2003, 46(10): 24–60.

  5. Fuggetta A. Software process: A roadmap. In Proc. the Conf. Future of Software Engineering, Limerick, Ireland: ACM Press, 2000, pp. 25–34.

  6. Zave P. Classification of research efforts in requirements engineering. ACM Computing Surveys, 1997, 29(4): 315–321.

    Article  Google Scholar 

  7. Bashar Nuseibeh, Steve Easterbrook. Requirement engineering: A roadmap. In Proc. the Conf. Future of Software Engineering, Limerick, Ireland: ACM Press, 2000, pp. 35–46.

  8. Frankel D S. Model Driven Architecture: Applying MDA to Enterprise Computing. Wiley, 2003.

  9. Meservy T O, Fenstermacher K D. Transforming software development: An MDA roadmap. Computer, 2005, 38(9): 52–58.

    Article  Google Scholar 

  10. Kiczales G et al. Aspect-oriented programming. In Proc. 11th European Conf. Object-Oriented Programming (ECOOP), Springer-Verlag, Finland, 1997, pp. 220–243.

  11. Wooldridge M. Agent-oriented software engineering. In IEE Proc. Software Engineering, 1997, 144(1): 26–37.

  12. Diomidis Spinellis, Clemens Szyperski. How is open source affecting software development? IEEE Software, Jan/Feb 2004, 21(1): 28–33.

    Article  Google Scholar 

  13. 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.

    Article  Google Scholar 

  14. Satyanarayanan M. Pervasive computing: Vision and challenges. IEEE Personal Communications, 2001, 8(4): 10–17.

    Article  Google Scholar 

  15. Xu J, Lu J. Software Languages and Their Implementation. Scientific Publishing House, 2000. (in Chinese)

  16. Tang C-S. Toward a unified logic basis for programming languages. IFIP Congress, North Holland, Amsterdam, 1983, pp. 425–429.

  17. 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.

  18. 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.

  19. 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.

  20. Lin H. Complete inference systems for weak bisimulation equivalences in the pi-calculus. Information and Computation, 2003, 180(1): 1–29.

    Article  MATH  MathSciNet  Google Scholar 

  21. 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.

    Google Scholar 

  22. 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.

  23. 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.

    Article  MATH  Google Scholar 

  24. Lu Jian. Developing parallel object-oriented programs in the framework of VDM. Annals of Software Engineering, 1996, 2(9): 199–211.

    Google Scholar 

  25. Lu Jian, Li Yingjun, Ma Xiaoxing et al. A hierarchical framework for parallel seismic applications. Communications of ACM, 2000, 43(10): 55–59.

    Article  Google Scholar 

  26. 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.

    Article  MATH  MathSciNet  Google Scholar 

  27. 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.

    Article  Google Scholar 

  28. 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.

  29. He Jifeng, Tony Hoare. Unifying Theories for Parallel Programming. Lecture Notes in Computer Sciences 1300, Springer, 1997, pp. 15–30.

  30. Yang F et al. Kernel Software Engineering Environment BETA-85. Science in China (A), 1988, 18(5): 530–538.

    Google Scholar 

  31. 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)

  32. 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.

  33. 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.

    Google Scholar 

  34. 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.

  35. 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.

  36. 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.

  37. 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.

  38. 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.

  39. 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.

  40. 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.

    Article  Google Scholar 

  41. 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.

  42. 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.

  43. 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.

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Hong Mei.

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

Reprints 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

Download citation

  • Received:

  • Revised:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11390-006-0682-8

Keywords

Navigation