•OOSM metrics’ categorization was proposed: 7 categories and 17 subcategories.•The categories were used as engine of the generation of OOSM metrics catalogs.•A family of OOSM metrics catalogs was ...proposed.•Coverage indexes defined to assess our approach were greater than 90.
Object-Oriented Programming is one of the most used paradigms. Complementarily, the software maintainability is considered a software attribute playing an important role in quality level. In this context, Object-Oriented Software Maintainability (OOSM) has been studied through years, and many researchers have proposed a large number of metrics to measure it. Consequently, the decision-making process about which metrics can be adopted in experiments on OOSM is a hard task. Therefore, a metrics’ categorization has been proposed to facilitate this process. As result, 7 categories and 17 subcategories were identified. These categories represent the scenarios of OOSM metrics adoption, and a family of OOSM metrics catalog was generated based on the selection of a metrics’ categorization. Additionally, a quasi-experiment was conducted to check the coverage index of the catalogs generated using our approach over the catalogs suggested by experts. 90% of coverage was obtained with 99% of confidential level using the Wilcoxon Test. Complementarily, a survey was conducted to check the experts’ opinion about the catalog generated by the portal when they were compared by the catalogs suggested by them. Therefore, this evaluation can be the first evidences of the usefulness of the family of the catalogs based on the metrics’ categorization.
This paper presents the results of a study in which we empirically investigated the suite of object-oriented (OO) design metrics introduced in (Chidamber and Kemerer, 1994). More specifically, our ...goal is to assess these metrics as predictors of fault-prone classes and, therefore, determine whether they can be used as early quality indicators. This study is complementary to the work described in (Li and Henry, 1993) where the same suite of metrics had been used to assess frequencies of maintenance changes to classes. To perform our validation accurately, we collected data on the development of eight medium-sized information management systems based on identical requirements. All eight projects were developed using a sequential life cycle model, a well-known OO analysis/design method and the C++ programming language. Based on empirical and quantitative analysis, the advantages and drawbacks of these OO metrics are discussed. Several of Chidamber and Kemerer's OO metrics appear to be useful to predict class fault-proneness during the early phases of the life-cycle. Also, on our data set, they are better predictors than "traditional" code metrics, which can only be collected at a later phase of the software development processes.
Object-oriented software development as well as relational data storage are leading standards in their respective areas. The persistent storage of objects in relational tables is therefore a topic of ...major interest. To do so efficiently, a plethora of problems has to be overcome due to the impedance mismatch between the object-oriented and relational paradigms. Nowadays, dedicated object-relational middlewares are frequently used to decouple relational databases from object-oriented applications. Even if this approach shields the developer from the majority of run-time related aspects, the manual mapping of incrementally evolving complex object models to relational tables still remains as an inherently difficult and error-prone task. Therefore, this article focuses on automation support for the model driven generation and testing of object-relational mappings.
En este trabajo se describe la utilizacion de los patrones de interaccion, incorporados a un metodo de desarrollo de software orientado a objetos, para la construccion de un prototipo de la interfaz ...de usuario perteneciente a una aplicacion de Modelacion de Medios Geologicos, lo cual significo una experiencia de desarrollo de una herramienta inscrita en el dominio de la geologia. Los patrones de interaccion, en conjuncion con el modelo objeto de interfaz, facilitan la construccion de este prototipo de interfaz desde las primeras etapas del ciclo de vida de la aplicacion. Un patron de interaccion captura un problema de interaccion, una solucion exitosa y su contexto. El patron se escribe para comunicar una experiencia y permitir su reutilizacion. En este trabajo se muestra la factibilidad y efectividad de aplicar un metodo para la construccion de un prototipo de interfaz de usuario, incorporado al Proceso Unificado de Desarrollo de Software y utilizando el Lenguaje de Modelacion Unificado (UML) para expresar los modelos que describen la aplicacion.
Any real-time control application run by a digital computer (or any sequential machine) demands a very fast processor in order to make the time-lag from data sensing to issuance of a control action ...closest to zero. In some instances, the algorithm used requires a relatively large primary memory which is crucial especially when implemented in a microcontroller. This paper presents a novel implementation of a multi-output fuzzy controller (which is known in this paper as MultiOFuz), which utilizes lesser memory and executes faster than a type of an existing multiple single-output fuzzy logic controllers. The design and implementation of the developed controller employed the object-oriented approach with program level code optimizations. MultiOFuz is a reusable software component and the simplicity of how to interface this to control applications is presented. Comparative analyses of algorithms, memory usage and simulations are presented to support our claim of increased efficiency in both execution time and storage use. Future directions of MultiOFuz are also discussed.
This paper describes a functional tool for engineers to make rational design decisions by balancing cost and safety. Focus is on seismic design, in which nonlinear structural response must be ...considered. For this purpose, we implement and apply a state-of-the-art algorithm for reliability-based design optimization. The work extends the OpenSees software, which is rapidly gaining users in the earthquake engineering community. Consequently, design optimization with sophisticated nonlinear finite element models of real structures is possible. An object-oriented software architecture is employed that focuses on maintainability and extensibility of the software. This approach also offers flexibility in the choice of optimization and reliability methods for each specific problem, supported by the decoupled nature of the optimization algorithm. Our work utilizes and extends the existing tools for structural reliability analysis in OpenSees. In particular, we employ response sensitivities that are computed within the finite element code by direct differentiation. The implementation is tested through case studies with nonlinear structural response. Discontinuous response gradients are overcome by use of fibre cross sections and smoothed material models. The numerical examples include the seismic design optimization of a six-storey, three-bay, reinforced concrete building. Key words: reliability-based design optimization, nonlinear finite elements, earthquake engineering, object-oriented software development, OpenSees.
Celotno besedilo
Dostopno za:
DOBA, IZUM, KILJ, NUK, PILJ, PNG, SAZU, SIK, UILJ, UKNU, UL, UM, UPUK
In object-oriented design, behavioral modeling aims at describing the behavior of objects using state machines. State machines can also be used in dynamic reverse engineering to capture the overall ...run-time behavior of the objects of interest. The unified modeling language (UML) statechart diagram notation provides powerful means to structure state machines, thus avoiding the plague of combinatorial explosion.
Tool support for constructing statechart diagrams automatically from example scenarios is currently available. These tools are applicable in both forward and reverse engineering. For complicated objects, the statechart diagrams tend to be large, which makes them difficult to visualize and understand. In this paper, we discuss information preserving means to transform flat statechart diagrams into a more compact form. These algorithms can be applied to both manually constructed and automatically generated diagrams. The proposed technique is integrated with a UML-based software design environment TED.
Cooperative or collaborative learning methods generate more significant and lasting knowledge in students. That is why the Jigsaw technique has been utilized in courses related to object-oriented ...software development, as reinforcement for the lectures previously given on each subject. Although this technique was used, in previous experiences, to reinforce the theoretical concepts taught in class, it was defined as a future work to determine if sessions based only on cooperative learning methods can replace traditional lecture classes. This paper will present the design of a Jigsaw class to teach analysis class diagrams that replaced a traditional lecture class, and the results obtained in this experience. The paper will include the comparison of the results of the test that was taken after the Jigsaw class with the results of the test that it was taken after a traditional lecture class in a previous semester. The grades obtained by the students when it was applied a test after the Jigsaw class are better than the grades obtained by the students who participated in a traditional lecture class.