Paradigmas orientados a eventos PDF

Title Paradigmas orientados a eventos
Course Paradigmas y lenguajes I
Institution Universidad Nacional de La Rioja
Pages 38
File Size 705.7 KB
File Type PDF
Total Downloads 20
Total Views 144

Summary

Programación orientada a eventos.
¿que es un evento?
¿como funciona?
¿para que sirve?
tipos
características
Implementación en el entorno con Visual Basic...


Description

Paradigmas y Lenguajes I

2018

INDICE Prólogo

Pág. 5

¿Qué es un evento?

Pág. 6

Introducción a la programación orientada a eventos

Pág. 7

PROGRAMACIÓN BASADA EN EVENTOS

Pág. 8

Características y Detección de Eventos

Pág. 10

Problemática

Pág. 11

Ventajas y Desventajas

Pág. 12

Tipos de Eventos

Pág. 12

Orden de disparo de eventos

Pág. 13

Estado del programa dirigido por eventos

Pág. 13

Elementos de la programación orientada a eventos

Pág. 14

Prog. Secuenciales, interactivos y orientados a eventos

Pág. 15

Historia de la programación orientada a Eventos

Pág. 16

Arquitectura Cliente Servidor

Pág. 17

Porqué Visual Basic

Pág. 18

Introducción a Visual Basic

Pág. 19

Página 2

¿Qué es Visual Basic?

Pág. 20

Entorno de Desarrollo

Pág. 20

 Objetos y eventos

Pág. 22

 Ventajas/Desventajas

Pág.23

 Elementos

Pág.24

La programación visual y guiada por eventos

Pág. 26

¿Qué sucede al ejecutar una aplicación de visual Basic?

Pág. 27

¿Cómo funciona una aplicación de visual Basic?

Pág. 27

Pasos para crear una aplicación

Pág. 28

Terminología de visual Basic

Pág. 29

Usos Comunes

Pág. 30

Anexo

Pág. 34

Conclusión

Pág. 37

Bibliografía

Pág. 38

Página 3

PRÓLOGO Somos un grupo conformado por 2 alumnas de la consultora “App” que pertenecen a segundo año de la cátedra Paradigmas y Lenguajes I, de la carrera Licenciatura en sistemas de Información que bajo las condiciones de dicha cátedra nos propusieron realizar una monografía sobre un determinado Paradigma o Lenguaje de manera que sea evaluada como Final. La consultora “App” decidió elegir la programación orientada a EVENTOS. El trabajo identificará conceptos de programación orientada al evento confrontándola con lenguajes visuales y orientados a objetos, asimismo, y manejará el ambiente de desarrollo de Visual

Basic en

la construcción de

interfaces gráficas para

demostraciones de eventos. Nuestro trabajo está basado en compromiso, confianza, complementariedad, coordinación y comunicación.

Página 4

¿Qué es un Evento? Un evento es una acción que es reconocida por un objeto y que normalmente es provocada por el usuario al interactuar con la interfaz del programa. Muchos objetos tienen predefinidos un conjunto de eventos que pueden reconocer, si uno de ellos ocurre, se ejecuta un manejador de eventos (función) como respuesta, por lo tanto, una aplicación para el sistema operativo en realidad lo que hace es ejecutar funciones para tratar los distintos eventos que se vayan produciendo. Cada vez que se produce un evento sobre un determinado tipo de control se dispara una determinada función o procedimiento que realiza la acción programada por el usuario para ese evento concreto. Los eventos típicos son el clic sobre un botón, el hacer doble clic sobre el nombre de un fichero para abrirlo, el arrastrar un icono, el pulsar una tecla o combinación de teclas, el elegir una opción de un menú, el escribir en una caja de texto, o simplemente mover el ratón. El flujo interno de una aplicación dirigida por eventos puede describirse a través de los siguientes pasos: 1. La aplicación carga en memoria y visualiza el formulario de inicio. 2. La aplicación espera hasta que se produzca un evento. 3. Se determina el tipo de evento producido. 4. Se determina el objeto afectado por el evento. 5. Se ejecuta el manejador de evento correspondiente. 6. La aplicación vuelve al paso 2

Página 5

INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A EVENTOS: La programación dirigida por eventos es un paradigma de programación en el que tanto la estructura como la ejecución de los programas van determinados por los sucesos que ocurran en el sistema, definidos por el usuario o que ellos mismos provoquen. Los lenguajes visuales orientados al evento y con manejo de componentes dan al usuario que no cuenta con mucha experiencia en desarrollo, la posibilidad de construir sus propias aplicaciones utilizando interfaces gráficas sobre la base de ocurrencia de eventos. Para soportar este tipo de desarrollo interactúan dos tipos de herramientas, una que permite realizar diseños gráficos y, un lenguaje de alto nivel que permite codificar los eventos. Con dichas herramientas es posible desarrollar cualquier tipo de aplicaciones basadas en el entorno. Visual Basic es uno de los lenguajes de programación que más entusiasmo despiertan entre los programadores de computadoras, tanto expertos como novatos. En el caso de los programadores expertos por la facilidad con la que desarrollan aplicaciones complejas en muy poco tiempo (comparado con lo que cuesta programar en Visual C++, por ejemplo). En el caso de los programadores novatos por el hecho de ver de lo que son capaces a los pocos minutos de empezar su aprendizaje. Visual Basic es un lenguaje de programación visual, también llamado lenguaje de 4ta. Generación. Esto quiere decir que un gran número de tareas se realizan sin escribir código, simplemente con operaciones gráficas realizadas con el ratón sobre la pantalla. Visual Basic es también un programa basado en objetos, aunque no orientado a objetos como Visual C++. La diferencia está en que Visual Basic utiliza objetos con propiedades y métodos, pero carece de los mecanismos de herencia y polimorfismo propios de los verdaderos lenguajes orientados a objetos como Java y C++. En este trabajo se presentará las características generales de Visual Basic, junto con algunos ejemplos sencillos que den idea de la potencia del lenguaje orientado a eventos, y del modo en que se utiliza.

Página 6

PROGRAMACIÓN BASADA EN EVENTOS Un objeto fuente de evento tienen la capacidad de percibir un evento externo y disparar un evento interno, esto es, crear un objeto evento de software. Este objeto evento de software es el argumento de un mensaje enviado al objeto oyente. El método que se ejecuta en respuesta a este mensaje forma parte de una interface provista por Visual Basic y es implementado por el programador en la clase del oyente.

Página 7

Para entender la programación dirigida por eventos, podemos oponerla a lo que no es: En la programación secuencial (o estructurada) es el programador el que debe definir cuál va a ser el flujo del programa, en la programación dirigida por eventos será el propio usuario o lo que sea que este accionando el programa. Aunque en la programación secuencial puede haber intervención de un agente externo al programa, estas intervenciones ocurrirán cuando el programador lo haya determinado, y no en cualquier momento como puede ser en el caso de la programación dirigida por eventos. El creador de un programa dirigido por eventos debe definir los eventos que manejarán su programa y las acciones que se realizarán al producirse cada uno de ellos, lo que se conoce como el administrador de evento. Los eventos soportados estarán determinados por el lenguaje de programación utilizado, por el sistema operativo e incluso por eventos creados por el mismo programador. En la programación dirigida por eventos, al comenzar la ejecución del programa se llevarán a cabo las inicializaciones y demás código inicial y a continuación el programa quedará bloqueado hasta que se produzca algún evento. Cuando alguno de los eventos esperados por el Página 8

programa tenga lugar, el programa pasará a ejecutar el código del correspondiente administrador de evento. Por ejemplo, si el evento consiste en que el usuario ha hecho clic en el botón de play de un reproductor de películas, se ejecutará el código del administrador de evento, que será el que haga que la película se muestre por pantalla. Un ejemplo claro es en los sistemas de programación Léxico y Visual Basic, en los que a cada elemento del programa (objetos, controles, etcétera) se le asignan una serie de eventos que generará dicho elemento, como la pulsación de un botón del ratón sobre él o el redibujado del control. La programación dirigida por eventos es la base de lo que llamamos interfaz de usuario, aunque puede emplearse también para desarrollar interfaces entre componentes de Software o módulos del núcleo.

Página 9

CARACTERISTICAS  Facilitan la tarea de programación, ya que disponen de formas adecuadas que permiten ser leídas y escritas por personas.  Los lenguajes de programación representan en forma simbólica y en manera de un texto los códigos que podrán ser leídos por una persona.  Son independientes de las computadoras a utilizar. Describe el conjunto de acciones consecutivas que un equipo debe ejecutar.  Permite mayor portabilidad

DETECCIÓN DE EVENTOS En contraposición al modelo clásico, la programación orientada a eventos permite interactuar con el usuario en cualquier momento de la ejecución. Esto se consigue debido a que los programas creados bajo esta arquitectura se componen por un bucle exterior permanente encargado de recoger los eventos, y distintos procesos que se encargan de tratarlos. Habitualmente, este bucle externo permanece oculto al programador que simplemente se encarga de tratar los eventos, aunque en algunos entornos de desarrollo (IDE) será necesaria su construcción. Ejemplo de programa orientado a eventos en pseudo lenguaje: While (true) { Switch (event) { case mousse_button_down: case mouse_click: case keypressed: case Else: } }

Página 10

