INSTITUTO POLITÉCNICO NACIONAL ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ELÉCTRICA DEPARTAMENTO DE INGENIERÍA EN CONTROL Y AUTOMATIZACIÓN

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

Download "INSTITUTO POLITÉCNICO NACIONAL ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ELÉCTRICA DEPARTAMENTO DE INGENIERÍA EN CONTROL Y AUTOMATIZACIÓN"

Transcripción

1 INSTITUTO POLITÉCNICO NACIONAL ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ELÉCTRICA DEPARTAMENTO DE INGENIERÍA EN CONTROL Y AUTOMATIZACIÓN UNIDAD PROFESIONAL ADOLFO LÓPEZ MATEOS INTERFAZ GRÁFICA EN JAVA COMO RECURSO DIDÁCTICO PARA LA ASIGNATURA DE TEORÍA DE CONTROL II T E S I S QUE PARA OBTENER EL TÍTULO DE INGENIERO EN CONTROL Y AUTOMATIZACIÓN P R E S E N T A JOSÉ FRANCISCO REYES SALDAÑA D I R E C T O R E S: DRA. MARTHA LETICIA GARCÍA RODRÍGUEZ M. en C. GUILIBALDO TOLENTINO ESLAVA MÉXICO, D.F. NOVIEMBRE 2012

2 INSTITUTO POLITÉCNICO NACIONAL ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ELECTRICA UNIDAD PROFESIONAL "ADOLFO LÓPEZ MATEOS" TEMA DE TESIS QUE PARA OBTENER EL TITULO DE POR LA OPCIÓN DE TITULACIÓN DEBERA(N) DESARROLLAR INGENIERO EN CONTROL Y AUTOMATIZACION PROYECTO DE INVESTIGACIÓN SIP C. JOSÉ FRANCISCO REYES SALDAÑA "INTERFAZ GRÁFICA EN JAVA COMÓ RECURSO DIDÁCTICO PARA LA ASIGNATURA DE. TEORÍA DE CONTROL 11". DISEÑAR UNA INTERFAZ GRÁFICA DE USUARIO (IGU) UTILIZANDO EL LENGUAJE DE PROGRAMACIÓN JAVA COMO APOYO PARA EL APRENDIZAJE DEL DISEÑO DE COMPENSADORES PROPORCIONAL DERIVATIVO (PD) QUE ES UN TEMA DE LA ASIGNATURA DE TEORÍA DEL CONTOL 11..:. ANALIZAR EL CONTENIDO MATEMÁnco IMPLICITO EN EL MÉTODO DEL LGR Y EL DISEÑO DE UN COMPENSADOR PD EN LA ASIGNATURA DE TEORÍA DEL CONTROL 11. :. CREAR EL MODELO DE SOFTWARE DE LA INTERFAZ GRÁFICA DE USUARIO Y SU METODOLOGÍA. :. DISEÑAR EL CÓDIGO DE PROGRAMACIÓN BASADO EN EL MODELO DE SOFTWARE DE LA INTERFAZ GRÁFICA DE USUARIO. v..,lt.y'rvr"lr/departame ACADÉMIQ{JI>J)EA le A I1WÉl'j1(EkÍA EN CONTROL Y AUTOMATIZACIÓN

3 AGRADECIMIENTOS A mis Padres, por la sabia enseñanza de que en la vida no existen límites para el ser humano más que los que el mismo se impone. A Francisco, mi Padre, por su esfuerzo y sacrificio personal en interés de mi bienestar y formación humana y académica, por el apoyo incondicional y sincero en cada momento de mi vida, por la enseñanza de valores que han enriquecido mi persona. A Cristina, mi Madre, por su dedicación y atención a lo largo de la vida, por su perseverancia en función de mi bienestar y formación humana y académica. A Ricardo, mi Hermano, por su compañía durante la infancia, por su comprensión durante la adolescencia y por su amistad incondicional. A María de los Ángeles, mi Abuela, por su apoyo incondicional durante los últimos años, por su dedicación y esfuerzo a procurar mi bienestar y por sus consejos. A la Dra. Martha Leticia García Rodríguez, mi asesora, por compartir su experiencia profesional en el ámbito de la Investigación y la Innovación Educativa en el IPN, por su dedicación y atención a la elaboración del presente trabajo, por compartir sus conocimientos científicos y su perseverancia en aras de la formación de profesionistas con ética en la ESIME. Al M. en C. Guilibaldo Tolentino Eslava, mi asesor, por su ayuda en la revisión y consejos que dieron forma al presente trabajo de tesis, por su dedicación a la docencia en el IPN y a la formación de profesionistas con ética en la ESIME. A la ESIME y sus Maestros por abrirme las puertas del camino al conocimiento y por haberme compartido la experiencia profesional. Al IPN por brindarme una educación y una formación profesional de calidad desde el momento en que se me dio la oportunidad de formar parte de la comunidad Politécnica. A ORACLE y Sun MicroSystems, por facilitar la plataforma de desarrollo NetBeans para la programación en lenguaje Java, y la documentación necesaria para el uso de la misma plataforma y la implementación de software bajo los estándares de Java SE. 2

4 Índice RESUMEN... 4 INTRODUCCIÓN... 5 CAPÍTULO 1. TEORÍA DE CONTROL II Y SUS ELEMENTOS MATEMÁTICOS TEORÍA DE CONTROL II Sistemas de Control El Lugar Geométrico de las Raíces Diseño de Compensadores PD por el Lugar Geométrico de las Raíces ELEMENTOS MATEMÁTICOS IMPLÍCITOS EN LA TEORÍA DE CONTROL II El Lugar Geométrico de las Raíces Ecuaciones Diferenciales Ordinarias Transformada de Laplace CAPÍTULO 2. TEORÍA DE INTERFACES GRÁFICAS DE USUARIO INTERFACES GRÁFICAS DE USUARIO Consideraciones Técnicas de las Interfaces Gráficas de Usuario El Pensamiento de la Interfaz Gráfica de Usuario Manejo de Eventos con la Biblioteca AWT de la Versión Estándar de Java PROGRAMACIÓN Y DESARROLLO DE INTERFACES GRÁFICAS DE USUARIO EN JAVA Herramientas Widgets de la Biblioteca Swing Descripción del Lenguaje Java Desarrollo de Applets CAPÍTULO 3. DISEÑO DE LA INTERFAZ GRÁFICA DE USUARIO INGENIERÍA DE SOFTWARE Diagramas de Lenguaje Unificado de Modelado Proceso de Desarrollo del Software MODELO SEMIFORMAL PARA EL DESARROLLO DE SOFTWARE EDUCATIVO (MSDSE) DISEÑO DE LA INTERFAZ GRÁFICA DE USUARIO COMO APPLETS DE JAVA (DIGUAJ) CAPÍTULO 4. APLICACIÓN DE LA METODOLOGÍA (DIGUAJ) ARQUITECTURA DEL SOFTWARE PARA LA INTERFAZ GRÁFICA DE USUARIO MODELO DE DESARROLLO DE LA INTERFAZ GRÁFICA DE USUARIO FASE DE OPERACIÓN EJECUCIÓN DE LA APLICACIÓN CONCLUSIONES RECOMENDACIONES REFERENCIAS APÉNDICE A. CÓDIGO DE PROGRAMACIÓN DE LA CLASE FRAME_COMPENSADORPD DEL PAQUETE MENUCOMPENSADORPD

5 Resumen Se diseñó una Interfaz Gráfica de Usuario (IGU) utilizando el lenguaje de programación Java como apoyo para el aprendizaje del diseño de compensadores Proporcional Derivativo (PD) que es un tema de la asignatura de Teoría del Control II. En el trabajo se justifica que la IGU puede ser un recurso didáctico que contribuya para el aprendizaje del Método del Lugar Geométrico de las Raíces. Se propuso una metodología para el Diseño de la Interfaz Gráfica de Usuario como Applet de Java (DIGUAJ) que consta de tres etapas, 1ª) Arquitectura del Software 2ª) Modelo de Desarrollo del Software 3ª) Fase de Operación. La metodología se basa en los estándares de la Ingeniería de Software (IS) [17, 31] y en un Modelo Semi-formal para el Desarrollo de Software Educativo (MSDSE) [22]. Utilizando el EDI NetBeans se desarrolló la programación de la IGU con las características que provee la tecnología Applet de Java, por mencionar algunas: robustez, portabilidad y compatibilidad que recaen en las ventajas que ofrecen las Tecnologías de la Información y la Comunicación. La IGU que se obtuvo puede hacerse accesible desde internet usando la tecnología Java para la creación de páginas web con programación en servidor (Java Server Pages ó JSP por sus siglas en inglés). Finalmente se hace un corrimiento de la IGU del cual se puede concluir que se llevó a cabo con éxito la obtención del método a analítico, la solución numérica del diseño de un compensador Proporcional Derivativo (PD) y la obtención de la gráfica del Lugar Geométrico de las Raíces (LGR) para la Función de Transferencia (FT) del sistema que se propone para el corrimiento. 4

6 Introducción La asignatura de Teoría de Control II es una parte esencial de la formación académica de los alumnos de la carrera de Ingeniería en Control y Automatización de la Escuela Superior de Ingeniería Mecánica y Eléctrica Unidad Zacatenco del Instituto Politécnico Nacional. Esta asignatura se ubica en el sexto semestre de la carrera y requiere los elementos teóricos de las asignaturas Ecuaciones Diferenciales, Modelado de Sistemas y Teoría de Control 1 que se imparten en semestres anteriores. El estudio de la asignatura presenta dificultad en su aprendizaje como se puede inferir de las estadísticas de 2009 y 2010 solicitadas al departamento de control escolar. En 2009 el número de reprobados en el segundo semestre del año fue de 77 alumnos de los cuales, después de la segunda ronda del Examen a Título de Suficiencia (E.T.S.), 35% aprobaron y 65% continuaron con la asignatura reprobada; en el primer semestre del año 2010 el número de reprobados fue de 90 alumnos de los cuales, después de la segunda ronda del E.T.S., 42% aprobaron y 58% continuaron adeudando la asignatura. El programa de la asignatura de Teoría de Control II se estructura en cinco unidades: 1. Método del Lugar Geométrico de las Raíces 2. Compensación de Sistemas de Control 3. Efectos No-lineales de los Sistemas Físicos. 4. Método de la Función Descriptiva. 5. Método del Plano de Fase. Considerando que las dos primeras unidades son una base del diseño de compensadores para los sistemas de control, los cuales sirven para mejorar la respuesta de los sistemas. El conocimiento del Método del Lugar Geométrico de las Raíces y Compensación de Sistemas de Control significa, más que llegar a la solución de problemas de diseño de compensadores en forma numérica, se trata de entender los procedimientos 5

7 matemáticos implícitos y la relación que existe entre las soluciones numéricas, los recursos gráficos y el método analítico. Es claro que las dificultades en el aprendizaje de los temas expuestos son diversas y en ellas influyen factores sociales, económicos y académicos, no es posible incidir en todos estos ámbitos al mismo tiempo, pero si en los académicos. Una forma de incurrir en los problemas académicos es mediante la incorporación de herramientas didácticas al salón de clases y en la primera década de este siglo se ha incrementado la incorporación de las Tecnologías de la Información y la Comunicación (TIC) en la vida diaria de las personas. El uso de las TIC hace más eficiente y disminuye el tiempo en la organización de información, permite el ahorro de espacio; en particular el internet brinda acceso inmediato a una gran cantidad de información sin importar la distancia. El uso de herramientas proporcionadas por las TIC como son la computadora y el internet es cada vez más frecuente en actividades administrativas, industriales, comerciales y académicas, siendo éste último, el ámbito en el que se desarrolla este trabajo. Las herramientas proporcionadas por las TIC son diversas y una de éstas son los Applets de Java que debido a algunas de las ventajas que como TIC ofrece y que serán mencionadas más adelante, se ha considerado que pueden brindar un recurso didáctico que puede contribuir a una mejor comprensión de las unidades 1 y 2 de la asignatura de Teoría del Control II, recurso que por el momento no se ha elaborado para los alumnos de la carrera de Ingeniería en Control y Automatización (ICA). Algunas ventajas de las TIC son: 1) Capacidad de visualización de gráficos computarizados. 2) Acceso a todo tipo de información y contenidos desde diferentes partes del mundo. 6

8 3) Comunicación inmediata entre diferentes personas o instituciones. El objetivo de este trabajo fue diseñar una Interfaz Gráfica de Usuario (IGU) utilizando el lenguaje de programación Java como apoyo para el aprendizaje del diseño de compensadores Proporcional Derivativo (PD) en la asignatura de Teoría del Control II. Para alcanzar el objetivo de la tesis, ésta se encuentra integrada por 4 capítulos. En el Capítulo 1 se describen los elementos de la teoría de control que son utilizados para el diseño de Compensadores PD mediante el método del Lugar Geométrico de las Raíces, así como los elementos matemáticos de la Teoría de Control Clásico que son empleados en el método analítico de la solución de Compensadores PD. En el Capítulo 2 se estudia la teoría necesaria para la creación de las IGU y de forma particular, se mencionan los elementos gráficos utilizados en ellas, estos pueden ser los llamados Widgets: ventanas, menús, botones, botones radio, cajas de cheque. Además se hace una descripción de Java como lenguaje de programación y como una plataforma y finalmente se describe el desarrollo y el ciclo de vida de los Applets. En el Capítulo 3 se describen la Ingeniería de Software (IS) y el Modelo Semi-formal para el Desarrollo de Software Educativo (MSDSE). En la IS se puede encontrar una clasificación del software, una descripción de los diferentes diagramas del Lenguaje Unificado de Modelado (LUM) y un Proceso de Desarrollo de Software (PDS) que consta de cuatro etapas; en el MSDSE se puede observar una metodología que consta de 3 etapas para el desarrollo de Software Educativo (SE); finalmente en este capítulo se presenta la metodología propuesta para el Diseño de la Interfaz Gráfica de Usuario como Applet de Java (DIGUAJ). En el Capítulo 4 se Aplica la metodología DIGUAJ para obtener la IGU e implementarla como Applet de Java, también se incluyen los diagramas del LUM que describen la Arquitectura de Software y el Modelado de la IGU como un Sistema de Software; se desarrolla la portabilidad de la IGU usando la tecnología Java para la 7

9 creación de páginas web con programación en servidor (Java Server Pages ó JSP por sus siglas en inglés) y se hace un análisis de la IGU haciendo una prueba con una Función de Transferencia (FT) Finalmente se presentan las Conclusiones que se obtuvieron de esta tesis y las Recomendaciones. 8

