Líneas de Productos de Software Dirigidas por Modelos (MD-SPL): Oportunidades y Retos

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

Download "Líneas de Productos de Software Dirigidas por Modelos (MD-SPL): Oportunidades y Retos"

Transcripción

1 Líneas de Productos de Software Dirigidas por Modelos (MD-SPL): Oportunidades y Retos Andrés Romero y Fabián Ceballos Universidad de los Andes, Cra. 1 No 18A 10, Bogotá, Colombia {aa.romero354, fl.ceballos40}@uniandes.edu.co Abstract. En un mercado dinámico y globalizado como el actual, el cual promueve la competencia, las empresas están obligadas a llevar sus ideas y proyectos lo más rápido posible a la realidad. Por este motivo, el desarrollo de software ha venido evolucionando constantemente, reduciendo los tiempos de desarrollo, y mejorando la calidad de los productos. Las líneas de productos de software dirigidas por modelos combinan las ventajas del Desarrollo Basado en Modelos y la Ingeniería de Líneas de Producto de Software. Estos dos enfoques día a día ganan terreno, debido a los beneficios que ofrecen reduciendo los tiempos de desarrollo y mejorando la calidad, basándose en el principio básico de reusabilidad. Sin embargo estos enfoques deben afrontar grandes retos para que sean totalmente aceptados por la industria del software. Key words: Ingeniería dirigida por modelos, Líneas de productos de software, lenguajes de dominio específico, variabilidad, trazabilidad, verificación, validación 1 Introducción En el mercado actual las empresas están obligadas a ser flexibles y dinámicas, lo cual implica que deben ser capaces de desarrollar sus ideas lo más rápido posible, para poder ser competitivas y no desaparecer. Las empresas de software han tenido que buscar alternativas que optimicen sus procesos de desarrollo y aumenten la rentabilidad de cada producto desarrollado. Una alternativa se basa en la reutilización, en donde se hace uso de un mismo conjunto de artefactos de software durante la fase de desarrollo de cada producto. Esta estrategia constituye el enfoque principal de la Ingeniería de Líneas de Producto de Software (SPLE por sus siglas en inglés) la cual se basa en la creación de artefactos de alto nivel que son reutilizados durante el proceso de desarrollo de software [5]. De acuerdo con [9] una Línea de Producto de Software (SPL por sus siglas en inglés) es una familia de sistemas que comparten un conjunto de características administrables, las cuales satisfacen las necesidades específicas de un mercado o segmento particular y que son desarrolladas a partir de un conjunto común de activos base". Estas SPL permiten reducir tanto el tiempo como el costo para

2 2 Andrés Romero y Fabián Ceballos desarrollar cada producto debido a la estabilidad y confiabilidad de los activos base que se reutilizan. Por otro lado, el Desarrollo Basado en Modelos (MDD por sus siglas en inglés) es un enfoque que permite un mayor grado de abstracción tomando a los modelos como elementos de primera clase. De esta manera, en el proceso de desarrollo de software es posible enfocar los esfuerzos en la representación del problema y expresar una solución independiente de la tecnología [21]. Una SPL puede ser construida utilizando el enfoque MDD, lo cual puede ser una ventaja debido a que los productos de la línea pueden ser derivados a partir de un proceso generativo que utiliza modelos y transformaciones como sus activos base principales [4]. La conjunción de los enfoques SPLE y MDD es conocida como Líneas de Producto Basadas en Modelos (MD-SPL por sus siglas en inglés). En este artículo se explicarán las ideas más importantes de MDD y SPLE, y se dará un primer acercamiento a MD-SPL y sus principales retos. El artículo se encuentra organizado de la siguiente manera: La sección 2 describe las características principales de SPLE. La sección 3 presenta MDD como un enfoque de desarrollo de software. Estas secciones introducen a la sección 4 en la cual se presenta a MD-SPL como un enfoque que incorpora las ventajas de MDD en SPLE. Finalmente en la sección 5 se muestran los retos más importantes asociados a este nuevo enfoque y en la sección 6 se presentan las conclusiones. 2 Ingeniería de Líneas de Producto de Software (SPLE) La Ingeniería de Líneas de Productos de Software es un enfoque que sustenta sus principios en la reutilización. Este enfoque se basa inicialmente en la captura explícita de las características comunes y variables de un conjunto de productos haciendo uso de modelos de variabilidad. A partir de esta clasificación se define y construye una serie de elementos o activos base que son reutilizados durante el proceso de derivación de los productos miembros de una SPL. De acuerdo con [9] una Línea de Producto de Software es una familia de sistemas que comparten un conjunto de características administrables, las cuales satisfacen las necesidades específicas de un mercado o segmento particular y que son desarrolladas a partir de un conjunto común de activos base". Un activo base es un artefacto de software que se usa en la producción de varios productos, este puede ser un componente de software, una arquitectura, un modelo, un proceso, un documento o cualquier otro elemento útil en la construcción de un sistema. El enfoque SPLE proporciona economías de escala. Esto significa que se pueden obtener ventajas del hecho de que la mayoría de los productos son muy similares [5]. Estas ventajas se basan, esencialmente, en la reutilización de los activos base para la derivación de nuevos productos. Por lo tanto, si se decide crear una SPL se debe considerar el costo de construir los activos base y compararlo con el beneficio que se obtendrá en términos de la disminución en los costos de desarrollo y el aumento en la calidad durante el proceso de desarrollo de cada producto.

3 MD-SPL: Oportunidades y Retos 3 Un concepto importante dentro de una SPL es el alcance el cual establece el conjunto de productos que los activos base pueden producir y define las características comunes y variables entre estos. La identificación de este conjunto de características establece el punto de entrada para construir los activos base en una SPL. Las diferencias entre los posibles productos de la Línea pueden ser discutidas en términos de características. Una característica (feature) es una propiedad que se utiliza para distinguir los diferentes productos dentro de una familia [5]. Las características se organizan en grupos, formando una jerarquía de composición. De esta manera, en la fase de desarrollo es posible seleccionar una configuración específica de características para derivar cada uno de los productos. El SEI (Software Engineering Institute) 1 propone un framework para SPLE, en donde se involucran tres actividades principales ilustradas en la Figura 1: desarrollo de activos base, desarrollo de productos y la gestión respectiva de la Línea. En el desarrollo de activos base se deben definir e implementar el conjunto de activos que serán utilizados durante la generación de cada producto. En la fase de desarrollo se derivan los respectivos productos haciendo uso de los activos base. Finalmente, debe existir una actividad relacionada con la gestión integral de la Línea, en donde se administren los activos y se tomen decisiones con respecto a su evolución. Fig. 1. Actividades principales en una SPL Imagen tomada de SEI

