Aplicación de Patrones de Software en el Dominio de los Simuladores de Procesos Dinámicos

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

Download "Aplicación de Patrones de Software en el Dominio de los Simuladores de Procesos Dinámicos"

Transcripción

1 Aplicación de Patrones de Software en el Dominio de los Simuladores de Procesos Dinámicos Edith Cuéllar-Vázquez 1, Gustavo Rodríguez-Gómez 1 y Jaime Muñoz-Arteaga 2. 1 Ciencias Computacionales del Instituto Nacional de Astrofísica Óptica y Electrónica Luís Enrique Erro #1. Tonantzintla. Puebla, México, CP Dpto. de Sistemas de Información de la Universidad Autónoma de Aguascalientes Av. Universidad # 940, Fracc. Bosques del prado Aguascalientes, México, C.P Resumen. La construcción de Simuladores de Procesos Continuos es una tarea difícil, ya que implica el manejo de diversos aspectos complejos tales como el progreso del tiempo, los modelos matemáticos, y los métodos numéricos. Presentamos la identificación de algunos patrones de análisis en el dominio de Simulación y su influencia en las diferentes etapas del desarrollo, tales patrones son una solución para el manejo de la complejidad. Hacemos uso de las técnicas Orientadas a Objetos y herramientas de alto nivel como UML y los patrones de diseño de software. El objetivo final es proveer una infraestructura que permita desarrollar Sistemas de Procesos Continuos con los atributos de flexibilidad, extensibilidad, mantenibilidad y reusabilidad. Palabras Clave: Patrones de Análisis en Simulación, Diseño de Simuladores de Procesos Dinámicos, Simulación e Ingeniería de Software. 1. Introducción Actualmente, el desarrollo de Simuladores de Procesos Continuos, DSS por sus siglas en ingles, se caracteriza por tener un bajo nivel de flexibilidad, reusabilidad y mantenibilidad. La construcción de DSSs requiere el manejo de la complejidad en diferentes aspectos como son el progreso del tiempo, los modelos matemáticos y los métodos numéricos. Para dar solución a los problemas mencionados podemos hacer uso de paquetes de simulación de alto nivel como SIMULINK, sin embargo cuando el tamaño del problema crece puede no ser adecuado o necesitamos representar fielmente la complejidad del sistema real, es necesario programar el DSS en un lenguaje de propósito general como C, C++ ó FORTRAN. La mayoría de las veces las características inherentes de un simulador son reprogramadas cada vez que se construye un nuevo simulador para otro dominio. Por esta razón es una buena idea reusar tales funcionalidades similares, pero haciéndolo a través de métodos probados.

2 Los Simuladores de Procesos Continuos están compuestos intrínsicamente por módulos interconectados, que pueden ser fácilmente representados usando las técnicas orientadas a objetos y las herramientas que lo soportan. Los Patrones de Software son una herramienta que permite el reuso, mantenibilidad, la reducción de costos, de una manera flexible durante todas las etapas del desarrollo. Nuestra propuesta para desarrollar la Infraestructura es llevar a cabo todo el proceso del ciclo de software, específicamente la identificación de patrones de análisis se llevo a cabo con la recopilación de la información necesaria que se requiere para construir un DSS, a partir del análisis de diferentes DSSs. Con esta información, identificamos los requerimientos del sistema, los cuales son el punto de inicio del desarrollo. El siguiente paso es obtener las funciones semejantes y determinar la mejor forma de agruparlas, y finalmente la obtención de los diagramas conceptuales que derivan en los patrones de análisis. El siguiente paso en el ciclo de vida es el diseño del sistema, que debe ser construido tomando como base la etapa de análisis. Presentamos la identificación de algunos patrones de análisis en el dominio de los DSSs, y su efecto en las etapas subsecuentes del desarrollo. Además, presentamos los diagramas de diseño derivados y basados en los patrones de diseño [3]. El resultado es un diseño con bajo acoplamiento y alta coherencia, extendible y mantenible. Finalmente presentamos un caso de estudio, aplicando el diseño propuesto. El esquema del artículo es el siguiente. En la Sección dos, explicamos la problemática de diseño en el desarrollo de DSSs. En la Sección tres listamos algunas definiciones necesarias en el contexto de patrones de software. En la Sección cuatro, describimos el uso de los patrones de software en los sistemas simuladores, y proponemos un conjunto de Patrones de Análisis. En la Sección cinco mostramos el uso de los patrones de análisis en la construcción del diseño. En la Sección seis incluimos un caso de estudio que muestra el uso de la infraestructura propuesta, para implementar un DSS. Finalmente, en la Sección siete concluimos con una breve discusión de nuestra investigación y el trabajo futuro. 2. Problemática de Diseño en Simuladores de Procesos Dinámicos Un simulador es un sistema de software que imita tanto el comportamiento de un sistema del mundo real, como los procesos de entrada que manejan o controlan el sistema simulado. Las simulaciones pueden usarse para obtener conocimiento acerca de sistemas existentes, para predecir su comportamiento y para propósitos de enseñanza. Además su uso se ha extendido en la industria debido a que la simulación permite analizar el sistema real en situaciones difíciles, peligrosas o cuando resulta muy costoso recrear un estado del proceso. Una de las características claves de la simulación es la habilidad de modelar el comportamiento del sistema considerando el progreso del tiempo. Las características inherentes a las aplicaciones que simulan algún sistema deben ser consideradas desde la etapa de análisis para reflejar los requerimientos asociados durante la etapa de diseño del sistema.

3 Construir un modelo de simulación puede tomar mucho tiempo y en múltiples ocasiones se realizan modelos muy parecidos a los ya creados. Para llevar a cabo esta construcción existen sistemas llamados ambientes de simulación los cuales son herramientas interactivas de aprendizaje e investigación que brindan al usuario un acceso flexible a lo recursos computacionales. Estas herramientas permiten el desarrollo de modelos matemáticos que se comportan como el sistema físico. Los modelos son verificados y validados por medio de pruebas, las cuales permiten optimizar los resultados desde la perspectiva de aproximación, estabilidad y eficiencia computacional. Los ambientes de simulación usualmente cuentan con los elementos necesarios para la construcción de simulaciones, pero tal construcción se encuentra limitada por el número y tipo de elementos que el ambiente proporcione. Si se requiere representar fielmente la complejidad de un sistema en una simulación ó si el tamaño del sistema no es soportado por los elementos de un ambiente de simulación, necesitamos codificar el sistema en un lenguaje de propósito general para lo cual debemos dar una solución a los problemas de flexibilidad, mantenibilidad, reducción de costos y principalmente la falta de reuso. El ultimo problema puede ser fácilmente atacado debido a los modelos similares que los desarrolles encuentran en la construcción de DSSs. Algunos autores han propuesto algunas soluciones basadas en componentes para algún dominio en particular, como por ejemplo turbinas de gas [1]. Otro precedente es el trabajo hecho por Ulf Ekström [2], quien propone un diseño basado en patrones de diseño, donde usa los propuestos por Gamma [3] y también propone algunos nuevos, pero este trabajo se refiere únicamente al ambiente de desarrollo Erlang/OTP. 3. El Paradigma de Patrones Los patrones en el contexto del desarrollo del software son un medio de registrar la experiencia durante las diferentes etapas de este. La experiencia registrada puede ser aplicada en la construcción de sistemas nuevos de la misma clase, lo que trae como consecuencia un conjunto de beneficios como son el reuso exitoso de los modelos conceptuales, diseños y arquitecturas. Los patrones de software son un medio para compartir el conocimiento y nos proporcionan un lenguaje común entre diseñadores. [4]. 3.1 Patrones de Análisis La frontera entre análisis y diseño no es muy clara, Fowler [5] define tal frontera estableciendo la tarea principal del análisis como el tratar de entender el problema, lo que nos lleva a decir que en el diseño se busca resolverlo. El análisis del sistema por lo tanto busca observar debajo de la superficie y revelar los principios básicos. Para cumplir este objetivo es necesario crear los modelos conceptuales que muestren los detalles identificados. Debido a que nuestro trabajo busca utilizar las herramientas del paradigma orientado a objetos, el análisis debe ser realizado bajo las mismas reglas. Uno de los

