3 ARQUITECTURA DEL ENTORNO Y TÉCNICAS DE INTEGRACIÓN

Tamaño: px
Comenzar la demostración a partir de la página:

Download "3 ARQUITECTURA DEL ENTORNO Y TÉCNICAS DE INTEGRACIÓN"

Transcripción

1 3 ARQUITECTURA T DEL ENTORNO Y TÉCNICAS DE INTEGRACIÓN En este capítulo se inicia la toma de decisiones respecto al entorno multidisciplinar. En primer lugar, se seleccionan los estándares de modelado y expresión formal y la forma de usarlos en el entorno. Así mismo, se define una primera aproximación a la arquitectura del entorno en un intento por sintetizar, en forma de bloques funcionales relacionados, cada una de los requisitos identificados a lo largo del capítulo anterior. Posteriormente, se definirá lo que se entiende por integración y se describirán diferentes niveles de integración. Lo que dará paso a un estudio de diferentes técnicas de integración para resolver la colaboración de gramáticas, modelos, técnicas de desarrollo de SW, conocimiento y aplicaciones. Se valorarán técnicas muy dispares entre sí pero con el común denominador de servir para integrar información, aunque con diferentes grados de abstracción. Las conclusiones del capítulo servirán para seleccionar las técnicas más adecuadas para cada uno de los niveles de integración, y completar así la arquitectura del entorno esbozada al inicio con más detalles relativos a las técnicas a utilizar.

2 3.1 Arquitectura General del Entorno Modelado y Expresión Formal en el Entorno Requisitos y Componentes Básicos del Entorno Estructura General 3.2 Niveles de Integración 3.3 Integración de Gramáticas GSRC Semantics Project 3.4 Integración de Modelos 3.5 Integración de Técnicas para Desarrollo de SW Métodos Formales Separación Multidimensional de Propósitos Desarrollo de SW Dirigido a Dominio Generación de Programas con XSLT 3.6 Integración de Conocimiento 3.7 Integración de Aplicaciones Conceptos básicos sobre Servicios Web Estilo de Arquitectura REST Definiciones sobre Servicios Web Escenarios de Uso de Servicios Web Escenario 0: Interacción web clásica (sin servicios web) Escenario 1: Partes conocidas, WSD estático Escenario 2: Partes conocidas obtienen WSD dinámicamente Escenario 3: Múltiples proveedores, descubrimiento manual Escenario 4: Múltiples proveedores, acceso a WSD del proveedor Escenario 5: Múltiples proveedores, selección automática Escenario T: Diagrama en triángulo Tecnologías para Servicios Web 3.8 Conclusiones Integración de Gramáticas (Gramáticas XML de Dominios) Integración de Modelos (Modelos de Dominio) Integración de Técnicas para Desarrollo de SW (DIRECTOR) Integración de Conocimiento (Repositorio) Integración de Aplicaciones (Interfaz de Herramientas)

3 3..1 ARQUIITECTURA GENERAL DEL ENTORNO Sobre las conclusiones del recorrido del Estado del Arte del capítulo anterior, conclusiones en forma de selección de estándares para el modelado y la expresión formal, requisitos identificados y arquitectura de bloques en la que se fundamentará el entorno MODELADO Y EXPRESIÓN FORMAL EN EL ENTORNO Aplicando al entorno multidisciplinar las ideas sobre niveles de abstracción expuestas en el capítulo anterior, se identifica la necesidad de construir cuatro jerarquías de abstracción (en principio independientes) para representar la visión del SCDTR desde cada uno de los dominios involucrados (IC, SD, STR e IS). Dado un sistema concreto en desarrollo, cada dominio selecciona (a partir del conjunto total de información existente) el subconjunto de datos relevantes para su campo (objetos de dominio). Estos datos y sus relaciones se describen dando forma al modelo particular de dominio del sistema. Por tanto, en este trabajo se entiende por modelo la abstracción o descripción parcial y particular de las características (comportamiento, estructura, funcionalidad,...) del sistema bajo desarrollo. Para añadir formalidad a estas descripciones y tener la posibilidad de validar la corrección de diferentes modelos de acuerdo a los parámetros propios del dominio es necesaria la existencia de un nivel superior o metamodelo del domino. El metamodelo define el lenguaje a emplear para construir nuevos modelos, o descripciones de sistemas de acuerdo a las convenciones establecidas por un dominio, y con ello introduce formalidad o mecanismos de validación de las descripciones. En resumen, se plantea la necesidad de definir cuatro metamodelos porque cada dominio usará diferentes objetos de dominio, es decir, tendrá un subconjunto de información diferente en el nivel de dato. Se considera interesante la arquitectura de 4+1 vistas en tanto que esta arquitectura coincide con la visión adelantada en el capítulo inicial de esta memoria. En ambos casos se separan los modelos en función del profesional que los vaya a usar y también se considera necesario el empleo de una notación o lenguaje especializado para la descripción del sistema desde cada uno de los dominios. Hay que destacar el interés de construir estos lenguajes especializados utilizando en todos los casos un núcleo común formado por componentes y conectores. La existencia de ese núcleo expresivo común facilitará dar forma a las relaciones entre Pág. 3-1

4 modelos. Únicamente, y por razones ya comentadas, se extenderá en la arquitectura de 4+1 vistas la capacidad de expresión jerárquica de los sistemas. UML 1.4 desarrolla estos conceptos y define una rica colección de vistas en forma de diagramas orientados a objetos, permitiendo múltiples enfoques para un mismo problema. La potencia de este lenguaje radica en su flexibilidad expresiva y capacidad de adaptación. Pero esta virtud le hace carecer de rigurosidad y formalidad cuando se trata de asegurar la coherencia global del modelo y sus instancias. Como uno de los requisitos del entorno multidisciplinar es la capacidad de validar la corrección de las instancias respecto al metamodelo, UML 1.4 parece incompleto como soporte de los metamodelos de dominio y sus instancias. Además, sigue careciendo de la jerarquía formal deseable. Como ambas carencias prometen ser paliadas en la próxima versión del lenguaje (UML 2.0), es una posibilidad de futuro la expresión de los metamodelos de dominio y sus instancias en este estándar. En la filosofía MDA (Model Driven Architecture) de OMG la definición y relación entre PIM y PSM, la formalidad introducida por MOF y la serialización de modelos e instancias con XMI tienen a UML como punto común de referencia. A pesar de ello, el que UML no sea el lenguaje inicialmente elegido para el modelado de dominio en el entorno no implica dar la espalda a todos los demás estándares. De hecho, se propone desarrollar el entorno en sintonía con esta filosofía y dejar preparado el camino para que en un futuro UML pueda ser el lenguaje de modelado inicial y XMI pueda tender directamente los puentes hacia la expresión en XML de esos modelos e instancias. XML sí parece colmar conjuntamente las necesidades de expresión flexible y adaptable a diferentes campos junto con la validación formal de las instancias. Su papel de metalenguaje, permitiendo la creación de lenguajes formales a través de schemas, y el complemento de XSL (transformaciones entre lenguajes) le hacen convertirse en un candidato ideal. Incluso si UML 2.0 (y estándares asociados) cumplen todas las expectativas, XML seguirá siendo necesario para el intercambio de información entre diferentes plataformas, entre diferentes herramientas MOF o entre herramientas MOF y otras no MOF (necesidad de validación previa). En resumen, en lo concerniente al modelado y expresión formal de la información en el entorno multidisciplinar se toman las siguientes decisiones: Definir los metamodelos de los cuatro dominios implicados. Los modelos o instancias de los mismos serán las descripciones del sistema desde los enfoques particulares. Usar schemas XML para definir los metamodelos de dominio. Éstos fijarán todos los requisitos a cumplir por las instancias (descripciones de sistemas particulares hechas de acuerdo al metamodelo de dominio). Estos schemas Pág. 3-2

5 XML servirán de gramáticas formales del lenguaje a emplear desde cada dominio. Construir los lenguajes extendiendo y especializando un núcleo expresivo común que soporte la descripción jerárquica del sistema en base a componentes y conectores. Seguir en la medida de lo posible los preceptos del MDA. Por una parte, distinguir el nivel de abstracción de la aplicación independiente de detalles (PIM), otro con detalles propios de la plataforma de desarrollo (PSM) y, por último, la implementación final. Por otra parte, establecer mecanismos para automatizar y formalizar el paso entre dichos niveles de abstracción. De este modo serán evidentes las ventajas obtenidas en cuanto a reutilización de modelos y formalización del proceso. Preparar la adopción futura de UML 2.0 como lenguaje soporte de los metamodelos de dominio. Esto permitiría : generación automática desde UML de gramáticas XML (schemas) e instancias (documentos) gracias a XMI o al empleo de perfiles que modulen la creación de XML a voluntad del diseñador generación automática desde UML del código que implemente los interfaces entre herramientas y modelos de dominio para diferentes plataformas (Java, C++, CORBA, ) adopción del perfil de tiempo real como metamodelo de dominio para STR (Sistemas de Tiempo Real) Cabe destacar que aunque se descarta el empleo de UML para el modelado formal de los dominios esto no implica que no pueda existir una herramienta UML integrada en el entorno. Una herramienta UML podría usarse, por ejemplo, para especificar la arquitectura SW del sistema, pero el resultado de su uso habría que expresarlo en XML y validarlo contra su metamodelo correspondiente (schema XML). Pág. 3-3