4 4 Andrés Romero y Fabián Ceballos 3 Desarrollo de Software Dirigido por Modelos (MDD) Paralelamente a la evolución de la tecnología se han creado varias plataformas para el desarrollo de software que soportan cada vez más funcionalidades. Estas plataformas son generalmente heterogéneas, es decir, que a pesar de ofrecer interfaces similares, estas no se crean ni se utilizan de la misma manera. Esto implica que las aplicaciones se desarrollen sobre una plataforma en particular y solamente puedan ejecutarse sobre esta. MDD es una aproximación para solucionar el problema asociado a la complejidad de cada plataforma tecnológica y la inhabilidad que experimentan los lenguajes de propósito general en aliviar esta complejidad [17]. MDD propone el uso de modelos como elementos de primera clase (que pueden ser procesados por un computador o herramienta) para el desarrollo de software. De acuerdo a lo anterior, estos modelos se pueden utilizar para representar los conceptos del negocio y la solución del problema en sus diferentes niveles (arquitectura, tecnología, etc.). Un modelo es una representación abstracta de un sistema y la porción del mundo que interactúa con el" [10]. Los modelos generalmente se utilizan para documentar elementos del problema y la solución, ofreciendo un grado de abstracción alto con respecto a lo esencial del problema, puesto que responden preguntas sobre el sistema de software y la porción del mundo que es de interés para los stakeholders" [10]. La arquitectura dirigida por modelos (MDA) es una propuesta de la OMG (Object Management Group) y un enfoque MDD, para diseñar e implementar software basado en la generación y transformación de modelos. El principal objetivo de MDA es el de separar la especificación de un sistema de su detalle de implementación, proponiendo herramientas y aproximaciones para: Especificar un sistema independiente de la plataforma tecnológica que lo soporta, Especificar la plataforma y transformar la especificación de un sistema a una plataforma particular. MDA propone como primera instancia de diseño la generación de modelos independientes de la plataforma (PIM) seguido de transformaciones automáticas a modelos específicos de la plataforma (PSM) los cuales pueden ser interpretados por herramientas generadoras de código. Logrando de esta manera portabilidad, interoperabilidad y reusabilidad a través de la separación arquitectural de preocupaciones (concerns) [17]. Adicionalmente se debe notar que esta aproximación permite posponer las decisiones de implementación, puesto que siempre se está tratando el problema desde un nivel abstracto y solo se concreta el problema cuando se ha llegado a un modelo concreto de plataforma PSM. Un concern es una parte de interés en la solución del problema. Por ejemplo la vista lógica o de despliegue de una arquitectura son diferentes abstracciones del mismo problema que explican la solución de una preocupación en particular del problema global. La Figura 2 presenta el proceso de generación de una aplicación desde la perspectiva de MDA. El proceso inicia con la definición de activos base, para este caso los metamodelos. Se define un modelo inicial conforme a un metamodelo

5 MD-SPL: Oportunidades y Retos 5 Fig. 2. Modelo en Y, aproximación de MDA[17] de negocio en particular, este modelo se transforma hasta llegar a un modelo específico de la plataforma PSM (Platform Specific Metamodel por sus siglas en inglés). Antes de llegar al modelo de destino se pudo haber pasado por modelos intermedios (por ejemplo el modelo que representa la arquitectura de solución del sistema), los cuales representan los concerns y enriquecen la solución del problema. Todos estos modelos intermedios son conformes a diferentes metamodelos. 4 Líneas de Productos de Software Dirigidas por Modelos (MD-SPL) De acuerdo a las principales características y ventajas explicadas en las dos secciones anteriores relacionadas con MDD y SPLE, se explicará en esta sección la relación que tienen los dos enfoques y la manera en que pueden complementarse para crear una Línea de producto de software basada en modelos (MD-SPL). El enfoque presentado en SPLE se basa en la derivación de productos de software a través de la reutilización de activos base. Generalmente, en una SPL tradicional estos activos están representados por arquitecturas, componentes, procesos y documentos los cuales deben componerse para derivar nuevos productos [5]. Tanto la arquitectura como los componentes de una SPL tradicional se encuentran desarrollados para una plataforma específica y su enfoque de desarrollo se basa en la representación de la solución y no del problema [9]. De acuerdo al enfoque MDD, el aumento en el nivel de abstracción permite representar el modelo del problema y utilizarlo como elemento de primera clase para obtener el modelo de la solución independiente de la plataforma a través de transformaciones sucesivas. Si se incorpora el enfoque MDD dentro de una SPL se aprovechar a su carácter generativo para facilitar la derivación de los productos a través de la

6 6 Andrés Romero y Fabián Ceballos representación del problema y no de la solución. Adicionalmente, este enfoque permitir a generar soluciones que no estén basadas en una tecnología específica. De esta manera, se abre la posibilidad de representar la misma solución del problema en diferentes plataformas. La unión de estos dos enfoques es conocida como MD-SPL (Model Driven - Software Product Line). De acuerdo al enfoque MDD en donde los modelos representan elementos de primera clase y la derivación del software se realiza de manera generativa, los elementos involucrados en esta generación representarán los activos base de una Línea de producto. Una de las actividades principales descritas en el enfoque SPLE es el desarrollo de los activos base de la Línea de producto. De acuerdo al enfoque MDD, en esta fase se deben generar los metamodelos de los diferentes dominios (negocio, arquitectura, tecnología, etc.), las reglas de transformación respectivas y las plantillas de generación de código. Es importante tener en cuenta el nivel de abstracción que tienen los metamodelos de cada dominio, puesto que este nivel definirá los posibles conceptos soportados por los productos de la Línea que se esté diseñando. En la Figura 3 se muestra un proceso de desarrollo de activos base para una MD-SPL. En este proceso se crean los metamodelos en los diferentes dominios, tanto los que son independientes de la plataforma (Dominio 1, 2,..., n) como los de plataforma específica (Dominio Plataforma X y Y). Adicionalmente, se crean las transformaciones que definen la representación de los conceptos de un dominio particular en otro. Para este caso, T1 tiene la definición de las transformaciones de los conceptos del metamodelo del dominio 1 a los conceptos del metamodelo del dominio 2. Las transformaciones T3 y T4 contienen las reglas que definen la manera en que los conceptos independientes de la plataforma se representan en las plataformas específicas. Finalmente, se definen las plantillas P1 y P2 las cuales establecen la manera en que los conceptos de las plataformas se traducen a código. Partiendo de los activos base construidos, en este caso los metamodelos, reglas de transformación y plantillas, se puede ejecutar la actividad de desarrollo de producto en la cual se tendrán que desarrollar los modelos que representan el dominio del problema. Estos modelos deben ser conformes a los metamodelos definidos como activos base. Una vez definidos estos modelos, la derivación del producto final estará enmarcada con la ejecución de las transformaciones las cuales permitirán representar estos modelos iniciales en modelos de la solución independientes de la tecnología. Finalmente, como último paso del proceso de derivación, se aplican otras transformaciones para representar la solución en una plataforma específica y se ejecutan las plantillas respectivas para generar el código fuente del producto. En la Figura 4 se muestra un proceso de desarrollo de productos para una MD-SPL. En este proceso se crea un modelo independiente de la plataforma (PIM1) y se ejecutan las transformaciones T1 y T2 para obtener los modelos de solución respectivos (PIM2 y PIMn), los cuales corresponden también a modelos independientes de la plataforma. Las transformaciones T3 y T4 se ejecutan para

7 MD-SPL: Oportunidades y Retos 7 Fig. 3. Actividades de la fase de desarrollo de activos base en una MD-SPL obtener los modelos de solución específicos para las plataformas X y Y (PSM X, PSM Y). Finalmente, a través de la ejecución de P1 y P2 se obtiene el código fuente del producto para las diferentes plataformas. Es importante tener en cuenta que como cualquier SPL, se debe considerar el manejo de la variabilidad durante el proceso de derivación de cada producto. La variabilidad generalmente es representada por un modelo de rasgos (el cual se explicará en la siguiente sección). A través de un modelo de rasgos se pueden Especificar características deseadas de un producto en particular. Una vez definidas las características que tendrá el sistema a generar, se realiza el proceso de derivación, el cual incluye la ejecución de un conjunto de reglas. De esta manera, para cada posible selección de características debe existir un conjunto de reglas que se encargan de crear un producto conforme a la funcionalidad seleccionada. La ventaja que tiene una MD-SPL sobre una SPL tradicional es que permite diseñar una Línea de producto en donde es posible abstraer los conceptos principales de los diferentes dominios y plasmarlos en metamodelos que, por naturaleza, limitan las posibles características soportadas por los productos. De esta manera, un conjunto de características determinado puede ser representado por un modelo que puede ser transformado automáticamente a través de los diferentes dominios hasta obtener el código fuente. 5 Retos En el momento de crear las MD-SPL se debe tener en cuenta algunos factores que impactan de manera directa el alcance de la Línea, la optimización del proceso

