103 research outputs found

    Validación de esquemas conceptuales especificados en UML y OCL

    Get PDF
    Este proyecto se concibió como complemento y demostración empírica para las ideas expuestas por la profesora Anna Queralt en la tesis doctoral cuyo nombre ha tomado prestado este Proyecto de Fin de Carrera: “Validación de esquemas conceptuales en UML y OCL”. Dicha tesis, dirigida por Ernest Teniente, describe un método para verificar si un modelo conceptual especificado en UML y OCL es correcto. Podemos entender un modelo o esquema conceptual como un mapa de conceptos (clases) y sus relaciones (asociaciones) que intenta representar algo que existe en la realidad. El lenguaje UML (Universal Modeling Language) está considerado un estándar para especificar modelos conceptuales y se usa en todo el mundo. Se trata de un lenguaje gráfico que a menudo se apoya en otros lenguajes textuales, como en OCL (Object Constraint Language), para expresar información adicional. Así pues, la motivación de este PFC es precisamente desarrollar de una herramienta software que implementa el método descrito en la tesis doctoral de Anna Queralt. Esta aplicación, que ha recibido el nombre de Aurus, se enmarca dentro del proyecto EinaGMC [1], una iniciativa del Grupo de investigación en Modelización Conceptual de la UPC. El propósito de EinaGMC es conseguir un entorno tecnológico de desarrollo que permita trabajar con esquemas conceptuales especificados en UML y OCL. Por lo tanto, la herramienta descrita en este PFC se nutre de este trabajo, como se explicará con detalle, y al mismo tiempo consigue aportar su grano de arena

    Autogeneración de documentación web a partir de un modelo funcional en la herramienta Recover

    Get PDF
    Este proyecto consiste en dar a la herramienta Recover la capacidad de generar una documentación web automática y actualizada de un sistema software a partir de la información de la herramienta, una traducción de UML/OCL y la generación automática de diagramas de secuencia y actividadThis project consists into giving Recover tool the capacity of generating an automatic and up-to-date web documentation of a software system from the information provided by the tool, a translation of UML/OCL and an automatic generation of sequence and activity diagrams

    Una Aproximación de Ingeniería de Requisitos para Líneas de Productos Software Basada en una Estrategia de Desarrollo Dirigido por Modelos

    Full text link
    [EN] The Requirements Engineering (RE) activity is crucial in software engineering. A failure when defining the requirements of a system could increase the costs of the entire product development process. This problem is even more critical in the Software Product Lines (SPL) development, since the definition and specification of requirements must deal with a new dimension: requirements variability. Requirements variability is specified during the domain engineering process, in which variability points are defined so as to distinguish which requirements will be common, and which will be variable. These variability points are resolved during an application engineering activity called requirements derivation in order to obtain the requirements for a specific product. Another paradigm that is widely applied in SPL Development is Model-Driven Software Development (MDSD). MDSD can reduce production costs by increasing software reuse. Despite this fact, the RE approaches for SPL found in literature have some weaknesses. Many of the current approaches represent the variability information in the requirements models, thus reducing the requirements' readability. Moreover, the RE approaches for SPL used during application engineering are normally limited to deriving the product requirements from the SPL requirements and do not indicate how to represent non-existent requirements in the SPL: the delta requirements. This has an undesirable effect on the flexibility of the approaches. The aim of this thesis is to define and validate an RE approach in the context of SPL that will support the definition and specification of the requirements of an SPL, allowing them to be derived from the requirements of a product using the MDSD paradigm, and also supporting the definition and specification of delta requirements. In this context, we have defined a process called FEDRE. During domain engineering, strategy definition and requirements specification obtained from model features are used. During application engineering, the derivation and validation of product requirements ensure that requirements meet customer needs. The necessary delta requirements could be specified, when they will be required, with the aim to prevent that product requirements are limited to a mere combination of LPS requirements. Moreover, a technological approach based on a MDSD strategy was defined. During domain engineering, the variability of the SPL and the requirements variability are represented as multi-model views, and traceability relationships are established among them. During application engineering, the productconfiguration is defined and the requirements of the product to be built are derived using a strategy based on model transformations. The process proposed in FEDRE has been validated using two quasi-experiments. In the first quasi-experiment, the SPL requirements were specified with the aim of validating the FEDRE domain engineering guidelines. According to the results, FeDRE was perceived as easy to use and useful as regards specifying the requirements for an SPL. In the second quasi-experiment, the requirements of a product were validated with the aim of verifying whether the customer needs where covered. In the case of their not being covered, the participants specified the delta requirements. Most of the subjects were able to correctly identify what needs were covered and which requirements had to be added as delta requirements. This dissertation contributes to the field of development of SPL by providing a process and technology, along with an automated and generic approach with which to define and specify requirements in SPL environments.[ES] La actividad de Ingeniería de Requisitos (IR) resulta crucial dentro de la ingeniería del software. Un fallo durante la definición de los requisitos de un sistema puede provocar sobrecostes durante todo el proceso de desarrollo. Este problema se acentúa aún más en el desarrollo de Líneas de Producto Software (LPS) debido a que la definición y especificación de los requisitos deben de tratar con una nueva dimensión: la variabilidad de los requisitos. Esta variabilidad de los requisitos de la LPS se específica durante el proceso de ingeniería del dominio, donde se definen los puntos de variabilidad que permiten diferenciar qué requisitos serán comunes y cuáles serán variables. Estos puntos de variabilidad se resuelven durante el proceso de ingeniería de la aplicación para obtener los requisitos de un producto específico, en la actividad llamada derivación de requisitos. Otro paradigma ampliamente aplicado en las LPS es de Desarrollo de Software Dirigido por Modelos (DSDM). El DSDM puede reducir costes de producción, gracias al aumento de la reutilización de software. Sin embargo las aproximaciones actuales representan la información de la variabilidad de los requisitos exclusivamente en el mismo modelo de requisitos, perjudicando la legibilidad de los requisitos. Por otra parte durante la ingeniería de la aplicación, las aproximaciones de IR para LPS normalmente se limitan a derivar los requisitos del producto a partir de los requisitos de la LPS, pero no explicitaban cómo representar requisitos que no existían previamente en la LPS: los requisitos delta. Este hecho incide negativamente en la flexibilidad de las aproximaciones. El objetivo de esta tesis doctoral es definir y validar una aproximación de IR en el contexto de LPS que soporte la definición y especificación de los requisitos de una LPS, permitiendo derivar a partir de ellos los requisitos de un producto haciendo uso del paradigma de DSDM, y soportando además la definición y especificación los requisitos delta. En este contexto, se ha definido un proceso llamado FeDRE. Durante la ingeniería del dominio se utiliza una estrategia de definición y especificación de los requisitos a partir del modelo de características. Durante la ingeniería de la aplicación se cubre la derivación de los requisitos y la validación para comprobar que satisfacen las necesidades del cliente. En el caso de que fuera necesario se permiten modelar los requisitos delta, evitando que los requisitos del producto estén limitados a una mera combinación de requisitos de la LPS. Por otra parte se ha definido una aproximación tecnológica basada en una estrategia de DSDM. Durante la ingeniería del dominio se representan en un multimodelo las vistas de variabilidad de la LPS y la de requisitos, estableciendo relaciones de trazabilidad entre ellas. Durante la ingeniería de la aplicación se define una configuración del producto y se derivan, mediante una estrategia basada en transformaciones de modelos, los requisitos del producto a desarrollar. El proceso propuesto en FeDRE se ha validado mediante dos cuasi-experimentos. El primer cuasi-experimento modelaba los requisitos de una LPS con el objetivo de validar las guías de la ingeniería del dominio de FeDRE. Los resultados mostraron que FeDRE fue percibido como fácil de usar y útil para especificar los requisitos de una LPS. En el segundo cuasi-experimento se validaron los requisitos de un producto con el objetivo de comprobar si cubrían las necesidades del cliente. En el caso de que no lo hicieran, los participantes especificaron los requisitos delta. La mayor parte de los sujetos fueron capaces de identificar correctamente qué necesidades estaba cubiertas y qué requisitos debían de añadirse como requisitos delta. Esta tesis doctoral contribuye al campo de desarrollo de LPS proveyendo de un proceso y una aproximación tecnológica, automatizada y genérica para la definición y especificación de re[CA] L'activitat d'Enginyeria de Requeriments (ER) és crucial dins de l'enginyeria del programari. Un error durant la definició dels requeriments d'un sistema pot provocar sobrecostos durant tot el procés de desenvolupament. Aquest problema s'accentua en el desenvolupament de Línies de Producte Software (LPS) a causa de que la definició i especificació dels requeriments han de treballar amb una nova dimensió: la variabilitat dels requeriments. Aquesta variabilitat dels requeriments de l'LPS s'especifica durant el procés d'enginyeria del domini, on es defineixen els punts de variabilitat que permeten diferenciar quins requeriments seran comuns i quins seran variables. Aquests punts de variabilitat es resolen durant el procés d'enginyeria de l'aplicació per obtenir els requeriments d'un producte específic, en l'activitat anomenada derivació de requeriments. Un altre paradigma àmpliament aplicat a les LPS és el Desenvolupament de Programari Dirigit per Models (DSDM). El DSDM pot reduir costos de producció, gràcies a l'augment de la reutilització de programari. Malgrat això les aproximacions d'ER per a LPS presenten algunes debilitats. Moltes de les aproximacions actuals representen la informació de la variabilitat dels requeriments exclusivament en el mateix model de requeriments, perjudicant la llegibilitat dels requeriments. D'altra banda, durant l'enginyeria de l'aplicació, les aproximacions d'ER per a LPS normalment es limiten a derivar els requeriments del producte a partir dels de la LPS, però no expliciten com representar requeriments que no existien prèviament a l'LPS: els requeriments delta. Aquest fet incideix negativament en la flexibilitat de les aproximacions. L'objectiu d'aquesta tesi doctoral és definir i validar una aproximació d'ER en el context de LPS que done suport a la definició i especificació dels requeriments d'una LPS, permetent derivar a partir d'ells els requeriments d'un producte fent ús del paradigma de DSDM i donant suport a més a la definició i especificació dels requeriments delta. En aquest context, s'ha definit un procés anomenat FeDRE. Durant l'enginyeria del domini s'utilitza una estratègia de definició i especificació dels requeriments a partir del model de característiques. Durant l'enginyeria de l'aplicació es cobreix la derivació dels requeriments i la validació per comprovar que satisfan les necessitats del client. En el cas que fora necessari es permetrà modelar els requeriments delta, evitant que els requeriments del producte estiguen limitats a una mera combinació de requeriments de l'LPS. D'altra banda s'ha definit una aproximació tecnològica basada en una estratègia de DSDM. Durant l'enginyeria del domini es representen en un multimodel les vistes de variabilitat de l'LPS i la de requeriments, establint relacions de traçabilitat entre elles. Durant l'enginyeria de l'aplicació es defineix una configuració del producte i es deriven, mitjançant una estratègia basada en transformacions de models, els requeriments del producte a desenvolupar. El procés proposat en FeDRE s'ha validat mitjançant dos quasi-experiments. El primer quasi-experiment modelava els requeriments d'una LPS amb l'objectiu de validar les guies de l'enginyeria del domini de FeDRE. Els resultats mostren que FeDRE va ser percebut com fàcil d'utilitzar i útil per especificar els requeriments d'una LPS. En el segon quasi-experiment es van validar els requeriments d'un producte amb l'objectiu de comprovar si cobrien les necessitats del client. En el cas que no ho feren, els participants especificaren els requeriments delta. La major part dels subjectes van ser capaços d'identificar correctament quines necessitats estaven cobertes i quins requeriments havien d'afegir com a requeriments delta. Aquesta tesi doctoral contribueix al camp del desenvolupament de LPS proveint d'un procés i d'una aproximació tecnològica, automatitzada i genèrica per a la definició i especificació dBlanes Domínguez, D. (2016). Una Aproximación de Ingeniería de Requisitos para Líneas de Productos Software Basada en una Estrategia de Desarrollo Dirigido por Modelos [Tesis doctoral no publicada]. Universitat Politècnica de València. https://doi.org/10.4995/Thesis/10251/6326

    Lenguaje de dominio específico para generación de aplicaciones web de procesos administrativos

    Get PDF
    En este trabajo de fin de grado se presenta el desarrollo de un DSL (Domain Specific Language) o lenguaje específico del dominio que permite describir procesos administrativos. Este DSL vendrá acompañado de un editor de texto para Eclipse IDE que permite la elaboración de código validado para el mismo y un generador que lo transforma en código para el marco de trabajo web Django

    Aplicación de técnicas de pruebas automáticas basadas en propiedades a los diferentes niveles de prueba del software

    Get PDF
    [Resumen]Las pruebas son una de las actividades clave en el desarrollo de software, puesto que ayudan a detectar defectos que, de otro modo, pasarían desapercibidos hasta que el software sea desplegado. Sin embargo, al contrario que en otras etapas del ciclo de vida del software, como son el análisis, el diseño o la implementación, para las que existen metodologías y técnicas bien definidas y ampliamente aceptadas en la comunidad informática, junto con herramientas que permiten llevar a cabo dichas tareas, no hay una uniformidad sobre las metodologías, técnicas o herramientas a utilizar para llevar a cabo las pruebas del software de una manera eficiente y eficaz. Este hecho provoca que, muchas veces, éstas sean omitidas o no realizadas con todo el rigor necesario. Esta tesis presenta una aproximación, basada en propiedades y puramente funcional, para la realización de las pruebas del software, que intenta paliar estos problemas. Para ello, se definen metodologías y técnicas de pruebas, integradas en el proceso de desarrollo de software, que pueden ser aplicadas a los diferentes niveles de pruebas del software. Así, pueden utilizarse para llevar a cabo pruebas unitarias y de componente, en las que se comprueba que cada componente individual se comporta de la manera esperada, pruebas de integración, que comprueban las interacciones de los componentes que forman parte de un sistema, y pruebas de sistema, que se encargan de comprobar diferentes aspectos del sistema como un todo. Además, se utiliza un lenguaje de especificación de pruebas común en todas las aproximaciones desarrolladas, el lenguaje de programación funcional Erlang, y las metodologías se definen de manera independiente a la estructura del software concreto a probar o el lenguaje de programación en el que éste esté implementado. Por último, cabe destacar que el uso de estas metodologías y técnicas de pruebas se ilustra a través de un ejemplo industrial, en concreto, el sistema VoDKATV. Este sistema ofrece acceso a servicios multimedia (canales de televisión, videoclub, aplicaciones, juegos, entre otros) a través de diferentes tipos de dispositivos, como, por ejemplo, televisiones, ordenadores, tabletas o móviles. Con respecto a la arquitectura, el sistema VoDKATV está compuesto por múltiples componentes implementados con diferentes tecnologías (Java, Erlang, C, etc.) que se integran entre sí. La complejidad de este sistema permite ilustrar cada una de las metodologías y técnicas de pruebas desarrolladas con un ejemplo real

    Diseño de un Almacén de Datos Históricos en el marco del desarrollo de software dirigido por modelos

    Get PDF
    Un Decision Support System (DSS) asiste a los usuarios en el proceso de análisis de datos en una organización con el propósito de producir información que les permita tomar mejores decisiones. Los analistas que utilizan el DSS están más interesados en identificar tendencias que en buscar algún registro individual en forma aislada [HRU96]. Con ese propósito, los datos de las diferentes transacciones se almacenan y consolidan en una base de datos central denominada Data Warehouse (DW); los analistas utilizan esas estructuras de datos para extraer información de sus negocios que les permita tomar mejores decisiones [GHRU97]. Basándose en el esquema de datos fuente y en los requisitos de información de la organización, el objetivo del diseñador de un DSS es sintetizar esos datos para reducirlos a un formato que le permita, al usuario de la aplicación, utilizarlos en el análisis del comportamiento de la empresa. Dos tipos diferentes (pero relacionados) de actividades están presentes: el diseño de las estructuras de almacenamiento y la creación de consultas sobre esas estructuras. La primera tarea se desarrolla en el ámbito de los diseñadores de aplicaciones informáticas; la segunda, en la esfera de los usuarios finales. Ambas actividades, normalmente, se realizan con escasa asistencia de herramientas automatizadas. A partir de lo expresado anteriormente Identificamos, por consiguiente, tres problemas a resolver: a) la creación de estructuras de almacenamiento eficientes para la toma de decisión, b) la simplificación en la obtención de la información sobre esas estructuras para el usuario final y, c) la automatización, tanto del proceso de diseño de las estructuras de almacenamiento, como en la elaboración iterativa de consultas por parte del usuario de la aplicación. La solución propuesta es el diseño de una nueva estructura de almacenamiento que denominaremos Historical Data Warehouse (HDW) que combina, en un modelo integrado, un Historical Data Base (HDB) y un DW; el diseño de una interface gráfica, derivada del HDW, que permite realizar consultas en forma automática y, por último, el desarrollo de un método de diseño que engloba ambas propuestas en el marco del Model Driven Software Development (MDD).Facultad de Informátic

    Contribuciones al diseño de arquitecturas de sistemas distribuidos abiertos para la provisión de servicios del cuidado de la salud y de soporte a la autonomía del ciudadano

    Get PDF
    Texto completo de TeseoEl dominio sanitario se ha visto enormemente influenciado por las Tecnologías de la Información y la Comunicación (TICs) en las últimas décadas. Consecuencia de esto son los avances en dispositivos, gestión de información y procesos asistenciales. En parte debido a la heterogeneidad tecnológica de las soluciones y a la ausencia de una metodología formal de aplicación de las TICs, en la actualidad el escenario sanitario está fragmentado en sistemas separados que rara vez cooperan entre sí para proveer capacidades avanzadas. Esto dificulta la mejora en la eficiencia de los procesos, la evolución del sistema sanitario y la reducción de costes al existir soluciones redundantes que en ocasiones coexisten en las organizaciones sanitarias. La práctica clínica también está evolucionando hacia escenarios descentralizados donde la asistencia a un individuo es compartida entre diferentes organizaciones sanitarias (en ocasiones incluso distribuidas geográficamente) y en los que la coherencia de la información así como su privacidad son requisitos indispensables para una mejora de la eficiencia. En este escenario descentralizado los individuos y no las organizaciones deben ser el centro de los procesos, sustituyendo el actual rol pasivo por uno activo en el mantenimiento y mejora de su salud. Garantizar la interoperatividad en un sistema distribuido es una de las necesidades fundamentales para facilitar el entendimiento entre las partes implicadas. La normalización en los distintos niveles de comunicación (sintáctico, semántico, organizativo, etc.) es la clave para la interoperatividad pero adoptar los esfuerzos normativos en ocasiones resulta una tarea ardua debido principalmente a la variedad de iniciativas normativas y el solapamiento entre ellas. Todos los aspectos relevantes de los sistemas distribuidos tanto de propósito general como específicos del dominio sanitario están cubiertos por esfuerzos normativos pero a menudo es necesario realizar una armonización entre iniciativas antes de aplicarlas al desarrollo de sistemas para no perder interoperatividad. En esta Tesis Doctoral se investiga, diseña y desarrolla un paradigma de sistema distribuido orientado al sujeto de la asistencia que permite la colaboración de sistemas, usuarios, organizaciones y dispositivos con el objetivo común de mejorar y mantener la salud del sujeto de la asistencia concreto. Este paradigma hereda los fundamentos del concepto de organización virtual (Virtual Organization) y se ha denominado Person-Oriented Virtual Organization (POVO). El principal requisito de diseño de este paradigma es la adopción de normas y estándares que potencien la interoperatividad de los sistemas desplegados y garantice una larga vida útil de los mismos a través de la reutilización ulterior de sus capacidades. Siguiendo este principio de diseño la arquitectura de POVO está basada en las especificaciones del estándar ISO/EN 12967 (HISA) específico del dominio sanitario y el marco de trabajo RM-ODP. Para establecer una adecuada base arquitectural, en esta Tesis Doctoral se analiza la norma HISA y se reestructura para que sea más fiel a los principios de diseño del marco de trabajo RM-ODP y siga la formalización determinada por el estándar ISO 19793 (UML4ODP). La especificación del estándar HISA se extiende con capacidades de seguridad y de gestión de semántica. Dichas extensiones están basadas en el análisis y armonización de la normativa aplicable buscando optimizar y facilitar la aplicación de la solución final. Al margen de la especificación de los principios arquitecturales y funciones básicas de la POVO, se particulariza dicho paradigma para el estilo arquitectural SOA y la tecnología de computación en Grid y se diseña y desarrolla un mecanismo de control de acceso orientado a la administración por parte del sujeto de la asistencia y basado en capacidades semánticas. El mecanismo de autorización sigue un esquema de control de acceso basado en atributos que, utilizando ontologías y reglas de inferencia, permite automatizar el proceso de toma de decisiones. Así cualquier sujeto de la asistencia puede determinar de forma sencilla sus preferencias de acceso sobre los recursos e información directamente relacionados con su salud. Estas preferencias son traducidas e integradas en la base de conocimiento y un motor de inferencia será el que autorice o deniegue los intentos de acceso en base a las políticas definidas por el sujeto de la asistencia. Las aportaciones de esta Tesis Doctoral, en líneas generales, ponen de manifiesto tres aspectos fundamentales en el ámbito de las TICs aplicadas al dominio sanitario. En primer lugar, el potencial que la normalización tiene para construir soluciones interoperables, reutilizables y con amplios horizontes temporales. Como consecuencia de ello es necesario potenciar las iniciativas normativas actuales y armonizar los solapamientos que existan entre ellas. Ejemplo de esto es la norma HISA cuya amplia adopción está ligada a la correcta integración con otras normas del mismo ámbito y su adecuada puesta en valor. En segundo lugar, los escenarios distribuidos con foco en el sujeto de la asistencia son el paso evolutivo natural de la asistencia sanitaria dadas las actuales (y futuras) coyunturas económicas y sociales. La tecnología está alcanzando una gran madurez en lo que a sistemas distribuidos se refiere pero aún queda camino por recorrer para poder construir soluciones fiables y eficientes que cubran los requisitos específicos de un escenario distribuido tan complejo como el que se presenta en esta Tesis Doctoral. Por último, el mecanismo de control de acceso diseñado y desarrollado sirve de prueba de concepto de cómo la tecnología actual puede otorgar a los individuos un papel activo en el mantenimiento de su salud y procesos relacionados sin necesidad de que tengan conocimientos tecnológicos avanzados

    Técnicas para formular proyectos de software e ingeniería web

    Get PDF
    gráficos , tablas ; 28 cm.En esta obra se tratan temas básicos para la formulación del proyecto de software e ingeniería de web que nos sirven como carta de navegación en el momento de formular un proyecto de desarrollo, lo cual, sin duda, nos ayudará a agilizar la tarea y nos permitirá presentar la documentación mucho mejor estructurada, a fin de que sea posible evidenciar que conocemos del tema de lo que estamos haciendo y, a su vez, decidir hasta dónde llegar con la solución que planteamos y en qué tiempo lo vamos a lograr; lo más importante es saber el costo real de la puesta en marcha del producto a desarrollar, pues con esto se podrá determinar la viabilidad del proyecto y demostrar a nuestros clientes que la solución que les estamos planteando es adecuada y acorde a sus necesidades. Además, podremos confirmar la utilización de herramientas apropiadas para el desarrollo de la solución, así como los elementos más importantes de las organizaciones tales como el ciclo de Denimg, que se basa en phva y una buena planificación, la forma de hacerlo, verificar y actuar, todo esto con el propósito de neutralizar algunos de los problemas comunes que se presentan en el momento de sustentar nuestro proyecto (Project Management Institute, 2004)

    Plan de desarrollo de software para la elaboración de un sistema de registro de exámenes ecográficos utilizando la metodología RUP: Caso Hospital San José

    Get PDF
    Busca orientar hacia el desarrollo de software, utilizando una metodología y un lenguaje de modelado, el cual nos guiará por todo el camino del desarrollo antes de empezar la implementación del software, con lo cual se asegura la calidad del producto final y el cumplimiento en la entrega en el tiempo establecido. Elegir tanto la metodología como la herramienta de implementación adecuada es de vital importancia para el éxito de la elaboración del software, es por ello que se compara 4 metodologías de desarrollo: RUP, XP, ICONIX, SCRUM, eligiendo entre ellas a la metodología RUP basada en el lenguaje de modelado UML. Este trabajo contemplara hasta la fase de elaboración del sistema d Información para el registro de exámenes del área de Diagnóstico por Imágenes del Hospital San José, con la finalidad de que sirva de guía para futuros trabajos sobre desarrollo de software. La herramienta CASE utilizada es el Rational Rose 2000, que hace posible elaborar las distintas fases del RUP.Trabajo de suficiencia profesiona
    corecore