6 3.1.2 REQUISITOS Y COMPONENTES BÁSICOS DEL ENTORNO El análisis realizado en el Estado del Arte sobre las herramientas específicas de dominio habituales en cada uno de los campos de estudio, ha permitido identificar varios requisitos que deben guiar la construcción del entorno multidisciplinar de herramientas: La trazabilidad ha demostrado ser una propiedad fundamental cuando se trata de coordinar diferentes fases de desarrollo y aún más cuando se emplean diferentes herramientas. Esta propiedad deberá ser intrínseca al propio entorno y, por tanto, no basada en ninguna herramienta particular. El Núcleo del Entorno debe ser independiente de cualquiera de las herramientas integradas. Frente a la opción de tomar una herramienta suficientemente genérica como centro del entorno e ir ampliándola con módulos paralelos que complementen su funcionalidad, se opta por diseñar una arquitectura horizontal adecuada, con funcionamiento y formato de almacenamiento propios, e ir acomodando las herramientas específicas verticales a esta arquitectura y forma de trabajo. Para cada uno de los dominios específicos se han detectado conceptos clave que se constituyen en criterios de clasificación de grupos de herramientas y, por tanto, en parámetros de configuración para el Núcleo del Entorno: Sistemas Distribuidos. El Protocolo de Comunicación elegido para el sistema en desarrollo determina el grupo de herramientas de ayuda que pueden necesitarse. Sistemas de Tiempo Real. El Estilo de Arquitectura demuestra ser clave y tener implicaciones directas en herramientas de análisis, pero también en el diseño. Son limitados los estilos de arquitectura empleados en Sistemas de Tiempo Real (secuencial, dirigida a eventos, pipeline, cliente-servidor) pero no se va a diseñar un entorno que soporte uno solo de ellos, sino que se permitirá seleccionar el más adecuado en cada proyecto. El estilo elegido para el sistema en desarrollo determinará qué subconjunto de herramientas pueden usarse y qué sinergias existirán entre ellas. La Metodología es un concepto aún más amplio que engloba el estilo de arquitectura y restringirá aún más el número y forma de utilizar las herramientas. Ingeniería del SW. Es necesario el uso de un Proceso de SW adaptado a las necesidades de los SCDTR, pero configurable y modificable por el usuario en sus detalles para que se adapte a las necesidades propias del campo de aplicación y al Nivel de Madurez CMM de la organización. La visibilidad o expresión explícita del Proceso y su gestión desde una entidad Pág. 3-4

7 independiente de cualquier herramienta ofrecerá esta flexibilidad de cara al usuario. El Núcleo del Entorno debe ser flexible, para adaptarse con facilidad a necesidades futuras, y abierto para integrar en cada momento a la herramienta específica más adecuada. Esto se conseguirá a través del uso de estándares para la implementación de los componentes anteriores El Núcleo del Entorno se asemeja a los entornos I-CASE descritos en el capítulo anterior en que también debe ofrecer una arquitectura común en la que integrar herramientas de diferente naturaleza. Por ello, se identifican los siguientes Componentes Básicos, análogos a los de dichos entornos: Repositorio de información común a todas las herramientas. Componente de integración de modelos. Contiene la definición explícita de los cuatro metamodelos de dominio, sus relaciones y la relación de los metamodelos con las herramientas particulares en base a ciertos metadatos. Componente DIRECTOR, desde donde se controlan todos los mecanismos de activación, se comprueban y gestionan de forma global los errores, la integridad y la consistencia. Interfaces de herramientas. Debe estandarizarse el formato y protocolos de intercambio de datos entre las herramientas y el entorno. Interfaz de usuario común para la configuración del entorno. El estudio hecho en el Estado del Arte sobre algunos intentos de integración de dominios en forma de entornos de herramientas arroja las siguientes coincidencias entre varias soluciones propuestas: Uso de XML como formato preferido para la integración de información. Uso de Java como lenguaje de programación preferido para el SW de integración Uso de documentos (normalmente en XML) anexos a los módulos para describir la información necesaria para su integración con otros. Uso generalizado de la abstracción como concepto fundamental en el que basar la integración. Uso de gramáticas abstractas con los elementos sintácticos a emplear en todo el entorno, aunque luego se le añada la semántica particular de cada dominio. Uso de entidad director o similar para coordinar las diferencias semánticas entre dominios valiéndose de la estructura común de los lenguajes. Pág. 3-5

8 Concepto de METAframework o infraestructura necesaria para la composición de frameworks. Hasta ahora el diseño se ha centrado en la consideración de cuatro dominios y de las relaciones entre ellos, pero por qué sólo cuatro?, cómo se integraría uno más? Si se es capaz de expresar el metamodelo del que emergen los cuatro dominios, la definición de un nuevo modelo bajo esos mismos principios aseguraría su colaboración con los demás en el entorno. Esta idea del metamodelado se desarrollará para formalizar los mecanismos de ampliación de los dominios considerados en el entorno. El siguiente apartado definirá la estructura general del entorno, que estará compuesta por el conjunto de componentes aquí enumerados y permitirá satisfacer los requisitos identificados. La cohesión y coherencia del entorno se fundamentará en el uso de diferentes técnicas de integración a varios niveles. Pág. 3-6

9 3.1.3 ESTRUCTURA GENERAL Las pautas enumeradas conducen a un diseño del entorno como el mostrado en la Figura 3-1. Las herramientas particulares son empleadas por los especialistas en la manera habitual, pero se conectan como clientes al Motor de Colaboración de Herramientas (MCH), que hace las funciones de servidor. El tipo de servicio que ofrece el MCH es de almacenamiento, validación y coordinación de la información del SCDTR bajo desarrollo. El MCH ofrece estos servicios apoyándose en el Motor de Colaboración de Modelos (MCM). La capa más externa del MCH gestiona un flujo de información vertical y en ambos sentidos entre cada herramienta y el propio MCH, mientras que el MCM gestiona otro flujo de información transversal que permite coordinar y actualizar los datos que importan las herramientas. Existirá un amplio conjunto de herramientas particulares (siempre ampliable) registradas en el entorno, es decir, conocidas en cuanto a su comunicación con el MCH, la función que desempeñan, las informaciones que requieren intercambiar, etc. Pero cada proyecto requerirá para su desarrollo un subconjunto de herramientas de entre las registradas y el responsable del proyecto las seleccionará y configurará el entorno para su interacción a lo largo del proceso particular de dicho proyecto.... Especialistas... Herramientas... Interfaces MOTOR DE COLABORACIÓN DE HERRAMIENTAS (MCH) MOTOR DE COLABORACIÓN DE MODELOS (MCM) Figura 3-1. Estructura del entorno multidisciplinar La capa más externa del MCH debe resolver los interfaces a las herramientas particulares, así como al coordinador (que configura el funcionamiento del entorno para la gestión de cada proyecto). Pág. 3-7

10 Los componentes del Motor de Colaboración de Herramientas incluyen los que ya han sido mencionados, más la novedad de la entidad DIRECTOR, núcleo del MCM. En este componente se centralizan todas las actividades de integración: Control del proceso de desarrollo. En función de la información aportada por el coordinador se configurará el proceso y el DIRECTOR obligará a seguir las fases marcadas. Gestión de activaciones para invocar las acciones necesarias en cada momento. Control de la trazabilidad, íntimamente ligado al proceso SW seguido. Comprobación global de errores, coherencias e integridad de la información. Especialistas Coordinador Interfaz Config Metadatos DIRECTOR Modelos de Integración Interfaz herramientas Repositorios MOTOR DE COLABORACIÓN DE MODELOS (MCM) MOTOR DE COLABORACIÓN DE HERRAMIENTAS (MCH) Figura 3-2. Componentes del MCH. En la Figura 3-2 se puede apreciar cómo quedan los componentes del entorno con la inclusión del DIRECTOR y la expresión explícita de los modelos de interacción para su manipulación. Además, se identifican dos roles de usuarios del entorno: Coordinador de proyecto. Es quien impone al DIRECTOR, a través de un interfaz de configuración, las pautas a seguir en el uso de las herramientas externas. Tiene que conocer el funcionamiento del MCH para configurarlo. Define el conjunto concreto de herramientas a usar, un estilo de arquitectura o metodología de tiempo real determinada, protocolos de comunicación para la distribución del control, un determinado proceso de SW, etc. Estas decisiones, que determinarán las sinergias e incompatibilidades que entran en juego, sirven para configurar el módulo Pág. 3-8

