objectoriented software with low cohesive classes can increase maintenance cost. Low cohesive classes are likely to be introduced into the software during initial design due to deviation from design principles and du...
详细信息
objectoriented software with low cohesive classes can increase maintenance cost. Low cohesive classes are likely to be introduced into the software during initial design due to deviation from design principles and during evolution due to software deterioration. Low cohesive class performs operations that should be done by two or more classes. The low cohesive classes need to be identified and refactored using extract class refactoring to improve the cohesion. In this regard, two aspects are involved;the first one is to identify the low cohesive classes and the second one is to identify the clusters of concepts in the low cohesive classes for extract class refactoring. In this paper, we propose metrics supplemented agglomerative clustering technique for covering the above two aspects. The proposed metrics are validated using Weyuker's properties. The approach is applied successfully on two examples and on a case study.
Since the computer is more widely used by children, the existing software for children's amusement and study are not able to satisfy their needs any longer. To solve this problem, a kind of graphical programming l...
详细信息
Since the computer is more widely used by children, the existing software for children's amusement and study are not able to satisfy their needs any longer. To solve this problem, a kind of graphical programming language for children is proposed in the paper. We analyze the design principles of graphical programming language for children, and implement ten types of common graphical blocks, integrating the basic knowledge of object oriented programming. We also provide the function to bridge the gap between graphical and text programming. Additionally, we designed and developed a graphical programming tool - KidPipe based on Pen Interaction. Finally, a user study is carried out to verify reliability and usability of KidPipe.
Based on the model of integrated evaluation on vehicle inherent reliability which is made of three single evaluation indexes: mean time between failures (MTBF) , mean time to first failure (MTTFF) and equivalent failu...
详细信息
Based on the model of integrated evaluation on vehicle inherent reliability which is made of three single evaluation indexes: mean time between failures (MTBF) , mean time to first failure (MTTFF) and equivalent failure rate , using the object oriented programming method and ADO database access technique, and taking Visual Studio 2010 as a development tool and SQL Server 2008 as the database, the program of index evaluation for inherent reliability of vehicle is developed, function modules of the program are designed as follows: basic data collection module of inherent reliability, inherent reliability indexes evaluation module and inherent reliability qualified vehicle model management module ect.. The specific functions are vehicle inherent reliability indexes evaluation, inherent reliability qualified vehicle model query, reports generation and print. Actual application shows that the program could evaluate vehicle inherent reliability effectively.
The DAKOTA (Design Analysis Kit for Optimization and Terascale Applications) toolkit provides a flexible and extensible interface between simulation codes and iterative analysis methods. DAKOTA contains algorithms for...
详细信息
The DAKOTA (Design Analysis Kit for Optimization and Terascale Applications) toolkit provides a flexible and extensible interface between simulation codes and iterative analysis methods. DAKOTA contains algorithms for optimization with gradient and nongradient-based methods; uncertainty quantification with sampling, reliability, and stochastic expansion methods; parameter estimation with nonlinear least squares methods; and sensitivity/variance analysis with design of experiments and parameter study methods. These capabilities may be used on their own or as components within advanced strategies such as surrogate-based optimization, mixed integer nonlinear programming, or optimization under uncertainty. By employing object-oriented design to implement abstractions of the key components required for iterative systems analyses, the DAKOTA toolkit provides a flexible and extensible problem-solving environment for design and performance analysis of computational models on high performance computers. This report serves as a theoretical manual for selected algorithms implemented within the DAKOTA software. It is not intended as a comprehensive theoretical treatment, since a number of existing texts cover general optimization theory, statistical analysis, and other introductory topics. Rather, this manual is intended to summarize a set of DAKOTA-related research publications in the areas of surrogate-based optimization, uncertainty quantification, and optimization under uncertainty that provide the foundation for many
Many Computer Science and Engineering curricula contain core modules on computer programming and programming languages. An increasing number of institutions choose to introduce undergraduates to programming through ob...
详细信息
ISBN:
(纸本)1595934944
Many Computer Science and Engineering curricula contain core modules on computer programming and programming languages. An increasing number of institutions choose to introduce undergraduates to programming through objectoriented languages. As part of a longitudinal phenomenographic study we have set out to investigate the understanding of programming concepts that first year undergraduate students have when learning to program and think in the objectoriented paradigm. The conceptions that students have developed on what learning to program really means and their perception of program correctness are explored;providing an insight into the levels of abstraction and complexity of the learners' understanding. Our findings suggest that the way students experience learning to program is related to their perception of what constitutes program correctness. Copyright 2006 ACM.
In many software development systems semantic checking is performed after the editing process and within an "edit-compile-execute" cycle. When such systems are used in a teaching role, students may construct...
详细信息
In many software development systems semantic checking is performed after the editing process and within an "edit-compile-execute" cycle. When such systems are used in a teaching role, students may construct programs, and larger-scale software systems, which contain type errors. All type errors must be corrected if the software is to execute properly and this involves a significant overhead. In the IOPL (Initial object-orientedprogramming Language) system, incremental type checking is provided via an editor that manipulates the persistent abstract syntax representation of an application, ensuring that no syntax errors and no type errors occur during the editing process.
More and more processors can be fabricated on a single chip today. But management of this increasing parallelism is still in a research phase. This paper introduces the idea of the hybrid data-driven control-flow proc...
详细信息
More and more processors can be fabricated on a single chip today. But management of this increasing parallelism is still in a research phase. This paper introduces the idea of the hybrid data-driven control-flow processor. The hybrid processor has support for object-orientedprogramming methods to help programmers to manage parallelism in the network of the hybrid processors. All programs, including the operating system, can be divided to several objects and thus spread over the network. This way everything is executed truly concurrently in the network of the hybrid processors.
The EE(electrical engineering)-related departments in universities have courses for learning the procedural and object- orientedprogramming languages such as C and Java. Since C and Java programming languages have th...
详细信息
The EE(electrical engineering)-related departments in universities have courses for learning the procedural and object- orientedprogramming languages such as C and Java. Since C and Java programming languages have the distinctive similarities and differences, it would be effective to cover both programming skills in one course. We developed an integrated course for the students in the first year of EE-related degree, where both programming languages can be learned in an efficient way. We present the results in improvements of the education effectiveness after the actual lecturing for two semesters.
The guest editors of this special issue on multiparadigm programming explore the field's recent explosive growth and how the articles (plus email roundtable) they've selected for this issue exemplify its curre...
详细信息
The guest editors of this special issue on multiparadigm programming explore the field's recent explosive growth and how the articles (plus email roundtable) they've selected for this issue exemplify its current status.
Nowadays, many software developers and maintainers encounter with incomprehensible, unexpandable and unchangeable program structures that consequently reduce software quality. Such problems come from poor design and p...
详细信息
ISBN:
(纸本)9780769536545
Nowadays, many software developers and maintainers encounter with incomprehensible, unexpandable and unchangeable program structures that consequently reduce software quality. Such problems come from poor design and poor programming called design flaws. Design flaws are program properties that indicate a potentially deficient design of a software system. It can increase the software maintenance cost drastically. Therefore detection of these flaws is necessary. This paper proposes a declarative-based approach in which the design flaws of an object-oriented system can be detected at the meta-level in the declarative meta programming. We apply our approach to detect some well-known design flaws, and the results show that the proposed approach is able to detect those flaws.
暂无评论