4 principios del modelado orientado a objetos es que estos modelos conceptuales se representan a través de interfaces (tipos) y no a través de implementaciones (clases). [5] Podemos identificar necesidades del usuario comunes y si encontramos una buena solución para tal necesidad en un contexto práctico, entonces es posible usar la misma idea en otros contextos. Esto nos lleva a identificar nuevos patrones de análisis. Fowler define los patrones de análisis como, una idea que ha sido útil en un contexto practico y lo será probablemente en otros. 3.2 Patrones de Diseño Un patrón de diseño es una abstracción de una forma concreta que ocurre repetidas veces en un contexto arbitrario [6]. Los patrones de diseño nos permiten resolver varios problemas que enfrentan comúnmente los diseñadores de software orientado a objetos, a través de diferentes principios que debe cumplir un buen diseño orientado a objetos, como son Programar a la interfaz, Favorecer a la composición sobre la herencia y Diseñar para el cambio [3]. Es importante mencionar que un patrón de diseño es una notación gráfica que denota relaciones entre clases y objetos, pero además cuenta con documentación acerca del problema que resuelven, su intención, su solución, bajo que contexto, ejemplos concretos, sugerencias para su implementación. Además registra las alternativas, decisiones e intercambios necesarios para su aplicación [3]. Con respecto a la aplicación de los patrones de diseño debemos tomar en cuenta que estos se agrupan en catálogos dependiendo de su tipo de aplicación, por ejemplo existen patrones de diseño específicos para crear interfaces de usuario, para aplicaciones basadas en Web, etc. La aplicación de los patrones de diseño puede complicarse por la inexperiencia del diseñador en su aplicación y por la gran cantidad de patrones existentes, por lo que se recomienda hacer uso de los pasos propuestos por Gamma et al. [3] para seleccionar y usar los patrones de diseño adecuados. 3.3 Efecto Delta La delgada línea entre el análisis y el diseño de un sistema no es fácil de distinguir e incluso muchas veces el resultado del análisis es ignorado al construir el diseño, lo cual es un desperdicio de recursos y tiempo al tener que rehacer todo de nuevo. Por lo anterior es importante asegurarnos de que cada etapa del ciclo de vida del software sea la base de la siguiente, teniendo en mente el objetivo de cada una de ellas y considerando que las decisiones tomadas no pertenezcan a otra etapa. Las decisiones tomadas durante la etapa de análisis tendrán un efecto en el diseño, al darnos la guía y base para su construcción y acotando los patrones de diseño a utilizar, tal implicación es llamada efecto delta [4]. En este trabajo la aplicación de los patrones de análisis es realizada manualmente, pero podría automatizarse en trabajos posteriores.

5 4. Sistemas de Simulación y el paradigma de Patrones Los sistemas construidos sobre la base del paradigma orientado a objetos facilitan la flexibilidad y el reuso. Técnicas como el uso de patrones de diseño además de reforzar estos dos puntos, aplican de manera directa los diferentes principios antes mencionados, que debe cumplir un buen diseño orientado a objetos. Esto reduce el tiempo de diseño y construcción del sistema y facilita la mantenibilidad, favoreciendo a la extensión sobre el cambio. Finalmente, con respecto a la problemática del alcance de los ambientes de simulación, los patrones nos dan una herramienta que permite la inclusión de nuevos elementos y nuevas funcionalidades desde la etapa de diseño, permitiendo realizar simulaciones en diferentes dominios de aplicación, de manera rápida y sencilla. 4.1 Requerimientos de un Sistema Simulador de Procesos Continuos El primer paso en el desarrollo de un sistema de software en la recopilación de información, y la segunda etapa es el análisis la información recopilada. Se analizaron cuatro sistemas para obtener los requerimientos comunes y el resultado de este análisis son los modelos conceptuales y la clara definición y especificación de los requerimientos del sistema. A continuación listamos los requerimientos identificados, los cuales son independientes de un dominio de aplicación específico. 1. Definición del sistema. 2. Definición de las condiciones iniciales. 3. Definición de parámetros por parte del usuario. 4. Definición de parámetros internos al sistema. 5. Definición y selección del modelo. 6. Definición y selección del método numérico. 7. Ejecución de la simulación. 8. Visualización de resultados. 5. Diseño e Implementación de un Simulador haciendo uso de los Patrones de Análisis Tomando en cuenta el análisis realizado en la sección previa identificamos varios patrones de análisis. Algunos de ellos se refieren al proceso de construcción del sistema, otros a la arquitectura y algunos procesos internos. A continuación mostramos algunos patrones identificados y su aplicación y efecto en las etapas de diseño e implementación.

6 5.1 Patrón Modularización General del Sistema de Simulación El primer problema al que nos enfrentamos en la construcción de un sistema simulador es el tener una visión general de sus componentes y su interacción con elementos externos de entrada o salida. Después de analizar diferentes sistemas de simulación identificamos algunos módulos comunes. Con base en estos módulos definimos el patrón de análisis Modularización General del Sistema de Simulación, el cual representa la arquitectura básica para un sistema simulador de procesos continuos. Este patrón se muestra en la figura 1. Para la representación de los patrones de análisis propuestos usamos una notación similar a la propuesta por Sanz [7]. Figura 1. Patrón Modularización General del Sistema de Simulación Desarrollo del Diseño e Implementación A partir del patrón de análisis Modularización General del Sistema de Simulación de la figura 1, proponemos el diagrama de diseño, derivado y acotado por el efecto delta. Para su construcción también hacemos uso de los patrones de diseño existentes, propuestos por Gamma et al. [3].

7 El diagrama muestra los módulos que satisfacen los requerimientos generales del sistema, pero en términos de clases y sus relaciones. a. Patrón de Diseño Fachada Los módulos que podemos asociar son, el sistema central, el modelo y su correspondiente método resolvedor y las clases necesarias para la interacción con el exterior. Con respecto a este último punto aplicamos el patrón de diseño Fachada, para definir la interfaz de entrada de los datos referentes a las condiciones iniciales, el modelo, los parámetros externos proporcionados por el usuario y la selección del método revolvedor. La característica principal del uso de este patrón es que permite la entrada de datos y oculta el funcionamiento interno del simulador hacia la clase cliente, que puede ser la interfaz gráfica, la línea de comando o el usuario directamente. Dicho funcionamiento que no necesita ser conocido por el cliente, de tal manera que si se requiere un cambio en el funcionamiento interno, la interfaz no se ve afectada. Figura 2. Diagrama de Diseño derivado del Patrón de Análisis Modularización General del Sistema de Simulación El lenguaje de propósito general seleccionado para la implementación del presente caso de estudio es C++. Primero declaramos la clase de tipo Fachada en un archivo de cabecera:

