Software metrics help us to make meaningful estimates for software products and guide us in taking managerial and technical decisions.However,conventional static metrics have been found to be inadequate for modern obj...Software metrics help us to make meaningful estimates for software products and guide us in taking managerial and technical decisions.However,conventional static metrics have been found to be inadequate for modern object-oriented software due to the presence of object-oriented features such as polymorphism,dynamic binding,inheritance and unused code.This fact motivates us to focus on dynamic metrics in place of traditional static metrics.Moreover,dynamic metrics are more precise than static metrics as they are able to capture the dynamic behaviour of the software system during measurement.These dynamic metrics are usually obtained from the execution traces of the code or from the executable models.In this paper,advantages of dynamic metrics over static metrics are discussed and then a survey of the existing dynamic metrics is carried out.These metrics are characterized into different categories such as dynamic coupling metrics, dynamic cohesion metrics.Towards end of the paper,potential research challenges and opportunities in the field of dynamic metrics are identified.展开更多
Classes are key software components in an object-oriented software system. In many industrial OO software systems, there are some classes that have complicated structure and relationships. So in the processes of softw...Classes are key software components in an object-oriented software system. In many industrial OO software systems, there are some classes that have complicated structure and relationships. So in the processes of software maintenance, testing, software reengineering, software reuse and software restructure, it is a challenge for software engineers to understand these classes thoroughly. This paper proposes a class comprehension model based on constructivist learning theory, and implements a software visualization tool (MFV-Class) to help in the comprehension of a class. The tool provides multiple views of class to uncover manifold facets of class contents. It enables visualizing three object-oriented metrics of classes to help users focus on the understanding process. A case study was conducted to evaluate our approach and the toolkit.展开更多
This paper shows how a desktop simulation can be migrated into its cloud equivalence using Windows Azure. It is undeniable that simulators are expensive and cost-intensive regarding maintenance and upgrading, and thus...This paper shows how a desktop simulation can be migrated into its cloud equivalence using Windows Azure. It is undeniable that simulators are expensive and cost-intensive regarding maintenance and upgrading, and thus, it is not always feasible to buy such a simulator. Therefore, it will be of great significance if we have an approach, which provides simulators with services through the Internet with the aim of making them accessible from anywhere and at any time. That is, researchers and developers can focus on their actual researches and experiments and the intended output results. The cloud simulation infrastructure of this contribution is capable of hosting different simulations with the ability to be cloned as cloud services. The simulator example used here mimics the process of a distillation column to be seen as a widely used plant in several industrial applications. The cloud simulation core embedded in the cloud environment is fully independent from the developed user-interface of the simulator meaning that the cloud simulator can be connected to any user-interface. This allows simulation users such as process control and alarm management designers to connect to the cloud simulator in order to design, develop and experiment their systems on a “pay-as-you-go” basis as it is the case of most cloud computing services, aimed at providing computing services as utilities like water and electricity. For coding convenience, Windows Azure was selected for both developing the cloud simulation and hosting it in the cloud because of the fact that the source code of the desktop simulator is already available in C# based on dot Net technology. From a software technical point of view, UML graphical notations were applied in order to express the software requirement specifications of the distributed cloud simulation, representing a widespread technology in the object-oriented design and analysis.展开更多
文摘Software metrics help us to make meaningful estimates for software products and guide us in taking managerial and technical decisions.However,conventional static metrics have been found to be inadequate for modern object-oriented software due to the presence of object-oriented features such as polymorphism,dynamic binding,inheritance and unused code.This fact motivates us to focus on dynamic metrics in place of traditional static metrics.Moreover,dynamic metrics are more precise than static metrics as they are able to capture the dynamic behaviour of the software system during measurement.These dynamic metrics are usually obtained from the execution traces of the code or from the executable models.In this paper,advantages of dynamic metrics over static metrics are discussed and then a survey of the existing dynamic metrics is carried out.These metrics are characterized into different categories such as dynamic coupling metrics, dynamic cohesion metrics.Towards end of the paper,potential research challenges and opportunities in the field of dynamic metrics are identified.
基金Project supported by the National Basic Research Program (973)of China (No. 2002CB312101)+4 种基金 the National Natural ScienceFoundation of China (No. 60272031) Doctorate Research Foun-dation of the State Education Commission of China (No.20010335049) Zhejiang Provincial Natural Science Foundation ofChina (No. ZD0212)
文摘Classes are key software components in an object-oriented software system. In many industrial OO software systems, there are some classes that have complicated structure and relationships. So in the processes of software maintenance, testing, software reengineering, software reuse and software restructure, it is a challenge for software engineers to understand these classes thoroughly. This paper proposes a class comprehension model based on constructivist learning theory, and implements a software visualization tool (MFV-Class) to help in the comprehension of a class. The tool provides multiple views of class to uncover manifold facets of class contents. It enables visualizing three object-oriented metrics of classes to help users focus on the understanding process. A case study was conducted to evaluate our approach and the toolkit.
文摘This paper shows how a desktop simulation can be migrated into its cloud equivalence using Windows Azure. It is undeniable that simulators are expensive and cost-intensive regarding maintenance and upgrading, and thus, it is not always feasible to buy such a simulator. Therefore, it will be of great significance if we have an approach, which provides simulators with services through the Internet with the aim of making them accessible from anywhere and at any time. That is, researchers and developers can focus on their actual researches and experiments and the intended output results. The cloud simulation infrastructure of this contribution is capable of hosting different simulations with the ability to be cloned as cloud services. The simulator example used here mimics the process of a distillation column to be seen as a widely used plant in several industrial applications. The cloud simulation core embedded in the cloud environment is fully independent from the developed user-interface of the simulator meaning that the cloud simulator can be connected to any user-interface. This allows simulation users such as process control and alarm management designers to connect to the cloud simulator in order to design, develop and experiment their systems on a “pay-as-you-go” basis as it is the case of most cloud computing services, aimed at providing computing services as utilities like water and electricity. For coding convenience, Windows Azure was selected for both developing the cloud simulation and hosting it in the cloud because of the fact that the source code of the desktop simulator is already available in C# based on dot Net technology. From a software technical point of view, UML graphical notations were applied in order to express the software requirement specifications of the distributed cloud simulation, representing a widespread technology in the object-oriented design and analysis.