10 Capítulo 1. Teoría de Control II y sus Elementos Matemáticos 1.1. Teoría de Control II Habitualmente las teorías de control usadas son Teoría de Control Clásico, Teoría de Control Moderno y Teoría de Control Robusto, en el presente capítulo se recomienda un recurso didáctico para la enseñanza de la Teoría de Control Clásico en general y al método del lugar geométrico de las raíces en particular, el cual fue propuesto por Evans y desarrollado por completo a finales de los años cuarenta y principios de los cincuenta [3]. En la asignatura de Teoría de Control II que es impartida en ESIME existen elementos fundamentales para el estudio de la Teoría de Control Clásico como el método del lugar de las raíces y respuesta en frecuencia los cuales serán abordados a partir del tema 1.1.1, pero también existen elementos matemáticos como las ecuaciones diferenciales ordinarias y la transformada de Laplace que son usados como una herramienta en la solución de problemas de control clásico Sistemas de Control Un sistema es una combinación de componentes que actúan juntos y realizan un objetivo determinado. Un sistema no está necesariamente limitado a los sistemas físicos. El concepto se puede aplicar a fenómenos abstractos y dinámicos como los que se encuentran en la economía. Por lo tanto el concepto de sistema debe ser interpretado de una forma más amplia de modo que comprenda sistemas físicos, biológicos, económicos y similares. En ingeniería es común el estudio de sistemas de control físicos, algunos ejemplos son: Sistema de control de velocidad Sistema de control de temperatura Sistemas empresariales Sistema de control de presión 9

11 Dentro del estudio de los sistemas de control hay conceptos usados con frecuencia, los cuales son: Planta: es el sistema controlado o que se pretende controlar, puede ser un equipo, una parte de un equipo o un conjunto de elementos de una máquina que trabajan juntos y cuyo objetivo es realizar una operación determinada. variable controlada: es la variable que se pretende mantener en un valor predeterminado conocido comúnmente como set point. señal de control o variable manipula: es la cantidad o condición que un controlador modifica para afectar el valor de la variable controlada. En la Teoría de Control Clásico existen dos tipos de sistemas de control: Sistemas de Control en Lazo Abierto Sistemas de Control en Lazo Cerrado Sistemas de Control en Lazo Abierto Son los sistemas en los cuales la salida no tiene efecto sobre la acción de control, en otras palabras la salida no es medida ni se realimenta para compararla con la entrada. Un ejemplo práctico y clásico es una lavadora común, en donde el objetivo es dejar la ropa limpia y las acciones de remojado, lavado y centrifugado operan por un tiempo pre programado y no por un sensor que envíe una señal de salida que en este caso sería la limpieza de la ropa. Características de los Sistemas de Control en Lazo Abierto: En cualquier sistema de control en lazo abierto la salida no se compara con la entrada de referencia. A cada entrada de referencia le corresponde una condición de operación fija, por lo que la precisión del sistema depende de la calibración del mismo. 10

12 Ante la presencia de perturbaciones un sistema de control en lazo abierto no realiza la tarea deseada. Cualquier sistema de control que opere con una base de tiempo está en lazo abierto. Otro ejemplo de Sistema de Control en Lazo Abierto es el control de tráfico vehicular mediante señales operadas con una base de tiempo. La Figura 1.1 muestra el diagrama a bloques de un Sistema de Control a Lazo Abierto. Figura 1.1. Diagrama a bloques de un Sistema de Control a Lazo Abierto Sistemas de Control en Lazo Cerrado Los sistemas de Control en Lazo Cerrado se denominan también Sistemas de Control Retroalimentado, en la práctica estos términos se usan de forma indistinta. En los sistemas de control en lazo cerrado, se alimenta al controlador con una señal de error, la cual es la diferencia entre la señal de entrada y la señal de retroalimentación, esta señal puede ser la señal de salida o una función de la señal de salida y sus derivadas o integrales. La finalidad de un Sistema de Control en Lazo Cerrado es reducir el error y llevar la salida del sistema a un valor deseado. El término de lazo cerrado siempre implica el uso de una acción de control realimentado para reducir el error del sistema. En la Figura 1.2 se muestra el diagrama a bloques de un Sistema de Control en Lazo Cerrado en donde E(s) es la señal de error, la señal de realimentación es Y(s), la entrada del sistema es R(s), el controlador es el bloque K y la planta del sistema es el bloque G(s). 11

13 Figura 1.2. Sistema de control en lazo cerrado Comparación entre Sistemas de Control en Lazo Cerrado y Sistemas de Control en Lazo Abierto Una ventaja del Sistema de Control en Lazo Cerrado es que la respuesta del sistema se vuelve relativamente insensible a perturbaciones externas y a las variaciones internas de los parámetros del sistema. Para los sistemas en los que se conoce con anticipación las entradas y en los cuales no hay perturbaciones es posible implementar el control en lazo abierto. El número de componentes utilizados en un sistema de control en lazo cerrado es mayor que en sistema de control en lazo abierto, lo cual incrementa el coste de la implementación del control. En un sistema de control en lazo abierto la estabilidad no es un problema importante, pero en un sistema de control en lazo cerrado la estabilidad si es un gran problema. Ventajas fundamentales de los sistemas de control en lazo abierto: Construcción simple y facilidad de mantenimiento. Menos costo que el correspondiente sistema en lazo cerrado. No hay problemas de estabilidad. Convenientes cuando la salida es difícil de medir o cuando medir la salida de forma precisa no es económicamente viable. Ventajas fundamentales de los sistemas de control en lazo cerrado: 12

14 Las perturbaciones y los cambios en la calibración originan errores, y la salida puede ser diferente de lo que se desea. Para mantener la calidad requerida en la salida, es necesaria la re-calibración regularmente programada El Lugar Geométrico de las Raíces Evans (a finales de los años cuarenta y principios de los cincuenta), utilizó un método gráfico y sencillo con el cual se pueden encontrar las raíces de la ecuación característica y observar el comportamiento de las mismas asociado a la dinámica del sistema con base en un análisis matemático de la ecuación característica del sistema. Este método se denomina método del lugar geométrico de las raíces, y en él se representan las raíces de la ecuación característica para todos los valores de un parámetro del sistema. Por lo tanto en la gráfica que resulta del método se pueden localizar las raíces resultantes para un valor dado de un parámetro, este parámetro es por lo general la ganancia, aunque es posible utilizar cualquier otra variable de la función de transferencia en lazo abierto. Al menos que se indique lo contrario, aquí se supondrá que la ganancia de la función de transferencia en lazo abierto es un parámetro que puede adoptar todos los valores de cero a infinito [3]. Para un sistema de control como el que se mostró en la figura1.2, se tiene el planteamiento de las ecuaciones (1) y (2): (s) (s) (s) (1) ( ) ( ) ( ) (2) Sustituyendo la ecuación (1) en la ecuación (2) se tiene: ( ) (s) (s) ( ) (3) 13

15 Desarrollando la ecuación (3) y agrupando los términos de Y(s) del lado izquierdo de la ecuación se obtienen las ecuaciones (4) y (5): ( ) (s) ( ) (s) ( ) (4) ( ) (s) ( ) (s) ( ) (5) Haciendo la factorización de los términos semejantes de Y(s) de la ecuación (5): (s) ( ) ( ) ( ) (6) De acuerdo a la definición de Función de Transferencia, que es la relación de la salida Y(s) respecto a la entrada R(s) del sistema de la ecuación (6) se obtiene: ( ) ( ) ( ) ( ) (7) En donde la ecuación (7) es la función de transferencia en lazo cerrado del sistema y determinar la estabilidad del sistema consiste en analizar el comportamiento de la ecuación característica, es decir de: ( ) ( ).Se observa que K es la ganancia y que por lo tanto la dinámica del sistema depende de K ya que es un parámetro que puede adoptar todos los valores de cero al infinito. La idea básica detrás del método del lugar de las raíces es que los valores de s que hacen que la función de transferencia alrededor del lazo sea igual a -1, es decir: ( ) deben satisfacer la ecuación característica del sistema. El método debe su nombre al lugar de las raíces de la ecuación característica del sistema en lazo cerrado cuando un determinado parámetro (por lo general la ganancia K) varia de cero a infinito. 14

16 Dicha gráfica muestra como contribuye cada polo o cero en lazo abierto a las posiciones de los polos en lazo cerrado, por lo antes citado se puede decir que al diseñar un sistema de control lineal, el método del lugar de las raíces resulta de gran utilidad, ya que se puede observar la forma en que los polos y los ceros en lazo abierto se deben modificar para que la respuesta del sistema cumpla con un comportamiento específico [3]. Este método es puramente cualitativo, sin embargo por medio de operaciones aparte de observar el comportamiento de las raíces se pueden obtener ciertos valores que a pesar de estar en una gráfica en el plano complejo brindan información de forma intuitiva sobre el comportamiento en el tiempo [1] Diseño de Compensadores PD por el Lugar Geométrico de las Raíces El lugar geométrico de las raíces bosqueja el comportamiento de un sistema en lazo cerrado, la ventaja que tiene esto es que si se quiere diseñar otro tipo de compensador, siempre es posible verlo como una ganancia variable y una función de transferencia compuesta por el sistema y todos los valores de las ganancias de cada compensadores y además el diseño permite visualizar el efecto de todos los compensadores en la estabilidad del sistema. La idea básica es verificar primeramente si con un compensador proporcional se cumple con los requerimientos del sistema, en caso de no hacerlo, se verifica cual es el comportamiento que sí cumple para poder tomar la elección del compensador más adecuado Elementos Matemáticos Implícitos en la Teoría de Control II. En matemáticas existen elementos que son usados de forma recurrente en la asignatura de teoría de control II, como la transformada de Laplace y los métodos de solución de las ecuaciones diferenciales ordinarias de primero y segundo orden homogéneas y no homogéneas, a partir de estos elementos matemáticos se derivan características 15

17 fundamentales de los sistemas que son analizados en la asignatura de teoría de control II. La transformada de Laplace y el estudio de las ecuaciones diferenciales ordinarias son esenciales para que el Ingeniero en Control y Automatización pueda analizar los sistemas y a través de estos elementos matemáticos pueda formar funciones de transferencia. Para el estudio del lugar geométrico de las raíces es necesario entender las características matemáticas que están involucradas en las funciones de transferencia de los modelos estudiados en la asignatura. Lo anterior se puede observar en la figura 1.3. Figura 1.3. Interacción de elementos matemáticos con elementos de la teoría de control II [Creación Propia] El Lugar Geométrico de las Raíces La función de transferencia de un sistema es la relación existente entre la entrada y la salida, cuando las condiciones iníciales son nulas. En general, la función de transferencia de los sistemas puede escribirse como un cociente de polinomios en el dominio de la frecuencia s. La función de transferencia está constituida por polos y 16

18 ceros, ceros en el numerador y polos en el denominador, además el denominador es considerado como el polinomio característico del sistema o ecuación característica [2]. A partir de la función de transferencia es posible definir algunas características de relevancia [3]: La característica básica de la respuesta transitoria de un sistema en lazo cerrado se relaciona estrechamente con la localización de los polos en lazo cerrado. Si el sistema tiene una ganancia de lazo variable, la localización de los polos en lazo cerrado depende del valor de la ganancia de lazo elegida. Desde el punto de vista del diseño, un simple ajuste de la ganancia en algunos sistemas mueve los polos en lazo cerrado a las posiciones deseadas. Los polos en lazo cerrado son las raíces de la ecuación característica Ecuaciones Diferenciales Ordinarias Las ecuaciones diferenciales se encuentran en muchas áreas de ciencias e ingeniería y la relación que existe entre las matemáticas y sus aplicaciones es conocida como matemáticas aplicadas [4]. Las aplicaciones que ha visto un estudiante que ha cursado la asignatura de ecuaciones diferenciales son variadas ya que los ejemplos que seguramente ha visto son de física, química, biología, matemáticas e ingeniería, pero esto depende de la orientación del curso. Por lo que en algunas ocasiones las ecuaciones diferenciales son el tipo de matemáticas que surgen de esas aplicaciones. Por definición una Ecuación Diferencial Ordinaria Lineal es: ( ) ( ) ( ) ( ) ( ) 17

19 En el estudio de las matemáticas aplicadas se incluyen tres aspectos [4]: Proceso de modelado: es el proceso mediante el cual los objetos físicos y los procesos se describen por medio de leyes físicas y formulaciones matemáticas dadas. Análisis: es el análisis de los problemas matemáticos que se postulan, esto abarca una investigación sobre las formas de solucionar las ecuaciones diferenciales ordinarias. Interpretación: el resultado matemático de una ecuación diferencial ordinaria no lo dice todo, por lo que es necesario interpretar el resultado en el contexto del problema físico original. Ejemplos de modelos que surgen de las matemáticas aplicadas: Ecuación diferencial que determina la posición de una masa en movimiento y una fuerza debida a la resistencia del aire proporcional a la velocidad dy/dt. (1) Ecuación diferencial que satisface la corriente que circula por un circuito típico formado por un resistor, un capacitor y una bobina. i f(t) (2) De los ejemplos anteriores se pueden comenzar a observar distintos elementos que son usados en la asignatura de teoría de control II. De g (3) 18

20 Se encuentra que y son los pará etros que rigen la diná i a del sistema. os pará etros y ha en que el siste a sea ineal Invariante en el Tiempo Transformada de Laplace La idea de usar una transformación es cambiar un conjunto de objetos y operaciones en otro conjunto de objetos y operaciones. En este caso la transformación será la transformada de Laplace, la cual cambiará una ecuación diferencial lineal con coeficientes constantes en un problema de álgebra [4]. Muchos procedimientos de diseño en la teoría de control están basados en la forma algebraica del problema, la cual es proporcionada por la transformada de Laplace. Definición de la transformada de Laplace: (s) f(t) e f(t)dt (4) De la definición de la transformada surgen transformadas para las derivadas: f (t) s (s) f( ) (5) f (t)s (s) sf( ) f ( ) (6) En donde f( ) y f ( ) son las estudiando. ondi iones iníciales del sistema que se está 19

21 Como se mencionó anteriormente la transformación de las ecuaciones diferenciales revela aspectos matemáticos rescatables para la teoría del control, pero esto no se logra hasta tener la función de transferencia de un sistema que esté definido por una ecuación diferencial ordinaria lineal con parámetros concentrados e invariante en el tiempo, en donde además sus condiciones iníciales son iguales a cero. Ejemplo de obtención de la función de transferencia de un sistema definido por una ecuación diferencial ordinaria lineal con parámetros concentrados e invariante en el tiempo, con condiciones iníciales iguales a cero: y u(t) (7) Aplicando la transformada de Laplace a la ecuación (7) se obtiene: ( ) ( ) ( ) [ ( ) ( ) ] ( ) (8) Dado que las condiciones son iguales a cero se puede conservar la linealidad del sistema transformado por lo que te puede obtener la función de transferencia y reducir la ecuación (8) a: s (s) s (s) (s) (9) Haciendo la factorización de Y(s) a partir de la ecuación (9): (s) s s (10) Despejando Y(s) de la ecuación (10): 20

22 (s) (11) Reduciendo la ecuación (11): (s) (12) De la ecuación (11) es posible identificar distintos elementos matemáticos que se usan en la teoría del control: a solu ión de una e ua ión diferen ia y(t) es la salida de un siste a en el do inio de s. El orden de la ecuación característica de la función de transferencia es igual al orden de la ecuación diferencial El orden de la ecuación diferencial es igual al número de raíces de la ecuación característica. 21