PROBLEMÁTICA La programación orientada a eventos supone una complicación añadida con respecto a otros paradigmas de programación, debido a que el flujo de ejecución del software escapa al control del programador. En cierta manera podríamos decir que en la programación clásica el flujo estaba en poder del programador y era este quien decidía el orden de ejecución de los procesos, mientras que en programación orientada a eventos, es el usuario el que controla el flujo y decide. A modo de ejemplo supondremos la siguiente problemática, un menú con dos botones, "Botón 1" y "Botón 2". Cuando el usuario pulsa el botón 1, el programa se encarga de recoger ciertos parámetros que están almacenados en un fichero y calcular algunas variables. Cuando el usuario pulsa el botón 2, se muestran al usuario por pantalla dichas variables. Es sencillo darse cuenta de que la naturaleza indeterminada de las acciones del usuario y las características de este paradigma pueden fácilmente desembocar en el error fatal de que se pulse el botón 2 sin previamente haber sido pulsado el botón 1. Aunque esto no pasa si se tienen en cuenta las propiedades de dichos botones, haciendo inaccesible la pulsación sobre el botón 2 hasta que previamente se haya pulsado el botón 1.

¿Qué soporte se necesita? Elementos que monitoricen cuando se producen los eventos, los capturen, y los metan en una cola. Un planificador o distribuidor que saque un evento de la cola y se lo pase al módulo que debe reaccionar ante él.

Página 11

VENTAJAS Genera un código más sencillo y comprensible. Escribir un código válido para diversas máquinas y, posiblemente, sistemas operativos.  Mayor adaptación al equipo.  Posibilidad de obtener la máxima velocidad con mínimo uso de memoria.  

DESVENTAJAS  

Imposibilidad de escribir código independiente de la máquina.

Mayor dificultad en la programación y en la comprensión de los programas.  El programador debe conocer más de un centenar de instrucciones.  Es necesario conocer en detalle la arquitectura de la máquina.

TIPOS DE EVENTOS  Externos: Producidos por el usuario. Ejemplos: pulsaciones de teclado o ratón.  Internos: Producidos por el sistema o la aplicación. Ejemplos: Vencimiento de un temporizador. Datos en líneas de comunicaciones.

Página 12

ORDEN DE DISPARO DE EVENTOS: Para controlar con éxito la aparición y el comportamiento de los formularios (y también de los controles) en tiempos de ejecución, debe comprenderse en qué orden se disparan los eventos. Las consideraciones del orden de disparo de los eventos deciden generalmente por el usuario donde debe ser colocada una parte determinada de código de respuesta de un evento. Los eventos de formularios pueden ser divididos en los grupos siguientes:  Inicio.  Respuesta a una acción (de usuario).  Vinculación.  Cierre. Es importante también comprender que un evento inicia automáticamente con frecuencia a otro evento, produciendo un efecto en cascada. Por ejemplo un evento KeyPress no puede ser disparada sin disparar también lo eventos KeyUp y KeyDown. El secreto para trabajar con esta clase de situaciones es una comprensión clara de que es lo que dispara cada evento en la secuencia; el peligro de la codificación es iniciar una cadena sin fin de llamada a eventos circulares recursivos.

ESTADO DEL PROGRAMA DIRIGIDO POR EVENTOS  Más difícil de conocer que en un sistema secuencial.  Suelen ser Multihilo.  Existen varios módulos ejecutándose a velocidades relativas diferentes.  Los eventos internos ocurren en cualquier momento.  El usuario decide que módulos ejecuta, cuando, y cuantas veces.  Pueden existir módulos que no se ejecuten nunca, o que se ejecuten varias instancias simultáneamente.  Existen datos compartidos entre todos los módulos.  Etc…

Página 13

ELEMENTOS DE PROGRAMACIÓN ORIENTADA A EVENTOS. En la programación orientada a Eventos es necesario comprender y tener bien claros los conceptos de los siguientes términos: A. Eventos Acciones de un usuario sobre un programa que deben ser reconocidos por Windows y por el entorno de programación que se utilice. Cada vez que se produce un evento, se crea un objeto. B. Propiedades Una propiedad es una asignación que describe algo sobre un objeto como un formulario, un botón de comando, una caja de texto, una etiqueta etc. Dependiendo de la propiedad, esta se le puede asignar en tiempo de diseño usando la ventana Propiedades y/o en tiempo de ejecución al programar.

C. Métodos Los métodos son funciones que también son llamadas desde programa, pero a diferencia de los procedimientos no son programadas por el usuario, sino que vienen ya pre-programadas con el lenguaje. Los métodos realizan tareas típicas, previsibles y comunes para todas las aplicaciones. Desde este punto libera al usuario de la tarea de programarlos. Cada tipo de objeto o de control tiene sus propios métodos. En general solo pueden ser ejecutados en tiempos de ejecución no en tiempo de diseño. Algunos ejemplos de métodos de formularios son el método MOVE, que mueve un formulario en un espacio de dos dimensiones en la pantalla(Otros SetFocus, LostFocus, AddItemetc) Los métodos son invocados dando nombres al objeto y cuyo método se está llamando, listando el operador punto (.), y después listando el nombre del