8 8 Andrés Romero y Fabián Ceballos Fig. 4. Actividades de la fase de desarrollo de productos en una MD-SPL de desarrollo, la mantenibilidad de los activos base y la administración general de la línea de productos. El camino que se ha recorrido en cuanto a la evolución de buenas prácticas y herramientas para manejar estos factores hacen que estos se conviertan a su vez en retos ya que todavía existe mucho trabajo e investigación en torno a estos temas. Algunos de los retos actuales de las líneas de producto basadas en modelos son: administración de la variabilidad, administración de la trazabilidad, verificación y validación. 5.1 Administración de la Variabilidad La administración de la variabilidad es la principal preocupación en el desarrollo, mantenimiento y evolución de las SPLs. La variabilidad puede ser definida como la diferencia funcional dentro de los productos de una Línea [13]. Los retos relacionados con la variabilidad se centran en su representación, y en la derivación de un producto a partir de la selección y expresión de esta variabilidad. El principio básico para representar la variabilidad se basa en que las características de un producto que se diferencian de otros productos deben poderse representar. Diferentes aproximaciones para representar y expresar la variabilidad se basan en los modelos de rasgos [19], [11]. Un modelo de rasgos es un árbol donde la raíz representa un concepto y sus nodos descendientes representan rasgos. Un rasgo es una propiedad del sistema que es relevante para algún stakeholder [12]. Semánticamente un modelo de rasgos describe un conjunto de todos

9 MD-SPL: Oportunidades y Retos 9 las posibles configuraciones válidas [11], donde una configuración corresponde a la selección de un conjunto determinado de rasgos. Fig. 5. Ejemplo de modelo de rasgos [10] Czarnecki et al. [12], clasifica los rasgos de la siguiente manera: obligatorios, opcionales o alternativos. Los rasgos obligatorios son aquellos que siempre deben ser tenidos en cuenta, los rasgos opcionales son aquellos que pueden ir o no dependiendo de la selección del usuario, finalmente los rasgos alternativos sirven como un mecanismo de agrupación. La figura 5 muestra un modelo de rasgos para soportar uno o más métodos de pagos en un sistema de comercio electrónico. Los rasgos obligatorios están representados por Líneas con un circulo relleno de color negro por ejemplo payment y taxcalculation. Los rasgos opcionales se distinguen por las Líneas que tienen un circulo sin relleno en su parte final, por ejemplo para el rasgo shipping. En esta misma figura los rasgos alternativos están representados por un semi-circulo que corta las Líneas de los rasgos, como es el caso del rasgo creditcard, debitcard y electroniccheque. Existen otras aproximaciones diferentes a los modelos de rasgos para expresar la variabilidad de una Línea de productos. Hendrickson y van der Hoek [1] proponen change sets y relationships. Un change set consolida puntos de variación relacionados dentro de una sola variación conceptual, es decir que se agrupan puntos de variación que tienen sentido y restricciones entre ellos. Los relationships gobiernan las posibles combinaciones válidas de change sets para componer de esta manera un producto en particular. En esta aproximación los autores proponen adicionalmente el versionamiento de los change sets facilitando la evolución de la Línea. En el enfoque de Tessier et al. [19] se representa la variabilidad a través de modelos de rasgos y utilizan estereotipos en los diagramas de clases para expresar los puntos de variación. La Figura 6 muestra un ejemplo de la representación de

10 10 Andrés Romero y Fabián Ceballos los puntos de variación. En este ejemplo se puede observar que la interface WatchControl tiene dos puntos de variación setdualtime y closedualtime. Fig. 6. Representación de los puntos de variación por estereotipos [19] Tessier et al. [19] propone modelos de decisión como una solución para la verificación y derivación de productos de la Línea. Un modelo de decisión es un árbol con caminos, donde cada camino es una secuencia de posibles resoluciones para un grupo de variantes. Un grupo de variantes es un conjunto de puntos de variación que tienen alguna restricción entre ellos. Es decir, que por cada posible configuración, el modelo de decisión es el encargado de decidir una secuencia de transformaciones (resoluciones) que permiten derivar un producto conforme a la selección de variantes. Garces et al. [13] propone la creación de un modelo de rasgos por cada uno de los metamodelos destino que se tengan en la Línea, de esta manera, se logra Especificar las características de un artefacto en cada dominio. En el enfoque tradicional de transformación entre modelos un elemento de origen siempre se transformaba a un elemento de destino, con esta nueva propuesta un elemento de origen puede tener múltiples representaciones en el modelo de destino dependiendo de la selección de rasgos que se realice en el modelo de rasgos. La idea anterior se puede ver expresada en la figura Administración de la Trazabilidad Otro de los grandes retos existentes en las Líneas de productos de software dirigidas por modelos es la administración de la trazabilidad. En las SPL tradicionales es preciso conocer las relaciones lógicas entre los artefactos creados en las diferentes fases de los procesos de desarrollo de software [3]. Esto aplica tanto para el proceso de desarrollo de activos base como para el proceso de desarrollo de productos. Cada uno de los artefactos creados en una fase tiene dependencias con otros artefactos creados en fases más tempranas, por ejemplo, un artefacto creado en la fase de implementación tiene dependencias con artefactos creados durante las fases de requerimientos y diseño. La administración de las dependencias entre estos artefactos constituye una gran complejidad y más aun si se trata de una MD-SPL puesto que el enfoque MDD utiliza un conjunto de nuevos

11 MD-SPL: Oportunidades y Retos 11 Fig. 7. Variabilidad en Líneas de productos basada en modelos[13] artefactos representados en metamodelos, transformaciones, modelos y plantillas de generación de código. En las MD-SPL se deben definir técnicas para administrar las dependencias y relaciones de los metaconceptos y transformaciones especificados inicialmente. Adicionalmente, durante el proceso de derivación de productos, es preciso conocer las relaciones de cada uno de los conceptos involucrados en la generación del producto ya que estos conceptos son transformados a través de los diferentes dominios de la Línea. Es preciso conocer las dependencias de estos conceptos de manera explícita con el fin de identificar los artefactos parciales y finales que se generaron a partir de estos y las decisiones que motivaron su generación. Actualmente, existen frameworks para el manejo de trazabilidad los cuales se basan en la creación de metamodelos que soportan los conceptos involucrados en la trazabilidad [2]. Estos metamodelos permiten manejar modelos que describen las relaciones y dependencias de los artefactos generados en las Líneas de producto dirigidas por modelos [3]. 5.3 Verificación y Validación Los conceptos de verificación y validación surgen como mecanismos encaminados a garantizar la calidad de los productos de software que se desarrollan [6]. Estos mecanismos permiten validar si los componentes involucrados en un producto

12 12 Andrés Romero y Fabián Ceballos de software son correctos, cumplen con las especificaciones definidas y su comportamiento refleja la intencionalidad para los cuales fueron construidos. Las SPL tradicionales definen como activos base los procesos y herramientas para realizar la verificación y validación de los diferentes componentes que conforman un producto de software. De esta manera, una SPL puede definir un procedimiento de control de calidad y apoyarse en herramientas de pruebas para comprobar el correcto funcionamiento de los componentes derivados a partir del proceso de composición. Debido al nuevo enfoque, las MD-SPL tienen que asegurar la calidad a nivel de sus elementos de primera clase: los modelos. El aumento en el nivel de abstracción propuesto por MDD hace que ya no sea suficiente realizar la verificación y validación a nivel del código, sino que es preciso contar con estrategias y mecanismos que aseguren la calidad a nivel de los modelos y sus transformaciones. De esta manera, se crea un nuevo reto asociado a la verificación y validación dentro de las MD-SPL. La verificación y validación en las MD-SPL se puede ver desde 3 perspectivas: a nivel de los modelos, a nivel de las transformaciones y a nivel de las pruebas basadas en modelos (Model-Driven Testing). A nivel de los modelos la verificación intenta mostrar que estos representan de manera correcta el comportamiento de un sistema del mundo real (Correctitud Semántica) y que cumplen con las reglas del lenguaje sobre el cual fueron construidos (Correctitud Sintáctica) [18]. Unhelkar describe un framework para esta verificación [20]. La validación evalúa si el comportamiento observable del modelo cumple con los requerimientos exigidos por el usuario [18], esta validación se puede realizar a través de la simulación de modelos tal como lo ilustra Combemale [7] y Edwards [8]. A nivel de las transformaciones, la verificación y validación se relacionan a la ejecución correcta de la transformación, la creación de un modelo destino válido, la no pérdida de información [16] y a la terminación y confluencia durante la ejecución de las transformaciones [15]. Estas dos últimas propiedades hacen referencia a que dado un modelo de origen, la transformación siempre produzca un único modelo como resultado. A nivel de las pruebas basadas en modelos (Model-Driven Testing), la verificación y validación se relaciona con la generación automática de casos de prueba a partir de los modelos, de esta manera, de la misma forma en que se generan los componentes de software, se generan también sus escenarios de prueba. Kamoun propone una especificación que genera automáticamente escenarios de prueba a partir de requerimientos formales [14]. 6 Conclusiones La combinación de desarrollo de software basado en modelos y Líneas de productos son una forma de diseñar y desarrollar software que gana terreno día a día. Resuelven el problema de la independencia de la plataforma sobre la que se desea la aplicación, facilita la generación de la mayor parte de artefactos, reduciendo

