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)

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

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

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

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

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

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

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

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

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

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

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

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

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

Software Reutilizable. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 18 Slide 1

Software Reutilizable. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 18 Slide 1 Software Reutilizable Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 18 Slide 1 Objetivos Para explicar los beneficios del software reutilizable y algunos de sus problemas Para discutir

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

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

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

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

DISEÑO DE UN CURSO INTERACTIVO Y ADAPTATIVO DE PROCESADORES DE LENGUAJES

DISEÑO DE UN CURSO INTERACTIVO Y ADAPTATIVO DE PROCESADORES DE LENGUAJES Alfonseca, M., Carro, R.M., Pulido, E. and Rodríguez, P. (2000): Diseño de un curso interactivo y adaptativo de procesadores de lenguajes. Proceedings of JENUI 2000: VI Jornadas sobre la Enseñanza Universitaria

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

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

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

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

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

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

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

Arquitectura de Aplicaciones

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

Más detalles

Mejores prácticas para el éxito de un sistema de información. Uno de los problemas de información dentro de las empresas es contar con datos

Mejores prácticas para el éxito de un sistema de información. Uno de los problemas de información dentro de las empresas es contar con datos ANEXO VI. Mejores prácticas para el éxito de un sistema de información Uno de los problemas de información dentro de las empresas es contar con datos importantes del negocio y que éstos estén aislados

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

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

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

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

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

En verde están algunas propuestas que entendemos que faltan y que ayudarían a mejorar las fichas sustancialmente.

En verde están algunas propuestas que entendemos que faltan y que ayudarían a mejorar las fichas sustancialmente. NOTAS ACLARATORIAS: Esta ficha de grado es la resultante de las dos reuniones celebradas (9 enero 2009 y 23 de febrero de 2009) por la subcomisión creada desde el MICIIN para debatir las fichas de Grado

Más detalles

Repetir el proceso para cada abstracción identificada hasta que el diseño este expresado en términos sencillos

Repetir el proceso para cada abstracción identificada hasta que el diseño este expresado en términos sencillos I. INTRODUCCIÓN El reciente aumento de aplicaciones en donde se utiliza la computadora ha sido posible debido a un hardware de bajo costo, por lo cual la demanda de software ha crecido de forma exponencial.

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

Capítulo 4. Prueba de Adaptabilidad

Capítulo 4. Prueba de Adaptabilidad Capítulo 4 Prueba de Adaptabilidad Capítulo 4. Prueba de Adaptabilidad Como se mencionó en el capítulo 2 actualmente no es válido que el software únicamente funcione bien y resuelva el problema que le

Más detalles

Preguntas y respuestas (rebatibles) sobre metodologías de desarrollo de software

Preguntas y respuestas (rebatibles) sobre metodologías de desarrollo de software Preguntas y respuestas (rebatibles) sobre metodologías de desarrollo de software Introducción Este documento recopila las preguntas, opiniones y respuestas que se produjeron en un pequeño curso sobre las

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

Arquitectura para análisis de información. Zombi es una arquitectura que proporciona de manera integrada los componentes

Arquitectura para análisis de información. Zombi es una arquitectura que proporciona de manera integrada los componentes Capítulo 4 Arquitectura para análisis de información propuesta 4.1 Arquitectura Zombi es una arquitectura que proporciona de manera integrada los componentes necesarios para el análisis de información

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

INTELIGENCIA DE NEGOCIOS CON SQL SERVER 2008 R2

INTELIGENCIA DE NEGOCIOS CON SQL SERVER 2008 R2 Programa de Capacitación y Certificación. INTELIGENCIA DE NEGOCIOS CON SQL SERVER 2008 R2 Contenido PERFIL DE UN ESPECIALISTA EN BASES DE DATOS.... 3 6231. MANTENIENDO UNA BASE DE DATOS DE SQL SERVER 2008

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

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

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

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

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

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

Carrera: SCM - 0414 3-2-8. Participantes. Representantes de la academia de sistemas y computación de los Institutos Tecnológicos.