Página 14

método. Como cualquier rutina los métodos pueden incorporar argumentos

Página 15

PROGRAMAS SECUENCIALES, INTERACTIVOS Y ORIENTADOS A EVENTOS Existen distintos tipos de programas. En los primeros tiempos de los ordenadores los programas eran de tipo secuencial (también llamados tipobatch). Un programa secuencial es un programa que se arranca, lee los datos que necesita, realiza los cálculos e imprime o guarda en el disco los resultados. De ordinario, mientras un programa secuencial está ejecutándose no necesita ninguna intervención del usuario. A este tipo de programas se les llama también programas basados u orientados a procedimientos o a algoritmos (procedural languages). Este tipo de programas siguen utilizándose ampliamente en la actualidad, pero la difusión de los PC’s ha puesto de actualidad otros tipos de programación. Los programas interactivos exigen la intervención del usuario en tiempo de ejecución, bien para suministrar datos, bien para indicar al programa lo que debe hacer por medio de menús. Los programas interactivos limitan y orientan la acción del usuario. Por su parte los programas orientados a eventos son los programas típicos de Windows, tales como Netscape, Word, Excel, PowerPoint y otros. Cuando uno de estos programas ha arrancado, lo único que hace es quedarse a la espera de las acciones del usuario, que en este caso son llamadas eventos. El usuario dice si quiere abrir y modificar un fichero existente, o bien comenzar a crear un fichero desde el principio. Estos programas pasan la mayor parte de su tiempo esperando las acciones del usuario (eventos) y respondiendo a ellas. Las acciones que el usuario puede realizar en un momento determinado son variadísimas, y exigen un tipo especial de programación: la programación orientada a eventos. Este tipo de programación es sensiblemente más complicada que la secuencial y la interactiva, pero con los lenguajes visuales de hoy, se hace sencilla y agradable.

Página 16

HISTORIA DE LA PROGRAMACIÓN ORIENTADA A EVENTOS A finales de los 70, los sistemas estaban pensados para trabajar como cadenas de ensamblaje donde un programa usaba una entrada y producía una salida que sería utilizada por otro programa como entrada para producir otra salida y así hasta finalizar el proceso. Este proceso mental de construir software es la base del desarrollo estructurado. El padre del desarrollo estructurado (que no de la programación estructurada ojo) fue Larry LeRoy Constantine bajo el ala del Instituto de Investigación de Sistemas de IBM. Uno de los mayores expertos y defensores de los métodos estructurados es Edward Yourdon, tanto que las expresiones “Yourdon” y “métodos de análisis y diseño estructurado” son sinónimos. Manejadores de Eventos Constantine y Yourdon definieron nuevos modelos de control del flujo de datos implementando lo que llamaron transacciones que en realidad son un patrón de diseño de manejadores de eventos.

Los autores definen que: 1. Un flujo de datos invoca eventos llamados “transacciones“ 2. Un disparador los envía a manejadores especializados denominado “centro de transacciones“ 3. Existe un conjunto de manejadores que se encargan de realizar operaciones sobre el flujo de datos El trabajo del disparador es analizar los eventos para determinar su naturaleza y entonces enviarlos al manejador adecuado que es capaz de Página 17

trabajar con eventos de esa naturaleza. El disparador tiene que procesar un flujo de eventos, así que su lógica debe incluir un bucle de eventos para poder enviar un evento a un manejador y volver a escuchar a la espera de nuevos eventos que disparar. Es común que exista un evento especial que rompa el bucle y salga de la aplicación, a ese evento se le llama evento finalizador y es muy común en todas las librerías para escribir aplicaciones GUI. También puede ocurrir que el disparador capture un evento de naturaleza desconocida o para el que no exista un manejador adecuado, en esos casos, el disparador debe descartar el evento o lanzar una excepción. En algunas ocasiones es común que el disparador y los manejadores no sean capaces de procesar los eventos con la suficiente premura conforme van llegando por lo que la mayoría de aplicaciones basadas en GUI implementan una cola de eventos. Esta lógica es muy delicada y si no se implementa bien puede ser producto de cuellos de botella fatales. Con la aparición en los noventa de la programación orientada a objetos nuevos diseños vieron la luz como ESA (Essential Systems Analysis) y JSD (Jackson System Development) que rompieron de forma brutal con la antigua manera de pensar en métodos estructurados.

ARQUITECTURA CLIENTE-SERVIDOR La arquitectura cliente-ser...


Similar Free PDFs