The Hyperlink Induced Topic Search algorithm, which is a method of link analysis, primarily developed for retrieving information from the Web, is extended in this paper, in order to evaluate one aspect of quality in a...
详细信息
ISBN:
(纸本)0769521630
The Hyperlink Induced Topic Search algorithm, which is a method of link analysis, primarily developed for retrieving information from the Web, is extended in this paper, in order to evaluate one aspect of quality in an object-oriented model. Considering the number of discrete messages exchanged between classes, it is possible to identify "God" classes in the system, elements which imply a poorly designed model. The principal eigenvectors of matrices derived from the adjacency matrix of a modified class diagram, are used to identify and quantify heavily loaded portions of an object-oriented design that deviate from the principle of distributed responsibilities. The non-principal eigenvectors are also employed in order to identify possible reusable components in the system. The methodology can be easily automated as illustrated by a Java program that has been developed for this purpose.
Knowing where to start reverse engineering a large software system, when no information other than the system's source code itself is available, is a daunting task. Having the history of the code (i.e., the versio...
详细信息
ISBN:
(纸本)0769522130
Knowing where to start reverse engineering a large software system, when no information other than the system's source code itself is available, is a daunting task. Having the history of the code (i.e., the versions) could be of help if this would not imply analyzing a huge amount of data. In this paper we present an approach for identifying candidate classes for reverse engineering and reengineering efforts. Our solution is based on summarizing the changes in the evolution of object-oriented software systems by defining history measurements. Our approach, named Yesterday's Weather, is an analysis based on the retrospective empirical observation that classes which changed the most in the recent past also suffer important changes in the near future. We apply this approach on two case studies and show how we can obtain an overview of the evolution of a system and pinpoint its classes that might change in the next versions.
object-oriented programming is a major trend in computer software because it increases flexibility of large-scale software systems. This paper presents an intuitive Windows-based package for the power system analysis....
详细信息
ISBN:
(纸本)0780382714
object-oriented programming is a major trend in computer software because it increases flexibility of large-scale software systems. This paper presents an intuitive Windows-based package for the power system analysis. The advantages of the object-oriented approach are demonstrated with an implementation of the graphical part of the package. To achieve usage flexibility the package is designed to have the following features: A graphical editor to visually edit the power system diagram, results processing and exporting and graphic presentations. The application programs in this package include the power flow calculation, the continuation power flow calculation, the available transfer capability calculation, and sensitivity analysis. This package may be useful for educational and training purposes.
Heterogeneous modelling and design tools allow the design of software systems using several computation models. The designed system is built by assembling components that obey a computation model. The internal behavio...
详细信息
ISBN:
(纸本)0780388194
Heterogeneous modelling and design tools allow the design of software systems using several computation models. The designed system is built by assembling components that obey a computation model. The internal behavior of a component is specified either in some programming language or by assembling sub-components that obey a possibly different computation model. When the same behavior is used in several computation models, it must be implemented in as many components as there are models, or, if the design platform supports it, it may be implemented as a generic component. Model-specific components require the recoding of the same core behavior several times, and generic components may not take model-specific features into account. In this paper, we introduce the notion of domain-polymorph component. Such a component is able to adapt a core behavior to the semantics of several computation models. The core behavior is implemented only once and is automatically adapted to the semantics of different computation models. Domain-polymorph components can be chosen by a system designer and integrated in a computation model: they will benefit from an appropriate execution environment and their semantics will be adapted to the host model. The designer will have the choice for several parameters of the adaptation. Contrary to generic components, such components adapt their behavior to the host model instead of letting the host model interpret their generic behavior. We also present an implementation of the concept of domain-polymorph component in the Ptolemy II framework.
There is no doubt that components make a significant contribution to the solution of software engineering problems. Component-orientedprogramming is changing the way we think about programming in general and programm...
详细信息
ISBN:
(纸本)1932415300
There is no doubt that components make a significant contribution to the solution of software engineering problems. Component-orientedprogramming is changing the way we think about programming in general and programming of distributed systems in particular. Encapsulation is a key software engineering principle that must be guaranteed in component-orientedprogramming. This paper presents an overview of the support that major object-oriented programming languages such as C# and Java offer to accommodate component programming. This paper then proposes a pure component abstraction that will better support the principle of encapsulation and develops requirements for full support of component programming using object-oriented concepts.
Software reuse is an important and relatively new approach to software engineering. The aim of this paper is further development of a methodology and mathematical theory of software metrics for evaluation of software ...
详细信息
ISBN:
(纸本)0780388194
Software reuse is an important and relatively new approach to software engineering. The aim of this paper is further development of a methodology and mathematical theory of software metrics for evaluation of software reusability. In the second section, going after Introduction, it is demonstrated that reusability is a form of usability. This allows one to use experience in the development and utilization of software usability metrics for the development and utilization of software reuse metrics. In the third section, different types and classes of software metrics are explicated and compared, while in the fourth section, software metrics and their properties in a formalized context are studied The research is oriented at the advancement of software engineering and, in particular, at creation of more efficient reuse metrics.
The reuse of software components is the key to improving productivity and quality levels in software engineering. However although the technologies for plugging together components have evolved dramatically over the l...
详细信息
ISBN:
(纸本)0780388194
The reuse of software components is the key to improving productivity and quality levels in software engineering. However although the technologies for plugging together components have evolved dramatically over the last few years (e.g. EJB, NET Web Services) the technologies for actually finding them in the first place are still relatively immature. In this paper we present a simple but effective approach for harvesting software components from the Internet. The initial discovery of components is achieved using a standard web search engine such as Google, and the evaluation of "fitness for purpose" is performed by automated testing. Since test-driven evaluation of software is the hallmark of Extreme programming, and the approach naturally complements the extreme approach to software engineering, we refer to it as "Extreme Harvesting". The paper first explains the principles behind Extreme Harvesting and then describes a prototype implementation.
Model Driven Architecture (MDA) is recently announced initiative of the object Management Group (OMG). This paper describes an approach of applying the model driven development in the power system. Presented architect...
详细信息
ISBN:
(纸本)0780382714
Model Driven Architecture (MDA) is recently announced initiative of the object Management Group (OMG). This paper describes an approach of applying the model driven development in the power system. Presented architecture gives full flexibility of the automation in source code generation still having reasonably efficient generated source code. Some of the most important insights of what an MDA should have are shown using Unified Modeling Language (UML). Model driven development essentials are also explained. The paper was guided toward fulfilling these essentials. An example design pattern to source code generation for the power system optimization is developed and described.
Aspects are behaviours that are tangled and scattered across a system. In requirements documentation, aspects manifest themselves as descriptions of behaviours that are intertwined, and woven throughout. Some aspects ...
详细信息
ISBN:
(纸本)0769521630
Aspects are behaviours that are tangled and scattered across a system. In requirements documentation, aspects manifest themselves as descriptions of behaviours that are intertwined, and woven throughout. Some aspects may be obvious, as specifications of typical crosscutting behaviour Others may be more subtle, making them hard to identify. In either case, it is difficult to analyse requirements to locate all points in the system where aspects should be applied. These issues lead to problems achieving traceability of aspects throughout the development lifecycle. To identify aspects early in the software lifecycle, and establish sufficient traceability, developers need support for aspect identification and analysis in requirements documentation. To address this, we have devised the Theme approach for viewing the relationships between behaviours in a requirements document, identifying and isolating aspects in the requirements, and modelling those aspects using a design language. This paper describes the approach, and illustrates it with a case study and analysis.
A software development, it is very desirable that existing software components can be reused that meet the user's specifications. A great amount of software components, or software objects, exist in some libraries...
详细信息
ISBN:
(纸本)0780388194
A software development, it is very desirable that existing software components can be reused that meet the user's specifications. A great amount of software components, or software objects, exist in some libraries or repositories, but finding the ones that can be reused for an application is a challenging task. The main objective is to find a match between the required specifications with those components in the library, with certain measures for the goodness of the match. In this paper, we propose a software component retrieval method and a system that deals with exact, partial, and reference (i.e. inheritance) matching. All software specifications are represented in XML.
暂无评论