4,150 research outputs found

    Análisis y comparación de algoritmos de identificación de características aplicados a una familia de productos de software

    Get PDF
    El desarrollo de software es una tendencia hoy en día por lo que la cantidad de código que se ha generado en los últimos años ha aumentado significativamente. Adicionalmente, el aumento de demanda y la necesidad de reducir los tiempos de desarrollo generan problemas a corto y largo plazo que dificultan la mantenibilidad de cualquier proyecto. La reutilización de elementos de software (código fuente, modelos, entre otros), ha sido una práctica que se ha realizado a través de técnicas que no tienen en cuenta su soporte. Las líneas de productos de software (SPL) promueven la construcción de elementos que se puedan reutilizar y actualizar de acuerdo a las necesidades de manera organizada. En busca de la reutilización, existen técnicas extractivas que buscan componentes en proyectos legados o monolíticos, software que se creó teniendo en cuenta un objetivo específico. Existen varios casos de estudio, en donde se ha construido una SPL a partir de elementos que no buscaban ser reutilizados originalmente. Particularmente, ArgoUML SPL fue un proyecto creado en Java, el cual ha sido usado para verificar la efectividad de los algoritmos automáticos de análisis y extracción de características. Sin embargo, debido a la cantidad de variantes que existen en este caso de estudio, se hace evidente mostrar una comparación que sintetice y establezca un punto de referencia para la construcción de algoritmos de recuperación de características. Por tal motivo en este trabajo se realizó la construcción de una medida de comparación y se implementó una técnica que sirva como punto de referencia para futuras investigaciones utilizando dicha métrica unificada.Abstract: Nowadays, Software development is a trend, so the amount of code that has been generated in recent years has increased significantly. Additionally, the demand of software is also increasing, and the need to reduce the development time generates short and longterm problems that make difficult the maintenance of any project. The reuse of software elements (source code, models, among others), has been a practice that has been carried out through techniques that do not pay enough attention to the maintenance of the multiple projects. Software product lines (SPL) promote the construction of assets that can be reused and updated according to needs in a systematic manner. In search of reuse, there are instructive techniques that look for components in legacy or monolithic projects, software that was created with a specific objective in mind. There are several cases of study, where an SPL has been built from assets that did not seek to be reused originally. In particular, ArgoUML SPL was a project created in Java, which has been extensively used to test automatic techniques of identification and extraction of features. However, due to the number of variants that exist in this case study, it is evident to show a comparison that synthesizes and establishes a reference point for the construction of feature recovery algorithms. The main objective of this work is build a groundtruth to compare feature location algorithms and implement a technique which can be used as a reference to compare future researches.Maestrí

    Web semántica : un nuevo enfoque para la organización y recuperación de información en el web

    Get PDF
    A theoretical and conceptual approach to the development of the information organization and retrieval is made in an automatic environment by means of the automatic indexing and classification of the information as processes prior to information retrieval. The evolution experienced by the systems of organization of information and knowledge is analysed by taxonomies, thesaurus and Topic Maps toward more complex structures, such as ontologies. Some metadata schemes created for the description of the information in the web, as well as the components and technologies that integrate the theoretical model of the web semantics, are examined. Finally, the constructive stratum model that will guarantee the functioning of its entire infrastructure is explained

    Extracción automática de modelos UML contenidos en imágenes

    Get PDF
    Aunque parezca extraño, pese a no poder encontrar sitios web especializados en ofertar diseños de software representados mediante diagramas UML, existe una ingente cantidad de documentación a disposición de cualquiera, y que contiene dichos modelos: como imágenes en documentos textuales. Este universo de información no se encuentra fácilmente accesible para los desarrolladores porque no es posible, con la tecnología actual, buscar de forma precisa información semántica dentro de imágenes. Lo único que pueden hacer los desarrolladores es intentar buscar documentos relevantes, leerlos, y decidir si los diseños le sirven a sus intereses. Para evitar este problema, y conseguir poner a disposición de toda la comunidad de desarrolladores centenas de miles de diseños, este trabajo pretende desarrollar la metodología necesaria para poder extraer la información textual y gráfica de las imágenes que representen diagramas UML, y convertirla en información pura UML (es decir, en modelos UML reales). El poner a disposición de los analistas, desarrolladores de software, o interesados tal cantidad de diagramas y modelos de software permitirá la aplicación de técnicas modernas de reutilización de software basadas en la búsqueda de diagramas UML. La búsqueda de diagramas UML de todo tipo (estáticos, dinámicos, arquitecturales, de Casos de Uso etc.) mediante similitud a uno dado permitirá potenciar los desarrollos de software de calidad, controlados en el coste, y en el tiempo de desarrollo: las tres virtudes de la reutilización de software. La complejidad de esta propuesta radica en muchos aspectos, todos ellos entrelazados: por un lado hay que considerar que la información de partida se encuentra representada con diferentes tipos de calidad, mediante bits de colores o tonos de grises. Por otro lado su semántica viene dada por la combinación de texto en lenguaje natural y estructuras gráficas. Estas estructuras gráficas tienen asociada una información semántica, accesible a la interpretación humana, que depende del tipo de diagrama. Los diagramas que representan diseños de software son documentos en formato visual con alta estructuración y contenido semántico, que se deben distinguir unos de otros. Debido a su formato en forma de imagen requieren un preprocesado mediante técnicas de visión artificial, OCR y técnicas de clusterización o clasificación basadas en aprendizaje automático. Precisamente este será el principal cometido de esta tesis: la extracción de la semántica de los diagramas en forma de imágenes encontrados en la web. La información obtenida de estos diagramas, principalmente UML, debe incluir información textual e información estructural. A la información textual se obtendrá mediante técnicas de OCR mientras que la información estructurada será detectada mediante reconocimiento de formas combinado con Inteligencia Artificial. El resultado de esta propuesta sería una metodología que podría ser aplicada para cargar repositorios de diagramas UML a partir de imágenes existentes en internet, con vistas a su posterior aplicación y puesta a disposición de los usuarios: un GOOGLE de diagramas UML.There are many interesting sites in the web offering reuse of source code, but no one giving the choice to identify, find and reuse design models using UML. However, even if this data seems to be sad, a simple web search can give you astonishing results: Get into GOOGLE images and search for “UML Class diagram”. Thousands of images will suddenly be available for you. The bad news: they are images. You cannot find anything on them, you cannot find them by content. You cannot compare them. You can, simple, download them. Could you be interested in working with those images, finding similar ones, etc.? In order to solve this problem, and reach hundreds of thousands of UML designs, this work intends to develop the necessary methodology to extract the textual and graphical information contented in UML based images, and convert them in, exactly, UML information (real UML Models represented in a UML object model) The possibility to offer such amount of diagrams to software analysts, software developers, or simply interested stakeholders will allow them to apply real, systematic and modern software reuse based on UML diagrams information retrieval. The possibility to find all kinds of diagrams (static, dynamic, architectural, Use Case, etc.) by similar content will strengthen software development based on the best quality, controlled cost and time to market principles: the three real benefits of Software reuse. This proposal has several difficulties in different fronts: to start with, one must consider that all the information is usually stored in low resolution images, where texts are difficult to read and understand and boxes and arrows are not properly drawn. And, on the other side, the semantics comes from the combination of text represented in Natural Language and graphical structures. These structures have associated semantic information, understandable by humans, which depend and change with the diagram types. Due to these problems, Artificial Vision, OCR, classification and automatic learning algorithm must be used in this thesis. This thesis, therefore, will attempt to extract semantic information for images representing UML Diagrams found in the web. The information extracted will be both textual and graphical. OCR technology (existing already) would be used to textual information. In order to extract graphical information a semantic model combined with AI will be used. The result of the proposal will be a methodology that will allow repositories (in the web or private) to offer UML diagrams based on (and pointing to) images found in the web, for further reuse.Programa Oficial de Doctorado en Ciencia y Tecnología InformáticaPresidente: Antonio de Amescua Seco.- Secretario: Susana Irene Díaz Rodríguez.- Vocal: Pascual Campoy Cerver

    Cómo integrar el modelo CMMI al modelo de desarrollo de software MDD

    Get PDF
    El trabajo de tesis busca integrar el modelo de capacidad y madurez, Capability Maturity Model (CMMI) y la metodología de desarrollo de software bajo el paradigma de modelos, Model driven development (MDD), con el fin de mejorar la calidad y productividad en los proyectos de desarrollo de software, y por ende realizar un aporte a la industria de software. La estrategia utilizada fue identificar los riesgos inherentes a los desarrollos bajo el paradigma MDA, uno de los enfoque de MDD, en el cumplimiento de los lineamientos del CMMI-DEV, niveles 2 y 3, y luego determinar cuáles artefactos deben implementarse en el desarrollo para minimizar los riesgos, y asegurar el éxito en las evaluaciones CMMI-DEV en esos niveles. Como trabajo futuro se recomienda realizar proyecto colaborativo con la intervención de las comunidades de adeptos a MDD, CMMI y metodologías ágiles con el fin de proponer la integración de las metodologías de desarrollo ágiles y la impulsada por modelos, al modelo de capacidad y madurez CMMI, teniendo en cuenta los riesgos asociados a las transformaciones de modelos, los nuevos artefactos que deben usarse para minimizar los riesgos y las diferentes etapas por las que atraviesa una organización que evoluciona los procesos de desarrollo utilizando modelos, que se traducirían en niveles de madurez, y la necesidad de que el modelo se pueda utilizar en empresas medianas y pequeñas de software, proporcionando un guía de calidad íntegra al equipo de desarrollo y una herramienta a los evaluadores del modelo CMMI-DEV.Facultad de Informátic

    Herramienta gráfica para la automatización de historias de usuario desde un modelo orientado a objetivos con gestión de trazabilidad

    Get PDF
    La fase de elicitación de requisitos se apoya de métodos y técnicas para alcanzar un nivel de calidad que refleja la satisfacción del usuario, actualmente siendo las metodologías ágiles una alternativa no sólo para la fase del desarrollo, sino que además en su fase previa hace uso de la historia de usuario para identificar los requisitos; este es un artefacto exclusivamente técnico cuyo uso y entendimiento corresponde al equipo de proyecto. Al respecto, esta investigación implementa el modelado orientado a objetivos en una plataforma para el modelado gráfico de los requisitos identificados el cual utiliza la notación i* con estereotipos sencillos y entendibles al usuario que posteriormente automatiza los requisitos en el formato de una historia de usuario. El enfoque de la Metodología Orientada a Objetivos tiene como fundamento la variabilidad con la que se puede concretar un objetivo, pero que este último en sí, no cambia. En relación con la variabilidad, se propone correlacionarla con los fundamentos de la metodología ágil, de manera automática a través de las trazas e información generada desde el modelo gráfico elaborado con la participación del usuario en la que expresa sus necesidades y, se puede interpretar en el lenguaje natural de la Metodología Orientada a Objetivos. Respecto al procedimiento anterior y, la información generada se constituye en el insumo para a partir de ahí generar automáticamente las historias de usuario que al llegar a manos del diseñador o programador no existan ambigüedades en ninguna de las plataformas: la gráfica expresada en el modelo gráfico del MOO y la narrativa representada por la Historia de Usuario. Los casos de estudio en la presente investigación demostraron que la herramienta propuesta cumple con los principios de las metodologías ágiles que destacan la participación del usuario en esta etapa para definir de manera precisa los requisitos por parte del equipo de proyecto, en ese sentido, se garantiza que sean completos y consistentes, optimizando la comunicación y el tiempo empleado por los miembros del equipo para elaborar el artefacto a su cargo y de los usuarios finales aportándonos su conocimiento en la fase de captura de requisitos, promoviendo de esta manera la importancia y el impacto realizar una adecuada elicitación desde etapas tempranas
    corecore