Carrera: SCM - 0414 3-2-8. Participantes. Representantes de la academia de sistemas y computación de los Institutos Tecnológicos. 1.- DATOS DE LA ASIGNATURA Nombre de la asignatura: Carrera: Clave de la asignatura: Horas teoría-horas práctica-créditos Fundamentos de programación Ingeniería en Sistemas Computacionales SCM - 0414 3-2-8

Más detalles

INGENIERÍA DEL SOFTWARE I. Univ. Cantabria Fac. de Ciencias. Especificación de Requisitos. Práctica 2

INGENIERÍA DEL SOFTWARE I. Univ. Cantabria Fac. de Ciencias. Especificación de Requisitos. Práctica 2 INGENIERÍA DEL SOFTWARE I Práctica 2 Especificación de Requisitos Univ. Cantabria Fac. de Ciencias María Sierra y Patricia López Nociones de UML para Requisitos: Casos de Uso Caso de Uso Una descripción

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

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

SEDO: SOFTWARE EDUCATIVO DE MATEMÁTICA NUMÉRICA. Lic. Maikel León Espinosa. mle@uclv.edu.cu

SEDO: SOFTWARE EDUCATIVO DE MATEMÁTICA NUMÉRICA. Lic. Maikel León Espinosa. mle@uclv.edu.cu EDU082 Resumen SEDO: SOFTWARE EDUCATIVO DE MATEMÁTICA NUMÉRICA Lic. Maikel León Espinosa mle@uclv.edu.cu Departamento de Ciencia de la Computación Universidad Central Marta Abreu de Las Villas Carretera

Más detalles

Introducción CAPÍTULO 1

Introducción CAPÍTULO 1 Introducción CAPÍTULO 1 6 CAPÍTULO 1 - Introducción. En la actualidad hay una gran cantidad de repositorios en los que se puede alojar código fuente para poder compartirlo con los usuarios que visiten

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

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

CAPÍTULO 4 ANÁLISIS Y DISEÑO: e-commerce CONSTRUCTOR

CAPÍTULO 4 ANÁLISIS Y DISEÑO: e-commerce CONSTRUCTOR CAPÍTULO 4 ANÁLISIS Y DISEÑO: e-commerce CONSTRUCTOR En este capítulo se describe el análisis y diseño de un sistema, denominado e-commerce Constructor, el cual cumple con los siguientes objetivos: Fungir

Más detalles

Ciclo de vida del software

Ciclo de vida del software Ciclo de vida del software Definición El proceso que se sigue para construir, entregar y hacer evolucionar el software, desde la concepción de una idea hasta la entrega y el retiro del sistema. Confiable,

Más detalles

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

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

Más detalles

Ingeniería en Sistemas Computacionales

Ingeniería en Sistemas Computacionales 1.- DATOS DE LA ASIGNATURA Nombre de la asignatura: Carrera: Ingenieria de Ingeniería en Sistemas Computacionales Clave de la asignatura: ISC 12-01 Créditos 2-2-4 2.- PRESENTACIÓN Caracterización de la

Más detalles

Unidades temáticas de Ingeniería del Software. Fases del proceso de desarrollo 4ª edición (2008)

Unidades temáticas de Ingeniería del Software. Fases del proceso de desarrollo 4ª edición (2008) Unidades temáticas de Ingeniería del Software Fases del proceso de desarrollo 4ª edición (2008) Facultad de Informática organización del desarrollo El ciclo de vida del software abarca el proceso de desarrollo,

Más detalles

- Capacidad para dirigir las actividades objeto de los proyectos del ámbito de la informática de acuerdo con los conocimientos adquiridos.

- Capacidad para dirigir las actividades objeto de los proyectos del ámbito de la informática de acuerdo con los conocimientos adquiridos. Competencias generales - Capacidad para concebir, redactar, organizar, planificar, desarrollar y firmar proyectos en el ámbito de la ingeniería en informática que tengan por objeto, de acuerdo con los

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

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: material asignatura CS169,Software Engineering, UC Berkeley, entre otras fuentes. Definiciones

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

Estructura de clases. Estructura de Objetos. Arquitectura de módulos. Arquitectura de procesos

Estructura de clases. Estructura de Objetos. Arquitectura de módulos. Arquitectura de procesos 3.3 EL MÉTODO DE BOOCH. 3.3. Introducción. El método cuenta con una notación expresiva y bien definida que le permite al diseñador comunicar sus ideas y concentrarse en problemas más serios. Para la captura

