Subclassing is an effective and popular mechanism provided in object-oriented languages to achieve reuse. However, care must be exercised while taking this approach. The Liskov Substitution Principle (LSP) enunciates ...
详细信息
ISBN:
(纸本)9781615672417
Subclassing is an effective and popular mechanism provided in object-oriented languages to achieve reuse. However, care must be exercised while taking this approach. The Liskov Substitution Principle (LSP) enunciates a necessary condition that should be satisfied to guarantee that D is a true subtype of B, where D and B are classes such that D inherits from B. Although there appears to be widespread agreement in the object-oriented systems community that the condition set forth by LSP must be satisfied, there has been relatively few discussions on how system designers and programmers may improve their design utilizing this principle. In this paper, we address this issue and present an approach for accomplishing this task. The approach is simple and would be helpful to developers to check the soundness of their design and implementation.
A simple alternative to Mockobjects is presented. Given the interface of an object required by a class-under-test, a Pseudo-Class is created implementing all methods such that they immediately fail. A test-specific su...
详细信息
ISBN:
(纸本)1581138334
A simple alternative to Mockobjects is presented. Given the interface of an object required by a class-under-test, a Pseudo-Class is created implementing all methods such that they immediately fail. A test-specific sub-class of the Pseudo-Class is created locally in the test (ex. as an anonymous inner-class in Java), over-riding only the methods required by the interaction between the object and the class-under-test for the test-scenario. Typically, the method implementations are extremely simple (a few lines, at most), and the number of methods overridden is small. This mechanism was found adequate for more than 90% of our unit-tests (in a 1000-class system with over 2000 test methods, we finally ended up with about four real Mockobject classes and more than 40 Pseudo-Classes).
Our experience has shown that it is possible to design object-oriented systems that have adequate performance and exhibit the other qualities, such as reusability, maintainability, and modifiability, that have made OO...
详细信息
Our experience has shown that it is possible to design object-oriented systems that have adequate performance and exhibit the other qualities, such as reusability, maintainability, and modifiability, that have made OOD so successful. However, doing this requires careful attention to performance goals throughout the life cycle. This paper describes the use of a performance modeling tool that supports the SPE process, for early life cycle evaluation of object-oriented systems. The evaluation of object-oriented software is illustrated with a simple example.
作者:
Kober, F.Manzoni, A.Lemos, F.A.B.COPPE
UFRJ CP. 68504 21945-970 Rio de Janeiro RJ Brazil
Department of Electrical Engineering PUCRS Av. Ipiranga 6681 Porto Alegre RS 90619-900 Brazil
The computational systems developed for power system analyses have' been increased in size and complexity. The majority of this software use old programming techniques and procedural languages such as FORTRAN and ...
详细信息
Predictive models can be used to discover potentially problematic components with source code metrics as input features. However, there are many structural and design metrics that capture related measures of coupling,...
详细信息
ISBN:
(纸本)9781595938657
Predictive models can be used to discover potentially problematic components with source code metrics as input features. However, there are many structural and design metrics that capture related measures of coupling, cohesion, inheritance, complexity and size. Feature selection is the process of identifying a subset of attributes that improves the performance of a predictive model. This paper presents initial results of using a parallel genetic algorithm as a feature selection method to enhance a predictive model's ability to identify cognitively complex components in a Java application.
The object-oriented (O. O.) paradigm is today widely spread out into the finite elements (F.E.) community in computational mechanics. The C++ is the language the most commonly adopted in the developments as support of...
详细信息
The object-oriented (O. O.) paradigm is today widely spread out into the finite elements (F.E.) community in computational mechanics. The C++ is the language the most commonly adopted in the developments as support of the 0.0. paradigm. Nowadays, developments in computational mechanics involve the use of additional technologies to build global computational systems: graphical components to visualize results, parallelism concepts for large computations An emerging technology seems to offer the right framework to bypass these cumbersome features: JAVA. The JAVA environment offers the developers to design large scale applications within a single 0.0. concept. The environment embeds the basic components needed for modern computational tools through a simple and strong 0.0 paradigm: homogeneous development of F.E. kernels, development of portable GUIs, developments of distributed applications This paper is first, an attempt to address some possible directions for the future generation of F.E. codes, and second, to address basic issues of F.E. model integration in JA VA. The problem of numerical efficiency is addressed in complement and an example of classical computational mechanics problems illustrate the high potential of the approach: a free surface unconfined seepage problem.
There are a number of reasons why a user might want to move data structures between Smalltalk images. Unfommately, the facilities for doing this in the standard Smalltalk image are inadequate: They do not handle circu...
详细信息
We propose a novel Eclipse Perspective, the Runtime Perspective, that makes a global hierarchy of abstract objects a first-class view of an object-oriented system at design-time. The perspective includes many views th...
详细信息
This paper describes a way of organizing information about an object-oriented program’s execution. The context is our system for visualizing that execution. The critical constraints are completeness, compactness, and...
详细信息
In this work we analyse the suitability of using object-oriented features in high integrity systems, and the interest of redesigning a system implementation to include these constructs. The analysis was based on retro...
详细信息
暂无评论