11 DIRECTOR. Toda esta información se empleará para coordinar todo el entorno a lo largo de la vida del proyecto. Especialista. Usuario final de cada una de las herramientas integradas. Hace uso de una herramienta bien conocida a partir de la información que le facilita el entorno y de las pautas indicadas por el coordinador. El diagrama de componentes básicos mostrado en la Figura 3-2 se irá completando en más detalle a lo largo del presente capítulo y se desarrollará el diseño final de cada bloque en el capítulo siguiente. Pág. 3-9

12 Pág. 3-10

13 3..2 NIIVELES DE INTEGRACIIÓN Sobre lo que se entiende por integración y las técnicas disponibles para lograrla a diferentes niveles. Una vez establecido que las diferentes herramientas del entorno se integrarán gracias a un Motor de Colaboración de Herramientas (MCH) externo que guíe el proceso, cabe preguntarse qué técnicas son las más apropiadas para que el MCH logre ese propósito de integración. Dado un conjunto de aplicaciones autónomas, cada una ejecutándose en su propio contexto, la interacción entre ellas se consigue si: 1. Existe una conexión física y un protocolo de comunicación para que los datos fluyan entre los contextos de ejecución de las aplicaciones. Actualmente, la omnipresencia de internet con sus protocolos TCP/IP hace que sea la opción más estándar para el intercambio de información entre dos aplicaciones cualesquiera independientemente de su ubicación. 2. Existe un acuerdo en el formato de los datos para su intercambio (texto ASCII, XML, representación en memoria, chorro de bits ). Por las razones aducidas en el capítulo anterior, XML se perfila como el formato más estándar, universal y de amplia aceptación. 3. Existe un acuerdo en el léxico y sintaxis empleados para la expresión de la información. 4. Existe un acuerdo respecto a los tipos de datos (rangos válidos, herencia, polimorfismo, estructuras, ). 5. Existe un acuerdo en el significado que se da a los datos, lo que se espera de ellos, las relaciones que se establecen, el procesado que se les dará. 6. Existe un acuerdo en la relación o manera de mantener la coherencia entre cualesquiera dos datos de dos herramientas diferentes pero con una relación semántica conocida. 7. Existe un acuerdo en los interfaces que cada aplicación ofrece para la entrada y salida de datos Los puntos 3, 4 y 5 hacen referencia a un acuerdo en cuanto a la gramática empleada, que como se verá, tiene que reflejar las peculiaridades de cada campo de aplicación pero manteniendo un núcleo común a todas las demás. Para lograr una solución abierta y flexible, los puntos 6 y 7 conviene resolverlos de forma Pág. 3-11

14 acorde a tecnologías estándares y ampliamente aceptadas, que se discutirán a lo largo de este apartado. En definitiva, se trata de llegar a acuerdos entre las partes implicadas, pero estos acuerdos pueden ser de muy diversa naturaleza: Acuerdos tácitos o explícitos. En ocasiones, se siguen acuerdos no escritos para hacer que se entiendan dos aplicaciones. En este trabajo se intenta hacer explícito cualquier acuerdo porque esto es necesario para poder modificar los términos del acuerdo o para generalizarlo y lograr la interacción con otras aplicaciones cualesquiera. Acuerdos punto a punto o genéricos. Para comunicar dos aplicaciones basta con ponerse de acuerdo entre ellas, pero para lograr comunicar un número indeterminado de aplicaciones no definidas de antemano, es necesario imponer unas normas genéricas que permitan interactuar a toda aplicación que las cumpla. La propia interacción entre las aplicaciones puede ser manual o guiada. Es decir, dirigida a su libre albedrío por el usuario (que indica en qué momento invocar una aplicación y con qué datos trabajar) o conducida por una entidad directora que siga unas reglas prefijadas y regule los pasos a seguir, los datos a emplear y la coherencia de todo el proceso. Como ya se ha descrito, los procesos y metodologías para el desarrollo de SW requieren de una regulación de las fases de su ciclo de vida que aconseja una interacción guiada. Por ello se propone que sea llevada a cabo por la entidad DIRECTOR. Una vez que las aplicaciones son capaces de interactuar (porque se han resuelto de alguna manera los 7 puntos anteriores) se pueden definir diferentes niveles de integración: Aplicaciones integrables. Por cumplir todos los requisitos para interactuar se puede escribir un SW que las integre. Aplicaciones integradas entre tiempos de ejecución. Cada aplicación funciona según sus propios tiempos pero los resultados que se obtienen al terminar su uso se sincronizan con la información que ya existía. Por cada uso de una aplicación se comprobará la coherencia de los resultados con todo lo anterior. Aplicaciones integradas en tiempo de ejecución. En el propio tiempo de ejecución, una aplicación es capaz de comunicase e interactuar con otras. En definitiva, se pueden completar un poco más las características del MCH añadiendo las siguientes: El MCH usará conexiones sobre TCP/IP para comunicarse con las herramientas. Pág. 3-12

15 La información a intercambiar entre herramientas y MCH se expresará en formato XML. Siendo así, lo más lógico es que los repositorios también almacenen la información en este formato. Se definirán gramáticas XML ajustadas a las necesidades de cada uno de los dominios: Ingeniería de Control (IC), Sistemas Distribuidos (SD), Sistemas de Tiempo Real (STR) e Ingeniería del SW (IS). De este modo, la información intercambiada entre una determinada herramienta y el MCH se expresará siempre en la gramática propia de su dominio. El DIRECTOR llevará a cabo una integración entre tiempos de ejecución, es decir, se encargará de sincronizar la información global cada vez que se reporten resultados desde alguna de las herramientas. Los acuerdos necesarios para la integración de herramientas se hacen genéricos ya que hacen referencia a las interacciones entre los diferentes dominios específicos y no a la existente entre herramientas concretas. Estos acuerdos se engloban en un conjunto de Modelos de Dominios que estarán íntimamente ligados a las Gramáticas de Dominio. Los acuerdos se hacen explícitos porque se expresan en forma de modelos y gramáticas modificables, y por tanto extensibles. La Figura 3-16 muestra como queda el MCH con estas aportaciones. El DIRECTOR lleva la iniciativa y usa los servicios que le ofrecen las aplicaciones de forma coordinada y coherente, basándose en los modelos y gramáticas de dominio. Pág. 3-13

16 Gramática de dominio común para diferentes herramientas IC IC SD STR IS Información en la gramática XML de cada dominio Información XML sobre conexiones TCP/IP Interfaz Config Interfaz Herramientas DIRECTOR Sincronización en instantes de entrada / salida de información desde una herramienta Modelos Gramáticas Dominios XML Dominios Metadatos Repositorios XML Figura 3-3. Estructura del MCH. En los siguientes apartados se presentarán algunas técnicas adecuadas para la implementación de cada una de las partes de este esquema. Concretamente, y por orden de aparición de los apartados, se describirán soluciones para los bloques de Gramáticas (3.3 Integración de Gramáticas), Modelos de Dominio (3.4 Integración de Modelos), DIRECTOR (3.5 Integración de Técnicas para Desarrollo de SW), Repositorio (3.6 Integración de Conocimiento) e Interfaz de Herramientas (3.7 Integración de Aplicaciones). Pág. 3-14

17 3..3 INTEGRACIIÓN DE GRAMÁTIICAS Sobre los niveles de servicio que puede implementar una gramática y el grado de compatibilidad entre gramáticas distintas. Para que varias personas se puedan comunicar y se entiendan entre sí, es necesario que empleen el mismo lenguaje. Del mismo modo, para que puedan comunicarse entre sí un conjunto de herramientas deben expresar, hasta cierto punto, de la misma forma aquellas informaciones que pretendan intercambiar. La solución podría ser la creación de un lenguaje común, lo suficientemente rico y extenso como para cumplir dos requisitos: El lenguaje debe poder describir la información que manejen todas las herramientas a integrar. El lenguaje debe poder representar todas las relaciones cruzadas entre informaciones de diferentes herramientas. Esta solución permitiría importar y exportar toda información entre herramientas, siempre que estuviera expresada en ese lenguaje. El problema surgiría cada vez que se pretenda integrar una nueva herramienta no considerada en un principio. Si el lenguaje común no fuera capaz de expresar algún tipo de información manejada por la nueva herramienta, sería necesaria su modificación y ampliación. Para ganar flexibilidad y generalidad en la solución, conviene usar un lenguaje más abstracto en el que se asuman sólo unos pocos elementos comunes a la información de todas las herramientas que pretendan ser integradas. Se va a profundizar a continuación en un proyecto que trabaja en esta línea de investigación, el GSRC Semantics Project. Pág. 3-15