23 Capítulo2. Teoría de Interfaces Gráficas de Usuario 2.1. Interfaces Gráficas de Usuario Interfaz Gráfica de Usuario (IGU) es un programa o entorno que gestiona la interacción con el usuario basándose en relaciones visuales como íconos, menús o un puntero. Se les puede considerar como programas de cómputo, que un programador o desarrollador de software crea apoyándose en herramientas llamadas Entorno de Desarrollo Integrado (EDI). Las interfaces o programas de cómputo que crea el desarrollador de software se basan en elementos gráficos los cuales permiten a un usuario final controlar el funcionamiento e interactuar con la interfaz o programa de cómputo. Los elementos gráficos utilizados en las IGU se llaman Widgets, incluyen: ventanas, menús, botones, botones radio, cajas de chequeo, íconos, áreas de texto y listas [19, 20]. Un acrónimo que engloba a los Widgets es VIMD (Ventanas, Íconos, Menús, Dispositivos Señaladores) o WIMP (Windows, Icons, Menus, Pointing devices) por sus siglas en inglés y para diseñar Interfaces Gráficas de Usuario es necesario recurrir a un paquete de herramientas Widgets. Los paquetes de herramientas Widgets más usados tienen nombre y son clasificados por el lenguaje de programación en que fueron creados, esto se debe a que son paquetes que le proporcionan robustez al lenguaje de programación. Los lenguajes de programación se pueden clasificar en lenguajes de Bajo Nivel y de Alto Nivel, estos últimos usualmente tienen las mayores prestaciones gráficas. Existen Leguajes de Programación de Bajo Nivel como el lenguaje C que cuenta con varios paquetes de herramientas Widgets. Los nombres de los paquetes de herramientas se presentan en la tabla

24 Tabla 2.1. Nombres de los Lenguajes Programación más conocidos con su respectivo Paquete de Herramientas Widgets. Nombre del Lenguaje Nombre del Paquete de Clasificación del Lenguaje de Programación Herramientas Widgets de Programación Java Swing y AWT Nivel Alto C++ Qt, Borland, wxwidgets Nivel Alto C Motif, GTK+ y Tk Nivel Bajo Consideraciones Técnicas de las Interfaces Gráficas de Usuario Una vez seleccionado el paquete de herramientas Widgets que se utilizará para el diseño de la interfaz, es indispensable conocer las consideraciones técnicas que orientarán el trabajo de programación adecuadamente. A continuación se mencionarán tres aspectos fundamentales a considerar [20]: Programación: necesita diseñarse bajo una arquitectura de software que consiste en un Modelo de Software y una Arquitectura de Software, los cuales depende de las características del lenguaje de programación, que puede ser orientado a objetos, de programación estructurada, de bajo o alto nivel. Ergonomía: es uno de los factores más importantes para que la IGU sea amigable con un uso fácil y sin ambigüedad. Diseño Gráfico: el diseño gráfico involucra las artes gráficas a través de las cuales la interfaz gráfica resulta ser estética y cómoda a la vista. Además de las consideraciones que ya se mencionaron existen factores que complementan el diseño de la IGU y que influyen en la orientación de la programación de forma directa, como cada usuario tiene necesidades diferentes podría dar usos a la interfaz gráfica para los cuales no fue diseñada, lo que queda fuera del alcance del programador, de ahí la necesidad de considerar los siguientes factores [20]: 23

25 Comportamiento del Usuario: cada usuario tiene un comportamiento diferente al usar la interfaz por lo que es necesario que la IGU reaccione ante eventos generados dentro de la misma. Método Clásico de Diseño Poco Adaptado: el método clásico de diseño de una IGU es como el que se muestra en la figura 2.1. Figura 2.1. Método Clásico de Diseño de Interfaces Gráficas de Usuario Se dice que este método esta poco adaptado debido a que el diseño de la IGU debe ser iterativo por medio de una evaluación del usuario para retroalimentar el diseño de la misma desde la etapa de análisis [20] El Pensamiento de la Interfaz Gráfica de Usuario Debido a que las IGU tienen como función establecer un enlace entre dos sistemas llamados usuario y computadora, la IGU podría aparentar que en realidad está haciendo reflexiones acerca del comportamiento del usuario al interactuar con ella proporcionando información que orienta y dirige al usuario. El enlace que se establece entre estos dos sistemas se logra mediante el manejo de eventos generados en la IGU. Los eventos que se pueden generar son entradas que provienen de los dispositivos de entrada de la plataforma tipo hardware en la que se está ejecutando la IGU, como son el teclado y el mouse. Una de las Herramientas Widgets que permite el manejo de eventos es la biblioteca AWT de Java que contiene clases que a su vez tienen métodos que sirven para identificar eventos que provienen del sistema huésped. Debido a que en Java las 24

26 aplicaciones se ejecutan dentro de la Máquina Virtual (JVM por sus siglas en ingles), esta se encarga de recibir los eventos del sistema huésped. El hecho de recibir los eventos no significa nada ya que es necesario que exista un enlace entre la Máquina Virtual de Java y el sistema huésped que interprete estos eventos, ese enlace entre el sistema huésped y la Máquina Virtual de Java se logra incorporando métodos de las clases de la biblioteca AWT a los programas informáticos creados en este lenguaje [10]. Debido a que la Interfaz Gráfica de Usuario podría manejarse de forma inadecuada por los usuarios el programador de la Interfaz Gráfica de Usuario debe darse a la tarea de tratar de predecir en que partes de la Interfaz Gráfica de Usuario pueden ocurrir eventos inesperados para el usuario sin que este sepa que hacer. Antes de que un evento inesperado ocurra deben actuar métodos de programación que el programador debe diseñar y programar para poder anticipar al usuario y dirigirlo en el uso de la Interfaz Gráfica de Usuario. Los métodos que el programador diseña se rigen por los métodos contenidos en las clases de la biblioteca AWT de la versión estándar de Java Manejo de Eventos con la Biblioteca AWT de la Versión Estándar de Java Cuando el usuario actúa sobre un componente, por ejemplo pulsando el ratón o la tecla Enter, se crea un objeto Evento. El sistema manejador de eventos de la biblioteca AWT pasa el Evento a través de un árbol de componentes, dando a cada componente una oportunidad para reaccionar ante el evento antes de que el código dependiente de la plataforma que implementan todos los componentes lo procese. 25

27 Cada manejador de eventos de un componente puede reaccionar ante un evento de alguna de estas formas [21]: Ignorando el evento y permitiendo que pase hacia arriba en el árbol de componentes. Mediante la modificación del objeto Evento antes de dejarlo subir por el árbol de componentes. Reaccionando de alguna otra forma ante el evento. Interceptando el evento, evitando un procesamiento posterior. Desde el punto de vista de un componente, el sistema de manejo de eventos del AWT es como un sistema de filtrado de eventos. El código dependiente de la plataforma genera un evento, pero los componentes tienen una oportunidad para modificar, reaccionar o interceptar el evento antes de que el código dependiente dela plataforma los procese por completo. En la versión actual 1.6 del Paquete de Desarrollo de Java (JDK por sus siglas en inglés), los eventos generados al manipular el puntero del ratón se envían a los componentes después de que los haya procesado el código dependiente de la plataforma. Por eso aunque los componentes pueden interceptar todos los eventos generados por el teclado, generalmente no se pueden interceptar los eventos del ratón. Aunque la biblioteca AWT define una amplia variedad de objetos evento, no ve ni escucha todo lo que ocurre. De este modo, no todas las acciones del usuario en la IGU se convierten en eventos. La biblioteca AWT sólo puede identificar eventos que están relacionados código dependiente de la plataforma que hospeda a Java (DLL s). Por ejemplo, los movimientos del puntero sobre un campo de texto no generan algún objeto evento. 26

28 Si se quiere acceder a una amplia colección de objetos eventos se necesitará implementar una subclase de Lienzo, ya que la implementación dependiente de la plataforma de la clase Lienzo reenvía todos los eventos. Cuando un usuario genera un evento en la IGU, la AWT crea un objeto evento que incluye la siguiente información [21]: El tipo del evento -- por ejemplo, una pulsación de tecla o un click del ratón, o un evento más abstracto como acción o iconificación de una ventana. El objeto que fue el origen del evento. Por ejemplo, el objeto Botón correspondiente al botón de la pantalla que pulsó el usuario, o el objeto Campo de Texto en el que el usuario acaba de teclear algo. Un campo indicando el momento en que ocurrió el evento. Por ejemplo, la posición (x, y) donde ocurrió el evento. Esta posición es relativa al origen del componente a cuyo manejador de eventos se pasó este evento. La tecla que fue pulsada (para eventos de teclado). Por ejemplo, un argumento arbitrario como lo es una cadena de texto mostrada en un componente y asociada con el evento pulsar el teclado. El estado de las teclas modificadoras, como Shift o Control, cuando ocurrió el evento Programación y desarrollo de Interfaces Gráficas de Usuario en Java Herramientas Widgets de la Biblioteca Swing Los componentes gráficos que ofrece Java se encuentran en una biblioteca llamada Swing, los componentes gráficos se pueden implementar dentro de los Applets, a estos Applets se les llama Applets Swing. Existe una diferencia importante entre un Applet no-swing y un Swing, éste último debe descender de la clase JApplet, en vez de hacerlo directamente de la clase Applet [10]. 27

29 Se pueden ejecutar Applets Swing en cualquier navegador que tenga instalado el conector de Java conocido como Java Plug-in. Otras opciones son: Un navegador que sea compatible con el JDK 1.1 y que pueda encontrar las clases de la biblioteca Swing. Un navegador que sea compatible con el JDK 1.2. Actualmente, el único navegador compatible con esta versión disponible es la utilidad Applet Viewer proporcionada con el JDK 1.2. Los componentes gráficos se utilizan para mostrar salidas pero algunos otros para obtener entradas del usuario, en la figura se muestran diferentes elementos gráficos o Widgets de la biblioteca Swing de Java. En el caso de la figura los elementos gráficos que se aprecian son utilizados para obtener eventos de entrada desde el usuario, los cuales serán manejados con la biblioteca de clases AWT de Java. Área de Texto Tabla Árbol Seleccionador de Archivos Seleccionador de Colores Figura Pantallas editables de información formateada de la biblioteca Swing 28

30 El orden y uso de los elementos de la figura depende de las necesidades del usuario final, de los requisitos analizados durante el proceso de modelado de desarrollo de la interfaz para que sea ergonómica que se le dé a la IGU. En la figura se muestran los elementos que pueden generar salidas y al mismo tiempo ser editados por el usuario, se les considera como pantallas de información que permiten una interacción entre el usuario y la interfaz. Botones (button)listas (combo box) Listas (list) Menús (menu) Barras deslizantes(slider) Texto (textfield) Barra herramientas (tool bar) Figura Herramientas Widgets básicas de la biblioteca Swing que generan entradas a la biblioteca AWT 29

31 Descripción del Lenguaje Java Java está dividido en dos entidades: a) Un lenguaje de programación que es facilitado por la bibliotecas del Java Development Kit (JDK) y b) Una plataforma que es proporcionada por el paquete Java Runtime Environment (JRE), esto quiere decir que se podrían construir sistemas operativos por completo con Java. En la figura se describe la estructura global de Java y se puede observar tanto el paquete JDK como el JRE. Figura Estructura global de Java [9] Java como Lenguaje de Programación El lenguaje de programación Java es de nivel alto y tiene las siguientes características [5]: Simple Multiprocesos Con Arquitectura Neutral Robusto Orientado a Objetos Dinámico 30

32 Portable Seguro Distribuible De Rendimiento Alto Java como una Plataforma Una plataforma es el entorno de hardware o software en el que un programa se ejecuta. Las plataformas de software más conocidas son Microsoft Windows, Linux, Solaris y Mac OS. La mayoría de las plataformas se describen como una combinación del sistema operativo y el hardware que soporta dicho sistema. La plataforma Java difiere de las anteriores en que se ejecuta solo en la parte superior de otras plataformas basadas en hardware. La plataforma Java cuenta con su procesador, memoria RAM; los cuales son creados virtualmente tomando prestados algunos de los recursos del sistema huésped. Una desventaja de lo anterior es que los procesos que se ejecutan dentro de la plataforma Java dependen de la cola de procesos del sistema operativo huésped. La plataforma Java tiene dos componentes: La Máquina Virtual de Java ó The Java Virtual Machine(JVM) La Interfaz de Programación de Java ó The Java Application Programming Interface (API) La JVM es la base para la plataforma Java como se muestra en la figura y ha sido adaptada a varias plataformas basadas en hardware y la API es una gran colección de componentes de software listos para usarse que proporcionan muchas funciones útiles; se agrupan en las bibliotecas de clases e interfaces relacionadas, estas 31

33 bibliotecas se conocen como paquetes de Java. Figura Estructura de Java como una plataforma [5] La API y la máquina virtual de Java están para aislar el programa desde el hardware del Sistema operativo huésped, esto permite tener un control sobre los programas creados en Java permitiendo brindar a los usuarios de las aplicaciones condiciones de seguridad tanto para su sistema operativo como para el equipo de cómputo y datos personales. En un entorno independiente, la plataforma Java puede ser un poco más lenta que el código nativo. Sin embargo, los avances en el compilador y las tecnologías de Máquina Virtual proporcionan un rendimiento cercano al de código nativo sin poner en peligro la portabilidad [5] Prestaciones de la Tecnología Java Debido a que el lenguaje de programación Java es un lenguaje de nivel alto tiene como propósito general funcionar como una plataforma basada en software, por lo que todas las implementaciones de la plataforma Java pueden componerse de las siguientes características [5, 6]: Herramientas de desarrollo: Las herramientas de desarrollo proporcionan lo necesario para compilar, correr, monitorear, depurar y documentar las aplicaciones. Algunas herramientas de desarrollo de aplicaciones son: Javac compiler, el Java launcher, y el Javadoc documentation tool. 32

34 Interfaz de Aplicación de Programación (Application Programming Interface API): La API proporciona un núcleo de funcionalidades del lenguaje de programación Java. Dentro de este núcleo se ofrecen un sin fin de clases, las cuales están siempre disponibles para emplearse en las aplicaciones. Estas clases permiten diseñar cualquier forma básica de objetos para redes y seguridad, para XML, para acceso a bases de datos y más. El núcleo API es tan extenso como para desarrollar una aplicación la cual ocupe todas las clases del núcleo. Además documentarlo o intentar mencionar sus clases seria inconveniente por cuestiones de espacio por lo que para obtener información detallada de las clases del núcleo API de Java es necesario consultar la documentación de la API Java SE Development Kit 6 (JDKTM 6) documentation. Tecnologías de Desarrollo o Deployment Technologies: En Java existe una tecnología de desarrollo llamada Paquete de Desarrollo de Java o Java Development Kid (JDK), el Paquete de Desarrollo de Java es un software que proporciona mecanismos de diseño estándar como el Java Web Start y el software conector de Java (Java Plug-In) para el desarrollo de aplicaciones de usuario final. Kit de Herramientas de Interfaces de Usuario o User Interface Toolkits: En Java existen dos clases que proporcionan funcionalidades gráficas a las aplicaciones creadas las cuales son las bibliotecas Swing y Java 2D Proceso de Creación de Programas Informáticos en Java 1) En el lenguaje de programación Java todo el código que formará parte del programa informático primero es escrito en archivos de texto plano, guardados con 33