Más detalles

Tecnologías de componentes y proceso de diseño de aplicaciones basado en componentes

Tecnologías de componentes y proceso de diseño de aplicaciones basado en componentes Tecnologías de y proceso de diseño de aplicaciones basado en Programación orientada a objetos : Lenguajes, Tecnologías y Herramientas Master de Computación Santander, 2009 Patricia López Grupo de Computadores

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

Técnicas Avanzadas de Testing Automático

Técnicas Avanzadas de Testing Automático Técnicas Avanzadas de Testing Automático Marcelo Frias ITBA - Buenos Aires, Argentina CONICET Preliminares: Calidad Validación y Verificación Especificaciones y V&V Análisis estático y dinámico Inspecciones

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

Capítulo 5. Cliente-Servidor.

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

Más detalles

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

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

SOFTWARE & SYSTEMS PROCESS ENGINEERING METAMODEL SPECIFICATION V.20 SPEM 2.0

SOFTWARE & SYSTEMS PROCESS ENGINEERING METAMODEL SPECIFICATION V.20 SPEM 2.0 SPEM 2.0 SOFTWARE & SYSTEMS PROCESS ENGINEERING METAMODEL SPECIFICATION V.20 SPEM 2.0 Metamodelo para modelos de procesos de ingeniería de software y de ingeniería de sistemas. La idea central de SPEM

Más detalles

Diseño y Arquitectura de Sistemas de Computación Código: 28

Diseño y Arquitectura de Sistemas de Computación Código: 28 Programa de la Asignatura: Diseño y Arquitectura de Sistemas de Computación Código: 28 Carrera: Ingeniería en Computación Plan: 2013 Carácter: Obligatoria Unidad Académica: Secretaría Académica Curso:

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

SIMULACIÓN EN TIEMPO REAL DE UNA ESTACION DE TRABAJO INDUSTRIAL ROBOTIZADA.

SIMULACIÓN EN TIEMPO REAL DE UNA ESTACION DE TRABAJO INDUSTRIAL ROBOTIZADA. SIMULACIÓN EN TIEMPO REAL DE UNA ESTACION DE TRABAJO INDUSTRIAL ROBOTIZADA. Mora Sánchez José Antonio, López Flores Miguel Eduardo, Bustillo Díaz Mario Benemérita Universidad Autónoma de Puebla 14 sur

Más detalles

Grado en Ingeniería Informática

Grado en Ingeniería Informática Grado en Ingeniería Informática Competencias Generales y trasversales De acuerdo con la resolución del Consejo de Universidades de fecha 3 de marzo de 2009, para obtener este título de grado en ingeniería

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

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

ELEMENTO I INTRODUCCION A LOS SISTEMAS DE BASES DE DATOS

ELEMENTO I INTRODUCCION A LOS SISTEMAS DE BASES DE DATOS Base de Datos ELEMENTO I INTRODUCCION A LOS SISTEMAS DE BASES DE DATOS Una base de datos es un conjunto de elementos de datos que se describe a sí mismo, con relaciones entre esos elementos, que presenta

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

Temario máster Java. Módulo 1 Fundamentals of the Java Programming Language. Duración: 40 horas

Temario máster Java. Módulo 1 Fundamentals of the Java Programming Language. Duración: 40 horas Temario máster Java Módulo 1 Fundamentals of the Java Programming Language. Duración: 40 horas En este módulo se explicarán las características del lenguaje programación Java. Unidad 1 Entendiendo la tecnología

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

Tema 2. Ingeniería del Software I feliu.trias@urjc.es

Tema 2. Ingeniería del Software I feliu.trias@urjc.es Tema 2 Ciclo de vida del software Ingeniería del Software I feliu.trias@urjc.es Índice Qué es el ciclo de vida del Software? El Estándar 12207 Modelos de proceso Qué es el Ciclo de Vida del SW? Definición

Más detalles

Estilos de Arquitectura y. Patrones de Diseño Arquitectónico. Patrones de Arquitectura