13 MD-SPL: Oportunidades y Retos 13 considerablemente el tiempo de desarrollo, incrementando la calidad de los productos y permitiendo posponer decisiones de implementación en el proceso de desarrollo. Otra característica importante de esta nueva forma de desarrollar software se basa en el lenguaje que se utiliza para modelar la solución. Los modelos que sirven para representar lo esencial de cada problema son empleados como elementos de primera clase para el desarrollo de la aplicación. El uso de modelos permite separar preocupaciones (concerns) en diferentes vistas de la solución. Esta aproximación (MD-SPL) se encuentra actualmente en construcción. Diferentes autores proponen soluciones para cada uno de los retos que incluye este tipo de desarrollo de software. Los principales problemas se relacionan con la especificación y derivación de un producto en particular, es decir, la administración de la variabilidad. Otros retos, como trazabilidad, validación, verificación, etc. son igual de importantes, lo cual implica que existen propuestas que permiten solucionar parcial o totalmente el problema. Una vez se tengan soluciones para cada uno de los retos mencionados anteriormente, el reto consistirá en seleccionar las mejores soluciones y unificarlas para la creación de un framework que facilite el desarrollo de software explotando todas las capacidades de las Líneas de productos dirigidas por modelos. Referencias 1. Hendrickson Scott A. and Andre van der Hoek, Modeling product line architectures through change sets and relationships, ICSE '07: Proceedings of the 29th international conference on Software Engineering, IEEE Computer Society, 2007, pp Andsousa, Uirakulesza, Andreas Rummler, Nicolas Anquetil, Ralf Mitschke, A. Moreira, V. Amaral, and J. Arajo, A model-driven traceability framework to software product line development, ECMDA Traceability Workshop ECMDA-TW ( 2008 Proceedings), SINTEF ICT, N. Anquetil, B. Grammel, I. Galvñao, J. Noppen, S. Shakil, H. Arboleda, A. Rashid, and A. Garcia, Traceability for model driven, software product line engineering, Proceedings of the 4th Workshop on Traceability at the 4th European Conference on Model Driven Architecture (Berlin, Germany), June Hugo Arboleda, Rubby Casallas, and Jean claude Royer, Implementing an mda approach for managing variability in product line construction using the gmf and gme frameworks, 5th Nordic Workshop on Model Driven Software Engineering. August 27 29, 2007, pp Paul Clements and Linda Northrop, Software product lines: practices and pat- terns, vol , Addison-Wesley Longman Publishing Co., Inc., Boston, MA, USA, James S. Collofello, Introduction to software verification and validation, Curriculum Module SEI-CM , Software Engineering Institute, Carnegie Mellon University, Benoit Combemale, Xavier Crgut, Jean-Patrice Giacometti, Pierre Michel, and Marc Pantel, Introducing simulation and model animation in the mde topcased toolkit, European Congress on Embedded Real-Time Software (ERTS), Toulouse, Socit des Ingnieurs de l'automobile, 2008.