8 class FachadaSim { public: FachadaSim(); void FachadaGate(CString _m_csarchivo, int _RBactive); }; El método FachadaGate, tiene como parámetros una variable entera que define el método resolvedor y el nombre del archivo que contiene los datos de entrada. El siguiente fragmento de código muestra como la ventana cliente al recibir el evento del botón ejecutar solo necesita instanciar la clase fachada y llamar al método FachadaGate, lo que disparará inmediatamente la lectura de los datos de entrada, la creación del sistema de simulación en base a la modularización definida, la ejecución de la simulación y finalmente el despliegue de resultados. void CventanasDlg::OnBnClickedButton1(){ } FachadaSim *FS = new FachadaSim(); FS->Fachada_Gate ( m_csarchivo, Rbactive ); Todas las funcionalidades mencionadas son transparentes a la interfaz gráfica, razón por las que no las detallamos en esta sección. b. Patrón de Diseño Comando Para la creación de cada clase en el diagrama anterior hacemos uso del patrón de diseño Comando, el cual encapsula una solicitud como un objeto, por lo tanto permite parametrizar los clientes con diferentes solicitudes a objetos sin preocuparse de la operación a realizar. El diagrama de diseño obtenido es el presentado en la figura 3. Figura 3. Creación de las clases usando el Patrón Comando Este diagrama de diseño toma como base los requerimientos del usuario definidos en la sección 4. Es en el contenido de la función FachadaGate, presentada en la subsección anterior, donde se instancian las clases que definen el sistema de simulación modularizado.