Estilos de Arquitectura y. Patrones de Diseño Arquitectónico. Patrones de Arquitectura Estilos de Arquitectura y Patrones de Diseño Arquitectónico Gastón Mousqués - AR 1 Patrones de Arquitectura Gastón Mousqués - AR 2 Principales Categorías de Patrones (Software) Patrones de Análisis Expresan

Más detalles

GANTT, PERT y CPM. Figura 5.3: Carta GANTT 3.

GANTT, PERT y CPM. Figura 5.3: Carta GANTT 3. GANTT, PERT y CPM Características Conseguir una buena programación es un reto, no obstante es razonable y alcanzable. Ella debe tener el compromiso del equipo al completo, para lo cual se recomienda que

Más detalles

Ingeniería de Software

Ingeniería de Software Ingeniería de Software Tabla de Contenidos PARTE I INTRODUCCIÓN Capítulo 1: Evolución Los hitos en la evolución histórica del Desarrollo de Software Problemas y soluciones... Fallas, malas estimaciones

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

Nombre de la asignatura: Programación Estructurada. Créditos: 3-2 - 5. Aportación al perfil

Nombre de la asignatura: Programación Estructurada. Créditos: 3-2 - 5. Aportación al perfil Nombre de la asignatura: Programación Estructurada Créditos: 3-2 - 5 Aportación al perfil Diseñar, analizar y construir equipos y/o sistemas electrónicos para la solución de problemas en el entorno profesional,

Más detalles

SISTEMA OPERATIVO WINDOWS

SISTEMA OPERATIVO WINDOWS SISTEMA OPERATIVO WINDOWS QUÉ ES WINDOWS? Es un Sistema Operativo, que cuenta con un Ambiente Gráfico (GUI) que permite ejecutar programas (aplicaciones) de forma más fácil y cómoda para el usuario. Viene

Más detalles

Construcción de sistemas de soporte a la toma de decisiones

Construcción de sistemas de soporte a la toma de decisiones INSTITUTO POLITÉCNICO NACIONAL ESCUELA SUPERIOR DE CÓMPUTO Construcción de sistemas de soporte a la toma de decisiones M. En C. Eduardo Bustos Farías 1 Desarrolla en Sistemas de Apoyo de Decisión Como

Más detalles

Capítulo I. Marco Teórico

Capítulo I. Marco Teórico 1 Capítulo I. Marco Teórico 1. Justificación Hoy en día existe una gran diversidad de aplicaciones que corren sobre la World Wide Web (WWW o Web), y cada una orientada a un fin en particular, el cuál depende

Más detalles

BPMN vs UML. Los Requerimientos y el Modelo del Negocio. Autor: Norberto Figuerola

BPMN vs UML. Los Requerimientos y el Modelo del Negocio. Autor: Norberto Figuerola BPMN vs UML Autor: Norberto Figuerola Los Requerimientos y el Modelo del Negocio Normalmente, siempre que iniciamos un esfuerzo de desarrollo de software éste tiene como objetivo automatizar procesos del

Más detalles

Capítulo III. Análisis y diseño.

Capítulo III. Análisis y diseño. Capítulo III. Análisis y diseño. 3.1 Análisis. El análisis es el intermediario entre los requisitos del sistema y el diseño, esta sección definiremos el análisis con una serie de modelos técnicos del sistema,

Más detalles

Guía Metodológica basada en procesos para la Línea de Productos de Software Aplicativos SIG.

Guía Metodológica basada en procesos para la Línea de Productos de Software Aplicativos SIG. Guía Metodológica basada en procesos para la Línea de Productos de Software Aplicativos SIG. Ing. Lesdy Velázquez Torres. Graduado en la Universidad de las Ciencias Informáticas con 3 años de experiencia.

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

Desarrollo del software imposible si las tareas tuviesen que expresarse en código máquina. Lenguajes de más alto nivel: comprensibles, manejables y

Desarrollo del software imposible si las tareas tuviesen que expresarse en código máquina. Lenguajes de más alto nivel: comprensibles, manejables y 1. Paradigmas de programación Desarrollo del software imposible si las tareas tuviesen que expresarse en código máquina. Lenguajes de más alto nivel: comprensibles, manejables y automáticamente convertibles

Más detalles