In a component-based software development life cycle, selection of preexisting components is an important task. Every component that has to be reused has an associated risk of failure of not meeting the functional and...In a component-based software development life cycle, selection of preexisting components is an important task. Every component that has to be reused has an associated risk of failure of not meeting the functional and non-functional requirements. A component's failure would lead a developer to look for some other alternative of combinations of COTS, in-house and engineered components among possible candidate combinations. This means design itself can readily change. The very process of design of a software system and component selection seems to be heavily dependent on testing results. Instability of design, further, becomes more severe due to requirements change requests. Therefore, this instability of design has to be essentially mitigated by using proper design and testing approaches, otherwise, it may lead to exorbitantly high testing cost due to the repeated testing of various alternatives. How these three activities: Component-based software design, component selection and component-based software testing are interrelated? What process model is most suited to address this concern? This work explores the above questions and their implication in terms of nature of a process model that can be convincing in case of component-based software development.展开更多
In this paper we will discuss the software engineering technology for the 21 st century. First we review development over the last half century, overview application requirement and environment, accept a chal...In this paper we will discuss the software engineering technology for the 21 st century. First we review development over the last half century, overview application requirement and environment, accept a challenge. Then we outline following software engineering techniques: 1) Process;2) Analysis;3) Design;4) UML;5) Component;6) Java +XML;7) Integrated;8) Quality(ISO9000&CMM).展开更多
The foundation for any software system is its architecture. Software architecture is a view of the system that includes the system’s major components, the behaviour of those components as visible to the rest of the s...The foundation for any software system is its architecture. Software architecture is a view of the system that includes the system’s major components, the behaviour of those components as visible to the rest of the system, and the ways in which the components interact and coordinate to achieve the overall system’s goal. Every efficient software system arises as a result of sound architectural basement. This requires the use of good architecture engineering practices and methods. This paper recognizes software architecture practice as a discipline pervading all phases of software development and also presents an enhanced model for software engineering process which provides an avenue for speedy, efficient and timely delivery of software products to their intended users. The integration of software architecture into the phases of software development process in a generic software life cycle is also contained in this research report. This is to enable software engineers and system analysts to use effective software architecture practices and to employ appropriate methodology during the software engineering process.展开更多
This paper focuses on Distributed Object Oriented Software Engineering over Internet, which is a way to build software culture. We believe that our work will contribute to better understanding of how to meet the nee...This paper focuses on Distributed Object Oriented Software Engineering over Internet, which is a way to build software culture. We believe that our work will contribute to better understanding of how to meet the needs of the big potential software market and to promote the software industry in developing country. The United States and Western Europe have well established software industry and related civilization. Software science, technology, and engineering are needed in China; however, maybe what is needed, first of all, is software civilization, including software ideas, customs, skills, arts, etc. We will draw a framework for the software culture as following: Software is the most important commodity in this age; Brilliance of hardware component era has become past fact; A software component era is ahead; Traditional linear process model is obsolete; Modern software engineering has a new face, object evolution model; Distributed object oriented software engineering over Internet is an approach to software component era; and Complete software civilization will be formed all over the world in next century.展开更多
Classical software configuration management which deals with source code versioning becomes insufficient when most components are distributed in binary form. As an important aspect of software configuration, protocol ...Classical software configuration management which deals with source code versioning becomes insufficient when most components are distributed in binary form. As an important aspect of software configuration, protocol configuration also encounters those problems. This paper focuses on solving protocol component versioning issues for protocol configuration man- agement on embedded system, incorporating the following versioning issues: version identification, version description and protocol component archiving and retrieving based on the version library.展开更多
Software reuse is viewed as a key technology to improve software product quality and productivity. This paper discusses a series of technologies related with software reuse and software component technology: component...Software reuse is viewed as a key technology to improve software product quality and productivity. This paper discusses a series of technologies related with software reuse and software component technology: component model, which describes component’s essential characteristics; component acquisition technology, of which domain engineering is the main approach; component management technology, of which component library is the kernel; application integration and composition technology, of which application engineering is the main approach; software evolution technology, of which software reengineering is the main approach, etc. This paper introduces the software development environment: JadeBird Software Production Line System, which effectively integrates the above-mentioned technologies.展开更多
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 disci...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.展开更多
文摘In a component-based software development life cycle, selection of preexisting components is an important task. Every component that has to be reused has an associated risk of failure of not meeting the functional and non-functional requirements. A component's failure would lead a developer to look for some other alternative of combinations of COTS, in-house and engineered components among possible candidate combinations. This means design itself can readily change. The very process of design of a software system and component selection seems to be heavily dependent on testing results. Instability of design, further, becomes more severe due to requirements change requests. Therefore, this instability of design has to be essentially mitigated by using proper design and testing approaches, otherwise, it may lead to exorbitantly high testing cost due to the repeated testing of various alternatives. How these three activities: Component-based software design, component selection and component-based software testing are interrelated? What process model is most suited to address this concern? This work explores the above questions and their implication in terms of nature of a process model that can be convincing in case of component-based software development.
文摘In this paper we will discuss the software engineering technology for the 21 st century. First we review development over the last half century, overview application requirement and environment, accept a challenge. Then we outline following software engineering techniques: 1) Process;2) Analysis;3) Design;4) UML;5) Component;6) Java +XML;7) Integrated;8) Quality(ISO9000&CMM).
文摘The foundation for any software system is its architecture. Software architecture is a view of the system that includes the system’s major components, the behaviour of those components as visible to the rest of the system, and the ways in which the components interact and coordinate to achieve the overall system’s goal. Every efficient software system arises as a result of sound architectural basement. This requires the use of good architecture engineering practices and methods. This paper recognizes software architecture practice as a discipline pervading all phases of software development and also presents an enhanced model for software engineering process which provides an avenue for speedy, efficient and timely delivery of software products to their intended users. The integration of software architecture into the phases of software development process in a generic software life cycle is also contained in this research report. This is to enable software engineers and system analysts to use effective software architecture practices and to employ appropriate methodology during the software engineering process.
文摘This paper focuses on Distributed Object Oriented Software Engineering over Internet, which is a way to build software culture. We believe that our work will contribute to better understanding of how to meet the needs of the big potential software market and to promote the software industry in developing country. The United States and Western Europe have well established software industry and related civilization. Software science, technology, and engineering are needed in China; however, maybe what is needed, first of all, is software civilization, including software ideas, customs, skills, arts, etc. We will draw a framework for the software culture as following: Software is the most important commodity in this age; Brilliance of hardware component era has become past fact; A software component era is ahead; Traditional linear process model is obsolete; Modern software engineering has a new face, object evolution model; Distributed object oriented software engineering over Internet is an approach to software component era; and Complete software civilization will be formed all over the world in next century.
基金Project supported by the Hi-Tech Research and Development Program (863) of China (No. 2002AA1Z2306) and HP Embedded Laboratory of Zhejiang University, China
文摘Classical software configuration management which deals with source code versioning becomes insufficient when most components are distributed in binary form. As an important aspect of software configuration, protocol configuration also encounters those problems. This paper focuses on solving protocol component versioning issues for protocol configuration man- agement on embedded system, incorporating the following versioning issues: version identification, version description and protocol component archiving and retrieving based on the version library.
基金This research is supported by the Key Project of State Ninth "Five-Year Plan" the 863 High-Tech Program of CHina and the National Natural Science Foundatino of China.
文摘Software reuse is viewed as a key technology to improve software product quality and productivity. This paper discusses a series of technologies related with software reuse and software component technology: component model, which describes component’s essential characteristics; component acquisition technology, of which domain engineering is the main approach; component management technology, of which component library is the kernel; application integration and composition technology, of which application engineering is the main approach; software evolution technology, of which software reengineering is the main approach, etc. This paper introduces the software development environment: JadeBird Software Production Line System, which effectively integrates the above-mentioned technologies.
基金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. Acknowledgements The authors would like to thank our research group for their inspiration and support in the past two decades. Due to the space limit and the language, so many papers and reports, especially in Chinese, referred by this paper are omitted here. We would like to thank the authors of these materials.
文摘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.