35 la terminación.java, es decir se pueden escribir en un bloc de notas y al terminar de escribir el código el archivo deberá guardarse con extensión de archivo.java. 2) Los archivos creados de esta forma después son convertidos (compilados) en un archivo que tiene como extensión.class mediante el compilador Javac. Aunque un archivo.class no contiene código el cual sea nativo para el procesador, si contiene bytecodes el cual es el código que entiende la Máquina Virtual de Java (Java VM por sus siglas en ingles). 3) Después la herramienta de lanzamiento de Java corre la aplicación mediante una instancia de la Máquina Virtual de Java como se puede observar en la figura ) Figura Una vista general del proceso de creación de Programas Informáticos en Java [5]. Existen distintas Máquinas Virtuales de Java (JavaVM) y algunas como la JavaHotSpotMáquina Virtual realizan pasos adicionales en la rutina del proceso de lanzamiento para dar un aumento en el rendimiento de la aplicación. Los archivos.class tienen la posibilidad de correr sobre Microsoft Windows, el sistema operativo Solaris TM (Solaris OS), Linux, o Mac OS y esto tiene como resultado que la Java VM sea compatible con varios Sistemas Operativos como se muestra en la figura [5]. 34

36 Figura Con la Java VM la misma aplicación es capaz de correr en múltiples plataformas operativas [5] Desarrollo de Applets El Applet es también conocido como un subprograma de Java, el cual puede incrustarse en un documento HTML; también conocido como página web, cuando un navegador Web descarga una página web que contiene un Applet, este se descarga en el navegador y comienza a ejecutarse. Esto permite crear programas que cualquier usuario con acceso a la Web puede ejecutar con sólo cargar la página Web correspondiente en el navegador web. Un Applet es un programa que se puede ejecutar mediante líneas de comando y ser visualizado con el programa herramienta del Paquete de Desarrollo de JavaSDK (por sus siglas en inglés) appletviewer.exe. Appletviewer también es conocido como un navegador mínimo, el cual solo sabe cómo interpretar Applets [10]. En Java existe una clase llamada Applet, la cual proporciona todo lo necesario para la creación de Applets en la versión 1 de Java. Está contenida en el paquete Java.applet, por tanto, siempre que sequiera desarrollar un appletse debe importar este paquete, así como también el paquete Java.awt, Java.awt.event, y Javax.swing que contienen todas las herramientas necesarias para desarrollar interfaces gráficas [11,12]. 35

37 A partir de la versión J2SDK se usa la clase JApplet del paquete Javax.swing.para la creación de Applets que contienen proyectos como pueden ser Interfaces Gráficas de Usuario, Formularios, Aplicaciones Web, JavaBeans y JavaCards. Los Applets tienen la ventaja de ejecutarse en Internet sobre el navegador en el equipo del cliente, pero los diseñadores de Java les colocaron algunas restricciones para evitar que estos dañen o inserten virus en las máquinas donde se ejecutan, entre ellas están[11]: a) No pueden leer o escribir en el sistema de archivos desde un navegador b) Solo tienen acceso al servidor definido dentro del Applet en un programa que use sockets. c) Impedimento para ejecutar programas en el cliente d) Impedimento para cargar programas nativos como las DLL para sistemas operativos Construcción de Applets Con la versión de Java 2 la estructura para crear un programa de tipo Applet tiene la siguiente forma [12]: importjavax.swing.japplet; importjavax.swing.swingutilities; importjavax.swing.jlabel; public class HelloWorld extends JApplet { //Called when this applet is loaded into the browser. public void init() { //Execute a job on the event-dispatching thread; creating this applet's GUI. try { SwingUtilities.invokeAndWait(new Runnable() { public void run() { JLabellbl = new JLabel("Hello World"); add(lbl); } }); } catch (Exception e) { System.err.println("createGUI didn't complete successfully"); } } } 36

38 Ciclo de vida de un Applet Comprender el ciclo de vida del Applet es sumamente importante ya que de esto depende una buena implementación de la programación, un correcto uso de los recursos y un aprovechamiento máximo de los métodos de clases usados para la implementación. Un Applet hereda sus propiedades y sus métodos de la clase JApplet del paquete Javax existente en la biblioteca swing, cuenta con varios métodos que el usuario puede sobre escribir para darle la funcionalidad requerida. Estos métodos se detallan en la tabla 2.2 y siguen un ciclo de vida que se explica en el diagrama de la figura [12]. En esta clase el método inicial para ejecutar un Applet es init cuando se omite se usa el método start, si también se omite se usa el método paint, esto significa que no requiere de un método main [13]. Tabla 2.2. Métodos que hereda un Applet desde la clase JApplet y su descripción. Nombre del Método init(): start(): paint(): stop(): Descripción del método Es el primer método que se ejecuta al cargar el Applet y sólo se ejecuta una vez. Se debe utilizar para inicializar las variables. Se ejecuta después del init(). Permite reinicializar un Applet después de que se haya parado. El método start() se ejecuta cada vez que se muestra en pantalla el documento HTML que contiene el Applet. Se ejecuta cada vez que se debe volver a pintar la salida de un Applet. Se ejecuta cuando el navegador abandona la página HTML que contiene el Applet. Se utiliza para parar el Applet; para volverlo a iniciar se llama el 37

39 destroy(): método start(). Se ejecuta cuando el entorno determina que el Applet debe ser borrado completamente de la memoria. El método stop() siempre se ejecuta antes que el destroy. Figura Muestra el ciclo de vida de un Applet [13]. 38

40 Capítulo 3. Diseño de la Interfaz Gráfica de Usuario 3.1. Ingeniería de Software El término Software fue usado por primera vez por John W. Tukeyen 1957, lo consideró como la parte lógica de una computadora porque permite el manejo de los recursos con la que esta cuenta y la ejecución de tareas específicas también denominadas subprogramas. De forma general el software se clasifica en [29]: 1. Software de sistemas: Son aquellos programas que permiten la administración de la parte física o los recursos de la computadora y que permiten la interacción entre el usuario y los componentes hardware del ordenador; se clasifican el Sistemas Operativos Mono usuarios y Multiusuario. 2. Software de aplicación: Son aquellos programas que ayudan a realizar tareas específicas como edición de textos, imágenes, cálculos, entre otros, también conocidos como aplicaciones. De una forma más específica, el software se clasifica en tres gruposde acuerdo con el tipo de trabajo que el usuario puede realizar con él: 1. Software de sistemas En este grupo se encuentran los programas básicos que controlan a la computadora, también llamados sistema operativo, el cual tiene tres grandes funciones: a) coordina y manipula el hardware del ordenador, como la memoria y las unidades de disco; b) organiza los archivos en diversos dispositivos de almacenamiento, como memorias y discos externos y c) gestiona los errores de hardware y del mismo software, como errores de arranque del sistema operativo y de cierre de sesión de usuario. Los sistemas operativos pueden ser de tarea única o multitarea,los sistemas operativos de tarea única son los más primitivos y solo pueden manejar un proceso en cada 39

41 momento; mientras que los sistema operativos multitarea pueden realizar varias acciones a la vez como mandar a imprimir y editar en forma simultánea otro documento. 2. Software de aplicación Es el que permite a los usuarios llevar a cabo una o varias tareas específicas, en cualquier campo de actividad susceptible de ser automatizado o asistido, su uso tiene especial énfasis en los negocios y en la educación. En su diseño se utiliza el software de desarrollo. 3. Software de desarrollo En este grupo se encuentra cualquier lenguaje artificial o programa de cómputo que se puede utilizar para definir una secuencia de instrucciones que serán procesadas por un compilador que tiene la capacidad de traducir las instrucciones de un lenguaje a un código que comprende la computadora. Los compiladores junto con los editores de texto ayudan a los programadores y diseñadores de software en la escritura, compilación y prueba de programas informáticos que se desarrollan con diferentes lenguajes de programación como C++, Java, C#, Visual Basic, HTML y con algunos software de desarrollo son NetBeans, VisualStudio, Net y DreamWeaver [29]. Como se mencionó en el tema 2.1 las Interfaces Gráficas de Usuario (IGU) son programas de cómputo que gestionan la interacción con el usuario basándose en relaciones visuales como íconos, menús o un puntero, por lo que de acuerdo a la clasificación de software mencionada en párrafos anteriores a la IGU se le considera como un software de aplicación y para su diseño se deben tomar en cuenta los lineamientos de la Ingeniería de Software. 40

42 La Ingeniería de Software (IS) es una actividad de modelado de sistemas de software que permite la solución de problemas que requieren el desarrollo de un software; una vez identificado el problema se analizan los detalles relevantes y se ignoran todos los demás. En la actividad de modelado se recopilan datos que se organizan en información y se traducen en adquisición de conocimiento; que permitirá la toma de decisiones y la justificación de las razones que llevan a la misma [31]. El modelado de un sistema de software consta de distintos tipos de diagramas que se construyen siguiendo el Lenguaje Unificado de Modelado (LUM) y una serie de pasos que permiten la construcción de los mismos. De acuerdo con la Ingeniería de Software se aseguran la calidad del Sistema de Software (SS) a través del uso de herramientas de diseño como el LUM. Un SS no necesariamente debe incluir todos los diagramas de la nomenclatura Diagramas de Lenguaje Unificado de Modelado La Ingeniería de Software es una actividad de modelado de Sistemas de Software, su concepción es un proceso ordenado y en el que intervienen distintos actores o personas con papeles específicos: el cliente, el analista de sistemas y el o los programadores. En las industrias de la construcción, la mecánica o la aeroespacial es esencial el uso de planos durante la etapa de diseño para luego llevar a producción lo que se ha diseñado, lo que LUM proporciona son las herramientas necesarias para poder obtener los diagramas LUM de un Sistema de Software (SS), los cuales equivalen a los planos que se utilizan en las industrias antes mencionadas. Dado que el desarrollo de SS es una actividad humana existen muchas posibilidades de cometer errores en el proceso de creación o Proceso de Desarrollo del Software, los diagramas LUM permiten dar a conocer de forma precisa y ordenada los lineamientos bajo los que se deberá diseñar el SS que permitirán conseguir un software de calidad, 41

43 que sea duradero, fácil de mantener y flexible al cambio por actualización. Además LUM permite desarrollar el código del software de forma rápida, eficiente y con un enfoque apropiado. El LUM está compuesto por distintos elementos gráficos que se combinan para construir diagramas. Debido a que es un lenguaje, trabaja con una sintaxis que le permite combinar los elementos gráficos y llegar a la creación de los diagramas, la finalidad de los diagramas es presentar diversas perspectivas de un sistema a las cuales se les conoce como Modelo del Sistema de Software (MSS). En la Ingeniería de Software existen diferentes tipos de diagramas LUM y el desarrollo de una aplicación se recomienda la construcción de los siguientes [30]: Diagrama de clases: las clases son elementos de la programación orientada a objetos que representan una categoría o un grupo de cosas, en ellas se definen atributos (propiedades) y acciones de la categoría que son representadas por la clase. Es posible considerar la clase Lavadora, una lavadora tiene atributos y acciones, en la figura se especifica cómo se puede representar la clase Lavadora con sus atributos y acciones; en donde los atributos son: marca, modelo, número de serie y capacidad y las acciones son: agregar ropa, agregar detergente y sacar ropa. Figura Diagrama LUM de la Clase Lavadora 42

44 Las clases permiten que los Sistemas de Software simulen algún aspecto del mundo real. Décadas de experiencia sugieren que es más sencillo desarrollar SS que simulen aspectos del mundo cuando se representa a las cosas reales con clases, porque es más fácil trabajar con ellas para los desarrolladores y programadores de software. Diagrama de objetos: los objetos son la instancia de una clase, una instancia es una entidad que tiene valores específicos de los atributos y acciones de una clase. Un objeto puede estar formado por otros objetos y en un Sistema de Software los diagramas LUM modelan objetos de la realidad. La figura muestra el diagrama LUM de un objeto llamado Mi Lavadora, el símbolo es un rectángulo como el de una clase pero en este caso el nombre se encuentra subrayado. El nombre de la instancia especifica se encuentra del lado izquierdo de los dos puntos (:)y a la derecha, el nombre de la clase. Figura Diagrama LUM de un Objeto Diagrama de casos de uso: un caso de uso es una descripción de las acciones de un sistema desde el punto de vista del usuario final y son de gran importancia cuando se requiere que el sistema pueda ser utilizado por usuarios que no son expertos en computación. La figura es el diagrama LUM de casos de uso en donde la acción Lavar ropa que se encuentra en la clase Lavadora es ejecutada por un usuario de la lavadora. 43

45 Figura Diagrama LUM de Caso de Uso Diagrama de estados: en un instante de tiempo un objeto puede encontrarse en un estado particular. En la figura se captura la realidad de los posibles estados que tiene el objeto lavadora, los estados también pueden ser llamados fases de un objeto. El símbolo que se encuentra en la parte superior de la figura representa el estado inicial y el de la parte inferior el estado final. Figura Diagrama LUM de Estados 44

46 Diagrama de secuencias: los diagramas de clases y los de objeto de las figuras y aparentan ser estáticos pero en un Sistema de Software los objetos se encuentran en constante interacción con otras clases y en del tiempo. El diagrama de secuencias muestra la relación de los estados de los objetos en el tiempo. En una lavadora se encuentran los componentes manguera de agua, tambor y sistema de drenaje, los cuales pueden ser representados como objetos en un diagrama LUM. Cuando un usuario oprime el botón lavar ropa la programación del Sistema de Software de la lavadora invoca el caso de uso Lavar ropa, con lo que se da por hecho que se han completado las operaciones agregar ropa, agregar detergente y activar. Un ciclo de lavado esta se puede describir mediante las siguientes secuencias: 1. El agua empezará a llenar el tambor a través de una manguera. 2. El tambor permanecerá inactivo durante cinco minutos. 3. La manguera dejará de abastecer agua. 4. El tambor girará de un lado a otro durante quince minutos. 5. El agua jabonosa saldrá por el drenaje 6. Comenzará de nuevo el abastecimiento de agua. 7. El tambor centrifugará girando. 8. El abastecimiento de agua se detendrá. 9. El agua del enjuague saldrá por el drenaje 10. El tambor girará en una sola dirección y se incrementara su velocidad por cinco minutos. 11. El tambor dejará de girar y el proceso de lavado habrá finalizado. Las secuencias anteriores se representan como un diagrama de secuencias en la figura

47 Figura Diagrama LUM de Secuencias Proceso de Desarrollo del Software La construcción de un SS que dará solución a un problema sigue un proceso llamado Proceso de Desarrollo de Software (PDS), en el proceso de desarrollo se analiza el problema y se diseña cuidadosamente la solución mediante la planeación de distintas actividades y la relación de los productos de las mismas. Con el uso de un proceso de desarrollo adecuado la construcción de sistemas software se vuelve panificable y repetible, además de aumentarla probabilidad de obtener un sistema con calidad. El PDS incluye cuatro etapas [17]: 46