9 void Facade_Simula::Facade_Gate(CString _m_csarchivo, int _RBactive){ //Creación de la clase que almacenará el Sistema SistConc *SDS = new SistConc(_RBactive); //Comando que crea el Sistema CreaCommand *CreaSim = new CreaCommand(_m_csArchivo,SpringDashpotSystem); //Ejecución de la Creación CreaSim->Execute(); //Comando que ejecutará la simulación ExecuteCommand *ExeSim = new ExecuteCommand(SpringDashpotSystem); //Ejecución de la Simulación ExeSim->Execute(); } 5.2 Patrones de Análisis Identificados Se han identificado siete patrones de análisis, Validación Verificación, Verificación de los resultados, Manejo de los datos, Funciones Básicas, Sistema de Simulación, Fotografiado y Modelo-Resolvedor [8]. Además obtuvimos diez diagramas de diseño a partir de los patrones de análisis identificados y usando los patrones de diseño existentes. Todos estos diagramas tanto conceptuales como de diseño fueron usados para la construcción del Caso de Estudio pero no se incluye su descripción de tallada debido al espacio. 6. Caso de Estudio - Sistema de Control Proponemos el siguiente caso de uso para dar un ejemplo de aplicación El caso propuesto es un problema de optimización, que consiste en un sistema de control de posición, formado por un motor de corriente continua controlado por campo [9]. El motor esta representado por el siguiente sistema de ecuaciones diferenciales, y debe ser simulado para obtener el comportamiento global del control: x1 = x2 1 x 2 = x2 3 x3 = x3 + 5x e f El programa principal hace uso de un algoritmo de optimización, que a su vez llama a la función de índice de costo.

10 J = t f t0 donde : x 2 2 [( r() t x () t ) + Re ( t) ] dt + w x ( t ) 1 1 = θ, x 2 = θ, x3 f = i f ( r ) + w ( x ( t ) + w x ( 1 f ss 2 2 f 3 3 t f ) e f = K 1 ( r x1 ) K 2x2 K3x3 Donde r representa los grados de referencia, θ es el ángulo de posición del eje de salida, R es una constante positiva, e f es el voltaje del campo, r ss es una constante de estado estable, θ e i son variables de estado y w n son vectores de peso. La función J requiere la simulación del modelo para obtener u T = [K 1, K 2, K 3 ] de tal manera que u sea un mínimo, ya que representa las constantes que definen el error deseado e f. El diagrama de simulación que representa el problema se muestra en la figura 4. Figura 4. Diagrama de simulación del Controlador 6.1 Implementación La implementación de la parte de control se realizo haciendo uso de la rutina propuesta en [6] respetando su interfaz y adaptándola para poder usarla por medio del patrón Adaptador, propuesto por Gamma [3]. El control se comunica con la parte de simulación por medio del patrón Fachada propuesto en la sección 5, proporcionando los parámetros de entrada y las condiciones iniciales. Internamente la simulación se desarrollo haciendo uso de los patrones de análisis propuestos.

11 6.2 Resultados La salida obtenida al ejecutar el caso de estudio, para obtener un ángulo en radianes r = r ss = θ = 10, es: K 1 = 35.08, K 2 = 27.51, K 3 =43.07 Para corroborar el resultado obtenido simulamos el modelo sustituyendo estos valores como entradas y el resultado se muestra en la gráfica de la figura 5, donde mostramos la relación tiempo/posición del eje y la curva que describe se estabiliza en 1.7 segundos aproximadamente. Usamos el método numérico RungeKutta4 con paso de integración de 0.01 seg., Tiempo de inicio = 0 y Tiempo final = 3.3. Figura 5. Gráfica obtenida al simular el modelo 7 Conclusiones El éxito de un simulador depende de la precisión con la que se reproduce el funcionamiento del sistema simulado, es por esto que en su construcción deben emplearse técnicas que nos permitan obtener un sistema confiable, robusto, que permita ser mantenido de una manera sencilla y rápida, También necesitamos que sea flexible permitiendo la extensión de su funcionalidad. Los patrones de diseño son una herramienta que nos dan todos estos beneficios si son aplicados adecuadamente, y si se realiza un análisis detallado y no se aplican de manera arbitraria.

12 Los requerimientos nos dan una guía para identificar los modelos conceptuales y por lo tanto los patrones de análisis, estos a su vez nos dan una guía para construir los diagramas de diseño del sistema, debido al efecto delta. La infraestructura formada por el conjunto de modelos y diagramas es la base para la construcción de sistemas simuladores de procesos continuos en diferentes dominios de aplicación. Las características inherentes de las metodologías orientadas a objetos permiten el reuso extensivo, es decir en todas las etapas del desarrollo. Así un nuevo simulador no tiene que ser desarrollado desde cero. Hacemos notar que es posible el uso de la infraestructura por otros sistemas como en el caso de estudio propuesto, ya que el encapsulamiento de la misma permite su inclusión sin afectar al sistema general. Finalmente como trabajo futuro, aplicaremos la infraestructura para construir nuevos sistemas simuladores en diferentes dominios para estudiar el beneficio obtenido. Además puede ser base para automatizar la generación de sistemas de este tipo a partir de los requerimientos del sistema. 8 Agradecimientos Agradecemos al Consejo Nacional de Ciencia y Tecnología de México (CONACYT), ya que parte de este trabajo es apoyado por el proyecto CONACYT-2002-C Los autores también agradecen el apoyo dado por el Instituto Nacional de Astrofísica Óptica y Electrónica (INAOE) y la Universidad Autónoma de Aguascalientes (UAA) en el desarrollo de este proyecto. 9. Referencias 1. Reed J. A., Afjeh, A.: Computational Simulation of Gas Turbines: PART I- Foundations of Component-Based Models. In: ASME Transactions (1999) 2. Ekström, U.: Design Patterns for Simulations in Erlang/OTP. Uppsala Master's Thesis in Computing Science 178 (2001) 3. Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns, Elements of Reusable Object-Oriented Software. Addison-Wesley Publishing Co. (1995) 4. Molina, P. J., Melia, S. Pastor, O.: User Interface Conceptual Patterns. Proceedings del 4 to Workshop Internacional de Diseño, Especificación & Verificación de Sistemas de Información DSVIS 2002, Rostock, Alemania. (2002) Fowler, M.: Analysis Patterns: Reusable Object Models. Object Technology Series. Addison-Wesley Publishing Company (1997) 6. Gilbert, J.C., Nocedal, J.: Global Convergence Properties of Conjugate Gradient Methods, SIAM Journal on Optimization, Vol. 2. (1992) Sanz, R., Zalewski J. Pattern-Based Control Systems Engineering. IEEE Control Systems, Vol. 23, No. 3 (2003) Cuellar-Vazquez, E. Rodríguez-Gomez, G., Muñoz-Arteaga, J.: Software Patterns Identification to Implement Dynamic Simulation Systems. Proceedings of 2004 Summer Computer Simulation Conference (SCSC'04). San Jose, California, USA. (2004) 9. Hasdorff, L.: Gradient Optimization and Nonlinear Control. A Wiley-Interscience publication (1976)

Programación orientada a

Programación orientada a Programación orientada a objetos con Java Pedro Corcuera Dpto. Matemática Aplicada y Ciencias de la Computación Universidad de Cantabria corcuerp@unican.es Objetivos Presentar los conceptos de la programación

Más detalles

Diseño de la Interación Humano-Computadora

Diseño de la Interación Humano-Computadora Diseño de la Interación Humano-Computadora Dr. Jaime Muñoz Arteaga Centro de Ciencias Básicas Universidad Autónoma de Aguascalientes Aguascalientes, México jmauaa@gmail.com Día virtual sobre Interacción

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 COMPONENTES DE SOFTWARE *

DISEÑO DE COMPONENTES DE SOFTWARE * DISEÑO DE COMPONENTES DE SOFTWARE * NOTAS DEL CURSO Ingeniería de Software I DRA. MARIA DEL PILAR GÓMEZ GIL INAOEP * Resumen del capítulo 10 de libro de [Pressman 2010] V:18-11-2008 (c) P. Gomez-Gil, INAOE.

Más detalles

Una Arquitectura para una Herramienta de Patrones de Diseño

Una Arquitectura para una Herramienta de Patrones de Diseño Una Arquitectura para una Herramienta de Patrones de Diseño José Sáez Martínez 1, Jesús García Molina, Pedro J. Jiménez García Departamento de Informática, Lenguajes y Sistemas. Campus de Espinardo C.P.

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

Programación del curso

Programación del curso Ingeniería Software 4º Físicas Programación del curso José M. Drake (drakej@unican.es) Patricia López Martínez ( lopezpa@unican.es ) Computadores y Tiempo Real Santander, 2008 Ingeniería de Programación

Más detalles

Resumen. Palabras clave: diseño, reuso, arquitectura, patrones, taller. Introducción

Resumen. Palabras clave: diseño, reuso, arquitectura, patrones, taller. Introducción TALLER: MECANISMOS DE REUSO EN OO ARQUITECTURA, PATRONES Y FRAMEWORKS Urciuolo Adriana, Sandoval Sandra Universidad Nacional de la Patagonia San Juan Bosco Sede Ushuaia, Darwin y Canga, (9410) Ushuaia

Más detalles

Tema 13. Metodologías en el desarrollo de Sistemas de Software. Prof. Oscar Adolfo Vallejos

Tema 13. Metodologías en el desarrollo de Sistemas de Software. Prof. Oscar Adolfo Vallejos Tema 13 Metodologías en el desarrollo de Sistemas de Software Prof. Oscar Adolfo Vallejos Desarrollo de Sistemas de Software Objetivo Conceptos en el contexto más amplio de Software e Ingeniería de Software

Más detalles

DISEÑO DE APLICACIONES ORIENTADAS A OBJETOS

DISEÑO DE APLICACIONES ORIENTADAS A OBJETOS ASIGNATURA DE GRADO: DISEÑO DE APLICACIONES ORIENTADAS A OBJETOS Curso 2015/2016 (Código:71022011) 1.PRESENTACIÓN DE LA ASIGNATURA El objetivo de esta guía es orientar al alumno en el estudio de la asignatura.

Más detalles

SÍNTESIS DE SISTEMAS DE CONTROL DIFUSOS MEDIANTE HERRAMIENTAS DE DISEÑO DSP SOBRE FPGAS 1

SÍNTESIS DE SISTEMAS DE CONTROL DIFUSOS MEDIANTE HERRAMIENTAS DE DISEÑO DSP SOBRE FPGAS 1 SÍNTESIS DE SISTEMAS DE CONTROL DIFUSOS MEDIANTE HERRAMIENTAS DE DISEÑO DSP SOBRE FPGAS 1 S. Sánchez-Solano 1, M. Brox 2, A. Cabrera 3 1 Instituto de Microelectrónica de Sevilla (CNM-CSIC). Sevilla, España.

Más detalles

Inicio de MO Inicio de MD Inicio de MF. Documento de Análisis. Base de datos de las especificaciones OMT. MO, MD, MF Detallados. Librería de Clases

Inicio de MO Inicio de MD Inicio de MF. Documento de Análisis. Base de datos de las especificaciones OMT. MO, MD, MF Detallados. Librería de Clases 3.2 TÉCNICA DE MODELADO DE OBJETOS (OMT) (JAMES RUMBAUGH). 3.2.1 Introducción. En este documento se trata tanto el OMT-1 como el OMT-2, el primero contenido en el Libro Modelado y Diseño Orientado (Metodología

Más detalles

Ingeniería del Software. Diseño. Diseño en el PUD. Diseño de software. Patrones arquitectónicos. Diseño Orientado a Objetos en UML

Ingeniería del Software. Diseño. Diseño en el PUD. Diseño de software. Patrones arquitectónicos. Diseño Orientado a Objetos en UML Diseño Diseño en el PUD Diseño de software Patrones arquitectónicos Diseño Orientado a Objetos en UML 1 Iteración en PUD Planificación de la Iteración Captura de requisitos: Modelo de casos de uso, Modelo

Más detalles

Patrones de diseño. Programación III.I.T.I. de Sistemas. Contenidos. Información sobre patrones de diseño. Motivación.

Patrones de diseño. Programación III.I.T.I. de Sistemas. Contenidos. Información sobre patrones de diseño. Motivación. Departamento de Informática Universidad de Valladolid Programación III.I.T.I. de Sistemas Patrones 1 Contenidos Programación III.I.T.I. de Sistemas Patrones de diseño Patrones de diseño Introducción Conceptos

Más detalles

SERVICIOS: EXPLORACIONES EN SOA y WEB.

SERVICIOS: EXPLORACIONES EN SOA y WEB. SERVICIOS: EXPLORACIONES EN SOA y WEB. López, G. 1 ; Jeder, I 1.; Echeverría, A 1.; Grossi, M.D. 2 ; Servetto, A 2.; Fierro, P. (PhD.) 3 1. Laboratorio de Informática de Gestión - Facultad de Ingeniería.

Más detalles

Ingeniería de Software con UML Unified Modeling Language Lenguaje Unificado de Modelado

Ingeniería de Software con UML Unified Modeling Language Lenguaje Unificado de Modelado Ingeniería de Software con UML Unified Modeling Language Lenguaje Unificado de Modelado 1. Introducción Unified Modeling Languaje Fuente: Booch- Jacobson-Rumbauch y diversos sitios Internet, entre otros:

Más detalles

TIPOS DE PATRONES. PATRONES DE DISEÑO: Las soluciones probadas para el diseño de software. En estas nos vamos a centrar.

TIPOS DE PATRONES. PATRONES DE DISEÑO: Las soluciones probadas para el diseño de software. En estas nos vamos a centrar. TIPOS DE PATRONES Hoy, podemos encontrar literalmente miles de patrones definidos. Resulta imposible para un programador conocerlos todos, ni mucho menos probarlos o valorarlos. Así que necesitamos una

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

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

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

Estilos y Patrones Arquitectónicos

Estilos y Patrones Arquitectónicos Lic. Ariel Trellini Estilos y Patrones Arquitectónicos Llamando a las cosas por su nombre Departamento de Ciencias e Ingeniería de la Computación Universidad Nacional del Sur Arquitectura y Diseño de Sistemas

Más detalles

Temas de investigación y desarrollo

Temas de investigación y desarrollo Componentes de Dominio para Sistemas de Información Ambiental Urciuolo Adriana, Iturraspe Rodolfo, Moyano Ezequiel, Rosanigo Beatriz, Parson Ariel, Villarreal Martín urciuolo@tdfuego.com, iturraspe@tdfuego.com,

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

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

MODELADO DE OBJETOS. {brossi,pbritos,rgm}@itba.edu.ar

MODELADO DE OBJETOS. {brossi,pbritos,rgm}@itba.edu.ar MODELADO DE OBJETOS Bibiana ROSSI, Paola BRITOS y Ramón GARCIA MARTINEZ, CAPIS - Centro de Actualizacion Permanente en Ingeniería de Software Escuela de Posgrado. ITBA. 0. INTRODUCCION {brossi,pbritos,rgm}@itba.edu.ar

Más detalles

Evolución histórica 60 -. Metodologías

Evolución histórica 60 -. Metodologías TEMA 1 INTRODUCCIÓN Historia Evolución de las técnicas de programación Qué es orientado a objetos? Factores cruciales que miden la calidad del software Externos Internos La familia Orientada a objetos

Más detalles

Programación generativa

Programación generativa ujuarez@itorizaba.edu.mx Instituto Tecnológico de Orizaba 15 de octubre de 2010 Agenda 1 Introducción Panorama general Problemática 2 Implementación generativa Bibliotecas activas Bibliotecas activas:

Más detalles

Análisis del Sistema de Información

Análisis del Sistema de Información Análisis del Sistema de Información ÍNDICE DESCRIPCIÓN Y OBJETIVOS... 2 ACTIVIDAD ASI 1: DEFINICIÓN DEL SISTEMA... 6 Tarea ASI 1.1: Determinación del Alcance del Sistema... 6 Tarea ASI 1.2: Identificación

Más detalles

Capítulo 2 : Marco Teórico

Capítulo 2 : Marco Teórico Capítulo 2 : Marco Teórico En este capítulo se darán a conocer algunos conceptos básicos del contexto de este trabajo, con la finalidad de situar al problema dentro de un conjunto de conocimientos. Dentro

Más detalles

Diseño Basado en Componentes. Curso 2008/09

Diseño Basado en Componentes. Curso 2008/09 Tabla de contenidos Diseño Basado en Componentes Técnicas relacionadas con Reutilización Introducción: por qué reutilizar?, qué reutilizar? Técnicas: Ingeniería de dominios Líneas de productos (Product-lines)

Más detalles

Enseñando y Aprendiendo Programación Orientada a Objetos en los primeros cursos de Programación: la experiencia en la Universidad ORT Uruguay

Enseñando y Aprendiendo Programación Orientada a Objetos en los primeros cursos de Programación: la experiencia en la Universidad ORT Uruguay Enseñando y Aprendiendo Programación Orientada a Objetos en los primeros cursos de Programación: la experiencia en la Universidad ORT Uruguay Resumen Ing. Inés Kereki 1 Universidad ORT Uruguay e-mail:

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

UTgeNes - Framework para Implementación y Estudio de Algoritmos

UTgeNes - Framework para Implementación y Estudio de Algoritmos UTgeNes - Framework para Implementación y Estudio de Algoritmos Genéticos Abstract UTgeNes es un framework para la implementación y estudio de algoritmos genéticos propuesto para la realización de trabajos

Más detalles

Brindar al alumno un marco teórico y práctico para el desarrollo de software bajo estándares de calidad.

Brindar al alumno un marco teórico y práctico para el desarrollo de software bajo estándares de calidad. Universidad Católica San Pablo Facultad de Ingeniería y Computación Programa Profesional de Ciencia de la Computación SILABO CS290T. Ingeniería de Software I (Obligatorio) 2012-2 1. DATOS GENERALES 1.1

Más detalles

Diseño, Implementación y Uso de un Framework para el Desarrollo de Sistemas de Inferencia Borrosos Flexibles

Diseño, Implementación y Uso de un Framework para el Desarrollo de Sistemas de Inferencia Borrosos Flexibles Diseño, Implementación y Uso de un Framework para el Desarrollo de Sistemas de Inferencia Borrosos Flexibles Dante Barbero 1. Irene Martini 1. Carlos Discoli 1. Investigador CONICET. 1 Instituto de Investigaciones

Más detalles

Evolución de Plantillas Genéricas para la descripción de Casos de Uso a Plantillas Genéricas para Análisis y Diseño

Evolución de Plantillas Genéricas para la descripción de Casos de Uso a Plantillas Genéricas para Análisis y Diseño Evolución de Plantillas Genéricas para la descripción de Casos de Uso a Plantillas Genéricas para Análisis y Diseño Ing. Marcela Daniele AC. Daniel Romero Dpto. de Computación. Facultad: Ciencias Exactas,

Más detalles

LABORATORIOS VIRTUALES REMOTOS USANDO EASY JAVA SIMULATIONS Y SIMULINK

LABORATORIOS VIRTUALES REMOTOS USANDO EASY JAVA SIMULATIONS Y SIMULINK LABORATORIOS VIRTUALES REMOTOS USANDO EASY JAVA SIMULATIONS Y SIMULINK G. Farias 1, F. Esquembre, J. Sanchez 1, S. Dormido 1 1 Departamento de Informática y Automática, UNED. Ciudad Universitaria, C.P.

Más detalles

Proceso de desarrollo de aplicaciones software.

Proceso de desarrollo de aplicaciones software. Programación orientada a objetos: Lenguages, Metodologías y Herramientas Master de Computación Proceso de desarrollo de aplicaciones software José M. Drake Computadores y Tiempo Real Santander, 2008 Ingeniería

Más detalles

CICLO SUPERIOR DESARROLLO DE APLICACIONES MULTIPLATAFORMA

CICLO SUPERIOR DESARROLLO DE APLICACIONES MULTIPLATAFORMA CICLO SUPERIOR DESARROLLO DE APLICACIONES MULTIPLATAFORMA PROGRAMACIÓN DIDACTICA ANUAL Parte específica del módulo: 0485. Programación Departamento de Familia Profesional de Informática Curso: 2014-15

Más detalles

ELEMENTOS DE BASES DE DATOS. Bases de Datos + Orientación a Objetos. Clase 23:

ELEMENTOS DE BASES DE DATOS. Bases de Datos + Orientación a Objetos. Clase 23: Dpto. Ciencias e Ingeniería de la Computación Universidad Nacional del Sur ELEMENTOS DE BASES DE DATOS Segundo Cuatrimestre 2015 Clase 23: Bases de Datos + Orientación a Objetos Mg. María Mercedes Vitturini

Más detalles

Metodología de Ingeniería del Software para el desarrollo y mantenimiento de sistemas de información del Gobierno de Extremadura

Metodología de Ingeniería del Software para el desarrollo y mantenimiento de sistemas de información del Gobierno de Extremadura Metodología de Ingeniería del Software para el desarrollo y mantenimiento de sistemas de información del Gobierno de Extremadura Página 1 de 23 Índice del Documento 1.- Introducción... Página 4 2.- Propuesta

Más detalles

Sistemas de Información II. Introducción al Proceso Unificado de Desarrollo de Software. Autor: Ing. Silverio Bonilla 1

Sistemas de Información II. Introducción al Proceso Unificado de Desarrollo de Software. Autor: Ing. Silverio Bonilla 1 Introducción al Proceso Unificado de Desarrollo de Software Autor: Ing. Silverio Bonilla 1 James Rumbaugh et al. Concepto de Método Una metodología de ingeniería del software es un proceso para producir

Más detalles

UNIVERSIDAD CATOLICA DE COLOMBIA FACULTAD DE INGENIERIA DE SISTEMAS

UNIVERSIDAD CATOLICA DE COLOMBIA FACULTAD DE INGENIERIA DE SISTEMAS UNIVERSIDAD CATOLICA DE COLOMBIA FACULTAD DE INGENIERIA DE SISTEMAS CURSO: JAVA BASICO PROFESOR: EMERSON CASTAÑEDA SANABRIA TEMA: Programación Orientada a Objetos OBJETIVOS: Familiarizarse con la Programación

Más detalles

Modelos de desarrollo de software. septiembre de 2007 1

Modelos de desarrollo de software. septiembre de 2007 1 Modelos de desarrollo de software septiembre de 2007 1 Referencias básicas Ingeniería de software. Un enfoque práctico. Pressman, R. Quinta edición. Mc. Graw Hill 2002 Ingeniería de software. Sommerville,

Más detalles

Ingeniería de software orientado a agentes

Ingeniería de software orientado a agentes Ingeniería de software orientado a agentes ECSDI LSI-FIB-UPC cbea Curso 2014/2015 ECSDI (LSI-FIB-UPC cbea) Ingeniería de software orientado a agentes Curso 2014/2015 1 / 52 Índice 1 Ingeniería de software

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

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

Ingeniería de Software

Ingeniería de Software Ingeniería de Software MSDN Ingeniería de Software...1 Ingeniería del Software_/_ Ingeniería y Programación...1 Análisis de Requerimientos...2 Especificación...3 Diseño...4 Desarrollo en Equipo...5 Mantenimiento...6

Más detalles

INTERPRETACIÓN DINÁMICA DE MÚLTIPLES LENGUAJES DE DOMINIO ESPECÍFICO

INTERPRETACIÓN DINÁMICA DE MÚLTIPLES LENGUAJES DE DOMINIO ESPECÍFICO INTERPRETACIÓN DINÁMICA DE MÚLTIPLES LENGUAJES DE DOMINIO ESPECÍFICO Héctor A. FLOREZ FERNANDEZ Facultad Tecnológica, Universidad Distrital Francisco Jose de Caldas haflorezf@udistrital.edu.co Bogotá,

Más detalles

Seminario en CD Bases para Java

Seminario en CD Bases para Java G: Suplementos Hay varios suplementos para este libro, incluyendo el seminario grabado en el CD que se encuentra en la parte trasera del libro y otros artículos, seminarios y servicios disponibles a través

Más detalles

Programación Avanzada Ingeniería Civil en Computación

Programación Avanzada Ingeniería Civil en Computación Interfaces Gráficas de Usuario usando Swing Prof. Federico Meza Programación Avanzada Ingeniería Civil en Computación Junio 2007 Programación Avanzada (ICC) Swing GUI s Junio 2007 1 / 13 GUI - Graphical

Más detalles

CUALIFICACIÓN PROGRAMACIÓN DE SISTEMAS INFORMÁTICOS PROFESIONAL. Nivel 3. Versión 6. Actualización

CUALIFICACIÓN PROGRAMACIÓN DE SISTEMAS INFORMÁTICOS PROFESIONAL. Nivel 3. Versión 6. Actualización Página 1 de 19 CUALIFICACIÓN PROGRAMACIÓN DE SISTEMAS INFORMÁTICOS PROFESIONAL Familia Profesional Informática y Comunicaciones Nivel 3 Código IFC303_3 Versión 6 Situación Contraste externo Actualización

Más detalles

6.6 DISEÑO. [Proceso]

6.6 DISEÑO. [Proceso] 6.6 DISEÑO. [Proceso] Durante un Ciclo de Desarrollo iterativo es posible pasar a la Fase de Diseño una vez completada la documentación de la fase de Análisis. Durante esta etapa se desarrolla una solución

Más detalles

COMPONENTES DE SERVICIOS WEB A PARTIR DE SERVICIOS EN UDDI: VERSIÓN EXTENDIDA. Instituto Tecnológico de Nogales (ITN)

COMPONENTES DE SERVICIOS WEB A PARTIR DE SERVICIOS EN UDDI: VERSIÓN EXTENDIDA. Instituto Tecnológico de Nogales (ITN) COMPONENTES DE SERVICIOS WEB A PARTIR DE SERVICIOS EN UDDI: VERSIÓN EXTENDIDA 1 Ismael Armando Zúñiga Félix y 2 Luicyana Pérez Figueroa 1,2 División de Estudios de Posgrado e Investigación (DEPI), Instituto

Más detalles

Diseño de Aplicaciones para SAP IS-H*med Usando Patrones de Diseño de Software. Caso de Estudio: Just Click! Sergio Andrés Pico Rojas, Ingeniero

Diseño de Aplicaciones para SAP IS-H*med Usando Patrones de Diseño de Software. Caso de Estudio: Just Click! Sergio Andrés Pico Rojas, Ingeniero Diseño de Aplicaciones para SAP IS-H*med Usando Patrones de Diseño de Software. Caso de Estudio: Just Click! Sergio Andrés Pico Rojas, Ingeniero Informático. Diana Teresa Gómez Forero, Ingeniera de Sistemas,

Más detalles

Metodologías para generación de Sistemas Orientados a Objetos

Metodologías para generación de Sistemas Orientados a Objetos Metodologías para generación de Sistemas Orientados a Objetos Análisis y Diseño (Tecnologías) Orientado a Objetos Dr. Leopoldo Altamirano Robles 22 septiembre, 2003 Alicia Morales Reyes Alma Rosa Rugerio

Más detalles

Diagrama de Clases. Diagrama de Clases

Diagrama de Clases. Diagrama de Clases Diagrama de Clases 1 Diagrama de Clases El propósito de este diagrama es el de representar los objetos fundamentales del sistema, es decir los que percibe el usuario y con los que espera tratar para completar

Más detalles

MOTOR DE TRANSFORMACIÓN DE ATRIBUTOS PARA UN PROVEEDOR DE IDENTIDAD

MOTOR DE TRANSFORMACIÓN DE ATRIBUTOS PARA UN PROVEEDOR DE IDENTIDAD MOTOR DE TRANSFORMACIÓN DE ATRIBUTOS PARA UN PROVEEDOR DE IDENTIDAD Los autores fueron excluidos del documento por reglas del comité organizador PALABRAS CLAVES Motor de transformación de atributos, proveedor

Más detalles

Un modelo de proceso es una representación abstracta de un proceso. Presenta una descripción de un proceso desde una perspectiva particular.

Un modelo de proceso es una representación abstracta de un proceso. Presenta una descripción de un proceso desde una perspectiva particular. El proceso software Un conjunto estructurado de actividades y resultados asociados que conducen a la creación de un producto de software Especificación: Definir la funcionalidad y las restricciones en

Más detalles

Arquitecturas de Software

Arquitecturas de Software Arquitecturas de Software Ingeniería del Universidad Rey Juan Carlos César Javier Acuña cjacunia@escet.urjc.es Índice Introducción Motivación Definición Pipes and Filters Tipos abstractos de datos y OO

Más detalles

Sistemas, modelos y simulación

Sistemas, modelos y simulación Sistemas, modelos y simulación Introducción I Un SISTEMA es una colección de entidades (seres o máquinas) que actúan y se relacionan hacia un fin lógico. Ejemplo: Un banco con: Cajeros [comerciales] [cajas

Más detalles

ARQUITECTURA DE SOFTWARE

ARQUITECTURA DE SOFTWARE ARQUITECTURA DE SOFTWARE Introducción n a la Arquitectura de Software (sistemas) Requisitos de calidad Documento de Diseño RTFS-Método del control de diseño Introducción n al Diseño o de la interfaz Humano/Computador

Más detalles

Trabajo Práctico Introductorio Matlab, Simulink y Métodos de Integración Numérica

Trabajo Práctico Introductorio Matlab, Simulink y Métodos de Integración Numérica Trabajo Práctico Introductorio Matlab, Simulink y Métodos de Integración Numérica Control I Dinámica de los Sistemas Físicos 1. Introducción Los sitemas continuos habitualmente se representan mediante

Más detalles

Competencias generales vinculadas a los distintos módulos Módulo de Formación Básica

Competencias generales vinculadas a los distintos módulos Módulo de Formación Básica Competencias generales vinculadas a los distintos módulos Módulo de Formación Básica C1. Capacidad para la resolución de los problemas matemáticos que puedan plantearse en la ingeniería. Aptitud para aplicar

Más detalles

ASIGNATURA: Ingeniería de software II DOCENTE: Licda.Carla Milagro López Vásquez RESPONSABLE: Rodolfo Alberto Palma Ramos CARRERA:

ASIGNATURA: Ingeniería de software II DOCENTE: Licda.Carla Milagro López Vásquez RESPONSABLE: Rodolfo Alberto Palma Ramos CARRERA: UNIDAD 04: PATRONES DE DISEÑO WEB. ASIGNATURA: Ingeniería de software II DOCENTE: Licda.Carla Milagro López Vásquez RESPONSABLE: Rodolfo Alberto Palma Ramos CARRERA: Técnico en Ingeniería en Sistemas y

Más detalles

DESARROLLO DE APLICACIONES CON TECNOLOGÍAS WEB PROFESIONAL

DESARROLLO DE APLICACIONES CON TECNOLOGÍAS WEB PROFESIONAL Página 1 de 21 CUALIFICACIÓN DESARROLLO DE APLICACIONES CON TECNOLOGÍAS WEB PROFESIONAL Familia Profesional Informática y Comunicaciones Nivel 3 Código IFC154_3 Versión 5 Situación RD 1087/2005 Actualización

Más detalles

Universidad acional Experimental Del Táchira Decanato de Docencia Departamento de Ingeniería en Informática

Universidad acional Experimental Del Táchira Decanato de Docencia Departamento de Ingeniería en Informática Universidad acional Experimental Del Táchira Decanato de Docencia Departamento de Ingeniería en Informática Metodología Evolutiva Incremental Mediante Prototipo y Técnicas Orientada a Objeto (MEI/P-OO)

Más detalles

Programación Orientada a Objetos Profr. Pedro Pablo Mayorga

Programación Orientada a Objetos Profr. Pedro Pablo Mayorga Actividad 2 Unidad 1 Ciclo de vida del software y Diseño Orientado a Objetos 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

Más detalles

http://www.cem.itesm.mx/extension/ms

http://www.cem.itesm.mx/extension/ms Diplomado Programación orientada a objetos con Java y UML Las empresas necesitan contar con sistemas de información modernos, ágiles y de calidad para alcanzar sus objetivos y ser cada vez más competitivos

Más detalles

UNIVERSIDAD AUTÓNOMA DE CHIAPAS LICENCIATURA EN SISTEMAS COMPUTACIONALES

UNIVERSIDAD AUTÓNOMA DE CHIAPAS LICENCIATURA EN SISTEMAS COMPUTACIONALES UNIVERSIDAD AUTÓNOMA DE CHIAPAS LICENCIATURA EN SISTEMAS COMPUTACIONALES Área de formación: Disciplinaria. Unidad académica: Desarrollo de Sistemas de información. Ubicación: Séptimo semestre. Clave: 2096

Más detalles

Curso de Java POO: Programación orientada a objetos

Curso de Java POO: Programación orientada a objetos Curso de Java POO: Programación orientada a objetos Luis Guerra Velasco Curso INEM 02830. Programación en Java Marzo 2010 Índice 1 Introducción a la POO 2 Herencia y polimorfismo 3 Empaquetado de proyectos

Más detalles

Análisis de Requisitos

Análisis de Requisitos Análisis de Requisitos Los requisitos determinan lo que hará el sistema y definen restricciones sobre su operación e implementación. El análisis de requisitos es el proceso del estudio de las necesidades

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

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

UNIVERSIDAD AUTÓNOMA DE YUCATÁN FACULTAD DE MATEMÁTICAS MISIÓN

UNIVERSIDAD AUTÓNOMA DE YUCATÁN FACULTAD DE MATEMÁTICAS MISIÓN UNIVERSIDAD AUTÓNOMA DE YUCATÁN FACULTAD DE MATEMÁTICAS MISIÓN Formar profesionales altamente capacitados, desarrollar investigación y realizar actividades de extensión, en Matemáticas y Computación, así

Más detalles

Aplicaciones Web que Permitan Administrar Portafolios para Gestionar el Aprendizaje

Aplicaciones Web que Permitan Administrar Portafolios para Gestionar el Aprendizaje Escuela Universitaria de Ingeniería Industrial, Informática y Sistemas Área de Computación e Informática Universidad Tarapacá Arica Aplicaciones Web que Permitan Administrar Portafolios para Gestionar

Más detalles

GUÍA DOCENTE DE LA ASIGNATURA

GUÍA DOCENTE DE LA ASIGNATURA Grado en Ingeniería Civil GUÍA DOCENTE DE LA ASIGNATURA G331 - Informática y Programación Curso Académico 2013-2014 1 1. DATOS IDENTIFICATIVOS DE LA ASIGNATURA Título/s Centro Módulo / materia Código y

Más detalles

Ingeniería de Software

Ingeniería de Software Ingeniería de Software Agustín J. González ElO329: Diseño y Programación Orientados a Objeto Adaptado de: http://www.dsic.upv.es/~uml http://inst.eecs.berkeley.edu/~cs169/ entre otras fuentes. Definiciones

Más detalles

Objetivo del Curso Aspectos Claves O-O. Técnicas para trabajo en equipo Asignación 1

Objetivo del Curso Aspectos Claves O-O. Técnicas para trabajo en equipo Asignación 1 Dpto. de Computación y T.I. Taller de Ingeniería de Software http://ldc.usb.ve/~jtcadenas/ci3715/ Sección 1 : Prof. Alfonso Reinoza jareinozacg@gmail.com Sección 2: José Tomás Cadenas jtcadenas@ldc.usb.ve

Más detalles

DEPARTAMENTO: Ingeniería e Investigaciones Tecnológicas 1114. ASIGNATURA: BASE DE DATOS Año 2011

DEPARTAMENTO: Ingeniería e Investigaciones Tecnológicas 1114. ASIGNATURA: BASE DE DATOS Año 2011 DEPARTAMENTO: Ingeniería e Investigaciones Tecnológicas Código Asignatura 1114 ASIGNATURA: BASE DE DATOS Año 2011 FUNDAMENTACIÓN Base de datos contribuye a la formación del Ingeniero en Informática por

Más detalles

FAIA: Framework para un Agente de software que resuelve problemas de Inteligencia Artificial

FAIA: Framework para un Agente de software que resuelve problemas de Inteligencia Artificial FAIA: Framework para un Agente de software que resuelve problemas de Inteligencia Artificial Jorge Marcelo Roa CIDISI - Universidad Tecnológica Nacional, Facultad Regional Santa Fe Abstract Este trabajo

Más detalles

Ingeniería del Software. Pruebas. Pruebas en el PUD. Las pruebas del software. Tipos de prueba Estrategias de prueba

Ingeniería del Software. Pruebas. Pruebas en el PUD. Las pruebas del software. Tipos de prueba Estrategias de prueba Pruebas Pruebas en el PUD Las pruebas del software Diseño de casos de prueba Tipos de prueba Estrategias de prueba 1 2 Iteración en PUD Planificación de la Iteración Captura de requisitos: Modelo de casos

Más detalles

IDENTIFICACION DE CONGLOMERADOS (CLUSTERS) PARA IMPLEMENTAR OBJETOS DE SOFTWARE

IDENTIFICACION DE CONGLOMERADOS (CLUSTERS) PARA IMPLEMENTAR OBJETOS DE SOFTWARE 1 IDENTIFICACION DE CONGLOMERADOS (CLUSTERS) PARA IMPLEMENTAR OBJETOS DE SOFTWARE M. S. Manuel Prieto de Hoyos Profesor de tiempo completo de las carreras de Informática Facultad de Ingeniería y Arquitectura

Más detalles

SISTEMAS DE GESTIÓN DE BASE DE DATOS SGBD / DBMS

SISTEMAS DE GESTIÓN DE BASE DE DATOS SGBD / DBMS Universidad de Carabobo Facultad Experimental de Ciencias y Tecnología Departamento de Computación Unidad Académica Base de Datos SISTEMAS DE GESTIÓN DE BASE DE DATOS SGBD / DBMS Integrantes: Fidel Gil

Más detalles

Denominación de la materia. N créditos ECTS = 36 carácter = OBLIGATORIO SISTEMAS DE SOFTWARE. Ubicación dentro del plan de estudios y duración

Denominación de la materia. N créditos ECTS = 36 carácter = OBLIGATORIO SISTEMAS DE SOFTWARE. Ubicación dentro del plan de estudios y duración Denominación de la materia SISTEMAS DE SOFTWARE N créditos ECTS = 36 carácter = OBLIGATORIO Ubicación dentro del plan de estudios y duración La materia Sistemas de Software está formada por 6 asignaturas

Más detalles

GESTIÓN DE AJUSTES DE RELÉS EN EL SOFTWARE STATION WARE

GESTIÓN DE AJUSTES DE RELÉS EN EL SOFTWARE STATION WARE JORNADAS TÉCNICAS ISA - 22 GESTIÓN DE AJUSTES DE RELÉS EN EL SOFTWARE STATION WARE Juan Carlos Durán Espinoza Analista de protecciones Departamento de operaciones Red de Energía del Perú jcduran@rep.com.pe

Más detalles

200623 - SPDE - Simulación para la Toma de Decisiones Empresariales

200623 - SPDE - Simulación para la Toma de Decisiones Empresariales Unidad responsable: Unidad que imparte: Curso: Titulación: Créditos ECTS: 2015 200 - FME - Facultad de Matemáticas y Estadística 715 - EIO - Departamento de Estadística e Investigación Operativa MÁSTER

Más detalles

La importancia del desarrollo para el buen diseño del software

La importancia del desarrollo para el buen diseño del software La importancia del desarrollo para el buen diseño del software RESUMEN N L González Morales. 1 En este ensayo se examinan los temas vistos en clase que son Desarrollo de Orientado a Objetos y Arquitectura

Más detalles

WEBBER: USO DE COMPONENTES PARA LA ARMONIZACIÓN DE CONTENIDOS Y METADATOS

WEBBER: USO DE COMPONENTES PARA LA ARMONIZACIÓN DE CONTENIDOS Y METADATOS WEBBER: USO DE COMPONENTES PARA LA ARMONIZACIÓN DE CONTENIDOS Y METADATOS Autores: Introducción Diego R. López RedIRIS diego.lopez@rediris.es El trabajo necesario para mantener un servidor de información

Más detalles

implantación Fig. 1. Ciclo de vida tradicional

implantación Fig. 1. Ciclo de vida tradicional 1. Ciclo de vida tradicional de los sistemas de software En ingeniería de software, la descripción tradicional del ciclo de vida del software está basada en un modelo conocido como el modelo de cascada

Más detalles

Anexo 4 Documento de Arquitectura

Anexo 4 Documento de Arquitectura Anexo 4 Documento de Arquitectura 1. Introducción El anexo se describe el propósito y alcance referentes al proyecto correspondiente al documento de arquitectura. 2. Propósito El propósito del anexo de

Más detalles

Universidad del Azuay

Universidad del Azuay Universidad del Azuay Facultad de Ciencias de la Administración Escuela de Ingeniería de Sistemas Trabajo de Graduación previo a la obtención del Título de Ingeniero de Sistemas Tema: Patrones de diseño

Más detalles

Documentando la arquitectura de software Principios básicos por Omar Gómez

Documentando la arquitectura de software Principios básicos por Omar Gómez Documentando la arquitectura de software Principios básicos por Omar Gómez En la actualidad, uno de los temas candentes que se habla dentro de la comunidad de desarrollo de software es el referente a las

Más detalles

Nombre de la asignatura: Proceso Personal para el Desarrollo de - --------------------------------------------------Software

Nombre de la asignatura: Proceso Personal para el Desarrollo de - --------------------------------------------------Software 1.- DATOS DE LA ASIGNATURA Nombre de la asignatura: Proceso Personal para el Desarrollo de - --------------------------------------------------Software Carrera: Clave de la asignatura: Ingeniería en Sistemas

Más detalles

Herramientas de simulación de código abierto para la mejora del aprendizaje en Ingeniería Eléctrica

Herramientas de simulación de código abierto para la mejora del aprendizaje en Ingeniería Eléctrica Herramientas de simulación de código abierto para la mejora del aprendizaje en Ingeniería Eléctrica José A. Domínguez (jadona@unizar.es), José Luis Bernal (jlbernal@unizar.es), Eva-Sara Carod (escarod@unizar.es),

Más detalles

CUALIFICACIÓN PROGRAMACIÓN DE SISTEMAS INFORMÁTICOS PROFESIONAL. Nivel 3. Versión 5 Situación RD 1201/2007 Actualización

CUALIFICACIÓN PROGRAMACIÓN DE SISTEMAS INFORMÁTICOS PROFESIONAL. Nivel 3. Versión 5 Situación RD 1201/2007 Actualización Página 1 de 17 CUALIFICACIÓN PROGRAMACIÓN DE SISTEMAS INFORMÁTICOS PROFESIONAL Familia Profesional Informática y Comunicaciones Nivel 3 Código IFC303_3 Versión 5 Situación RD 1201/2007 Actualización Competencia

Más detalles

InAge: Una Herramienta para el Desarrollo y Simulación de Sociedades de Agentes Reactivos

InAge: Una Herramienta para el Desarrollo y Simulación de Sociedades de Agentes Reactivos InAge: Una Herramienta para el Desarrollo y Simulación de Sociedades de Agentes Reactivos Sayde Alcántara Santiago 1, Carlos Alberto Fernández-y-Fernández 2, Ricardo Ruiz-Rodríguez 3 1 Instituto Nacional

Más detalles

INDICE Parte I. Conceptos 1. El estudio de los lenguajes de programación 2. Cuestiones de diseño de lenguajes

INDICE Parte I. Conceptos 1. El estudio de los lenguajes de programación 2. Cuestiones de diseño de lenguajes INDICE Parte I. Conceptos 1 1. El estudio de los lenguajes de programación 1.1. Por qué estudiar lenguajes de programación? 2 1.2. Breve historia de los lenguajes de programación 1.2.1. Desarrollo de los

Más detalles

Tema X: Introducción al Paradigma Orientado. a Objetos. Diana Marcela Sánchez Fúquene Ingeniería del Software de Gestión. www.kybele.urjc.

Tema X: Introducción al Paradigma Orientado. a Objetos. Diana Marcela Sánchez Fúquene Ingeniería del Software de Gestión. www.kybele.urjc. Tema X: Introducción al Paradigma Orientado Diana Marcela Sánchez Fúquene Ingeniería del Software de Gestión a Objetos Índice Introducción Elementos Clases y Objetos Mensajes y Métodos Atributos y Estado

Más detalles

CRC y un Taller. Ing. Diego Vallespir.

CRC y un Taller. Ing. Diego Vallespir. CRC y un Taller Ing. Diego Vallespir. Presentado para llamado a Grado 1 del Instituto de Computación - Facultad de Ingeniería Universidad de la República. 26 de Junio de 2002, Montevideo Uruguay. Resumen

Más detalles