18 3.3.1 GSRC SEMANTICS PROJECT Gigascale Silicon Research Center ( es una entidad que aúna los esfuerzos de multitud de grupos de investigación para el diseño y test de sistemas empotrados. Uno de sus proyectos es el GSRC Semantics Project ( Este proyecto persigue la interoperatividad de herramientas para el diseño de sistemas. Identifican el mismo problema que se ha descrito en el primer capítulo de esta memoria, es decir, la necesidad de enfocar un mismo sistema de diferentes formas para tratar diferentes problemas y la dificultad de conseguir que los cambios producidos en uno de estos enfoques sigan siendo coherentes en los demás. Tal y como muestra la Figura 3-4, se pueden obtener múltiples facetas de un sistema al proyectarlo respecto a diferentes ejes o puntos de vista pero si se modifica una de esas facetas hay que conseguir que siga siendo coherente con las demás. Por otra parte, también es deseable poder manejar diferentes niveles de abstracción para cada una de las facetas (Figura 3-5). Figura 3-4. Proyección de las facetas de un sistema y su consistencia. Estas facetas se pueden identificar con las representaciones del sistema de acuerdo a diferentes herramientas y lograr la coherencia entre las mismas sería lo mismo que conseguir interoperatividad entre las herramientas. Para lograr esta interoperatividad, no buscan la creación de un lenguaje estándar de diseño común para todas, si no que intentan identificar el uso de ciertos elementos comunes y formalizarlos para establecer la base común a todas las herramientas. De este modo, definen modelos sintácticos y semánticos para el diseño de sistemas basándose en el uso de componentes, su interacción y su composición (Lee 2000). Pág. 3-16

19 Figura 3-5. Niveles de abstracción de cada faceta. En la especificación de un lenguaje se aúnan las descripciones de varias propiedades ortogonales. El tratamiento por separado de las mismas permite varios niveles de compatibilidad. La definición de un lenguaje puede dividirse en cinco partes (servicios) agrupadas en dos bloques: Estructura lógica: Sintaxis abstracta. Define cómo un diseño puede dividirse en componentes interconectados. El conjunto de componentes y relaciones que pueden aparecer en un diseño conforman una sintaxis abstracta. Sintaxis concreta, notación. Define cómo un diseño puede ser representado y manipulado en un formato persistente y usable por el ordenador (XML, APIs, fichero ASCII, gráfico, ). Pueden existir múltiples sintaxis concretas derivadas de una única sintaxis abstracta. Transformaciones sintácticas. Un conjunto de operaciones (tanto estáticas como dinámicas) permiten transformar un diseño en otro. Significado: Sistema de tipos. Regulan los datos compartidos por los componentes y aseguran que se cumplen los requisitos que los componentes imponen a esos datos. El polimorfismo es una cualidad conveniente para dar generalidad a los diseños. Semánticas (de componentes y de interacción). Da significado a las características de cada componente y a sus conexiones con otros. Un determinado diseño se representa con un lenguaje concreto que incluye los cinco servicios mencionados. Sin embargo, las herramientas que se utilizan para manejar ese modelo no tienen porque ser conscientes de todas las partes del lenguaje. Habrá herramientas que soporten sólo alguna de las partes del lenguaje. Pág. 3-17

20 Por ejemplo, un visualizador gráfico que muestre las relaciones entre componentes no necesita conocer la semántica ni los tipos (le basta con conocer la sintaxis abstracta), mientras que un motor de inferencia de tipos necesita conocer el sistema de tipos además de la sintaxis abstracta. En base a estos conceptos se puede clasificar la interoperatividad entre herramientas a diferentes niveles: 1. Sintaxis abstracta compatible. Es posible escribir SW ad hoc que convierta datos de una herramienta en datos utilizables en otra. 2. Sintaxis concreta compatible. Una herramienta puede leer datos en el formato persistente de otra (ficheros externos) sin necesidad de escribir SW especial. 3. Transformaciones sintácticas compatibles. Es posible generar automáticamente datos de entrada para una herramienta a partir de los resultados de otra. 4. Sistema de tipos compatible. Intercambio automático de modelos de datos completos entre herramientas. 5. Semánticas compatibles. Las herramientas pueden intercambiar datos dinámicamente, en tiempo de ejecución. Cuando se busca la interoperatividad entre un conjunto lo suficientemente amplio y diverso de herramientas de diseño, enseguida es evidente que no basta con un único formato estándar para representar adecuadamente una sintaxis y semántica común para todas. Existe una variedad de modelos semánticos para sistemas basados en componentes y cada uno tiene sus ventajas y su campo de aplicación. Por ello, se busca un acuerdo en lo más básico, la sintaxis abstracta. Una sintaxis abstracta común para herramientas de diseño de sistemas debe ser capaz de describir listas de conectividad, diagramas de transición de estados, diagramas de bloques, modelos de objetos y estructuras gráficas, además de permitir el uso extensivo de la jerarquía para lograr escalabilidad. Éstas son las características que reúne la sintaxis abstracta GSRC. Resumen de las características del proyecto GSRC: Definición por separado de cada una de los cinco servicios constitutivos de un lenguaje: Sintaxis abstracta. Definición de componentes y posibles relaciones entre ellos, capacidades de jerarquía, conectividad e instanciación de clases. Sintaxis concreta. MoML es una sintaxis concreta XML para la sintaxis abstracta de GSRC. MoML no añade significado al modelo, en su lugar, permite añadir un director al modelo. El director definirá la semántica de las conexiones pero para MoML no es más que la referencia a una instancia que cargará el cargador de clases. Pág. 3-18

UNIDAD 2: Abstracción del Mundo real Al Paradigma Orientado a Objetos

UNIDAD 2: Abstracción del Mundo real Al Paradigma Orientado a Objetos 2.1. Principios básicos del Modelado de Objetos UNIDAD 2: Abstracción del Mundo real Al Paradigma Orientado a Objetos Hoy en día muchos de los procesos que intervienen en un negocio o empresa y que resuelven

Más detalles

PROGRAMACIÓN ORIENTADA A OBJETOS Master de Computación. II MODELOS y HERRAMIENTAS UML. II.2 UML: Modelado de casos de uso

PROGRAMACIÓN ORIENTADA A OBJETOS Master de Computación. II MODELOS y HERRAMIENTAS UML. II.2 UML: Modelado de casos de uso PROGRAMACIÓN ORIENTADA A OBJETOS Master de Computación II MODELOS y HERRAMIENTAS UML 1 1 Modelado de casos de uso (I) Un caso de uso es una técnica de modelado usada para describir lo que debería hacer

Más detalles

Elementos requeridos para crearlos (ejemplo: el compilador)

Elementos requeridos para crearlos (ejemplo: el compilador) Generalidades A lo largo del ciclo de vida del proceso de software, los productos de software evolucionan. Desde la concepción del producto y la captura de requisitos inicial hasta la puesta en producción

Más detalles

Capítulo 5. Cliente-Servidor.

Capítulo 5. Cliente-Servidor. Capítulo 5. Cliente-Servidor. 5.1 Introducción En este capítulo hablaremos acerca de la arquitectura Cliente-Servidor, ya que para nuestra aplicación utilizamos ésta arquitectura al convertir en un servidor

Más detalles

Introducción. Metadatos

Introducción. Metadatos Introducción La red crece por momentos las necesidades que parecían cubiertas hace relativamente poco tiempo empiezan a quedarse obsoletas. Deben buscarse nuevas soluciones que dinamicen los sistemas de

Más detalles

Procesos Críticos en el Desarrollo de Software

Procesos Críticos en el Desarrollo de Software Metodología Procesos Críticos en el Desarrollo de Software Pablo Straub AgileShift Imagine una organización de desarrollo de software que consistentemente cumple los compromisos con sus clientes. Imagine

Más detalles

Gestión y Desarrollo de Requisitos en Proyectos Software

Gestión y Desarrollo de Requisitos en Proyectos Software Gestión y Desarrollo de Requisitos en Proyectos Software Ponente: María Jesús Anciano Martín Objetivo Objetivo Definir un conjunto articulado y bien balanceado de métodos para el flujo de trabajo de Ingeniería

Más detalles

3.1 INGENIERIA DE SOFTWARE ORIENTADO A OBJETOS OOSE (IVAR JACOBSON)

3.1 INGENIERIA DE SOFTWARE ORIENTADO A OBJETOS OOSE (IVAR JACOBSON) 3.1 INGENIERIA DE SOFTWARE ORIENTADO A OBJETOS OOSE (IVAR JACOBSON) 3.1.1 Introducción Este método proporciona un soporte para el diseño creativo de productos de software, inclusive a escala industrial.

Más detalles

App para realizar consultas al Sistema de Información Estadística de Castilla y León

App para realizar consultas al Sistema de Información Estadística de Castilla y León App para realizar consultas al Sistema de Información Estadística de Castilla y León Jesús M. Rodríguez Rodríguez rodrodje@jcyl.es Dirección General de Presupuestos y Estadística Consejería de Hacienda

Más detalles

Curso: Arquitectura Empresarial basado en TOGAF

Curso: Arquitectura Empresarial basado en TOGAF Metodología para desarrollo de Arquitecturas (ADM) El ADM TOGAF es el resultado de las contribuciones continuas de un gran número de practicantes de arquitectura. Este describe un método para el desarrollo

Más detalles

Figure 7-1: Phase A: Architecture Vision

Figure 7-1: Phase A: Architecture Vision Fase A Figure 7-1: Phase A: Architecture Vision Objetivos: Los objetivos de la fase A son: Enfoque: Desarrollar una visión de alto nivel de las capacidades y el valor del negocio para ser entregado como

Más detalles

Correspondencias entre taxonomías XBRL y ontologías en OWL Unai Aguilera, Joseba Abaitua Universidad de Deusto, EmergiaTech

Correspondencias entre taxonomías XBRL y ontologías en OWL Unai Aguilera, Joseba Abaitua Universidad de Deusto, EmergiaTech Correspondencias entre taxonomías XBRL y ontologías en OWL Unai Aguilera, Joseba Abaitua Universidad de Deusto, EmergiaTech Resumen Todo documento XBRL contiene cierta información semántica que se representa

Más detalles

SERVICE ORIENTED ARCHITECTURE (SOA) CONTENIDO

SERVICE ORIENTED ARCHITECTURE (SOA) CONTENIDO SERVICE ORIENTED ARCHITECTURE (SOA) CONTENIDO Introducción:...1 Service Oriented Architecture...2 Elementos de una Service Oriented Architecture...2 Application frontends...2 Servicios...2 Contrato:...3

Más detalles

Enterprise Analyst: Taller de Bautizo

Enterprise Analyst: Taller de Bautizo Enterprise Analyst: Taller de Bautizo Metas Entender la Necesidad de Ejecutar los Modelos Desarrollar un caso usando UML tradicional Identificar los problemas de UML Conocer la Herramienta Enterprise Analyst

Más detalles

Proceso Unificado de Rational PROCESO UNIFICADO DE RATIONAL (RUP) El proceso de desarrollo de software tiene cuatro roles importantes:

Proceso Unificado de Rational PROCESO UNIFICADO DE RATIONAL (RUP) El proceso de desarrollo de software tiene cuatro roles importantes: PROCESO UNIFICADO DE RATIONAL (RUP) El proceso de desarrollo de software tiene cuatro roles importantes: 1. Proporcionar una guía de actividades para el trabajo en equipo. (Guía detallada para el desarrollo

Más detalles

Patrones de software y refactorización de código

Patrones de software y refactorización de código Patrones de software y refactorización de código Introducción y antecedentes de los patrones de software Los patrones permiten construir sobre la experiencia colectiva de ingenieros de software habilidosos.

Más detalles

DISEÑO DE FUNCIONES (TRATAMIENTOS)

DISEÑO DE FUNCIONES (TRATAMIENTOS) DISEÑO DE FUNCIONES (TRATAMIENTOS) Diseño Estructurado. Estrategias para Derivar el Diagrama de Estructura. Diseño de Módulos Programables. 1. DISEÑO ESTRUCTURADO El Diseño es el proceso por el cual se

Más detalles

Arquitectura de Aplicaciones

Arquitectura de Aplicaciones 1 Capítulo 13: Arquitectura de aplicaciones. - Sommerville Contenidos del capítulo 13.1 Sistemas de procesamiento de datos 13.2 Sistemas de procesamiento de transacciones 13.3 Sistemas de procesamiento

Más detalles

Service Oriented Architecture: Con Biztalk?

Service Oriented Architecture: Con Biztalk? Service Oriented Architecture: Con Biztalk? Pablo Abbate Servicios Profesionales Danysoft SOA supone una nueva forma de pensar acerca de la arquitectura IT para las empresas. De hecho, es una asociación

Más detalles

3. GESTIÓN DE CONFIGURACIÓN DE SOFTWARE

3. GESTIÓN DE CONFIGURACIÓN DE SOFTWARE 3. GESTIÓN DE CONFIGURACIÓN DE SOFTWARE Software Configuration Management (SCM) es una disciplina de la Ingeniería de Software que se preocupa de [Ber92] [Ber84] [Bou98] [Mik97]: Identificar y documentar

Más detalles

Introducción. Ciclo de vida de los Sistemas de Información. Diseño Conceptual

Introducción. Ciclo de vida de los Sistemas de Información. Diseño Conceptual Introducción Algunas de las personas que trabajan con SGBD relacionales parecen preguntarse porqué deberían preocuparse del diseño de las bases de datos que utilizan. Después de todo, la mayoría de los

Más detalles

Metodología Orientada a Objetos Clave 43100007 Maestría en Sistemas Computacionales

Metodología Orientada a Objetos Clave 43100007 Maestría en Sistemas Computacionales Metodología Orientada a Objetos Clave 43100007 Maestría en Sistemas Computacionales Modulo 03 UML: Vista de Casos de Uso Artefacto: Actores Catedrático MSC. Jose Juan Aviña Grimaldo e-mail josejuan_avina@gmail.com

Más detalles

LA LOGÍSTICA COMO FUENTE DE VENTAJAS COMPETITIVAS

LA LOGÍSTICA COMO FUENTE DE VENTAJAS COMPETITIVAS LA LOGÍSTICA COMO FUENTE DE VENTAJAS COMPETITIVAS Los clientes compran un servicio basandose en el valor que reciben en comparacion con el coste en el que incurren. Por, lo tanto, el objetivo a largo plazo

Más detalles

Diseño orientado a los objetos

Diseño orientado a los objetos Diseño orientado a los objetos El Diseño Orientado a los Objetos (DOO) crea una representación del problema del mundo real y la hace corresponder con el ámbito de la solución, que es el software. A diferencia

Más detalles

PRUEBAS DE SOFTWARE TECNICAS DE PRUEBA DE SOFTWARE

PRUEBAS DE SOFTWARE TECNICAS DE PRUEBA DE SOFTWARE PRUEBAS DE SOFTWARE La prueba del software es un elemento crítico para la garantía de la calidad del software. El objetivo de la etapa de pruebas es garantizar la calidad del producto desarrollado. Además,

Más detalles

Metodología básica de gestión de proyectos. Octubre de 2003

Metodología básica de gestión de proyectos. Octubre de 2003 Metodología básica de gestión de proyectos Octubre de 2003 Dentro de la metodología utilizada en la gestión de proyectos el desarrollo de éstos se estructura en tres fases diferenciadas: Fase de Éjecución

Más detalles

CMMI (Capability Maturity Model Integrated)

CMMI (Capability Maturity Model Integrated) CMMI (Capability Maturity Model Integrated) El SEI (software engineering institute) a mediados de los 80 desarrolló el CMM (modelo de madurez de la capacidad de software). CMMI: CMM integrado, una mezcla

Más detalles

1 GLOSARIO. Actor: Es un consumidor (usa) del servicio (persona, sistema o servicio).

1 GLOSARIO. Actor: Es un consumidor (usa) del servicio (persona, sistema o servicio). 1 GLOSARIO A continuación se definen, en orden alfabético, los conceptos básicos que se han abordado a lo largo del desarrollo de la metodología para la gestión de requisitos bajo la Arquitectura Orientada

Más detalles

SISTEMAS DE INFORMACIÓN II TEORÍA

SISTEMAS DE INFORMACIÓN II TEORÍA CONTENIDO: EL PROCESO DE DISEÑO DE SISTEMAS DISTRIBUIDOS MANEJANDO LOS DATOS EN LOS SISTEMAS DISTRIBUIDOS DISEÑANDO SISTEMAS PARA REDES DE ÁREA LOCAL DISEÑANDO SISTEMAS PARA ARQUITECTURAS CLIENTE/SERVIDOR

Más detalles

Propuesta de Portal de la Red de Laboratorios Virtuales y Remotos de CEA

Propuesta de Portal de la Red de Laboratorios Virtuales y Remotos de CEA Propuesta de Portal de la Red de Laboratorios Virtuales y Remotos de CEA Documento de trabajo elaborado para la Red Temática DocenWeb: Red Temática de Docencia en Control mediante Web (DPI2002-11505-E)

Más detalles

El Proceso Unificado de Desarrollo de Software

El Proceso Unificado de Desarrollo de Software El Proceso de Desarrollo de Software Ciclos de vida Métodos de desarrollo de software El Proceso Unificado de Desarrollo de Software 1 Fases principales del desarrollo de software Captura de requisitos:

Más detalles

Estándares para planes de calidad de software. Escuela de Ingeniería de Sistemas y Computación Desarrollo de Software II Agosto Diciembre 2008

Estándares para planes de calidad de software. Escuela de Ingeniería de Sistemas y Computación Desarrollo de Software II Agosto Diciembre 2008 Estándares para planes de calidad de software Escuela de Ingeniería de Sistemas y Computación Desarrollo de Software II Agosto Diciembre 2008 DIFERENCIA ENTRE PRODUCIR UNA FUNCION Y PRODUCIR UNA FUNCION

Más detalles

UNIVERSIDAD DE SALAMANCA

UNIVERSIDAD DE SALAMANCA UNIVERSIDAD DE SALAMANCA FACULTAD DE CIENCIAS INGENIERÍA TÉCNICA EN INFORMÁTICA DE SISTEMAS Resumen del trabajo práctico realizado para la superación de la asignatura Proyecto Fin de Carrera. TÍTULO SISTEMA

Más detalles

Metodología y Framework para el Desarrollo de Aplicaciones Científicas con Computación de Alto Rendimiento a través de Servicios Web

Metodología y Framework para el Desarrollo de Aplicaciones Científicas con Computación de Alto Rendimiento a través de Servicios Web Metodología y Framework para el Desarrollo de Aplicaciones Científicas con Computación de Alto Rendimiento a través de Servicios Web J.Corral-García, D.Cortés-Polo, C.Gómez-Martín, J.L.González-Sánchez

Más detalles

Diseño orientado al flujo de datos

Diseño orientado al flujo de datos Diseño orientado al flujo de datos Recordemos que el diseño es una actividad que consta de una serie de pasos, en los que partiendo de la especificación del sistema (de los propios requerimientos), obtenemos

Más detalles

PROCESOS SOFTWARE. Según esta estrategia, todo proceso debe planificarse, implantarse y evaluarse, para luego actuar sobre él.

PROCESOS SOFTWARE. Según esta estrategia, todo proceso debe planificarse, implantarse y evaluarse, para luego actuar sobre él. PROCESOS SOFTWARE MOTIVACIÓN? Con independencia de la metodología o modelo implementado, es común la estrategia para la mejora continua de la calidad, basada en el Círculo de Deming o Plan, Do, Check,

Más detalles

Enginyeria del Software III

Enginyeria del Software III Enginyeria del Software III Sessió 3. L estàndard ISO/IEC 15504 Antònia Mas Pichaco 1 Introducción El proyecto SPICE representa el mayor marco de colaboración internacional establecido con la finalidad

Más detalles

Master en Gestion de la Calidad

Master en Gestion de la Calidad Master en Gestion de la Calidad 3. La Calidad en la Actualidad La calidad en la actualidad 1 / 9 OBJETIVOS Al finalizar esta unidad didáctica será capaz: Conocer la calidad en la actualidad. La familia

Más detalles

Metodologías de diseño de hardware

Metodologías de diseño de hardware Capítulo 2 Metodologías de diseño de hardware Las metodologías de diseño de hardware denominadas Top-Down, basadas en la utilización de lenguajes de descripción de hardware, han posibilitado la reducción

Más detalles

Ingeniería del Software I Clase de Testing Funcional 2do. Cuatrimestre de 2007

Ingeniería del Software I Clase de Testing Funcional 2do. Cuatrimestre de 2007 Enunciado Se desea efectuar el testing funcional de un programa que ejecuta transferencias entre cuentas bancarias. El programa recibe como parámetros la cuenta de origen, la de cuenta de destino y el

Más detalles

CICLO DE VIDA DEL SOFTWARE

CICLO DE VIDA DEL SOFTWARE CICLO DE VIDA DEL SOFTWARE 1. Concepto de Ciclo de Vida 2. Procesos del Ciclo de Vida del Software 3. Modelo en cascada 4. Modelo incremental 5. Modelo en espiral 6. Prototipado 7. La reutilización en

Más detalles

Normas chilenas de la serie ISO 9000

Normas chilenas de la serie ISO 9000 Normas chilenas de la serie ISO 9000 Hernán Pavez G. Director Ejecutivo del Instituto Nacional de Normalización, INN, Matías Cousiño N 64, 6 Piso, Santiago, Chile. RESUMEN: en nuestro país las empresas

Más detalles

Planificación de Sistemas de Información

Planificación de Sistemas de Información Planificación de Sistemas de Información ÍNDICE DESCRIPCIÓN Y OBJETIVOS... 1 ACTIVIDAD 1: INICIO DEL PLAN DE SISTEMAS DE INFORMACIÓN... 4 Tarea 1.1: Análisis de la Necesidad del... 4 Tarea 1.2: Identificación

Más detalles

Capítulo 4. Requisitos del modelo para la mejora de la calidad de código fuente

Capítulo 4. Requisitos del modelo para la mejora de la calidad de código fuente Capítulo 4. Requisitos del modelo para la mejora de la calidad de código fuente En este capítulo definimos los requisitos del modelo para un sistema centrado en la mejora de la calidad del código fuente.

Más detalles

Estas visiones de la información, denominadas vistas, se pueden identificar de varias formas.

Estas visiones de la información, denominadas vistas, se pueden identificar de varias formas. El primer paso en el diseño de una base de datos es la producción del esquema conceptual. Normalmente, se construyen varios esquemas conceptuales, cada uno para representar las distintas visiones que los

Más detalles

Planificación de Sistemas de Información

Planificación de Sistemas de Información Planificación de Sistemas de Información ÍNDICE DESCRIPCIÓN Y OBJETIVOS...1 ACTIVIDAD 1: INICIO DEL PLAN DE SISTEMAS DE INFORMACIÓN...4 Tarea 1.1: Análisis de la Necesidad del...4 Tarea 1.2: Identificación

Más detalles

Unidad 1. Fundamentos en Gestión de Riesgos

Unidad 1. Fundamentos en Gestión de Riesgos 1.1 Gestión de Proyectos Unidad 1. Fundamentos en Gestión de Riesgos La gestión de proyectos es una disciplina con la cual se integran los procesos propios de la gerencia o administración de proyectos.

Más detalles

PROGRAMACIÓN ORIENTADA A OBJETOS Master de Computación. II MODELOS y HERRAMIENTAS UML. II.1 UML: Introducción

PROGRAMACIÓN ORIENTADA A OBJETOS Master de Computación. II MODELOS y HERRAMIENTAS UML. II.1 UML: Introducción PROGRAMACIÓN ORIENTADA A OBJETOS Master de Computación II MODELOS y HERRAMIENTAS UML 1 1 Técnica de modelado de objetos (I) El modelado orientado a objetos es una técnica de especificación semiformal para

Más detalles

Gestión de Configuración del Software

Gestión de Configuración del Software Gestión de Configuración del Software Facultad de Informática, ciencias de la Comunicación y Técnicas Especiales Herramientas y Procesos de Software Gestión de Configuración de SW Cuando se construye software

Más detalles

PROCEDIMIENTO DE AUDITORÍAS INTERNAS DEL SISTEMA DE GESTIÓN DE CALIDAD

PROCEDIMIENTO DE AUDITORÍAS INTERNAS DEL SISTEMA DE GESTIÓN DE CALIDAD Página : 1 de 12 PROCEDIMIENTO DE DEL SISTEMA DE GESTIÓN DE CALIDAD Esta es una copia no controlada si carece de sello en el reverso de sus hojas, en cuyo caso se advierte al lector que su contenido puede

Más detalles

M.T.I. Arturo López Saldiña

M.T.I. Arturo López Saldiña M.T.I. Arturo López Saldiña Hoy en día, existen diversas aproximaciones al tema de cómo hacer que las personas trabajen dentro de una organización de manera colaborativa. El problema se vuelve más difícil

Más detalles

Entidad Formadora: Plan Local De Formación Convocatoria 2010

Entidad Formadora: Plan Local De Formación Convocatoria 2010 Entidad Formadora: Enterprise Architect Comenzando Puede iniciar Enterprise Architect desde el ícono que se creó en su escritorio de Windows durante la instalación, o alternativamente: 1. Abrir el menú

Más detalles

La Necesidad de Modelar. Diseño de Software Avanzado Departamento de Informática

La Necesidad de Modelar. Diseño de Software Avanzado Departamento de Informática La Necesidad de Modelar Analogía Arquitectónica Tiene sentido poner ladrillos sin hacer antes los planos? El modelo, los planos, ayuda a afrontar la complejidad del proyecto. Cuál es el lenguaje adecuado

Más detalles

Una puerta abierta al futuro

Una puerta abierta al futuro Una puerta abierta al futuro SOA E ITIL EN LA LEY DE ACCESO ELECTRÓNICO DE LOS CIUDADANOS A LOS SERVICIOS PÚBLICOS (LAECSP) por francisco javier antón Vique La publicación de la Ley de Acceso electrónico

Más detalles

Actividades para mejoras. Actividades donde se evalúa constantemente todo el proceso del proyecto para evitar errores y eficientar los procesos.

Actividades para mejoras. Actividades donde se evalúa constantemente todo el proceso del proyecto para evitar errores y eficientar los procesos. Apéndice C. Glosario A Actividades de coordinación entre grupos. Son dinámicas y canales de comunicación cuyo objetivo es facilitar el trabajo entre los distintos equipos del proyecto. Actividades integradas

Más detalles

GUÍA TÉCNICA PARA LA DEFINICIÓN DE COMPROMISOS DE CALIDAD Y SUS INDICADORES

GUÍA TÉCNICA PARA LA DEFINICIÓN DE COMPROMISOS DE CALIDAD Y SUS INDICADORES GUÍA TÉCNICA PARA LA DEFINICIÓN DE COMPROMISOS DE CALIDAD Y SUS INDICADORES Tema: Cartas de Servicios Primera versión: 2008 Datos de contacto: Evaluación y Calidad. Gobierno de Navarra. evaluacionycalidad@navarra.es

Más detalles

<Generador de exámenes> Visión preliminar

<Generador de exámenes> Visión preliminar 1. Introducción Proyecto Final del curso Técnicas de Producción de Sistemas Visión preliminar Para la evaluación de algunos temas de las materias que se imparten en diferentes niveles,

Más detalles

CAPÍTULO 3 Servidor de Modelo de Usuario

CAPÍTULO 3 Servidor de Modelo de Usuario CAPÍTULO 3 Servidor de Modelo de Usuario Para el desarrollo del modelado del estudiante se utilizó el servidor de modelo de usuario desarrollado en la Universidad de las Américas Puebla por Rosa G. Paredes

Más detalles

Fundamentos del diseño 3ª edición (2002)

Fundamentos del diseño 3ª edición (2002) Unidades temáticas de Ingeniería del Software Fundamentos del diseño 3ª edición (2002) Facultad de Informática necesidad del diseño Las actividades de diseño afectan al éxito de la realización del software

Más detalles

SOLUCIÓN HOSPEDADA. Introducción a los modelos de asociación de partners de Microsoft Dynamics CRM

SOLUCIÓN HOSPEDADA. Introducción a los modelos de asociación de partners de Microsoft Dynamics CRM SOLUCIÓN HOSPEDADA Introducción a los modelos de asociación de partners de Microsoft Dynamics CRM Aprovechar el ecosistema de Microsoft para el éxito de CRM hospedado Microsoft Dynamics CRM ofrece a clientes

Más detalles

Business Process Management(BPM)

Business Process Management(BPM) Universidad Inca Garcilaso de la Vega CURSO DE ACTUALIZACIÓN PROFESIONAL DE INGENIERÍA DE SISTEMAS Y CÓMPUTO Business Process Management(BPM) MSc. Daniel Alejandro Yucra Sotomayor E-mail: daniel@agenciati.com

Más detalles

Tópicos Avanzados de Análisis y Diseño INGENIERIA DE SOFTWARE ING. MA. MARGARITA LABASTIDA ROLDÁN

Tópicos Avanzados de Análisis y Diseño INGENIERIA DE SOFTWARE ING. MA. MARGARITA LABASTIDA ROLDÁN Tópicos Avanzados de Análisis y Diseño INGENIERIA DE SOFTWARE ING. MA. MARGARITA LABASTIDA ROLDÁN Proceso de Negocio (Business Process) Conjunto estructurado, medible de actividades para producir un producto.

Más detalles

Decisión: Indican puntos en que se toman decisiones: sí o no, o se verifica una actividad del flujo grama.

Decisión: Indican puntos en que se toman decisiones: sí o no, o se verifica una actividad del flujo grama. Diagrama de Flujo La presentación gráfica de un sistema es una forma ampliamente utilizada como herramienta de análisis, ya que permite identificar aspectos relevantes de una manera rápida y simple. El

Más detalles

SERVIDOR WEB PARA ACCESO EN TIEMPO REAL A INFORMACIÓN METEOROLÓGICA DISTRIBUIDA

SERVIDOR WEB PARA ACCESO EN TIEMPO REAL A INFORMACIÓN METEOROLÓGICA DISTRIBUIDA SERVIDOR WEB PARA ACCESO EN TIEMPO REAL A INFORMACIÓN METEOROLÓGICA DISTRIBUIDA E. SÁEZ, M. ORTIZ, F. QUILES, C. MORENO, L. GÓMEZ Área de Arquitectura y Tecnología de Computadores. Departamento de Arquitectura

Más detalles

Ingeniería de Software en SOA

Ingeniería de Software en SOA Ingeniería de Software en SOA ECSDI LSI-FIB-UPC cbea Curso 2014/2015 ECSDI (LSI-FIB-UPC cbea) Ingeniería de Software en SOA Curso 2014/2015 1 / 51 Índice 1 Directrices para la IS en SOA 2 Modelo de referencia

Más detalles

SISTEMAS Y MANUALES DE LA CALIDAD

SISTEMAS Y MANUALES DE LA CALIDAD SISTEMAS Y MANUALES DE LA CALIDAD NORMATIVAS SOBRE SISTEMAS DE CALIDAD Introducción La experiencia de algunos sectores industriales que por las características particulares de sus productos tenían necesidad

Más detalles

Capitulo III. Diseño del Sistema.

Capitulo III. Diseño del Sistema. Capitulo III. Diseño del Sistema. Para el desarrollo del sistema en la presente tesis se utilizo el paradigma orientado a objetos utilizando el lenguaje Java en su versión 1.2. Por medio de este lenguaje

Más detalles

Figure 9-1: Phase C: Information Systems Architectures

Figure 9-1: Phase C: Information Systems Architectures FASE C Figure 9-1: Phase C: Information Systems Architectures Objetivos Los objetivos de la Fase C son: Desarrollar la arquitectura de sistemas de información objetivo (datos y aplicaciones), que describe

Más detalles

Generación de código para Hibernate desde modelos UML

Generación de código para Hibernate desde modelos UML Generación de código para Hibernate desde modelos UML Alejandro Nogueiro Mariscal Ingeniería Técnica en Informática de Sistemas, Universidad de Cádiz 24 de Septiembre 2012 1 / 35 Índice 1 Motivación y

Más detalles

comunidades de práctica

comunidades de práctica 1. Introducción CoSpace es una plataforma web diseñada para proporcionar un espacio virtual de interacción y colaboración entre formadores en comunidades virtuales. Se originó como resultado de las necesidades

Más detalles

Operación 8 Claves para la ISO 9001-2015

Operación 8 Claves para la ISO 9001-2015 Operación 8Claves para la ISO 9001-2015 BLOQUE 8: Operación A grandes rasgos, se puede decir que este bloque se corresponde con el capítulo 7 de la antigua norma ISO 9001:2008 de Realización del Producto,

Más detalles

Aproximación local. Plano tangente. Derivadas parciales.

Aproximación local. Plano tangente. Derivadas parciales. Univ. de Alcalá de Henares Ingeniería de Telecomunicación Cálculo. Segundo parcial. Curso 004-005 Aproximación local. Plano tangente. Derivadas parciales. 1. Plano tangente 1.1. El problema de la aproximación

Más detalles

Introducción a la Programación Orientada a Objetos (POO) Introducción a la Programación Orientada a Objetos (POO)

Introducción a la Programación Orientada a Objetos (POO) Introducción a la Programación Orientada a Objetos (POO) Diseño Orientado a Objetos. Metodología enfocada a la solución de problemas complejos. Complejidad del software. Problemas difíciles de precisar. Definición de requerimientos vago y cambio en el desarrollo

Más detalles

forma de entrenar a la nuerona en su aprendizaje.

forma de entrenar a la nuerona en su aprendizaje. Sistemas expertos e Inteligencia Artificial,Guía5 1 Facultad : Ingeniería Escuela : Computación Asignatura: Sistemas expertos e Inteligencia Artificial Tema: SISTEMAS BASADOS EN CONOCIMIENTO. Objetivo

Más detalles

CAPÍTUL07 SISTEMAS DE FILOSOFÍA HÍBRIDA EN BIOMEDICINA. Alejandro Pazos, Nieves Pedreira, Ana B. Porto, María D. López-Seijo

CAPÍTUL07 SISTEMAS DE FILOSOFÍA HÍBRIDA EN BIOMEDICINA. Alejandro Pazos, Nieves Pedreira, Ana B. Porto, María D. López-Seijo CAPÍTUL07 SISTEMAS DE FILOSOFÍA HÍBRIDA EN BIOMEDICINA Alejandro Pazos, Nieves Pedreira, Ana B. Porto, María D. López-Seijo Laboratorio de Redes de Neuronas Artificiales y Sistemas Adaptativos Universidade

Más detalles

Ciclo de vida y Metodologías para el desarrollo de SW Definición de la metodología

Ciclo de vida y Metodologías para el desarrollo de SW Definición de la metodología Ciclo de vida y Metodologías para el desarrollo de SW Definición de la metodología La metodología para el desarrollo de software es un modo sistemático de realizar, gestionar y administrar un proyecto

Más detalles

Empresa Financiera Herramientas de SW Servicios

Empresa Financiera Herramientas de SW Servicios Empresa Financiera Herramientas de SW Servicios Resulta importante mencionar que ésta es una empresa cuya actividad principal está enfocada a satisfacer las necesidades financieras de los clientes, a través

Más detalles

Los mayores cambios se dieron en las décadas de los setenta, atribuidos principalmente a dos causas:

Los mayores cambios se dieron en las décadas de los setenta, atribuidos principalmente a dos causas: SISTEMAS DISTRIBUIDOS DE REDES 1. SISTEMAS DISTRIBUIDOS Introducción y generalidades La computación desde sus inicios ha sufrido muchos cambios, desde los grandes equipos que permitían realizar tareas

Más detalles

2 EL DOCUMENTO DE ESPECIFICACIONES

2 EL DOCUMENTO DE ESPECIFICACIONES Ingeniería Informática Tecnología de la Programación TEMA 1 Documentación de programas. 1 LA DOCUMENTACIÓN DE PROGRAMAS En la ejecución de un proyecto informático o un programa software se deben de seguir

Más detalles

Servidores Donantonio

Servidores Donantonio Especificación de requisitos software Tabla de contenidos Juan José Amor David Escorial Ismael Olea 1. Introducción...3 1.1. Propósito...3 1.2. Ámbito del sistema...3 1.3. Definiciones, acrónimos y abreviaturas...3

Más detalles

1.1 EL ESTUDIO TÉCNICO

1.1 EL ESTUDIO TÉCNICO 1.1 EL ESTUDIO TÉCNICO 1.1.1 Definición Un estudio técnico permite proponer y analizar las diferentes opciones tecnológicas para producir los bienes o servicios que se requieren, lo que además admite verificar

Más detalles

BPMN Business Process Modeling Notation

BPMN Business Process Modeling Notation BPMN (BPMN) es una notación gráfica que describe la lógica de los pasos de un proceso de Negocio. Esta notación ha sido especialmente diseñada para coordinar la secuencia de los procesos y los mensajes

Más detalles

El modelo de ciclo de vida cascada, captura algunos principios básicos:

El modelo de ciclo de vida cascada, captura algunos principios básicos: Ciclo de Vida del Software Un modelo de ciclo de vida define el estado de las fases a través de las cuales se mueve un proyecto de desarrollo de software. El primer ciclo de vida del software, "Cascada",

Más detalles

REGISTRO DE PEDIDOS DE CLIENTES MÓDULO DE TOMA DE PEDIDOS E INTEGRACIÓN CON ERP

REGISTRO DE PEDIDOS DE CLIENTES MÓDULO DE TOMA DE PEDIDOS E INTEGRACIÓN CON ERP REGISTRO DE PEDIDOS DE CLIENTES MÓDULO DE TOMA DE PEDIDOS E INTEGRACIÓN CON ERP Visual Sale posee módulos especializados para el método de ventas transaccional, donde el pedido de parte de un nuevo cliente

Más detalles

CAPÍTULO 1 Instrumentación Virtual

CAPÍTULO 1 Instrumentación Virtual CAPÍTULO 1 Instrumentación Virtual 1.1 Qué es Instrumentación Virtual? En las últimas décadas se han incrementado de manera considerable las aplicaciones que corren a través de redes debido al surgimiento

Más detalles

Qué se entiende por diseño arquitectónico? Comprende el establecimiento de un marco de trabajo estructural básico para un sistema. Alude a la estructura general del software y el modo en que la estructura

Más detalles

Seminario Electrónico de Soluciones Tecnológicas sobre VPNs de Extranets

Seminario Electrónico de Soluciones Tecnológicas sobre VPNs de Extranets Seminario Electrónico de Soluciones Tecnológicas sobre VPNs de Extranets 1 de 12 Seminario Electrónico de Soluciones Tecnológicas sobre VPNs de Extranets 3 Bienvenida. 4 Objetivos. 5 Interacciones de Negocios

Más detalles

DEPARTAMENTO: Informática. MATERIA: Programación. NIVEL: 1º Desarrollo de Aplicaciones Multiplataforma

DEPARTAMENTO: Informática. MATERIA: Programación. NIVEL: 1º Desarrollo de Aplicaciones Multiplataforma DEPARTAMENTO: Informática MATERIA: Programación NIVEL: 1º Desarrollo de Aplicaciones Multiplataforma 1. Objetivos. Competencias Profesionales, Personales y Sociales 1.1 Objetivos del ciclo formativo La

Más detalles

Gestión de la Configuración

Gestión de la Configuración Gestión de la ÍNDICE DESCRIPCIÓN Y OBJETIVOS... 1 ESTUDIO DE VIABILIDAD DEL SISTEMA... 2 ACTIVIDAD EVS-GC 1: DEFINICIÓN DE LOS REQUISITOS DE GESTIÓN DE CONFIGURACIÓN... 2 Tarea EVS-GC 1.1: Definición de

Más detalles

ANÁLISIS Y DISEÑO DE SISTEMAS DEPARTAMENTO DE CIENCIAS E INGENIERÍA DE LA COMPUTACIÓN

ANÁLISIS Y DISEÑO DE SISTEMAS DEPARTAMENTO DE CIENCIAS E INGENIERÍA DE LA COMPUTACIÓN ANÁLISIS Y DISEÑO DE SISTEMAS DEPARTAMENTO DE CIENCIAS E INGENIERÍA DE LA COMPUTACIÓN Clase 6: Ingeniería de Requerimientos Metododología y Ejemplo Primer Cuatrimestre 2015 Mg. María Mercedes Vitturini

Más detalles

PERFIL DEL PUESTO POR COMPETENCIAS Sepa cómo construirlo y evitar bajos desempeños posteriores

PERFIL DEL PUESTO POR COMPETENCIAS Sepa cómo construirlo y evitar bajos desempeños posteriores PERFIL DEL PUESTO POR COMPETENCIAS Sepa cómo construirlo y evitar bajos desempeños posteriores Martha Alicia Alles Es contadora pública nacional, doctora por la Universidad de Buenos Aires en la especialidad

Más detalles

Objetos educativos y estandarización en e-learning: Experiencias en el sistema <e-aula>

Objetos educativos y estandarización en e-learning: Experiencias en el sistema <e-aula> Objetos educativos y estandarización en e-learning: Experiencias en el sistema Fernández-Manjón, B.1, López Moratalla, J.2 Martínez Ortiz, I. 2, Moreno Ger, P. 2 Universidad Complutense de Madrid,

Más detalles

Sistema de Mensajería Empresarial para generación Masiva de DTE

Sistema de Mensajería Empresarial para generación Masiva de DTE Sistema de Mensajería Empresarial para generación Masiva de DTE TIPO DE DOCUMENTO: OFERTA TÉCNICA Y COMERCIAL VERSIÓN 1.0, 7 de Mayo de 2008 CONTENIDO 1 INTRODUCCIÓN 4 2 DESCRIPCIÓN DE ARQUITECTURA DE

Más detalles

PLAN DE MEJORAS. Herramienta de trabajo. Agencia Nacional de Evaluación de la Calidad y Acreditación

PLAN DE MEJORAS. Herramienta de trabajo. Agencia Nacional de Evaluación de la Calidad y Acreditación PLAN DE MEJORAS Herramienta de trabajo Agencia Nacional de Evaluación de la Calidad y Acreditación Índice 1 Introducción...3 2 Pasos a seguir para la elaboración del plan de mejoras...5 2.1 Identificar

Más detalles

2.11.1 CONTRATAS Y SUBCONTRATAS NOTAS

2.11.1 CONTRATAS Y SUBCONTRATAS NOTAS NOTAS 1 Cuando en un mismo centro de trabajo desarrollen actividades trabajadores de dos o más empresas, éstas deberán cooperar en la aplicación de la normativa sobre prevención de riesgos laborales. A

Más detalles

UNIDADES FUNCIONALES DEL ORDENADOR TEMA 3

UNIDADES FUNCIONALES DEL ORDENADOR TEMA 3 UNIDADES FUNCIONALES DEL ORDENADOR TEMA 3 INTRODUCCIÓN El elemento hardware de un sistema básico de proceso de datos se puede estructurar en tres partes claramente diferenciadas en cuanto a sus funciones:

Más detalles

CAPÍTULO 3 VISUAL BASIC

CAPÍTULO 3 VISUAL BASIC CAPÍTULO 3 VISUAL BASIC 3.1 Visual Basic Microsoft Visual Basic es la actual y mejor representación del viejo lenguaje BASIC, le proporciona un sistema completo para el desarrollo de aplicaciones para

Más detalles

Un primer acercamiento a la CMDB.

Un primer acercamiento a la CMDB. Un Versión primer 1.2 acercamiento a la CMDB. 20/07/2005 Un primer acercamiento a la CMDB. Versión 1.1 1.2 18/02/05 20/02/05 Fecha Jose Autores Carlos Manuel García Viejo García Lobato http://ars.viejolobato.com

Más detalles

1.1. Introducción y conceptos básicos

1.1. Introducción y conceptos básicos Tema 1 Variables estadísticas Contenido 1.1. Introducción y conceptos básicos.................. 1 1.2. Tipos de variables estadísticas................... 2 1.3. Distribuciones de frecuencias....................

Más detalles

DE VIDA PARA EL DESARROLLO DE SISTEMAS

DE VIDA PARA EL DESARROLLO DE SISTEMAS MÉTODO DEL CICLO DE VIDA PARA EL DESARROLLO DE SISTEMAS 1. METODO DEL CICLO DE VIDA PARA EL DESARROLLO DE SISTEMAS CICLO DE VIDA CLÁSICO DEL DESARROLLO DE SISTEMAS. El desarrollo de Sistemas, un proceso

Más detalles