48 ETAPA 1.- Identificación: a) La identificación de los requerimientos del usuario b) La identificación de las tareas del usuario c) La identificación del ambiente de desarrollo de la Interfaz ETAPA 2.- Análisis y creación de los escenarios para el usuario: Definición de un conjunto de objetos y acciones de la interfaz. ETAPA 3.- Creación de la plantilla para el diseño gráfico: a) Definición de la colocación de los íconos b) Definición de los textos descriptivos c) Especificación de los títulos de las ventanas d) Especificación de aspectos mayores y menores del menú, estos últimos corresponden a opciones con un grado más alto de especificidad y utilidad que se brindan al usuario. ETAPA 4.- Desarrollo del prototipo: Programación de la interfaz, en alguno de los siguientes Entornos de Desarrollo Integrado (EDI) para Java: Sun One Studio, Eclipse, NetBeans,AnyJ, NetBeans, Sun Java Studio Creator, Borland JBuilder, IBM Web Sphere Studio Application Developer Modelo Semi-formal para el Desarrollo de Software Educativo (MSDSE) La Interfaz Gráfica de Usuario que se desarrollará es un software educativo y los lineamientos de la Ingeniería de Software no precisan una metodología para este tipo 47

49 de soluciones de software, por lo que se considera conveniente retomar elementos de la propuesta metodológica planteada por Canales, que se muestra en la figura 3.1. ETAPA 1.- Arquitectura de sistemas tecnológicos para el aprendizaje a)arquitectura b)ciclo de vida doble c)técnicas cognitivas ETAPA 2.- Modelado y desarrollo de la herramienta a)análisis b)diseño o modelado c)desarrollo ETAPA 3.- Fase operativa a)instalación y puesta en funcionamiento b)pruebas de campo MSDSE Figura 3.1. Muestra de forma general la metodología propuesta por Canales [22]. Canales [22] propone un modelo de diseño instruccional, un modelo de desarrollo de software y un sistema de desarrollo de ecursos, en su propuesta incluye tres etapas para el Proceso de Desarrollo del Software que a continuación se describen: ETAPA 1.- Arquitectura de sistemas tecnológicos para el aprendizaje: a) Se refiere al diseño de una arquitectura para regular el desarrollo de sistemas de Educación Basada en Web (Web-Based Education WBE) adaptables e inteligentes, que responda a las necesidades tecnológicas y pedagógicas, se basa en el estándar IEEE 1484 LTSA (Learning Technology Systems Architecture) y consta de cinco capas que cubren el entorno del WBE: (1) Interacciones del ambiente y el estudiante; (2) Características de diseño relacionadas con el estudiante; (3) Componentes del sistema; (4) Prioridades y perspectivas de los participantes; y (5) Codificación, APIs y protocolos. 48

50 b) Ciclo de vida doble que incorpora el modelo de diseño instruccional al modelo de desarrollo de software para incluir actividades de análisis de dominio y desarrollo de Componentes Reutilizables Orientados a Objetos (CROO), que son productos para los grupos de aplicaciones. La integración de estas nuevas actividades en el desarrollo de software educativo se facilitada si se considera que en el desarrollo de cualquier asignatura orientado a la enseñanza, incluido el software educativo, ha de llevarse a cabo un proceso de diseño instruccional. Este proceso implica un análisis y estructuración del conocimiento que es objeto de la enseñanza. c) Técnicas cognitivas, incluyen un análisis de los Mapas Conceptuales que pueden aplicarse para el aprendizaje mediante un sistema de WBE. La finalidad de las técnicas cognitivas es que el software colabore en la adquisición de conocimientos. d) Análisis y modelado de medios para ecursos para el WBE consiste en un análisis y modelado de ecursos para WBE, los formatos de los medios utilizados recomendados son: jpg (imágenes), mp3 (sonido), swf (animaciones) y flv (video),se recomiendan estos formatos debido a que en México no se cuenta con un gran ancho de banda. ETAPA 2.- Modelado y desarrollo de la herramienta a) Análisis. En el análisis de la herramienta se incluyen: estándares internacionales, XML, conexión al servidor, composición dinámica y ancho de banda. b) Diseño o modelado. Con base en el análisis de la herramienta se modela la solución y se elaboran los diagramas de casos de uso, secuencia, clases, componentes, estados, colaboración de la misma, con los atributos y funcionalidades requeridas para la herramienta. 49

51 c) Desarrollo. Consiste en seleccionar una plataforma tecnológica (JavaBeans o Microsoft.NET) para implementar la herramienta, buscando la compatibilidad entre las diferentes tecnologías involucradas, con lo que se logra la interoperabilidad entre la herramienta y el Servidor. ETAPA 3.- Fase operativa a) Instalación y puesta en funcionamiento. En esta etapa el autor describe que el sistema será instalado y puesto en funcionamiento en un servidor que reúna las condiciones básicas para su buen funcionamiento, seguridad, accesibilidad y administración. b) Pruebas en campo. Recomienda realizar pruebas para comprobar el buen funcionamiento dela herramienta en el servidor y su acceso por Internet Diseño de la Interfaz Gráfica de Usuario como Applets de Java(DIGUAJ) A continuación se presenta la metodología propuesta para el diseño de la interfaz: ETAPA 1.- Arquitectura del software En el presente estudio se propuso el uso de dos arquitecturas, debido a que se pretende que la IGU sea un recurso disponible en web. La arquitectura que se presenta en el inciso a es la arquitectura que se utilizara para hacer que la IGU esté disponible en web, para hacer disponible el recurso en web se usara la tecnología Paginas de Servidor de Java (PSJ). La arquitectura que se presenta en el inciso b es la arquitectura que se utilizara para crear los componentes y las operaciones de la propia IGU. 50

52 a) Arquitectura Webapp: de los elementos de la Ingeniería de Software se retoma la arquitectura Controlador Vista Modelo (CVM) de la cual se puede observar un diagrama en la figura 3.2 [26]. Figura 3.2. Arquitectura Controlador Vista Modelo utilizado para hacer que la IGU se encuentre disponible desde web [26]. b) Arquitectura orientada a objetos: De la metodología de Canales se retoma la arquitectura de creación de Componentes Reutilizables Orientados a Objetos [22] en donde la Ingeniería de Software indica que los componentes del sistema incluyen datos y dentro de los componentes deben existir operaciones que deben aplicarse para manipular los componentes del sistema y acceder a los datos [17]. ETAPA 2.- Modelo de Desarrollo del Software Se retomó de los lineamientos de Ingeniería de Software el análisis de requerimientos de usuario y de la metodología de Canales [22] se retomó la etapa de diseño o modelado y la de desarrollo: 51

53 a) Análisis de Requerimientos de usuario. En el análisis de requerimientos se incluyen las siguientes preguntas [27]: Quién usará la solución? Cuál será el beneficio de la solución? Qué problema resolverá la solución? Cuál sería una buena salida Generada por la solución exitosa? b) Diseño o modelado. Con base en el análisis de la herramienta es necesario modelar la solución y realizar los diagramas de casos de uso, secuencia, clases, componentes, estados, colaboración de la misma, con los atributos y funcionalidades requeridas para la herramienta. c) Desarrollo. Propone utilizar una plataforma tecnológica JavaBeans para implementar la herramienta, buscando la compatibilidad entre las diferentes tecnologías involucradas, con lo que se logra la interoperabilidad entre la herramienta y el Servidor. ETAPA 3.- Fase de Operación a) Selección del servidor. Es necesario contar con la prestación de un servidor en donde pueda instalarse la IGU como Applet de Java. b) Instalación y puesta en funcionamiento. En esta etapa la solución será instalada y puesta en funcionamiento en un servidor que reúna las condiciones básicas para su buen funcionamiento, seguridad, accesibilidad y administración. 52

54 Capítulo4. Aplicación de la metodología (DIGUAJ) 4.1. Arquitectura del Software para la Interfaz Gráfica de Usuario En el presente estudio se propuso el uso de dos arquitecturas, la primera es la Arquitectura CVM que se mostró en la figura 3.2. La segunda es la Arquitectura Orientada a Objetos para la que no existe un diagrama debido a que cada aplicación orientada a objetos es diferente. En el DIGUAJ se elaboró el diagrama LUM de la Arquitectura Orientada a Objetos y se muestra en la figura 4.1. Esta arquitectura consta de seis paquetes de fuentes en donde para cada paquete existe un diagrama LUM. Figura 4.1 Arquitectura Orientada a Objetos. 53

55 4.2. Modelo de Desarrollo de la Interfaz Gráfica de Usuario a) Análisis de Requerimientos de usuario. En el análisis de requerimientos se contestaron las preguntas planteadas por Gause D. y Weunberg [27]: Quién usará la solución? La solución de software será utilizada por alumnos que cursan la asignatura de Teoría del Control II Cuál será el beneficio de la solución? El beneficio que la solución de software ofrece es propiciar una reflexión en el estudiante para el análisis del diseño de compensadores PD mediante la relación que existe entre la respuesta del sistema, el Lugar Geométrico de las Raíces y la solución numérica del problema de diseño. Qué problema resolverá la solución? El problema que se pretende resolver es que en el salón de clases no se cuenta con los recursos gráficos interactivos como los que proporciona una computadora, además de que el tiempo es insuficiente para analizar una gran variedad de casos durante una sesión. Cuál sería una buena salida generada por la solución exitosa? Una salida de la solución del software seria presentar en forma simultánea la solución numérica, la gráfica del LGR y la respuesta del sistema en el tiempo. b) Diseño de la Interfaz Gráfica de Usuario. El diseño de la IGU consta de una serie de diagramas de LUM. En la figura 4.2 se muestra el diagrama de caso de uso en donde un usuario de la IGU proporciona a la interfaz gráfica una función de transferencia de un sistema en lazo abierto. En la figura 4.1 se mostró la arquitectura y en la figura 4.3 se describe a través de un diagrama de clase el paquete Datos que contiene la clase Proporciona_Datos, la cual 54

56 se encarga de suministrar los métodos que permiten que el usuario ingrese los datos una función de transferencia. Figura 4.2. Diagrama de caso de uso para evaluar una función de transferencia, es un caso del modelo de desarrollo del software. 55

57 Figura4.3. Definición del modelo de la claseproporciona_datos del Paquete Datos. De acuerdo a la figura 4.2 el usuario ingresa los datos a la IGU, una vez realizada esta acción, los datos son enviados a la clase CompensadorPropuesto del paquete Datos.Calculos en donde se realiza el cálculo numérico de la solución de Compensadores PD. Lo anterior se puede observar en la figura 4.4. En la figura 4.5 se puede observar el diagrama LUM de la clase Ajustes del Paquete Datos.Calculos, que hereda operaciones a la clase CompensadorPropuesto del paquete Datos.Calculos. Esta clase permite calcular los valores de la frecuencia natural no amortiguada del sistema ( ), la frecuencia natural amortiguada ( ) y el factor de amortiguamiento ( ). Cuando se han calculado la frecuencia natural no amortiguada del sistema ( ), la frecuencia natural amortiguada ( ) y el factor de amortiguamiento ( ), la clase CompensadorPropuesto del Paquete Datos.Calculos, que hereda operaciones de la clase Ajustes del paquete Datos.Calculos, calcula los ángulos que permiten posicionar los polos propuestos en el LGR. La relación de herencia que existe entre las clases CompensadorPropuesto y Ajustes se observa en la figura

58 Para mostrar los resultados del método analítico al usuario se utiliza la clase MuestraResultados del Paquete Resultados, que hereda operaciones de la clase CompensadorPropuesto con la finalidad de disminuir el tiempo de procesamiento del cálculo como se puede observar en la figura 4.7. Finalmente en la figura 4.8 se puede observar la clase Frame_CompensadorPD del Paquete MenuCompensadorPD, con esta clase se genera la instancia que finalmente construye la IGU. Esta clase está compuesta por los objetos Menu:Frame_CompensadorPD, el area de texto JTextArea:Frame_CompensadorPD y el objeto FrameGraficadelLGR:LGR que asu vez contiene un objeto JPanel en cual se realiza el dibujo del LGR. Figura 4.4. Definición del modelo de la claseentrega_datos del Paquete Datos, que hereda operaciones de la clase CompensadorPropuesto del paquete Datos.Calculos. 57

59 Figura 4.5. Definición del modelo de la clase Ajustes del Paquete Datos.Calculos, que hereda operaciones a la clase CompensadorPropuesto del paquete Datos.Calculos. 58

60 Figura4.6. Definición del modelo de la clase CompensadorPropuesto del Paquete Datos.Calculos, que hereda operaciones de la clase Ajustes del paquete Datos.Calculos. Figura 4.7. Definición del modelo de la clasemuestraresultados del Paquete Resultados, que hereda operaciones de la clase CompensadorPropuesto que hereda operaciones de la clase Ajustes del paquete Datos.Calculos. 59

61 Figura4.8. Definición del modelo de la claseframe_compensadorpd del Paquete MenuCompensadorPD. c) Desarrollo. La plataforma de desarrollo gráfico de JavaBeans llamada Entorno de Desarrollo Integrado (EDI) NetBeans. Es la plataforma que se eligió para el desarrollo debido a las prestaciones que brinda para el desarrollo de aplicaciones con Java, además de ser de código abierto y gratuito para uso tanto comercial como no comercial[25]. En la clasificación de software se ha mencionado que el software de desarrollo es cualquier lenguaje artificial o programa de cómputo que se puede utilizar para definir una secuencia de instrucciones, estas últimas serán procesadas por un compilador que tiene la capacidad de traducirlas de un lenguaje a un código que comprende la computadora. El EDI NetBeans se considera un software de este tipo, la figura 4.9 muestra la interfaz del mismo. 60

62 Figura 4.9. Interfaz de Usuario del EDI NetBeans. El EDI NetBeans permite la organización de las instrucciones en distintos lenguajes de programación como Java, C, C++, PHP, HTML entre otros. Aplicando la arquitectura de la IGU que fue mostrada en la figura 4.1en el EDI NetBeansse presenta el resultado que muestra el administrador de proyectos en la figura En la figura 4.1 se puedo observar que el nombre de la arquitectura de software es CompensadorPD y como se puede observar en la figura 4.10 el nombre de proyecto que se asignó en el EDI fue CompensadorPD. La arquitectura está contenida en el Paquete de Fuentes como se puede observar en la figura El EDI NetBeans permite desarrollar la IGU de una forma sencilla mediante el uso de paletas que contienen los elementos swing y awt de Java, los elementos solo deben arrastrarse a un área de diseño, para activar esta función se debe de crear una clase del tipo Formulario JFrame haciendo clic derecho sobre el paquete de la arquitectura que contendrá la IGU, en este caso es el paquete MenuCompensadorPD como se muestra en la figura

63 De acuerdo con la figura 4.8 la IGU contiene un Objeto Menú:Frame_CompensadorPD, el cual es una instancia de la clase Frame_CompensadorPD y es el nombre que recibe la misma, como se observa en la figura Figura Arquitectura de la IGU desarrollada en el EDI NetBeans Figura Activación de creación rápida de una IGU en el EDI NetBeans 62

64 Figura Asignación del nombre a la clase del tipo JFrame Área de Diseño Paleta de Componentes swings Paleta de Componentes awt Figura Área de diseño y paletas de componentes swing y awt. 63

65 Figura Diseño Previo de la IGU 4.3. Fase de Operación En esta fase se continuó con el uso del EDI NetBeans porque es versátil y permite el desarrollo de código en diferentes lenguajes y como se mencionó se requiere desarrollar código en JSP para lanzar la IGU como Applet de Java. Las aplicaciones en lenguaje Java requieren de portabilidad para poder cargarlas en un servidor, la generación de la portabilidad consta de la creación de un paquete tipo jar y la generación de un archivo tipo jsp. Para crear el paquete jar se hace clic derecho sobre el proyecto y se selecciona la opción Limpiar y Construir como se muestra en la figura 4.14a. Cuando el proceso de creación del paquete jar es correcto, en el visor de archivos del NetBeans se observa este paquete como se muestra en la figura