14 14 Andrés Romero y Fabián Ceballos 8. George Edwards, Chiyoung Seo, and Nenad Medvidovic, Construction of analytic frameworks for component-based architectures, Proceedings of the Brazilian Symposium on Software Components, Architectures and Reuse (SBCARS), Hassan Gomaa, Designing software product lines with uml 2.0: From use cases to pattern-based software architectures, Software Product Line Conference, th International, 2006, p Czarnecki K., Overview of generative software development, LNCS 3566, 2005, pp Czarnecki K. and Antkiewicz Michal, Mapping features to models: A template approach based on superimposed variants, GPCE, LNCS 3676, 2005, pp Czarnecki K., Helsen S., and Eisenecker U., Staged configuration using feature models, Proc. of the 3th SPLC, LNCS 3154, 2004, pp Garces K., Parra C., Arboleda H., Yie A., and Casallas R., Variability management in a model-driven software product line, Avances en Sistemas e Informática 4 (2007), no. 2, Souha Kamoun and Pierre Boulet, Model-based testing of the ertms system with sysml and marte, 4th International Workshop on Model Driven Engineering, Verification, and Validation: Integrating Verification and Validation in MDE, Jochen Malte Kster, De nition and validation of model transformations, Software and System Modeling 5 (2006), no. 3, 233{ F. J. Lucas, F. Molina, and A. Toval, Una propuesta de proceso expl cito de vv en el marco de mda, IV Jornadas de Trabajo DYNAMICA, Archena, Murcia, J. Miller and J. Mukerji, Mda guide version 1.0.1, Tech. report, Object Management Group (OMG), Mohagheghi Parastoo and Aagedal Jan, Evaluating quality in model-driven engineering, MISE '07: Proceedings of the International Workshop on Modeling in Software Engineering, IEEE Computer Society, 2007, p Tessier Patrick, G erard S ebastien, FranTerrie, and Geib Jean M., Using variation propagation for model-driven management of a system family, LNCS 3714, 2005, pp Anthony J. H. Simons, Verification and validation for quality of uml 2.0 models. by bhuvan unhelkar. published by john wiley & sons, inc., hoboken, nj, u.s.a., isbn: , 271 pp: Book reviews, Softw. Test. Verif. Reliab. 16 (2006), no. 1, Markus Volter and Thomas Stahl, Model-driven software development : Technology, engineering, management, John Wiley & Sons, June 2006.

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

RECOMENDACIONES DE INVESTIGACIÓN FUTURA.

RECOMENDACIONES DE INVESTIGACIÓN FUTURA. Capítulo 6 CONCLUSIONES Y RECOMENDACIONES DE INVESTIGACIÓN FUTURA. 212 METODOLOGÍA PARA LA DETECCIÓN DE REQUERIMIENTOS SUBJETIVOS EN EL DISEÑO DE PRODUCTO. CAPÍTULO 6. CONCLUSIONES, APORTACIONES Y RECOMENDACIONES.

Más detalles

GUÍAS. Módulo de Diseño de software SABER PRO 2013-2

GUÍAS. Módulo de Diseño de software SABER PRO 2013-2 GUÍAS Módulo de Diseño de software SABER PRO 2013-2 GUÍAS Módulo de diseño en ingeniería El diseño de productos tecnológicos (artefactos, procesos, sistemas e infraestructura) está en el centro de la naturaleza

Más detalles

PEEPER PONTIFICIA UNIVERSIDAD JAVERIANA FACULTAD DE INGENIERIA CARRERA DE INGENIERIA DE SISTEMAS. Mayo 2014. Versión 2.1 OSCAR IVAN LÓPEZ PULIDO

PEEPER PONTIFICIA UNIVERSIDAD JAVERIANA FACULTAD DE INGENIERIA CARRERA DE INGENIERIA DE SISTEMAS. Mayo 2014. Versión 2.1 OSCAR IVAN LÓPEZ PULIDO PEEPER Implementación del cambio de técnica usada para la actualización de datos en los reportes de esfuerzo, usados como métrica de productividad, progreso y costo de los proyectos, de la compañía de

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

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

Desarrollo de Líneas de Productos de Software

Desarrollo de Líneas de Productos de Software Centro Experimental de Ingeniería de Software Departamento de Ciencias de la Computación Facultad de Ciencias Físicas y Matemáticas Universidad de Chile Desarrollo de Líneas de Productos de Software María

Más detalles

TEMA 7: DIAGRAMAS EN UML

TEMA 7: DIAGRAMAS EN UML TEMA 7: DIAGRAMAS EN UML Diagramas en UML El bloque de construcción básico de UML es un Diagrama Introducción a UML 2 1 Modelo de Casos de Uso (MCU) Todos los casos de uso constituyen el MCU que describe

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

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

Una Introducción al UML. El Modelo de Componentes

Una Introducción al UML. El Modelo de Componentes Una Introducción al UML Autor: Geoffrey Sparks, Sparx Systems, Australia Traducción: Fernando Pinciroli (Solus S.A., Argentina) y Aleksandar Orlic (Craftware Consultores Ltda., Chile) www.sparxsystems.com.ar

Más detalles

CALIDAD TOTAL. Visión estratégica y buena gestión son los ingredientes fundamentales.

CALIDAD TOTAL. Visión estratégica y buena gestión son los ingredientes fundamentales. CALIDAD TOTAL Visión estratégica y buena gestión son los ingredientes fundamentales. ALFREDO SERPELL Ingeniero civil industrial UC Phd University of Texas at Austin.Profesor titular ingeniería y gestión

Más detalles

Conceptos básicos de Ingeniería de Software

Conceptos básicos de Ingeniería de Software de Ingeniería de Software Dr. Eduardo A. RODRÍGUEZ TELLO CINVESTAV-Tamaulipas 5 de septiembre del 2012 Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Conceptos básicos 5 de septiembre del 2012 1 / 23 Objetivos Objetivos

Más detalles

El Proceso Unificado Rational para el Desarrollo de Software.

El Proceso Unificado Rational para el Desarrollo de Software. Instituto de Electrónica y Computación El Proceso Unificado Rational para el Desarrollo de Software. Carlos Alberto Fernández y Fernández Huajuapan de León, Oaxaca 26 de octubre de 2000 Objetivo Proporcionar

Más detalles

Administración de Variabilidad en una línea de producto basada en modelos

Administración de Variabilidad en una línea de producto basada en modelos Administración de Variabilidad en una línea de producto basada en modelos Kelly Garcés Carlos Parra Hugo Arboleda Andres Yie Rubby Casallas Universidad de los Andes, Bogotá k-garces @uniandes.edu.co Universidad

Más detalles

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

INTRODUCCIÓN A LOS SISTEMAS GESTORES DE BASE DE DATOS

INTRODUCCIÓN A LOS SISTEMAS GESTORES DE BASE DE DATOS INTRODUCCIÓN A LOS SISTEMAS GESTORES DE BASE DE DATOS AUTORÍA JOSEFA PÉREZ DOMÍNGUEZ TEMÁTICA NUEVAS TECNOLOGIAS ETAPA CICLOS FORMATIVOS DE GRADO SUPERIOR DE INFORMÁTICA Resumen En esta publicación se

Más detalles

Aplicación de la metodología de las 5 S al diseño de tarjetas de

Aplicación de la metodología de las 5 S al diseño de tarjetas de Aplicación de la metodología de las 5 S al diseño de tarjetas de 1. Introducción El uso de tarjetas de identificación o identificadores es común en el ámbito profesional: para los trabajadores de una organización,

Más detalles

DCU Diagramas de casos de uso

DCU Diagramas de casos de uso DCU Diagramas de casos de uso Universidad de Oviedo Departamento de Informática Contenidos Introducción Elementos básicos Más sobre los actores Más sobre los casos de uso Más sobre las asociaciones Otros

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

Tema 5. Diseño detallado.

Tema 5. Diseño detallado. Ingeniería del Software II 2011 Tema 5. Diseño detallado. Diseño del Software. Los requisitos y el análisis orientado a objetos se centran en aprender a hacer lo correcto: Entender los objetos de nuestro

Más detalles

PROPUESTA DE RESOLUCIÓN ESPECÍFICA PARA LOS PROGRAMAS DE ADMINISTRACION.

PROPUESTA DE RESOLUCIÓN ESPECÍFICA PARA LOS PROGRAMAS DE ADMINISTRACION. PROPUESTA DE RESOLUCIÓN ESPECÍFICA PARA LOS PROGRAMAS DE ADMINISTRACION. Por la cual se definen las características específicas de calidad de los programas de pregrado en Administración. LA MINISTRA DE

Más detalles

MDA: Arquitectura Dirigida por Modelos

MDA: Arquitectura Dirigida por Modelos MDA: Arquitectura Dirigida por Modelos Uno de los principios básicos b de la ingeniería a de software es la abstracción, para separar lo esencial de lo no esencial. En términos t de negocio, lo esencial

Más detalles

DIAGRAMA DE CLASES EN UML

DIAGRAMA DE CLASES EN UML DIAGRAMA DE CLASES EN UML Mg. Juan José Flores Cueto jflores@usmp.edu.pe Ing. Carmen Bertolotti Zuñiga cbertolotti@usmp.edu.pe INTRODUCCIÓN UML (Unified Modeling Language) es un lenguaje que permite modelar,

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

UML, ejemplo sencillo sobre Modelado de un Proyecto

UML, ejemplo sencillo sobre Modelado de un Proyecto UML, ejemplo sencillo sobre Modelado de un Proyecto Normal &DOLILFDU 0L3DQRUDPD 626 (VFULEHSDUD1RVRWURV Por Armando Canchala Contenido Introducción Objetivo Requerimientos Casos de Uso Subcasos de Uso

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

OMG UML 2.0 Marcando un hito en el desarrollo de software Resumen Keywords Historia del Surgimiento

OMG UML 2.0 Marcando un hito en el desarrollo de software Resumen Keywords Historia del Surgimiento OMG UML 2.0 Marcando un hito en el desarrollo de software Resumen A través de este artículo se ofrece un panorama amplio y de alto nivel sobre la especificación y los diferentes diagramas del Lenguaje

Más detalles

Construcción y Pruebas de Software

Construcción y Pruebas de Software UNIVERSIDAD DE CARABOBO Facultad Experimental de Ciencias y Tecnología Departamento de Computación Construcción y Pruebas de Software Elaborado por: Gustavo Bazán Francisco Rosas Bárbula, Junio de 2012

Más detalles

CAPITULO I EL PROBLEMA. Debido al crecimiento de clientes y en vía de mejorar la calidad de

CAPITULO I EL PROBLEMA. Debido al crecimiento de clientes y en vía de mejorar la calidad de CAPITULO I EL PROBLEMA 1. PLANTEAMIENTO DEL PROBLEMA Debido al crecimiento de clientes y en vía de mejorar la calidad de servicio, las instituciones financieras se han apalancado en la tecnología para

Más detalles

Titulo Tema 6. Gestión por procesos. Cuidados. Prescripción de cuidados. Evaluación de pacientes.

Titulo Tema 6. Gestión por procesos. Cuidados. Prescripción de cuidados. Evaluación de pacientes. Titulo Tema 6. Gestión por procesos. Cuidados. Prescripción de cuidados. Evaluación de pacientes. Objetivos de aprendizaje. Conocer: Conceptos básicos de gestión por procesos Características conceptuales

Más detalles

BplSoa: Framework para el desarrollo de líneas de procesos de negocios orientadas a servicios. Víctor Mario Cardona Medina

BplSoa: Framework para el desarrollo de líneas de procesos de negocios orientadas a servicios. Víctor Mario Cardona Medina BplSoa: Framework para el desarrollo de líneas de procesos de negocios orientadas a servicios Víctor Mario Cardona Medina Universidad Nacional de Colombia Facultad de Ingeniería, Departamento de Ingeniería

Más detalles

Desarrollo de un Sistema de Gestión de Proyectos mediante el framework GWT

Desarrollo de un Sistema de Gestión de Proyectos mediante el framework GWT Proyecto de Fin de Carrera Universidad Politécnica de Valencia Escuela Técnica Superior de Informática Desarrollo de un Sistema de Gestión de Proyectos mediante el framework GWT Realizado por: Dirigido

Más detalles

SECRETARÍA DE EDUCACIÓN PÚBLICA SUBSECRETARÍA DE EDUCACIÓN SUPERIOR COORDINACIÓN GENERAL DE UNIVERSIDADES TECNOLÓGICAS

SECRETARÍA DE EDUCACIÓN PÚBLICA SUBSECRETARÍA DE EDUCACIÓN SUPERIOR COORDINACIÓN GENERAL DE UNIVERSIDADES TECNOLÓGICAS SECRETARÍA DE EDUCACIÓN PÚBLICA SUBSECRETARÍA DE EDUCACIÓN SUPERIOR COORDINACIÓN GENERAL DE UNIVERSIDADES TECNOLÓGICAS CRITERIOS GENERALES PARA LA PLANEACIÓN, EL DESARROLLO Y LA EVALUACIÓN, EN LA IMPLANTACIÓN

Más detalles

Criterios para seleccionar tecnología de Modelos de Toma de Decisiones

Criterios para seleccionar tecnología de Modelos de Toma de Decisiones Estado del Arte Por Eduardo Cantú y Stephen Sellers Criterios para seleccionar tecnología de Modelos de Toma de Decisiones Seleccionar la herramienta apropiada para desarrollar sus Modelos de Cadena de

Más detalles

Programa en Microsoft Visual Basic 6.0 para el análisis de riesgos eléctricos en oficinas y centros de cómputo. López Rosales, Juan Carlo.

Programa en Microsoft Visual Basic 6.0 para el análisis de riesgos eléctricos en oficinas y centros de cómputo. López Rosales, Juan Carlo. CAPÍTULO IV PROCESO UNIFICADO DE DESARROLLO DE SOFTWARE 4.1 Concepto del Proceso Unificado de Desarrollo de Software Un proceso de desarrollo de software es el conjunto de actividades necesarias para transformar

Más detalles

Ingeniería en tecnologías de la información y comunicación Administración de proyectos de TI I

Ingeniería en tecnologías de la información y comunicación Administración de proyectos de TI I Ingeniería en tecnologías de la información y comunicación Administración de proyectos de TI I Qué es la administración de proyectos? y Qué es la administración de proyecto es TI? Integrantes: Figueroa

Más detalles

Figure 16-1: Phase H: Architecture Change Management

Figure 16-1: Phase H: Architecture Change Management Fase H Administración del cambio en la Arquitectura Figure 16-1: Phase H: Architecture Change Management Objetivos Los objetivos de la Fase H son: Asegurarse de que el ciclo de vida de arquitectura se

Más detalles

EJEMPLO DE REPORTE DE LIBERTAD FINANCIERA

EJEMPLO DE REPORTE DE LIBERTAD FINANCIERA EJEMPLO DE REPORTE DE LIBERTAD FINANCIERA 1. Introduccio n El propósito de este reporte es describir de manera detallada un diagnóstico de su habilidad para generar ingresos pasivos, es decir, ingresos

Más detalles

Administración del conocimiento y aprendizaje organizacional.

Administración del conocimiento y aprendizaje organizacional. Capítulo 2 Administración del conocimiento y aprendizaje organizacional. 2.1 La Importancia Del Aprendizaje En Las Organizaciones El aprendizaje ha sido una de las grandes necesidades básicas del ser humano,

Más detalles

Norma ISO 9001:2015. Cuáles son los cambios presentados en la actualización de la Norma?

Norma ISO 9001:2015. Cuáles son los cambios presentados en la actualización de la Norma? Norma ISO 9001:2015 Cuáles son los cambios presentados en la actualización de la Norma? Norma ISO 9001:2015 Contenido Introducción Perspectiva de la norma ISO 9001 Cambios de la norma ISO 9001 Cambios

Más detalles

Mejorando las competencias arquitectónicas en una empresa Mexicana de desarrollo de Software

Mejorando las competencias arquitectónicas en una empresa Mexicana de desarrollo de Software Mejorando las competencias arquitectónicas en una empresa Mexicana de desarrollo de Software Humberto Cervantes Maceda 1 Workshop Arquitectura de Software 22 de Junio de 2009 Acerca de mi Doctorado en

Más detalles

Diagramas del UML. A continuación se describirán los diagramas más comunes del UML y los conceptos que representan: Diagrama de Clases

Diagramas del UML. A continuación se describirán los diagramas más comunes del UML y los conceptos que representan: Diagrama de Clases El UML está compuesto por diversos elementos gráficos que se combinan para conformar diagramas. Debido a que el UML es un lenguaje, cuenta con reglas para combinar tales elementos. La finalidad de los

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

GUIA PROGRAMACIÓN ORIENTADA A OBJETOS

GUIA PROGRAMACIÓN ORIENTADA A OBJETOS GUIA PROGRAMACIÓN ORIENTADA A OBJETOS 1. Por qué la P.O.O? R= A medida que se van desarrollando los lenguajes, se va desarrollando también la posibilidad de resolver problemas más complejos. En la evolución

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

COPPEL MANUAL TÉCNICO MCC DE SISTEMAS PROGRAMACIÓN DESCRIPCIÓN DEL PROCESO DE ARQUITECTURA DE SOFTWARE

COPPEL MANUAL TÉCNICO MCC DE SISTEMAS PROGRAMACIÓN DESCRIPCIÓN DEL PROCESO DE ARQUITECTURA DE SOFTWARE COPPEL MANUAL TÉCNICO MCC DE SISTEMAS PROGRAMACIÓN DESCRIPCIÓN DEL PROCESO DE ARQUITECTURA DE SOFTWARE Creado en May/14 Objetivo: Contar con una guía de las actividades que se deben realizar en esta fase,

Más detalles

Titulo La enseñanza del diseño gráfico en base a las competencias profesionales

Titulo La enseñanza del diseño gráfico en base a las competencias profesionales Titulo La enseñanza del diseño gráfico en base a las competencias profesionales Autor María Eugenia Sánchez Ramos Directora del Departamento de Diseño Universidad de Guanajuato México Coautor Juan Martín

Más detalles

Para llegar a conseguir este objetivo hay una serie de líneas a seguir:

Para llegar a conseguir este objetivo hay una serie de líneas a seguir: INTRODUCCIÓN La Gestión de la Calidad Total se puede definir como la gestión integral de la empresa centrada en la calidad. Por lo tanto, el adjetivo total debería aplicarse a la gestión antes que a la

Más detalles

Calidad Escuela de Ingeniería de Sistemas y Computación Desarrol o de Software II Agosto Diciembre 2007

Calidad Escuela de Ingeniería de Sistemas y Computación Desarrol o de Software II Agosto Diciembre 2007 Calidad Calidad Definición de diccionario: Conjunto de Cualidades que constituyen la manera de ser de una persona o cosa. En términos generales podemos definir la calidad como conjunto de características

Más detalles

El proceso unificado en pocas palabras

El proceso unificado en pocas palabras El Proceso Unificado de Desarrollo de Software Ivar Jacobson Grady Booch James Rumbaugh Addison Wesley Resumen Capítulo 1. El proceso unificado: dirigido por casos de uso, centrado en la arquitectura,

Más detalles

PROGRAMACIÓN DE LÍNEAS DE PRODUCTOS DE SOFTWARE ORIENTADAS A ASPECTOS

PROGRAMACIÓN DE LÍNEAS DE PRODUCTOS DE SOFTWARE ORIENTADAS A ASPECTOS PROGRAMACIÓN DE LÍNEAS DE PRODUCTOS DE SOFTWARE ORIENTADAS A ASPECTOS P R E S E N T A : I. S. C. A N A F A B I O L A A N Z U R E S R A M Ó N DIRIGEN DR. ULISES JUÁREZ MARTÍNEZ (INSTITUTO TECNOLÓGICO DE

Más detalles

064218 Desarrollo de competencias directivas y del espíritu emprendedor en el sector turístico

064218 Desarrollo de competencias directivas y del espíritu emprendedor en el sector turístico PLAN DOCENTE Código Asignatura Bloque temático 064218 Desarrollo de competencias directivas y del espíritu emprendedor en el sector turístico Gestión de las personas en el sector hotelero y turístico Curso

Más detalles

Tutorial de UML. Introducción: Objetivos: Audiencia: Contenidos:

Tutorial de UML. Introducción: Objetivos: Audiencia: Contenidos: Tutorial de UML Introducción: El Lenguaje de Modelamiento Unificado (UML - Unified Modeling Language) es un lenguaje gráfico para visualizar, especificar y documentar cada una de las partes que comprende

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

UNIVERSIDAD TECNOLÓGICA DE PANAMÁ SECRETARÍA GENERAL FACULTAD DE INGENIERÍA DE SISTEMAS COMPUTACIONALES DESCRIPCIÓN DE CURSO DE LA CARRERA DE

UNIVERSIDAD TECNOLÓGICA DE PANAMÁ SECRETARÍA GENERAL FACULTAD DE INGENIERÍA DE SISTEMAS COMPUTACIONALES DESCRIPCIÓN DE CURSO DE LA CARRERA DE UNIVERSIDAD TECNOLÓGICA DE PANAMÁ SECRETARÍA GENERAL FACULTAD DE INGENIERÍA DE SISTEMAS COMPUTACIONALES DESCRIPCIÓN DE CURSO DE LA CARRERA DE MAESTRÍA Y POSTGRADO EN INGENIERÍA DE SOFTWARE 2015 APROBADO

Más detalles

Concurso Nacional de Innovación - InnovaTIC

Concurso Nacional de Innovación - InnovaTIC Concurso Nacional de Innovación - InnovaTIC Descripción del concurso... 2 Convocatoria... 2 Objetivos... 2 Objetivo general... 2 Objetivos específicos... 2 Participantes... 3 Condiciones de Participación...

Más detalles

Colección de Tesis Digitales Universidad de las Américas Puebla. Morales Salcedo, Raúl

Colección de Tesis Digitales Universidad de las Américas Puebla. Morales Salcedo, Raúl 1 Colección de Tesis Digitales Universidad de las Américas Puebla Morales Salcedo, Raúl En este último capitulo se hace un recuento de los logros alcanzados durante la elaboración de este proyecto de tesis,

Más detalles

INGENIERÍA DEL SOFTWARE I Tema 1. Introducción a la Ingeniería del Software. Univ. Cantabria Fac. de Ciencias Francisco Ruiz

INGENIERÍA DEL SOFTWARE I Tema 1. Introducción a la Ingeniería del Software. Univ. Cantabria Fac. de Ciencias Francisco Ruiz INGENIERÍA DEL SOFTWARE I Tema 1 Introducción a la Ingeniería del Software Univ. Cantabria Fac. de Ciencias Francisco Ruiz Objetivos Comprender qué es la Ingeniería del Software y su necesidad. Situarla

Más detalles

DIGITALIZACIÓN DE DOCUMENTOS: PROYECTO DIGISAN

DIGITALIZACIÓN DE DOCUMENTOS: PROYECTO DIGISAN DIGITALIZACIÓN DE DOCUMENTOS: PROYECTO DIGISAN Francisco Belmonte Díaz Diseño e implementación de Sistemas Informáticos. Coordinación de Tareas de Programación Servicio de Gestión Informática. Consejería

Más detalles

Desarrollo de un ciclo de mejora Construcción de un método de diagnóstico

Desarrollo de un ciclo de mejora Construcción de un método de diagnóstico Desarrollo de un ciclo de mejora Construcción de un método de diagnóstico Alicia Mon, Marcelo Estayno, Andrea Arancio {aliciamon, mestayno, andrea.arancio}@fibertel.com.ar G.I.S. UNLaM 1 Resumen. Las pequeñas

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

PROCESO GESTION INVESTIGACION

PROCESO GESTION INVESTIGACION PAGINA: 1 de 6 FACULTAD O DEPENDENCIA: FACULTAD DE CIENCIAS ADMINISTRATIVAS, ECONÓMICAS Y CONTABLES- PROGRAMA ADMINISTRACIÓN DE EMPRESAS ÁREA ADMINISTRACIÓN Y ORGANIZACIONES LINEA: DESARROLLO ORGANIZACIONAL

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

1. VIRTUALIZACION DEL PROCESO REAL.

1. VIRTUALIZACION DEL PROCESO REAL. CAPITULO IV DISEÑO 86 En este capítulo se muestra el diseño realizado para el desarrollo del CD Interactivo del Museo e Historia Militar de la Fuerza Armada de El Salvador, se ilustra claramente el proceso

Más detalles

2.1 Planificación del Alcance

2.1 Planificación del Alcance 2. Gestión del Alcance del Proyecto La Gestión del Alcance del Proyecto incluye los procesos necesarios para asegurarse que el incluya todo el trabajo requerido, y sólo el trabajo requerido, para completar

Más detalles

Como lo expresamos cuando describimos el problema objeto de

Como lo expresamos cuando describimos el problema objeto de Como lo expresamos cuando describimos el problema objeto de esta investigación, durante su desarrollo buscamos aproximarnos a las características y las condiciones de posibilidad de las prácticas académicas

Más detalles

GERENCIA DE INTEGRACIÓN

GERENCIA DE INTEGRACIÓN GERENCIA DE INTEGRACIÓN CONTENIDO Desarrollo del plan Ejecución del plan Control de cambios INTRODUCCIÓN La gerencia de integración del proyecto incluye los procesos requeridos para asegurar que los diversos

Más detalles

www.fundibeq.org Además se recomienda su uso como herramienta de trabajo dentro de las actividades habituales de gestión.

www.fundibeq.org Además se recomienda su uso como herramienta de trabajo dentro de las actividades habituales de gestión. HOJAS DE COMPROBACIOÓN Y HOJAS DE RECOGIDA DE DATOS 1.- INTRODUCCIÓN En este documento se describe el proceso de obtención de información a partir de la recogida y análisis de datos, desde el establecimiento

Más detalles

EL TRATAMIENTO DE LOS VEHÍCULOS AL FINAL DE SU VIDA ÚTIL

EL TRATAMIENTO DE LOS VEHÍCULOS AL FINAL DE SU VIDA ÚTIL EL TRATAMIENTO DE LOS VEHÍCULOS AL FINAL DE SU VIDA ÚTIL Manuel Kindelan Gerente del Consejo Constituyente de SIGRAUTO Miembro de ASEPA La protección del medioambiente es desde hace unos años una de las

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

CAPITULO V PLANIFICACIÓN Y GESTIÓN DEL PROYECTO

CAPITULO V PLANIFICACIÓN Y GESTIÓN DEL PROYECTO CAPITULO V PLANIFICACIÓN Y GESTIÓN DEL PROYECTO La adquisición de un acuerdo de outsourcing fuerte y activo es una tarea particularmente compleja, con ramas de actividad muy dispares y potencialmente difíciles.

Más detalles

1. Introducción al evaluación de proyectos

1. Introducción al evaluación de proyectos Objetivo general de la asignatura: El alumno analizará las técnicas de evaluación de proyectos de inversión para la utilización óptima de los recursos financieros; así como aplicar las técnicas que le

Más detalles

Manual de usuario para Android de la aplicación PORTAFIRMAS MÓVIL

Manual de usuario para Android de la aplicación PORTAFIRMAS MÓVIL Manual de usuario para Android de la aplicación PORTAFIRMAS MÓVIL Índice 1 Introducción... 5 1.1 Perfil de la aplicación... 5 1.2 Requisitos técnicos... 5 2 Manual de usuario... 7 2.1 Instalación del certificado...

Más detalles

Para obtener información más detallada, conviene dirigirse a www.facturae.es.

Para obtener información más detallada, conviene dirigirse a www.facturae.es. 1. Introducción Con el fin de facilitar la tarea a los proveedores y mejorar la gestión interna de las facturas que recibe la Diputación, se ha habilitado un nuevo módulo de Registro de facturas, compatible

Más detalles

Modelado arquitectónico con UML

Modelado arquitectónico con UML Modelado arquitectónico con UML Qué es la arquitectura de software El modelo de 4+1 vistas arquitectónicas Cohesión y acoplamiento Cómo lograr una descomposición modular eficaz Criterios para la selección

Más detalles

Gestión de Requisitos ULPGC

Gestión de Requisitos ULPGC Gestión de Requisitos ULPGC Gestión de Requisitos Consiste en gestionar los cambios de los requisitos, las relaciones entre ellos, las dependencias entre la especificación de requisitos y otros documentos

Más detalles

Programa de Criminología UOC

Programa de Criminología UOC Programa de Criminología UOC Trabajo Final de Grado Presentación Descripción La asignatura en el conjunto del plan de estudios Campos profesionales en que se proyecta Conocimientos previos Objetivos y

Más detalles

GRUPO DE ACCIÓN SOBRE LA CAPACIDAD LEGAL SEGÚN LA CONVENCION

GRUPO DE ACCIÓN SOBRE LA CAPACIDAD LEGAL SEGÚN LA CONVENCION GRUPO DE ACCIÓN SOBRE LA CAPACIDAD LEGAL SEGÚN LA CONVENCION DISEÑO DE SISTEMAS DE TOMA DE DECISIONES CON APOYO: UNA GUÍA PARA EL DIÁLOGO Febrero de 2009 INTRODUCCIÓN El artículo 12 de la Convención de

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

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

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

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

SEMINARIO SOBRE LA CALIDAD DEL SOFTWARE Y LA MEJORA DE PROCESOS

SEMINARIO SOBRE LA CALIDAD DEL SOFTWARE Y LA MEJORA DE PROCESOS SEMINARIO SOBRE LA CALIDAD DEL SOFTWARE Y LA MEJORA DE PROCESOS Información general La importancia y relevancia de la calidad del software como elemento diferenciador y de valor añadido del software, es

Más detalles

Por qué es importante la planificación?

Por qué es importante la planificación? Por qué es importante la planificación? La planificación ayuda a los empresarios a mejorar las probabilidades de que la empresa logre sus objetivos. Así como también a identificar problemas claves, oportunidades

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

CAPITULO 1 1.1. INTRODUCCION

CAPITULO 1 1.1. INTRODUCCION CAPITULO 1 1.1. INTRODUCCION El mundo de los negocios cada vez se vuelve más complejo y cada día se requieren de más y mejores herramientas que faciliten la comprensión del entorno, así como de estrategias

Más detalles

LA PLANIFICACIÓN ESTRATÉGICA EN MATERIA TIC EN EL ÁMBITO DE LA AGE

LA PLANIFICACIÓN ESTRATÉGICA EN MATERIA TIC EN EL ÁMBITO DE LA AGE LA PLANIFICACIÓN ESTRATÉGICA EN MATERIA TIC EN EL ÁMBITO DE LA AGE Subdirector General de Planificación y Coordinación Informática Ministerio de Trabajo y Asuntos Sociales Palabras clave Planificación

Más detalles

Segunda etapa: se centró en la definición tanto del perfil de ingreso como de egreso de cada carrera de la UDD.

Segunda etapa: se centró en la definición tanto del perfil de ingreso como de egreso de cada carrera de la UDD. 1. Modelo educativo UDD: El Modelo educativo UDD se diseñó durante dos años a través de un trabajo de comisiones internas, en las cuales participaron representantes de las distintas carreras y de los diferentes

Más detalles

Guía para la elaboración de Proyectos de Formación Sindical Ambiental e Investigación en Trabajo y Desarrollo Sustentable

Guía para la elaboración de Proyectos de Formación Sindical Ambiental e Investigación en Trabajo y Desarrollo Sustentable Guía para la elaboración de Proyectos de Formación Sindical Ambiental e Investigación en Trabajo y Desarrollo Sustentable 1- Denominación del Proyecto Esto se hace indicando, de manera sintética y mediante

Más detalles

Diagramas de Clase en UML 1.1

Diagramas de Clase en UML 1.1 Diagramas de Clase en UML. Francisco José García Peñalvo Licenciado en Informática. Profesor del Área de Lenguajes y Sistemas Informáticos de la Universidad de Burgos. fgarcia@.ubu.es Carlos Pardo Aguilar

Más detalles

SISTEMA DE GESTION AMBIENTAL Y DE SEGURIDAD Y SALUD EN EL TRABAJO: INTEGRACIÓN

SISTEMA DE GESTION AMBIENTAL Y DE SEGURIDAD Y SALUD EN EL TRABAJO: INTEGRACIÓN SISTEMA DE GESTION AMBIENTAL Y DE SEGURIDAD Y SALUD EN EL TRABAJO: INTEGRACIÓN Autores: René G. Manresa González manresa@inin.cu, Lianette Godoy del Pozo lianette@inin.cu, Ibrahím Urquiaga Mergarejo ibm@inin.cu

Más detalles

Testing. Tipos, Planificación y Ejecución de Pruebas

Testing. Tipos, Planificación y Ejecución de Pruebas Testing Tipos, Planificación y Ejecución de Pruebas Contenido Definiciones del Testing de Software Objetivos, conceptos Tipos de Test Testing a-la RUP Rol del Testing en el proceso Artefactos Trabajadores

Más detalles

Modelo Presupuestario y construcción de una Administración electrónica integrada.

Modelo Presupuestario y construcción de una Administración electrónica integrada. Modelo Presupuestario y construcción de una Administración electrónica integrada. Noemí Diaz-Benito Los retos de la Administración Pública Algunas de las principales preocupaciones y retos a los que se

Más detalles

El presente documento describe la importancia que está tomando el cómputo distribuido en

El presente documento describe la importancia que está tomando el cómputo distribuido en INTRODUCCIÓN El presente documento describe la importancia que está tomando el cómputo distribuido en los sistemas de administración integral o empresarial. Con un prototipo particular, mostraremos como

Más detalles

DIPLOMADO DIRECCION DE ORGANIZACIONES SOLIDARIAS

DIPLOMADO DIRECCION DE ORGANIZACIONES SOLIDARIAS DIPLOMADO DIRECCION DE ORGANIZACIONES SOLIDARIAS Normas Internacionales de Información Financiera Iván Dario Duque Escobar Abril de 2016 Introducción a las NIIF Introducción Las Normas Internacionales

Más detalles

Introducción En los años 60 s y 70 s cuando se comenzaron a utilizar recursos de tecnología de información, no existía la computación personal, sino que en grandes centros de cómputo se realizaban todas

Más detalles

MODELOS DE CALIDAD EN EL DESARROLLO DE SOFTWARE

MODELOS DE CALIDAD EN EL DESARROLLO DE SOFTWARE MODELOS DE CALIDAD EN EL DESARROLLO DE SOFTWARE INTRODUCCIÓN Los Modelos de Calidad son herramientas que guían a las Organizaciones a la Mejora Continua y la Competitividad dando les especificaciones de

Más detalles

Sistemas de Calidad Empresarial

Sistemas de Calidad Empresarial Portal Empresarial Aljaraque Empresarial Sistemas de Calidad Empresarial 1 ÍNDICE 1. INTRODUCCIÓN. 2. CONCEPTO DE CALIDAD Y SU SISTEMA. 3. MÉTODO PARA IMPLANTAR UN SISTEMA DE GESTIÓN DE LA CALIDAD. 4.

Más detalles

POLÍTICAS PARA EL DESARROLLO DE SISTEMAS INFORMÁTICOS.

POLÍTICAS PARA EL DESARROLLO DE SISTEMAS INFORMÁTICOS. POLÍTICAS PARA EL DESARROLLO DE SISTEMAS INFORMÁTICOS., DIRECCIÓN GENERAL ADJUNTA DE INFORMÁTICA. Mayo. 2 Índice Página I. INTRODUCCIÓN.-. 3 II. GLOSARIO.-... 4 III. OBJETO.-.... 6 IV. MARCO JURÍDICO.-

Más detalles