2 research outputs found

    Identificación de patrones de diseño para software científico a partir de esquemas preconceptuales

    Get PDF
    Los patrones de diseño son soluciones a problemas de diseño recurrentes en software científico. Estos patrones se usan para mitigar la ausencia de algunos aspectos de calidad inherentes al software. Los científicos, debido a su formación profesional, abordan diseños poco flexibles y difíciles de mantener en sus aplicaciones. Además, en ausencia de un lenguaje común con ingenieros de software se hace muy compleja la comunicación y validación del dominio de aplicación. Normalmente, las representaciones de los patrones de diseño se basan en diagramas de UML u otro tipo de grafos. Estos diagramas son difíciles de entender para los científicos e ingenieros de software inexpertos debido a su nivel de formalismo y, además, porque sólo representan el patrón de diseño aplicado y no el problema genérico que resuelven. Por otro lado, estos diagramas como unidad no poseen los elementos necesarios para representar completamente un dominio de software científico y se deben valer de la combinación de varios de ellos para hacerlo. Por ello, en esta Tesis de Maestría se propone una representación en esquemas preconceptuales de los patrones de diseño más usados en software científico y, además, la representación genérica del problema que resuelven. Adicionalmente, se presentan una serie de nuevos elementos para los esquemas preconceptuales que permiten la completa representación y validación de los dominios complejos presentes en el software científico. Al usar esquemas preconceptuales se facilita el entendimiento de los patrones de diseño debido a su proximidad con el lenguaje natural y a los elementos disponibles para su representación. Además, se hace posible la comunicación y validación del dominio de aplicación entre científicos e ingenieros de software. Este trabajo ayuda a la comunidad científica a hacer un diseño más robusto, flexible y fácil de mantener de su aplicación, y además, abre las puertas a la automatización de la implementación de los patrones de diseño a partir de una representación del dominio en esquemas preconceptuales.Abstract: Design patterns are solutions for recurrent design problems in scientific software. These patterns are used to mitigate the lack of several quality aspects inherent in the software. Scientists, due to their professional training, tackle little flexible and maintainable designs for their software applications. In addition, in the absence of a common vocabulary with software engineers, domain communication and validation becomes complex. Normally, design patterns representation are based on UML class diagrams or other kind of graphs. These diagrams are difficult to understand for scientist and inexperienced software engineers due to their level of formalism and, also because of this diagrams only represents the implemented design pattern and not the generic problem the design patterns solves. Furthermore, these diagrams as unity do not have the necessary elements to represent scientific software domains completely, so they must combine to do it. For this reason, in this Master’s Thesis it is proposed a representation of design patterns for scientific software by using preconceptual schemes, and also, a generic representation of the problem that design patterns address. Additionally, it is proposed a number of new elements for preconceptual schemes that allows a complete representation and validation of complex domains in scientific software. By using preconceptual schemes facilitates design patterns understanding due to their natural language proximity. In addition, it is made possible the validation and communication of application domain between scientists and software engineers. This work helps scientific community to make robust, flexible and maintainable software applications, and also, opens the doors to automated design pattern implementation from domain representation in preconceptual schemes.Maestrí

    Evolution from a Scientific Application to an Applicable Product

    No full text
    Software developments in a scientific environment often serve a very special purpose and a limited number of users. When need arises to make the software usable in a more general way, the software has to be improved in terms of quality and meeting the users’ needs. To apply it for a longer period, it also has to take into account changes of state-of-the-art software and technologies. This paper describes an example for such an evolution of scientific applications over the course of ten years. Developed initially as an environment for a specific numerical simulation project, the software has been applied to other simulation projects in various sectors. Keeping a relative stable software design, more functionality and features have been added. New features make use of emerging technologies and widen the application range. The development of software engineering methods and tools has been steadily evaluated and the software development environment has been adapted accordingly
    corecore