66 Figura 4.14a. Creación del paquete tipo jar. Figura Paquete tipo jar desde la Vista de Archivos Haciendo clic derecho sobre el ícono del archivo se accede a la opción propiedades, en donde se observa el tamaño del archivo como se muestra en la figura Es necesario conocer el tamaño del archivo para definir la capacidad del servidor que requerirá la aplicación. Para dar portabilidad a la IGU se crea un proyecto web en el NetBeans, en este proyecto se desarrollara la secuencia de código necesaria para que el paquete tipo jar se ejecute desde internet como un Applet de Java. En la figura 4.17 se presenta la creación del proyecto web después de seleccionar la opción proyecto nuevo del menú Archivo. 65

67 Figura Propiedades del paquete tipo jar. Figura Comienzo de creación de proyecto web en el EDI NetBeans 66

68 Al seleccionar el tipo de proyecto, que en este caso es de la categoría Java Web, tipo Web Application como se observó en la figura 4.17, se selecciona el botón siguiente para darle nombre al proyecto como se muestra en la figura 4.18, hasta este momento se da por finalizado el proceso de portabilidad se selecciona el servidor. Figura Asignación del nombre al proyecto web. a) Selección del Servidor. Para el servicio web se selecciona un software de servidor. En la figura 4.19 el EDI NetBeans demanda la selección de un software: Apache Tomcat o Glass Fish y la versión de JavaEE que es compatible con el software del servidor. Después de la selección se pulsa en Terminar para continuar con la creación del proyecto web. Al dar clic en el botón Terminar que se mostró en la figura 4.19 el EDI NetBeans muestra una página index.jsp como se observa en la figura 4.20 que será modificada 67

69 para invocar el paquete tipo jar, reemplazando las siguientes líneas 11 a 19, por el siguiente código: <html><head> <meta http-equiv="content-type" content="text/html; charset=utf-8"> <title>jsp Page</title> </head> <body> <h1>bienvenido a la IGU de Teoría de Control II como Applet de Java!</h1> <center> <appletcode="menucompensadorpd.frame_compensadorpd" archive="compensadorpd.jar" width="900" height="590" /> </center></body></html> La carga de la IGU como Applet de Java se lleva a cabo desde la página index.jsp. Versión de JavaEE compatible Selección del software de servidor Botón Terminar Figura Selección del software de servidor y de la versión de Java EE. 68

70 Figura Página index.jsp Se pulsa clic derecho sobre el proyecto web y se selecciona la opción propiedades, para acceder al botón AddProject que vinculara el proyecto web con el proyecto de la IGU, como se observa en la figura Nombre del proyecto de la IGU vinculado al proyecto web Botón AddProject Botón Aceptar Figura Vinculación de la IGU con el Proyecto web en NetBeans. 69

71 Durante las pruebas de la aplicación como web Application es necesario contar con el cero por ciento de errores de código de programación de la Interfaz, de no ser así, el EDI NetBeans no permite la ejecución de la página index.jsp en el explorador web Ejecución de la Aplicación Al ejecutar el Applet se muestra la IGU de la figura 4.22, que incluye los objetos descritos anteriormente en la figura 4.8; Menu:Frame_CompensadorPD, área de texto JTextArea:Frame_CompensadorPD y el objeto FrameGraficadelLGR:LGR que a su vez contiene un objeto JPanel en cual se realiza el dibujo del LGR. Menu:Frame_CompensadorPD Boton Graficar el LGR que lanza el Jpanel en donde se dibuja el LGR Área de texto en donde se muestra el método analítico Figura Objetos de la figura 4.8 presentados en la IGU Al hacer clic sobre el menú aplicaciones aparece una opción que permite ingresar datos de una función de transferencia de la forma ( ) ( ) (figura 4.23) que se encuentra 70

72 en lazo abierto, en donde ( ) es una constante y b es un polo. La figura 4.24 muestra la ventana en que se solicita al usuario que ingrese el valor del polo. Figura Muestra la opción de ingresar datos a la IGU Figura 4.24.La IGU pide el valor del polo 71

73 Un ejemplo para mostrar la ejecución de la IGU consiste en solicitar un compensador PD para la función de transferencia en lazo abierto si se requiere que el sistema en lazo cerrado cumpla con tiempo pico de 2 segundos y un máximo sobreimpulso de 5%. En el apartado del Capítulo 1, se describió como se obtiene la función de transferencia de un sistema en lazo cerrado y que el método del LGR permite observar el comportamiento del sistema en lazo cerrado cuando la función de transferencia a analizar se encuentra en lazo abierto como es el caso de este ejemplo. En la figura 4.25 se puede observar la ventana que aparece para introducir los datos del problema. Figura Selección de la forma de Función de Transferencia que se desea introducir a la IGU 72

74 En la figura 4.26 se solicita el valor del polo, de acuerdo a los datos dela FT el polo es igual a 12. Figura 4.26.Ingreso de un valor de polo En la figura 4.27 la IGU solicita el siguiente valor; el máximo sobre-impulso. Figura 4.27.Ingreso del valor del máximo sobre impulso 73

75 Posteriormente se solicita el tiempo pico y el coeficiente del numerador, como se muestra en las figuras 4.28 y 4.29 Figura Ingreso del valor del tiempo pico Figura 4.29.Ingreso del coeficiente del numerador 74

76 En la introducción se mencionó que el conocimiento del Método del Lugar Geométrico de las Raíces (LGR) y Compensación de Sistemas de Control significa, más que llegar a la solución de problemas de diseño de compensadores en forma numérica, se trata de entender los procedimientos matemáticos implícitos y la relación que existe entre las soluciones numéricas, los recursos gráficos y el método analítico. En la sección se explicó con mayor detalle que una representación gráfica puede ser de gran utilidad para entender cómo contribuye cada polo o cero en lazo abierto, a las posiciones de los polos en lazo cerrado, y la forma en que los polos y los ceros en lazo abierto se deben modificar para que la respuesta del sistema cumpla con un comportamiento específico. En este sentido la IGU brinda la posibilidad al estudiante de reflexionar en el método analítico que se debe realizar para determinar la solución numérica del compensador PD, como se muestra en la figura También brinda un recurso gráfico para observar el LGR cuando el usuario de la IGU haga clic en botón Graficar el LGR como se observa en la figura Figura 4.30.Metodo de solución analítica del compensador PD 75

Qué es Java? Introducción a Java. Lenguajes Orientados a Objetos. Qué es Java? Historia de Java. Objetivos de Java

Qué es Java? Introducción a Java. Lenguajes Orientados a Objetos. Qué es Java? Historia de Java. Objetivos de Java Qué es? Introducción a es Un lenguaje de programación Un entorno de desarrollo Un entorno de ejecución de aplicaciones Un entorno de despliegue de aplicaciones Utilizado para desarrollar, tanto applets

Más detalles

Programación Interactiva Introducción a Java. Escuela de Ingeniería de Sistemas y Computación Facultad de Ingeniería Universidad del Valle

Programación Interactiva Introducción a Java. Escuela de Ingeniería de Sistemas y Computación Facultad de Ingeniería Universidad del Valle Programación Interactiva Introducción a Java Escuela de Ingeniería de Sistemas y Computación Facultad de Ingeniería Universidad del Valle 1 Qué es Java? Java es un lenguaje de programación de propósito

Más detalles

Informática y Programación Escuela de Ingenierías Industriales y Civiles Grado en Ingeniería en Ingeniería Química Curso 2010/2011

Informática y Programación Escuela de Ingenierías Industriales y Civiles Grado en Ingeniería en Ingeniería Química Curso 2010/2011 Módulo 1. Fundamentos de Computadores Informática y Programación Escuela de Ingenierías Industriales y Civiles Grado en Ingeniería en Ingeniería Química Curso 2010/2011 1 CONTENIDO Tema 1. Introducción

Más detalles

Bienvenidos a la presentación: Introducción a conceptos básicos de programación.

Bienvenidos a la presentación: Introducción a conceptos básicos de programación. Bienvenidos a la presentación: Introducción a conceptos básicos de programación. 1 Los programas de computadora son una serie de instrucciones que le dicen a una computadora qué hacer exactamente. Los

Más detalles

Tema 1. Introducción a JAVA

Tema 1. Introducción a JAVA Tema 1. Introducción a JAVA Historia Características Plataforma Java Entorno de desarrollo Ejemplo: Hola mundo Estructura general de un programa Java 1 Historia de Java (i) Surge en 1991: Sun Microsystems

Más detalles

Java Applets como ejemplo de Frameworks. Agustín J. González ELO-329

Java Applets como ejemplo de Frameworks. Agustín J. González ELO-329 Java Applets como ejemplo de Frameworks Agustín J. González ELO-329 Frameworks Un framework ( marco de trabajo ) es un conjunto de clases que implementan todos los servicios comunes de un cierto tipo de

Más detalles

A continuación resolveremos parte de estas dudas, las no resueltas las trataremos adelante

A continuación resolveremos parte de estas dudas, las no resueltas las trataremos adelante Modulo 2. Inicio con Java Muchas veces encontramos en nuestro entorno referencias sobre Java, bien sea como lenguaje de programación o como plataforma, pero, que es en realidad Java?, cual es su historia?,

Más detalles

La Arquitectura de las Máquinas Virtuales.

La Arquitectura de las Máquinas Virtuales. La Arquitectura de las Máquinas Virtuales. La virtualización se ha convertido en una importante herramienta en el diseño de sistemas de computación, las máquinas virtuales (VMs) son usadas en varias subdiciplinas,

Más detalles

TECNOLOGÍAS DE DESARROLLO: JAVA

TECNOLOGÍAS DE DESARROLLO: JAVA Página 1 de 13 TECNOLOGÍAS DE DESARROLLO: JAVA Java es un lenguaje de programación de Sun Microsystems originalmente llamado "Oak", que fue concebido bajo la dirección de James Gosling y Bill Joy, quienes

Más detalles

Módulo 2. Inicio con Java

Módulo 2. Inicio con Java Módulo 2. Inicio con Java Objetivos: -Clasificar el lenguaje de programación Java según las formas de clasificar los lenguajes de programación. -Describir el funcionamiento de la plataforma Java. -Explicar

Más detalles

INF 473 Desarrollo de Aplicaciones en

INF 473 Desarrollo de Aplicaciones en INF 473 Desarrollo de Aplicaciones en Java Unidad II El Lenguaje de Programación Java Prof. José Miguel Rubio jose.rubio.l@ucv.cl jrubio@inf.ucv.cl PUCV Marzo 2008 1 Orígenes del Lenguaje Java 1991. James

Más detalles

Prácticas: Introducción a la programación en Java. Informática (1º Ingeniería Civil) Curso 2011/2012

Prácticas: Introducción a la programación en Java. Informática (1º Ingeniería Civil) Curso 2011/2012 Prácticas: Introducción a la programación en Java Informática (1º Ingeniería Civil) Índice Introducción a Java y al entorno de desarrollo NetBeans Estructura de un programa Tipos de datos Operadores Sentencias

Más detalles

Tema 1: y el lenguaje Java 1.Programación orientada a objetos 2.El lenguaje Java 3.Compilación, bytecode y JVMs 4.Entornos de desarrollo Java 5.Java vs otros lenguajes OO Programación orientada a objetos

Más detalles

Introducción... 1 Qué es Java?... 1 Compilando a Bytecode... 1 Usando jgrasp Para Hacer el Trabajo Sucio... 5 El Entorno de jgrasp...

Introducción... 1 Qué es Java?... 1 Compilando a Bytecode... 1 Usando jgrasp Para Hacer el Trabajo Sucio... 5 El Entorno de jgrasp... Contenido Introducción... 1 Qué es Java?... 1 Compilando a Bytecode... 1 Usando jgrasp Para Hacer el Trabajo Sucio... 5 El Entorno de jgrasp... 5 Introducción Es tiempo de hablar en detalle de lo que significa

Más detalles

desarrollo. Dentro del desarrollo de la tesis el proceso de modelado del sistema fue hecho con el

desarrollo. Dentro del desarrollo de la tesis el proceso de modelado del sistema fue hecho con el Capitulo II. Análisis de herramientas y tecnologías de desarrollo. Dentro del desarrollo de la tesis el proceso de modelado del sistema fue hecho con el lenguaje de Modelo de Objetos llamado UML (Unified

Más detalles

U.T.4.EL ENTORNO DE DESARROLLO

U.T.4.EL ENTORNO DE DESARROLLO U.T.4.EL ENTORNO DE DESARROLLO Lenguaje Java Estamos en unos días en los que cada vez más la informática invade más campos de nuestra vida, estando el ciudadano medio cada vez más familiarizado con términos

Más detalles

CURSO DE PROGRAMACIÓN EN JAVA J2EE 7 ÍNDICE

CURSO DE PROGRAMACIÓN EN JAVA J2EE 7 ÍNDICE CURSO DE PROGRAMACIÓN EN JAVA J2EE 7 ÍNDICE PRÓLOGO... 13 APECTOS BÁSICOS DE JAVA... 15 1.1. LA MÁQUINA VIRTUAL JAVA... 15 1.2. EDICIONES JAVA... 16 1.3. ESTRUCTURA DE UN PROGRAMA JAVA... 16 1.4. EL MÉTODO

Más detalles

Tema: Introducción a Java y Netbeans

Tema: Introducción a Java y Netbeans 1 Tema: Introducción a Java y Netbeans Objetivo Especifico Conocer el uso básico del JDK para la compilación y ejecución de código java desde la linea de comando Conocer el entorno de desarrollo NetBeans

Más detalles

La obra se proporciona bajo los términos de esta licencia pública de Sisoft de México

La obra se proporciona bajo los términos de esta licencia pública de Sisoft de México Licencia La obra se proporciona bajo los términos de esta licencia pública de Sisoft de México S. A de C.V., Está protegida por derechos de autor y / u otras leyes aplicables. Cualquier uso diferente a

Más detalles

PRÁCTICA 08. GUIDE. Calculadora. Montor Láscares Pedro Antonio Ortiz Rosas Mario

PRÁCTICA 08. GUIDE. Calculadora. Montor Láscares Pedro Antonio Ortiz Rosas Mario PRÁCTICA 08. GUIDE Calculadora Montor Láscares Pedro Antonio Ortiz Rosas Mario Contenido Capítulo 1... 2 Introducción... 2 Capítulo 2... 3 Marco Teórico... 3 2.2 Matlab... 3 2.3 Guide... 3 Capítulo 3...

Más detalles

Lo que necesitaremos para programar en Java, será un editor de texto o IDE y la JDK.

Lo que necesitaremos para programar en Java, será un editor de texto o IDE y la JDK. Introducción Java surgió en 1991 dentro de la empresa Sun Microsystems como un lenguaje de programación sencillo y universal destinado a electrodomésticos. La reducida potencia de cálculo y memoria de

Más detalles

Gestor de aplicaciones Java. Esta herramienta es el intérprete de los archivos de clase generados por el javac (compilador).

Gestor de aplicaciones Java. Esta herramienta es el intérprete de los archivos de clase generados por el javac (compilador). CAPÍTULO 4 Requerimientos de software Este capítulo presenta las herramientas necesarias para la construcción y ejecución de programas en el lenguaje de programación JAVA, los requerimientos mínimos de

Más detalles

ÍNDICE 1 LA NUEVA EDICIÓN DE QUIVIR...1 1.1 ENTORNO WEB...2 1.2 FIABILIDAD Y ROBUSTEZ...4 2 WEBFACING...6 3 MÁS VENTAJAS DEL USO DE LA EDICIÓN WEB...

ÍNDICE 1 LA NUEVA EDICIÓN DE QUIVIR...1 1.1 ENTORNO WEB...2 1.2 FIABILIDAD Y ROBUSTEZ...4 2 WEBFACING...6 3 MÁS VENTAJAS DEL USO DE LA EDICIÓN WEB... QUIVIR WEB EDITION ÍNDICE 1 LA NUEVA EDICIÓN DE QUIVIR...1 1.1 ENTORNO WEB...2 1.2 FIABILIDAD Y ROBUSTEZ...4 2 WEBFACING...6 3 MÁS VENTAJAS DEL USO DE LA EDICIÓN WEB...8 4 CONCLUSIONES FINALES...10 Página

Más detalles

Manual de requisitos técnicos para la SEDE Electrónica del Ministerio de Economía y Competitividad en I+D+I

Manual de requisitos técnicos para la SEDE Electrónica del Ministerio de Economía y Competitividad en I+D+I Manual de requisitos técnicos para la SEDE Electrónica del Ministerio de Economía y Competitividad en I+D+I Configuraciones técnicas previas de Java y en los navegadores de Internet. Madrid, 24 Abril de

Más detalles

Características generales del lenguaje Java. María a Consuelo Franky

Características generales del lenguaje Java. María a Consuelo Franky Características generales del lenguaje Java María a Consuelo Franky 1 Temario ❶ Historia del desarrollo de Java ❷ Ventajas sobre otros lenguajes O.O. ❸ applets vs. aplicaciones ❹ Vistazo global a las características

Más detalles

[RECOMENDACIONES SOBRE LOS CONTENIDOS DE LAS COMPETENCIAS DE AUTOMÁTICA EN LOS GRADOS DE INGENIERÍA INDUSTRIAL]

[RECOMENDACIONES SOBRE LOS CONTENIDOS DE LAS COMPETENCIAS DE AUTOMÁTICA EN LOS GRADOS DE INGENIERÍA INDUSTRIAL] 2012 CEA ISA [RECOMENDACIONES SOBRE LOS CONTENIDOS DE LAS COMPETENCIAS DE AUTOMÁTICA EN LOS GRADOS DE INGENIERÍA INDUSTRIAL] En este documento se incluyen una serie de recomendaciones básicas para impartir

Más detalles

Introducción a la Programación en Java. Page 1

Introducción a la Programación en Java. Page 1 Introducción a la Programación en Java Page 1 Qué es Java? Java es un lenguaje de programación de propósito general, orientado a objetos que fue diseñado específicamente para tener tan pocas dependencias

Más detalles

PROGRAMACIÓN ORIENTADA A OBJETOS (L40629) Sabino Miranda-Jiménez

PROGRAMACIÓN ORIENTADA A OBJETOS (L40629) Sabino Miranda-Jiménez PROGRAMACIÓN ORIENTADA A OBJETOS (L40629) Sabino Miranda-Jiménez Paradigmas de programación 2 Paradigmas de programación Paradigma de programación estructurada Enfatiza la separación datos de un programa

Más detalles

JAVA 8 Los fundamentos del lenguaje Java (con ejercicios prácticos corregidos)

JAVA 8 Los fundamentos del lenguaje Java (con ejercicios prácticos corregidos) Presentación 1. Historia 11 1.1 Por qué Java? 11 1.2 Objetivos del diseño de Java 12 1.3 Auge de Java 13 2. Características de Java 14 2.1 El lenguaje de programación Java 14 2.1.1 Sencillo 15 2.1.2 Orientado

Más detalles

La Tecnología Informatica aplicada a los centros escolares. LEPRE. Herramienta digital Jclic. Lic. Cruz Jorge Fernández Aramburo.

La Tecnología Informatica aplicada a los centros escolares. LEPRE. Herramienta digital Jclic. Lic. Cruz Jorge Fernández Aramburo. Gobierno del Estado de Durango Secretaría de Educación ESCUELA NORMAL PROFESOR CARLOS A. CARRILLO La Tecnología Informatica aplicada a los centros escolares. LEPRE Herramienta digital Jclic Lic. Cruz Jorge

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

UNIVERSIDAD DEL ISTMO Ingeniería en computación Estructura de datos

UNIVERSIDAD DEL ISTMO Ingeniería en computación Estructura de datos UNIVERSIDAD DEL ISTMO Ingeniería en computación Estructura de datos CICLO ESCOLAR 20092010B PROFESOR M. en C. J. Jesús Arellano Pimentel GRUPO 204 NÚMERO DE PRÁCTICA 1 NOMBRE DE LA PRÁCTICA OBJETIVO GENERAL

Más detalles

Programación para sistemas en red IV. Conceptos básicos II

Programación para sistemas en red IV. Conceptos básicos II Conceptos básicos II Maquina virtual de java (JVM): Una Máquina virtual Java (en inglés Java Virtual Machine, JVM) es un programa nativo, es decir, ejecutable en una plataforma específica, capaz de interpretar

Más detalles

Java y Eclipse. Lenguajes y Entornos de Programación Libre

Java y Eclipse. Lenguajes y Entornos de Programación Libre Java y Eclipse Lenguajes y Entornos de Programación Libre El lenguaje Java Un poco de historia: 1990: James Gosling, responsable de una empresa filial creada por Sun Microsystems, empieza a diseñar Java

Más detalles

(volver a Tabla de Contenidos)

(volver a Tabla de Contenidos) Para escribir, compilar y ejecutar un programa en Java lo único que realmente se necesita y no viene incluido con el sistema operativo es el kit de desarrollo de Java, denominado SDK (Software Development

Más detalles

UNIVERSIDAD TÉCNICA DEL NORTE FACULTAD DE INGENIERÍA EN CIENCIAS APLICADAS ESCUELA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES

UNIVERSIDAD TÉCNICA DEL NORTE FACULTAD DE INGENIERÍA EN CIENCIAS APLICADAS ESCUELA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES UNIVERSIDAD TÉCNICA DEL NORTE FACULTAD DE INGENIERÍA EN CIENCIAS APLICADAS ESCUELA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES TEMA: La Programación Extrema aplicada al desarrollo del Sistema Informático

Más detalles

Tema 1. Java: Conceptos generales

Tema 1. Java: Conceptos generales Introducción James Gosling (Sun Microsystems) inicia en 1991 un lenguaje para programación de electrodomésticos denominado OAK. En 1994 se le cambia el nombre por el de Java y se orienta a Internet. La

Más detalles

IVista: es la interfaz con la que el Presentador se comunica con la vista.

IVista: es la interfaz con la que el Presentador se comunica con la vista. Capítulo 3 MODELO DE DISEÑO 3.1 Arquitectura Modelo-Vista-Presentador La arquitectura Modelo-Vista-Presentador (MVP) [11] separa el modelo, la presentación y las acciones basadas en la interacción con

Más detalles

Programador en Plataforma Java y XML

Programador en Plataforma Java y XML Programador en Plataforma Java y XML Java Fundamentos Módulo 1: Java Básico Introducción En la presente unidad, se detalla los fundamentos de la tecnología Java, reconociendo las 3 plataformas que la conforman.

Más detalles

PRÁCTICA SOFTWARE OPERATIVO Y DE DESARROLLO Parte I. Objetivos

PRÁCTICA SOFTWARE OPERATIVO Y DE DESARROLLO Parte I. Objetivos Objetivos El alumno conocerá algunos tipos de software operativo existentes que le serán útiles en su desempeño académico y profesional. Al final de esta práctica el alumno podrá: 1. Distinguir varias

Más detalles

Introducción a la programación (Java)

Introducción a la programación (Java) Introducción a la programación (Java) Preparar las herramientas de desarrollo Introducción La primera parte de este documento es una guía para la instalación del software necesario para realizar programas

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

Por más insignificante que sea lo que debes hacer, esmérate en hacerlo lo mejor que puedas, como si fuera la cosa más importante

Por más insignificante que sea lo que debes hacer, esmérate en hacerlo lo mejor que puedas, como si fuera la cosa más importante Empecemos! En este tema puedes seguir aprendiendo y conociendo todo lo relacionado a la clasificación del software, sus funciones en el control de los dispositivos de la computadora y las diferentes aplicaciones

Más detalles

Programación en Java. Temario. David Contreras Bárcena

Programación en Java. Temario. David Contreras Bárcena Programación en Java David Contreras Bárcena David Contreras Bárcena (ETSI) - Comillas 1 Temario 1. Introducción 1. Lenguaje java 2. Compilador SDK 1.4 3. Sintaxis 4. Tipos de datos 5. Estructuras de Control

Más detalles

Universidad Nacional del Santa E.A.P. DE INGENIERIA DE SISTEMAS E INFORMATICA INSTALACIÓN E INTERFAZ GRÁFICA DE LA HERRAMIENTA DE PROGRAMACIÓN

Universidad Nacional del Santa E.A.P. DE INGENIERIA DE SISTEMAS E INFORMATICA INSTALACIÓN E INTERFAZ GRÁFICA DE LA HERRAMIENTA DE PROGRAMACIÓN Universidad Nacional del Santa FACULTAD DE INGENIERIA E.A.P. DE INGENIERIA DE SISTEMAS E INFORMATICA INSTALACIÓN E INTERFAZ GRÁFICA DE LA HERRAMIENTA DE PROGRAMACIÓN NETBEANS 7.0 1 INSTALACION DEL NETBEANS

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

Datos parciales. Datos Parciales. La Programación estructurada se concentra en las acciones que controlan el flujo de datos.

Datos parciales. Datos Parciales. La Programación estructurada se concentra en las acciones que controlan el flujo de datos. Unidad I Conceptos Básicos de la Programación Orientada a Objetos 1.1 Paradigma de la Programación Orientada a Objetos Paradigma. Según el Diccionario de la Real Academia de la Lengua Española, paradigma

Más detalles

Capítulo 5. Sistemas operativos. Autor: Santiago Felici Fundamentos de Telemática (Ingeniería Telemática)

Capítulo 5. Sistemas operativos. Autor: Santiago Felici Fundamentos de Telemática (Ingeniería Telemática) Capítulo 5 Sistemas operativos Autor: Santiago Felici Fundamentos de Telemática (Ingeniería Telemática) 1 Sistemas operativos Definición de Sistema Operativo Partes de un Sistema Operativo Servicios proporcionados:

Más detalles

CAPÍTULO 3 VISUAL BASIC

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

Más detalles

SUMILLAS DE ASIGNATURAS DE ESPECIALIDAD INFORMÁTICA I

SUMILLAS DE ASIGNATURAS DE ESPECIALIDAD INFORMÁTICA I SUMILLAS DE ASIGNATURAS DE ESPECIALIDAD INFORMÁTICA (Reestructurado a partir del 2006) PRIMER CICLO INFORMÁTICA I Esta asignatura tiene por objeto en conocer los elementos básicos de la informática. Unidades

Más detalles

Pontificia Universidad Católica del Ecuador

Pontificia Universidad Católica del Ecuador 1. DATOS INFORMATIVOS FACULTAD: Ingeniería CARRERA: Sistemas Asignatura/Módulo: Programación orientada a objetos Código: Plan de estudios: Nivel: Tercero Prerrequisitos Correquisitos: Período académico:

Más detalles

TEMA 1.- SISTEMAS AUTOMÁTICOS Y DE CONTROL.

TEMA 1.- SISTEMAS AUTOMÁTICOS Y DE CONTROL. TEMA 1.- SISTEMAS AUTOMÁTICOS Y DE CONTROL. INDICE 1.-INTRODUCCIÓN/DEFINICIONES 2.-CONCEPTOS/DIAGRAMA DE BLOQUES 3.-TIPOS DE SISTEMAS DE CONTROL 4.-TRANSFORMADA DE LAPLACE 1.- INTRODUCCIÓN/DEFINICIONES:

Más detalles

SITEMAS OPERATIVOS PROFESORA ELIZABETH ARIAS INFORMATICA SECCION F 3 SEMESTRE YORDAN ALEXANDER MARIN CUBIDES

SITEMAS OPERATIVOS PROFESORA ELIZABETH ARIAS INFORMATICA SECCION F 3 SEMESTRE YORDAN ALEXANDER MARIN CUBIDES REPUBLICA BOLIVARIANA DE VENEZUELA MINISTERIO DEL PORDER POPULAR PARA LA EDUCACION INSTITUTO UNIVERSITARIO POLITECNICO SANTIAGO MARIÑO EXTENSION MARACAIBO SITEMAS OPERATIVOS PROFESORA ELIZABETH ARIAS INFORMATICA

Más detalles

CAPÍTULO V. Propuesta

CAPÍTULO V. Propuesta CAPÍTULO V Propuesta 5.1 Propuesta Implantación de una aplicación WEB para optimizar el Enlace Laboral de la Cámara de Comercio e Industria de El Salvador, Filial San Miguel 5.2 Requerimientos de la Aplicación

Más detalles

Arquitectura y Lenguaje Java

Arquitectura y Lenguaje Java Arquitectura y Lenguaje Java 1 Introducción El lenguaje de programación Java así como su arquitectura se diseñaron para resolver problemas que se presentan en la programación moderna. Se inició como parte

Más detalles

Unidad 1: Conceptos generales de Sistemas Operativos.

Unidad 1: Conceptos generales de Sistemas Operativos. Unidad 1: Conceptos generales de Sistemas Operativos. Tema 3: Estructura del sistema operativo. 3.1 Componentes del sistema. 3.2 Servicios del sistema operativo. 3.3 Llamadas al sistema. 3.4 Programas

Más detalles

DIRECCIÓN REGIONAL DE EDUCACIÓN PUNO INSTITUTO DE EDUCACIÓN SUPERIOR TECNOLÓGICO PÚBLICO MACUSANI

DIRECCIÓN REGIONAL DE EDUCACIÓN PUNO INSTITUTO DE EDUCACIÓN SUPERIOR TECNOLÓGICO PÚBLICO MACUSANI DIRECCIÓN REGIONAL DE EDUCACIÓN PUNO INSTITUTO DE EDUCACIÓN SUPERIOR TECNOLÓGICO PÚBLICO MACUSANI RM. N 102-90-ED de Creación y Funcionamiento, RD Nº 0086-2006-ED de Revalidación Web Site: www.tecnomacusani.edu.pe

Más detalles

Ejemplo práctico de instalación del programa JCLIC en red

Ejemplo práctico de instalación del programa JCLIC en red Ejemplo práctico de instalación del programa JCLIC en red Una red local permite optimizar los recursos, tanto en relación al espacio (los programas se pueden colocar en el disco duro del servidor y ser

Más detalles

Java Avanzado Facultad de Ingeniería. Escuela de computación.

Java Avanzado Facultad de Ingeniería. Escuela de computación. 2 Java Avanzado Facultad de Ingeniería. Escuela de computación. Java Avanzado. Guía 6 3 Introducción Este manual ha sido elaborado para orientar al estudiante de Java Avanzado en el desarrollo de sus prácticas

Más detalles

Tema 2: La Tecnología Java

Tema 2: La Tecnología Java Tema 2: La Tecnología Java 0 La Tecnología de Java Es : Un lenguaje de programación Similar a C/C++ sin los problemas de manejo de memoria. Un ambiente de desarrollo Compilador, intérprete, generados de

Más detalles

1. INTRODUCCIÓN. 1.1. El lenguaje de Programación Java. Características del lenguaje. 8 A. García-Beltrán y J.M. Arranz

1. INTRODUCCIÓN. 1.1. El lenguaje de Programación Java. Características del lenguaje. 8 A. García-Beltrán y J.M. Arranz 8 A. García-Beltrán y J.M. Arranz 1. INTRODUCCIÓN Objetivos: a) Describir las características del lenguaje de programación Java b) Describir las herramientas ligadas a la construcción y ejecución de programas

Más detalles

Sistema de aprendizaje por refuerzo para la mejora del rendimiento del alumno en prácticas

Sistema de aprendizaje por refuerzo para la mejora del rendimiento del alumno en prácticas Memoria resumen del Proyecto de Innovación Docente (PID) Ref.: 52B (periodo 2009-2011) Sistema de aprendizaje por refuerzo para la mejora del rendimiento del alumno en prácticas Investigador Principal:

Más detalles

El monitoreo de una variable física requiere supervisión permanente de señales que

El monitoreo de una variable física requiere supervisión permanente de señales que Capítulo 1 Marco Contextual 1.1. Formulación del problema 1.1.1. Definición del problema El monitoreo de una variable física requiere supervisión permanente de señales que varían con el tiempo. Tal información,

Más detalles

CAPITULO V. HERRAMIENTA CASE (Rational Rose, C++)

CAPITULO V. HERRAMIENTA CASE (Rational Rose, C++) CAPITULO V HERRAMIENTA CASE (Rational Rose, C++) 5.1 HERRAMIENTA CASE La documentación del UML ha propiciado el desarrollo de herramientas CASE, las cuales cubren el ciclo de vida del software y además

Más detalles

JAVA EE 5. Arquitectura, conceptos y ejemplos.

JAVA EE 5. Arquitectura, conceptos y ejemplos. JAVA EE 5. Arquitectura, conceptos y ejemplos. INTRODUCCIÓN. MODELO DE LA APLICACIÓN JEE5. El modelo de aplicación Java EE define una arquitectura para implementar servicios como lo hacen las aplicaciones

Más detalles

Arquitectura de Software

Arquitectura de Software Arquitectura de Software (Estilos Arquitectónicos) Universidad de los Andes Demián Gutierrez Mayo 2011 1 Diseño Arquitectónico Diseño Arquitectónico Arquitectura del Software Estilos Arquitectónicos Frameworks

Más detalles

CAPITULO I El Problema

CAPITULO I El Problema CAPITULO I El Problema 1. CAPITULO I EL PROBLEMA. 1.1. PLANTEAMIENTO DEL PROBLEMA. Desde su nacimiento la Facultad de Administración, Finanzas e Informática dispone del departamento de la biblioteca, con

Más detalles

Módulo 1 El lenguaje Java

Módulo 1 El lenguaje Java Módulo 1 El lenguaje 1.1 Presentación de es un lenguaje de programación desarrollado por la empresa Sun Microsystems en 1991 como parte de un proyecto secreto de investigación llamado Green Proyect, con

Más detalles

Entorno de desarrollo Instalación y configuración

Entorno de desarrollo Instalación y configuración Entorno de desarrollo Instalación y configuración GExCALL Formación http://gexcall.unex.es/formacion El plugin ADT (Android Development Tools) extiende al IDE Eclipse. Te permite crear y depurar aplicaciones

Más detalles

Java Avanzado. Guía 1 7. Java Avanzado Facultad de Ingeniería. Escuela de computación.

Java Avanzado. Guía 1 7. Java Avanzado Facultad de Ingeniería. Escuela de computación. Java Avanzado. Guía 1 7 Java Avanzado Facultad de Ingeniería. Escuela de computación. Java Avanzado. Guía 1 3 Introducción Este manual ha sido elaborado para orientar al estudiante de Java Avanzado en

Más detalles

Cookbook Creando un Proyecto Android (ADT-Eclipse)

Cookbook Creando un Proyecto Android (ADT-Eclipse) Cookbook Creando un Proyecto Android (ADT-Eclipse) ALONSO PARRA CESAR VIELMA FREDDY RONDON JOSE MARQUEZ Alienx9889 * cesarvielma * spantons * joseangel2212 * * @gmail.com Universidad de Los Andes Escuela

Más detalles

Universidad Austral. Aplicación móvil para manejo de una computadora Droid Control Trabajos de Cátedra

Universidad Austral. Aplicación móvil para manejo de una computadora Droid Control Trabajos de Cátedra Universidad Austral Aplicación móvil para manejo de una computadora Droid Control Trabajos de Cátedra Autores: Tomas A. Najun Jose M. Gonzalez Docentes: Nicolas Damonte Lucas Luppani Ignacio Rodriguez

Más detalles

Manual de Windows XP

Manual de Windows XP Universidad de Chiclayo Pagina 1 1. Sistema Operativo 2. El escritorio (desktop) 3. Íconos importantes 4. Menú contextual 5. Carpetas 6. Fondo del escritorio (papel tapiz) 7. El protector de pantalla 8.

Más detalles

SISTEMA DE ADQUISICION DE DATOS Y SUPERVISION EQUIPOS (NI): PLANTA CONTROL DE NIVEL

SISTEMA DE ADQUISICION DE DATOS Y SUPERVISION EQUIPOS (NI): PLANTA CONTROL DE NIVEL SISTEMA DE ADQUISICION DE DATOS Y SUPERVISION EQUIPOS (NI): PLANTA CONTROL DE NIVEL Ana Albán De la Torre¹, Giosmara Cañarte Abad², Gonzalo Espinoza Vargas³, Raphael Alarcón Cottallat 4 ¹Ingeniera Eléctrica

Más detalles

Bloque II. Elementos del lenguaje de programación Java

Bloque II. Elementos del lenguaje de programación Java Bloque II. Elementos del lenguaje de programación Java 1.Introducción a los lenguajes de programación 2. Estructura de un programa 3. Datos y expresiones simples 4. Instrucciones de control 5. Entrada/salida

Más detalles

Desarrollo de Aplicaciones Móviles. Java

Desarrollo de Aplicaciones Móviles. Java Java Java es la base para prácticamente todos los tipos de aplicaciones de red, además del estándar global para desarrollar y distribuir aplicaciones móviles y embebidas, juegos, contenido basado en web

Más detalles

Antes de imprimir este documento piense en el medio ambiente!

Antes de imprimir este documento piense en el medio ambiente! Versión 1.0 Página 1 de 14 1. OBJETIVO: Suministrar la metodología que se aplicará para la estimación de esfuerzo para los desarrollos nuevos en el ICBF, para lo cual se detallan los aspectos a tener en

Más detalles

INDICE Introducción Parte I. El comienzo Hora 1 Llegue a ser un programador 2. Escriba su primer programa 3. Vacaciones con Java

INDICE Introducción Parte I. El comienzo Hora 1 Llegue a ser un programador 2. Escriba su primer programa 3. Vacaciones con Java INDICE Introducción XXII Parte I. El comienzo 1 Hora 1 Llegue a ser un programador 3 Selección de un lenguaje 4 Como decirle a la computadora lo que hay que hacer 6 Como funcionan los programas 8 Como

Más detalles

CARACTERÍSTICAS GENERALES. a) Nombre del Proyecto Curricular Licenciatura de Ingeniería en Sistemas Inteligentes 2007

CARACTERÍSTICAS GENERALES. a) Nombre del Proyecto Curricular Licenciatura de Ingeniería en Sistemas Inteligentes 2007 CARACTERÍSTICAS GENERALES a) Nombre del Proyecto Curricular Licenciatura de Ingeniería en Sistemas Inteligentes 2007 b) Título que se otorga Ingeniero/a en Sistemas Inteligentes c) Espacio donde se imparte

Más detalles

Java. Mtro. Manuel Suárez Gutiérrez

Java. Mtro. Manuel Suárez Gutiérrez Java Mtro. Manuel Suárez Gutiérrez Introducción Creado por SUN Microsystems Su fin era homologar los lenguajes de programación ante una proliferación de multiples plataformas Trabaja bajo una maquina virtual

Más detalles

Capítulo 1. Sistema de Control de Inventario y Reportes de Falla

Capítulo 1. Sistema de Control de Inventario y Reportes de Falla Capítulo 1 Sistema de Control de Inventario y Reportes de Falla 1.1 Descripción del Problema La Universidad de las Américas, Puebla (UDLA) cuenta con la Dirección de Capacitación y Servicios en Sistemas

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

Entorno Multimedia para el Estudio de los Microcontroladores Resumen

Entorno Multimedia para el Estudio de los Microcontroladores Resumen OBJETIVOS Este proyecto cuyo título es Entorno Multimedia para el estudio de los Microcontroladores, surge ante la necesidad de implantar las nuevas tecnologías de la información en el campo de la enseñanza,

Más detalles

GUÍA PARA LA CONFIGURACIÓN Y UTILIZACIÓN DE LA IDE DRJAVA

GUÍA PARA LA CONFIGURACIÓN Y UTILIZACIÓN DE LA IDE DRJAVA Universidad Católica del Norte Facultad de Ingeniería y Ciencias Geológicas Departamento de Ingeniería de Sistemas y Computación GUÍA PARA LA CONFIGURACIÓN Y UTILIZACIÓN DE LA IDE DRJAVA 1. INTRODUCCIÓN

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

3.4. Reload Editor ( Guía de Uso).

3.4. Reload Editor ( Guía de Uso). 3.4. Reload Editor ( Guía de Uso). Anterior 3. Lors Management Siguiente 3.4. Reload Editor ( Guía de Uso). 3.4.1. Preguntas básicas sobre Reload Editor. - Qué hace el programa Reload Editor? RELOAD Editor

Más detalles

Introducción a la Tecnología

Introducción a la Tecnología Introducción a la Tecnología Java Pedro Corcuera Dpto. Matemática Aplicada y Ciencias de la Computación Universidad de Cantabria corcuerp@unican.es Objetivos Describir la tecnología Java Describir algunos

Más detalles

Carrera Plan de Estudios Contacto

Carrera Plan de Estudios Contacto Carrera Plan de Estudios Contacto La Ingeniería en es una licenciatura de reciente creación que responde a las necesidades tecnológicas de la sociedad y la comunicación. Cada teléfono móvil, tableta electrónica

Más detalles

INTRODUCCIÓN A JAVA. Índice

INTRODUCCIÓN A JAVA. Índice INTRODUCCIÓN A JAVA Índice Qué es Java? La plataforma Java 2 La Máquina Virtual de Java Características principales Qué ventajas tengo como desarrollador? Bibliografía 2 1 Qué es Java? La tecnología Java

Más detalles

JAVA: Applets. Diseño de aplicaciones web. mperez@fi.upm.es

JAVA: Applets. Diseño de aplicaciones web. mperez@fi.upm.es JAVA: Applets Diseño de aplicaciones web mperez@fi.upm.es Características de Java (I) Simple El programador no tiene que gestionar la memoria! Orientado a Objetos Encapsulación de datos y reutilización.

Más detalles

PROGRAMACIÓN WEB I SEMANA 7 ESTE DOCUMENTO CONTIENE LA SEMANA 7

PROGRAMACIÓN WEB I SEMANA 7 ESTE DOCUMENTO CONTIENE LA SEMANA 7 PROGRAMACIÓN WEB I SEMANA 7 1 ÍNDICE MANEJO DE EVENTOS EN JAVA... 3 INTRODUCCIÓN... 3 APRENDIZAJES ESPERADOS... 3 MANEJO DE EVENTOS EN JAVA (AWT y SWING)... 4 CONCEPTOS BÁSICOS EN EL MANEJO DE EVENTOS...

Más detalles

Capítulo 5. Implementación y Tecnologías Utilizadas

Capítulo 5. Implementación y Tecnologías Utilizadas Capítulo 5. Implementación y Tecnologías Utilizadas Cada vez más, se está utilizando Flash para desarrollar aplicaciones basadas en Web, pues permite la construcción de ambientes con mayor interacción.

Más detalles

Programa Instruccional de Asignatura. Curriculum INGENIERÍA EN INFORMÁTICA N 14-461-01 ANALISTA PROGRAMADOR COMPUTACIONAL Nº 14-447-05

Programa Instruccional de Asignatura. Curriculum INGENIERÍA EN INFORMÁTICA N 14-461-01 ANALISTA PROGRAMADOR COMPUTACIONAL Nº 14-447-05 ESCUELA DE INFORMÁTICA Y TELECOMUNICACIONES CARRERA(s) Curriculum INGENIERÍA EN INFORMÁTICA N 14-461-01 ANALISTA PROGRAMADOR COMPUTACIONAL Nº 14-447-05 PEF2501 PROGRAMACIÓN ORIENTADA A OBJETOS 10 Créditos

Más detalles

Notas técnicas de JAVA Nro. 6 - White Paper. JAVA Basics : Entendiendo las applets

Notas técnicas de JAVA Nro. 6 - White Paper. JAVA Basics : Entendiendo las applets Tema: Notas técnicas de JAVA Nro. 6 - White Paper (Lo nuevo, lo escondido, o simplemente lo de siempre pero bien explicado) JAVA Basics : Entendiendo las applets Applets, servlets, JVM, Descripción: Este

Más detalles

5.2 Plataforma de Desarrollo Para la Interfaz de Usuario

5.2 Plataforma de Desarrollo Para la Interfaz de Usuario 5.1 Introducción Para la comunicación entre SATEDU y su estación terrena se necesita ajustar ciertos parámetros de comunicación de la Tarjeta de Comunicaciones como la tasa de transmisión, el número de

Más detalles

Firmar Solicitud. Manual de usuario

Firmar Solicitud. Manual de usuario Firmar Solicitud Manual de usuario Madrid, Marzo de 2014 ÍNDICE 1. INTRODUCCIÓN... 3 2. PANTALLAS... 4 2.1. Login... 4 2.2. Ayuda... 4 2.3. Pantalla de Solicitudes de Registro... 5 2.4. Listado de documentos

Más detalles

Prácticas de Introducción a los Computadores Curso 2000-2001 1 WINDOWS 95

Prácticas de Introducción a los Computadores Curso 2000-2001 1 WINDOWS 95 Prácticas de Introducción a los Computadores Curso 2000-2001 1 Novedades WINDOWS 95 Windows 95 es un sistema operativo orientado a documentos. Permite la asociación de la extensión de cada fichero a un

Más detalles

Software de sistema: Programas genéricos que permiten gestionar los recursos del ordenador.

Software de sistema: Programas genéricos que permiten gestionar los recursos del ordenador. PRINCIPALES TIPOS DE SOFTWARE Software de sistema: Programas genéricos que permiten gestionar los recursos del ordenador. Software de aplicación: Son programas escritos para realizar funciones específicas

Más detalles