SlideShare una empresa de Scribd logo
Programación Orientada a Eventos Carrera de Software
Ph.D. Franklin Parrales 1
23/04/2022
Introducción a la
programación visual y de
eventos
Unidad 1
Material docente compilado por el profesor Ph.D. Franklin Parrales Bravo
para uso de los cursos de Programación Orientada a Eventos
Programación Orientada a Eventos Carrera de Software
Ph.D. Franklin Parrales 2
23/04/2022
Objetivo general de la Unidad 1
Identificar los conceptos, tipos y manejadores de
eventos para su utilización en el desarrollo de
aplicaciones bajo el paradigma de programación
orientada a eventos.
Programación Orientada a Eventos Carrera de Software
Ph.D. Franklin Parrales 3
23/04/2022
Contenido
• Paradigmas de programación.
• Paradigma orientado a eventos: definición,
estructura, características y tipos de
eventos.
• Paradigma de la Programación Visual.
• Lenguajes de programación visual y
orientada a eventos.
Programación Orientada a Eventos Carrera de Software
Ph.D. Franklin Parrales 4
23/04/2022
Paradigma
Término común en el vocabulario científico y en
expresiones epistemológicas cuando se hacía
necesario hablar de modelos o patrones.
Programación Orientada a Eventos Carrera de Software
Ph.D. Franklin Parrales 5
23/04/2022
Paradigmas de Lenguajes
• Se reconoce generalmente 4 paradigmas
de programación:
– Imperativo (Estructurado)
– Aplicativo (Funcional)
– Orientado a Objetos
– Lógico
Programación Orientada a Eventos Carrera de Software
Ph.D. Franklin Parrales 6
23/04/2022
Lenguajes Imperativos
• Su objetivo es entender y definir el estado de
la máquina (conjunto de posiciones de
memorias, cada una conteniendo un valor).
• Lenguajes orientados a instrucciones
• El programa consiste en elaborar un conjunto
de instrucciones para que la máquina llegue
a la respuesta.
• Ejemplos: C, Fortran, Pascal, Cobol
• Sintaxis: S1, S2, S3, S4, …
Programación Orientada a Eventos Carrera de Software
Ph.D. Franklin Parrales 7
23/04/2022
Lenguajes Imperativos
• Programación: serie de pasos (input,
cálculo, ouput).
• Elementos: abstracción procedural,
asignación, loops, secuencias,
condicionales.
Programación Orientada a Eventos Carrera de Software
Ph.D. Franklin Parrales 8
23/04/2022
Lenguajes Funcionales
• Su objetivo es entender la función que
produciría la respuesta deseada.
• Es orientada hacia la composición de
funciones.
• Programar consiste en construir la función
que halle la respuesta.
• Ejemplos: ML, Lisp, Scheme, Haskell
• Sintaxis: F1(F2(F3(x)))
Programación Orientada a Eventos Carrera de Software
Ph.D. Franklin Parrales 9
23/04/2022
Lenguajes Funcionales
• Programación: colección de funciones que
se combinan en formas complejas para
construir nuevas funciones.
• Elementos: alto orden, composición,
recursión.
Programación Orientada a Eventos Carrera de Software
Ph.D. Franklin Parrales 10
23/04/2022
Orientados a Objetos
• Su objetivo es modelar el problema con
elementos similares a los realmente
presentes.
• Programar significa generar objetos que
intercambian mensajes entre si para
resolver un problema.
• Ejemplos: Smalltalk, C++, Java, Squeak,
C#
• Sintáxis: O1 ->mensaje-> O2.
Programación Orientada a Eventos Carrera de Software
Ph.D. Franklin Parrales 11
23/04/2022
Orientados a Objetos
• Lenguajes imperativos que unen diseños
aplicativos con sentencias imperativas.
• Sintaxis: Conjunto de objetos (clases)
conteniendo datos (concepto imperativo) y
métodos (conceptos aplicativos).
• Programación: colección de objetos que
interactúan pasándose mensajes que
transforman estados.
• Elementos: modelado de objetos, clases,
herencia, encapsulamiento.
Programación Orientada a Eventos Carrera de Software
Ph.D. Franklin Parrales 12
23/04/2022
Lenguajes Lógicos
• Definen reglas para decidir cuando la
respuesta ha sido alcanzada.
• Utiliza un conjunto de reglas para deducir
los atributos de la respuesta.
• Ejemplos: Prolog
• Sintaxis: Regla -> Conclusión
Programación Orientada a Eventos Carrera de Software
Ph.D. Franklin Parrales 13
23/04/2022
Contenido
• Paradigmas de programación.
• Paradigma orientado a eventos: definición,
estructura, características y tipos de
eventos.
• Paradigma de la Programación Visual.
• Lenguajes de programación visual y
orientada a eventos.
Programación Orientada a Eventos Carrera de Software
Ph.D. Franklin Parrales 14
23/04/2022
POE: Definición
• Es un paradigma de programación en el
que la estructura y la ejecución de los
programas van determinados por los
sucesos o acciones que ocurren en el
sistema, definidos por el usuario o por el
propio sistema.
Programación Orientada a Eventos Carrera de Software
Ph.D. Franklin Parrales 15
23/04/2022
POE: Características
• La programación orientada a eventos es muy fácil
de usar y es adecuada para aquellas personas
que tienen poco conocimiento en programación.
• Con los lenguajes orientados a eventos se pueden
realizar en poco tiempo aplicaciones sencillas y
muy funcionales, utilizando interfaces gráficas en
las que se insertan componentes o controles a los
que se le programan eventos.
• Dichos eventos permiten al usuario realizar una
serie de acciones lógicas para un determinado
programa.
Programación Orientada a Eventos Carrera de Software
Ph.D. Franklin Parrales 16
23/04/2022
POE: Estructura
• Se manejan una serie de componentes o controles con
propiedades que se pueden cambiar para que el componente
se muestre en pantalla de forma diferente o actúe de otra
manera dentro de la aplicación.
• Para cambiar las propiedades de un componente, primero
debemos seleccionar el componente deseado en la lista de
componentes, también debemos tener en cuenta que hay
algunos valores de propiedades de algunos componentes
que no son modificables y otros que sí lo son.
• Otro aspecto a tener en cuenta en la programación orientada
a eventos es el comprender y tener bien claro el concepto de
los siguientes términos:
– Evento
– Propiedades
– Métodos
Programación Orientada a Eventos Carrera de Software
Ph.D. Franklin Parrales 17
23/04/2022
¿Qué son los eventos?
• Un evento es un suceso o acción que ocurre en un programa,
definido por el usuario o provocado por él mismo.
• Ejemplos de Eventos que pueden ocurrir en la ejecución de un
programa:
– Clic sobre un botón
– Doble clic sobre el nombre de un fichero para abrirlo
– Arrastrar un icono
– Pulsar una tecla o una combinación de teclas
– Elegir una opción de un menú
– Escribir en una caja de texto
– Abrir una ventana
– Cerrar una ventana
– Cambiar un texto
– O simplemente mover el ratón
• Cuando se produce o dispara un evento sobre un determinado
componente, se da inicio a un conjunto de acciones
programadas por el usuario para ese evento concreto.
Programación Orientada a Eventos Carrera de Software
Ph.D. Franklin Parrales 18
23/04/2022
¿Qué es una propiedad?
• Una propiedad es una asignación que describe
algo sobre un componente, como por ejemplo:
– Un formulario
– Un botón de comando
– Una caja de texto
– Una etiqueta
– Una imagen
– etc…
• Dependiendo de la propiedad, esta se puede
asignar en tiempo de diseño usando la ventana
Propiedades y/o en tiempo de ejecución en el
momento de programar el control.
Programación Orientada a Eventos Carrera de Software
Ph.D. Franklin Parrales 20
23/04/2022
Contenido
• Paradigmas de programación.
• Paradigma orientado a eventos: definición,
estructura, características y tipos de
eventos.
• Paradigma de la Programación Visual.
• Lenguajes de programación visual y
orientada a eventos.
Programación Orientada a Eventos Carrera de Software
Ph.D. Franklin Parrales 21
23/04/2022
Paradigma de la Programación Visual
• En la programación visual, los elementos del
lenguaje de programación están disponibles en
forma de bloques diseñados de manera
gráfica, por lo que también se la llama
programación gráfica.
• La apariencia y el etiquetado de los módulos
permite identificar qué tarea en el flujo del
programa pueden resolver.
• Los pictogramas sirven para orientar al usuario.
Así, no se necesitan estructuras muy complejas
ni un alto grado de abstracción.
Programación Orientada a Eventos Carrera de Software
Ph.D. Franklin Parrales 22
23/04/2022
Paradigma de la Programación Visual
Presenta, entre otras, las siguientes
características:
• Visual: los elementos se arrastran y sueltan
en el flujo del programa para integrarlos.
• Orientado a acontecimientos: cada paso del
programa comienza cuando ocurre un
acontecimiento previamente definido.
• Imperativo: la programación consiste en una
secuencia de comandos.
• Orientado a objetos: hay objetos individuales
con tareas definidas asignadas.
Programación Orientada a Eventos Carrera de Software
Ph.D. Franklin Parrales 23
23/04/2022
Paradigma de la Programación Visual
• Los programadores suelen utilizar elementos de
programación ya definidos, según el lenguaje de
programación visual que utilicen.
– Estos pueden registrar textos e imágenes, organizarlos de forma
lógica y modificar su apariencia o su expresión.
– Los elementos de control permiten insertar acciones que dependen
de ciertas condiciones.
– Los operadores permiten realizar enlaces y cálculos matemáticos.
– Las variables o los enlaces se pueden introducir, eliminar o
modificar.
• Los elementos de programación están diseñados para
encajar como las piezas de un puzle.
– Si los elementos no encajan lógicamente, el editor lo detecta y lo
indica con colores, como resaltándolos entonos más apagados y, a
veces, también mediante señales acústicas.
• Los elementos de programación suelen agruparse en grupos
de colores, lo que orienta al usuario a la hora de elegirlos.
Programación Orientada a Eventos Carrera de Software
Ph.D. Franklin Parrales 24
23/04/2022
Paradigma de la Programación Visual
https://lab.open-roberta.org/
Programación Orientada a Eventos Carrera de Software
Ph.D. Franklin Parrales 25
23/04/2022
Paradigma de la Programación Visual
• Las etiquetas de los elementos individuales y de
los procesos correspondientes
representan expresiones o acciones
humanas como “Haz...”, “Di...”, “Pulsa el botón...”
o “Espera hasta...”.
• Los elementos del programa se
ensamblan arrastrando y soltando.
– Se puede ver si los elementos gráficos se pueden
ensamblar comprobando los huecos y salientes y
viendo cuáles encajan.
– Esto permite crear secuencias de forma sencilla
e intuitiva sin necesidad de conocer un lenguaje de
programación textual.
Programación Orientada a Eventos Carrera de Software
Ph.D. Franklin Parrales 26
23/04/2022
¿En qué se diferencia la programación
visual de la programación “normal”?
• La principal diferencia es que los programadores visuales no
tienen que lidiar con las complejidades de la sintaxis de
comandos. Tampoco se necesita aprender el
engorroso “vocabulario” de un lenguaje de programación.
• En la programación “normal”, se requiere un alto grado de
abstracción para obtener el resultado deseado a partir de las
reglas del lenguaje de programación.
• Aunque muchos editores de programación tienen la función
“Autocompletar”, para que los comandos se completen y los
procedimientos se cierren por sí mismos, los programadores
son susceptibles de cometer errores: si se olvida un carácter,
toda la tarea da error. Esto a menudo requiere una larga
búsqueda de errores.
Programación Orientada a Eventos Carrera de Software
Ph.D. Franklin Parrales 27
23/04/2022
Ventajas de la programación visual
• Es fácil de aprender: no cuesta superar la curva de aprendizaje. Las
ideas se pueden “escribir” directamente como si fueran el código
del programa. Los símbolos claros facilitan la comprensión. Como
no hay sintaxis, no es posible cometer errores tipográficos. Esto
ayuda a los programadores a entender los conceptos básicos de los
lenguajes de programación.
• Los lenguajes de programación visual permiten realizar la
llamada programación exploratoria: se puede iniciar y desarrollar
un programa paso a paso, antes de haber ideado la solución exacta.
La funcionalidad de los pasos del programa se puede comprobar
una y otra vez. Los programadores trabajan sobre todo con
soluciones basadas en navegadores que funcionan
independientemente del sistema operativo del ordenador. Los
resultados normalmente se pueden exportar a otros lenguajes de
programación textual.
Programación Orientada a Eventos Carrera de Software
Ph.D. Franklin Parrales 28
23/04/2022
Inconvenientes de la programación visual
• Parte de la programación gráfica está vinculada a campos de
aplicación especiales o a ciertos sistemas, hardware o
dispositivos finales.
• En general, no es posible crear elementos individuales o
insertar comentarios para otros participantes en el proyecto.
Esto hace difícil mantener una visión general, incluso con
programas de complejidad reducida.
• Además, los proyectos realizados en programación visual
solo son escalables en medida limitada, lo que dificulta su
adaptación a proyectos grandes o de rápido crecimiento.
• La ventaja de la programación exploratoria puede
convertirse rápidamente en un inconveniente en forma
de código no estructurado en los proyectos más grandes:
estos programas son difíciles de mantener y extender.
Programación Orientada a Eventos Carrera de Software
Ph.D. Franklin Parrales 29
23/04/2022
Contenido
• Paradigmas de programación.
• Paradigma orientado a eventos: definición,
estructura, características y tipos de
eventos.
• Paradigma de la Programación Visual.
• Lenguajes de programación visual y
orientada a eventos.
Programación Orientada a Eventos Carrera de Software
Ph.D. Franklin Parrales 30
23/04/2022
Lenguajes de programación visual
• Scratch
• Blockly
• NEPO
• Grape
• App Inventor
• Ardublock
• Pure Data
• Lego Mindstorms
Programación Orientada a Eventos Carrera de Software
Ph.D. Franklin Parrales 31
23/04/2022
Lenguajes de programación orientada
a eventos
.NET Framework (Escritorio Windows y Web)
Programación Orientada a Eventos Carrera de Software
Ph.D. Franklin Parrales 32
23/04/2022
Introducción a la
programación visual y de
eventos
Unidad 1
Final de la unidad

Más contenido relacionado

La actualidad más candente

La crisis del software
La crisis del softwareLa crisis del software
La crisis del software
Oberdose
 
Cuadro comparativo de herramientas de programacion eclipse, java
Cuadro comparativo de herramientas de programacion eclipse, javaCuadro comparativo de herramientas de programacion eclipse, java
Cuadro comparativo de herramientas de programacion eclipse, java
CCCRiis
 
Ejemplos de herramientas case más utilizadas
Ejemplos de herramientas case más utilizadasEjemplos de herramientas case más utilizadas
Ejemplos de herramientas case más utilizadas
Kenny Cash
 
IMPORTANCIA DEL ANÁLISIS DE REQUERIMIENTOS PARA EL DESARROLLO DE SISTEMAS
IMPORTANCIA DEL ANÁLISIS DE REQUERIMIENTOS PARA EL DESARROLLO DE SISTEMASIMPORTANCIA DEL ANÁLISIS DE REQUERIMIENTOS PARA EL DESARROLLO DE SISTEMAS
IMPORTANCIA DEL ANÁLISIS DE REQUERIMIENTOS PARA EL DESARROLLO DE SISTEMAS
Alcoverify
 
Las 4 P en el desarrollo de software
Las 4 P en el desarrollo de softwareLas 4 P en el desarrollo de software
Las 4 P en el desarrollo de software
Sofylutqm
 

La actualidad más candente (20)

Metodologia estructurada
Metodologia estructuradaMetodologia estructurada
Metodologia estructurada
 
La crisis del software
La crisis del softwareLa crisis del software
La crisis del software
 
Roles desarrollo del software
Roles desarrollo del softwareRoles desarrollo del software
Roles desarrollo del software
 
Script psp
Script pspScript psp
Script psp
 
Conceptos basicos calidad software
Conceptos basicos calidad softwareConceptos basicos calidad software
Conceptos basicos calidad software
 
8b Curso de POO en java - paso de diagrama clases a java 1
8b Curso de POO en java - paso de diagrama clases a java 18b Curso de POO en java - paso de diagrama clases a java 1
8b Curso de POO en java - paso de diagrama clases a java 1
 
Cuadro comparativo de herramientas de programacion eclipse, java
Cuadro comparativo de herramientas de programacion eclipse, javaCuadro comparativo de herramientas de programacion eclipse, java
Cuadro comparativo de herramientas de programacion eclipse, java
 
Proyecto final de software
Proyecto final de softwareProyecto final de software
Proyecto final de software
 
Capas de la ingenieria de software
Capas de la ingenieria de softwareCapas de la ingenieria de software
Capas de la ingenieria de software
 
Ejemplos de herramientas case más utilizadas
Ejemplos de herramientas case más utilizadasEjemplos de herramientas case más utilizadas
Ejemplos de herramientas case más utilizadas
 
IDEs y Frameworks mas utilizados
IDEs y Frameworks mas utilizadosIDEs y Frameworks mas utilizados
IDEs y Frameworks mas utilizados
 
IMPORTANCIA DEL ANÁLISIS DE REQUERIMIENTOS PARA EL DESARROLLO DE SISTEMAS
IMPORTANCIA DEL ANÁLISIS DE REQUERIMIENTOS PARA EL DESARROLLO DE SISTEMASIMPORTANCIA DEL ANÁLISIS DE REQUERIMIENTOS PARA EL DESARROLLO DE SISTEMAS
IMPORTANCIA DEL ANÁLISIS DE REQUERIMIENTOS PARA EL DESARROLLO DE SISTEMAS
 
POE Unidad 3: Aplicaciones visuales orientadas a eventos con acceso a base de...
POE Unidad 3: Aplicaciones visuales orientadas a eventos con acceso a base de...POE Unidad 3: Aplicaciones visuales orientadas a eventos con acceso a base de...
POE Unidad 3: Aplicaciones visuales orientadas a eventos con acceso a base de...
 
Paradigmas de programacion
Paradigmas de programacionParadigmas de programacion
Paradigmas de programacion
 
Estructura de lenguaje ensamblador
Estructura de lenguaje ensambladorEstructura de lenguaje ensamblador
Estructura de lenguaje ensamblador
 
Las 4 P en el desarrollo de software
Las 4 P en el desarrollo de softwareLas 4 P en el desarrollo de software
Las 4 P en el desarrollo de software
 
Programación Orientada a Objetos - Resumen
Programación Orientada a Objetos - ResumenProgramación Orientada a Objetos - Resumen
Programación Orientada a Objetos - Resumen
 
¿Qué es y cómo instalar un entorno de desarrollo de programación?
¿Qué es y cómo instalar un entorno de desarrollo de programación?¿Qué es y cómo instalar un entorno de desarrollo de programación?
¿Qué es y cómo instalar un entorno de desarrollo de programación?
 
Modelos evolutivos. incremental y espiral
Modelos evolutivos. incremental y espiralModelos evolutivos. incremental y espiral
Modelos evolutivos. incremental y espiral
 
crisis del software
crisis del softwarecrisis del software
crisis del software
 

Similar a POE Unidad 1: Introducción a la programación visual y de eventos

Trabajo final de la unidad 1 desarrollo de aplicaciones 1
Trabajo final de la unidad 1 desarrollo de aplicaciones 1Trabajo final de la unidad 1 desarrollo de aplicaciones 1
Trabajo final de la unidad 1 desarrollo de aplicaciones 1
mildred6montoya
 
Sustentacion Scrumm 2013
Sustentacion Scrumm 2013Sustentacion Scrumm 2013
Sustentacion Scrumm 2013
GunBlade
 

Similar a POE Unidad 1: Introducción a la programación visual y de eventos (20)

Trabajo final de la unidad 1 desarrollo de aplicaciones 1
Trabajo final de la unidad 1 desarrollo de aplicaciones 1Trabajo final de la unidad 1 desarrollo de aplicaciones 1
Trabajo final de la unidad 1 desarrollo de aplicaciones 1
 
IIS Unidad 4 Proyecto de software
IIS Unidad 4 Proyecto de softwareIIS Unidad 4 Proyecto de software
IIS Unidad 4 Proyecto de software
 
Unidad 1 clase 5 - fp
Unidad 1   clase 5 - fpUnidad 1   clase 5 - fp
Unidad 1 clase 5 - fp
 
Cuaderno ejercicios
Cuaderno ejerciciosCuaderno ejercicios
Cuaderno ejercicios
 
MOD Unidad 1: Fundamentos de modelado
MOD Unidad 1: Fundamentos de modeladoMOD Unidad 1: Fundamentos de modelado
MOD Unidad 1: Fundamentos de modelado
 
PSW Unidad 1 PROCESO DE SOFTWARE
PSW Unidad 1 PROCESO DE SOFTWAREPSW Unidad 1 PROCESO DE SOFTWARE
PSW Unidad 1 PROCESO DE SOFTWARE
 
Sustentacion Scrumm 2013
Sustentacion Scrumm 2013Sustentacion Scrumm 2013
Sustentacion Scrumm 2013
 
Framework para desarrollo de apps móviles
Framework para desarrollo de apps móvilesFramework para desarrollo de apps móviles
Framework para desarrollo de apps móviles
 
Diapositiva informatica nidia
Diapositiva informatica nidiaDiapositiva informatica nidia
Diapositiva informatica nidia
 
Esis
EsisEsis
Esis
 
Fundamentos de programacion
Fundamentos de programacionFundamentos de programacion
Fundamentos de programacion
 
Silabo tarea algoritmos parte ii
Silabo tarea algoritmos parte iiSilabo tarea algoritmos parte ii
Silabo tarea algoritmos parte ii
 
PSW Unidad 3: Implementación y seguridad del proceso de software
PSW Unidad 3: Implementación y seguridad del proceso de softwarePSW Unidad 3: Implementación y seguridad del proceso de software
PSW Unidad 3: Implementación y seguridad del proceso de software
 
Proceso desarrollo software
Proceso desarrollo softwareProceso desarrollo software
Proceso desarrollo software
 
Dai1 ple2
Dai1 ple2Dai1 ple2
Dai1 ple2
 
FUNDAMENTOS Y MÉTODOS DE ANÁLISIS DE REQUERIMIENTOS Raimon Koudsi
FUNDAMENTOS Y MÉTODOS DE ANÁLISIS DE REQUERIMIENTOS Raimon KoudsiFUNDAMENTOS Y MÉTODOS DE ANÁLISIS DE REQUERIMIENTOS Raimon Koudsi
FUNDAMENTOS Y MÉTODOS DE ANÁLISIS DE REQUERIMIENTOS Raimon Koudsi
 
01. Fundamentos.pdf
01. Fundamentos.pdf01. Fundamentos.pdf
01. Fundamentos.pdf
 
Lp II clase01 - Desarrollo de software con RUP
Lp II   clase01 - Desarrollo de software con RUPLp II   clase01 - Desarrollo de software con RUP
Lp II clase01 - Desarrollo de software con RUP
 
PROYECTOS INFORMÁTICOS
PROYECTOS INFORMÁTICOS PROYECTOS INFORMÁTICOS
PROYECTOS INFORMÁTICOS
 
Programacion y analisis de sistemas
Programacion y analisis de sistemasProgramacion y analisis de sistemas
Programacion y analisis de sistemas
 

Más de Franklin Parrales Bravo

Más de Franklin Parrales Bravo (20)

Presentacion del congreso ETCM del 2021 en Cuenca
Presentacion del congreso ETCM del 2021 en CuencaPresentacion del congreso ETCM del 2021 en Cuenca
Presentacion del congreso ETCM del 2021 en Cuenca
 
IW Unidad 1: Introducción a la Ingeniería Web
IW Unidad 1: Introducción a la Ingeniería WebIW Unidad 1: Introducción a la Ingeniería Web
IW Unidad 1: Introducción a la Ingeniería Web
 
IW Unidad 4: Web accesible, semántica y ubicua
IW Unidad 4: Web accesible, semántica y ubicuaIW Unidad 4: Web accesible, semántica y ubicua
IW Unidad 4: Web accesible, semántica y ubicua
 
IW Unidad 3: Ingeniería Web dirigida por modelos
IW Unidad 3: Ingeniería Web dirigida por modelosIW Unidad 3: Ingeniería Web dirigida por modelos
IW Unidad 3: Ingeniería Web dirigida por modelos
 
MOD Unidad 2: Tipos de modelado
MOD Unidad 2: Tipos de modeladoMOD Unidad 2: Tipos de modelado
MOD Unidad 2: Tipos de modelado
 
IW Unidad 2: Metodologías y Técnicas de la Ingeniería Web
IW Unidad 2: Metodologías y Técnicas de la Ingeniería WebIW Unidad 2: Metodologías y Técnicas de la Ingeniería Web
IW Unidad 2: Metodologías y Técnicas de la Ingeniería Web
 
AD Unidad4: Programación paralela y distribuida
AD Unidad4: Programación paralela y distribuidaAD Unidad4: Programación paralela y distribuida
AD Unidad4: Programación paralela y distribuida
 
AD Unidad3: Tecnologías de aplicaciones distribuidas
AD Unidad3: Tecnologías de aplicaciones distribuidasAD Unidad3: Tecnologías de aplicaciones distribuidas
AD Unidad3: Tecnologías de aplicaciones distribuidas
 
EP Unidad03: Planificación financiera y análisis de riesgos
EP Unidad03: Planificación financiera y análisis de riesgosEP Unidad03: Planificación financiera y análisis de riesgos
EP Unidad03: Planificación financiera y análisis de riesgos
 
AD Unidad2: Diseño de programas paralelos y distribuidos
AD Unidad2: Diseño de programas paralelos y distribuidosAD Unidad2: Diseño de programas paralelos y distribuidos
AD Unidad2: Diseño de programas paralelos y distribuidos
 
AD Unidad1: Fundamentos de sistemas paralelos y distribuidos
AD Unidad1: Fundamentos de sistemas paralelos y distribuidosAD Unidad1: Fundamentos de sistemas paralelos y distribuidos
AD Unidad1: Fundamentos de sistemas paralelos y distribuidos
 
EP Unidad01: Principios básicos de la metodología de proyectos
EP Unidad01: Principios básicos de la metodología de proyectosEP Unidad01: Principios básicos de la metodología de proyectos
EP Unidad01: Principios básicos de la metodología de proyectos
 
EP Unidad02: Conceptos para el alcance, tiempo y muestra
EP Unidad02: Conceptos para el alcance, tiempo y muestraEP Unidad02: Conceptos para el alcance, tiempo y muestra
EP Unidad02: Conceptos para el alcance, tiempo y muestra
 
GCSW Unidad1: Objetos de la Gestión de Configuración del Software
GCSW Unidad1: Objetos de la Gestión de Configuración del SoftwareGCSW Unidad1: Objetos de la Gestión de Configuración del Software
GCSW Unidad1: Objetos de la Gestión de Configuración del Software
 
GCSW Unidad2: Actividades de la gestión de configuración del software
GCSW Unidad2: Actividades de la gestión de configuración del software GCSW Unidad2: Actividades de la gestión de configuración del software
GCSW Unidad2: Actividades de la gestión de configuración del software
 
POO Unidad 4: Persistencia de objetos y manejo de archivos
POO Unidad 4: Persistencia de objetos y manejo de archivosPOO Unidad 4: Persistencia de objetos y manejo de archivos
POO Unidad 4: Persistencia de objetos y manejo de archivos
 
POO Unidad 3: Interfaz gráfica de usuario e hilos
POO Unidad 3: Interfaz gráfica de usuario e hilosPOO Unidad 3: Interfaz gráfica de usuario e hilos
POO Unidad 3: Interfaz gráfica de usuario e hilos
 
POO Unidad 2: Programación Orientada a Objetos
POO Unidad 2: Programación Orientada a ObjetosPOO Unidad 2: Programación Orientada a Objetos
POO Unidad 2: Programación Orientada a Objetos
 
POO Unidad 1: Introducción a la Programación Orientada a Objetos
POO Unidad 1: Introducción a la Programación Orientada a ObjetosPOO Unidad 1: Introducción a la Programación Orientada a Objetos
POO Unidad 1: Introducción a la Programación Orientada a Objetos
 
RD Unidad 3: IPv6, Routers y Enrutamiento
RD Unidad 3: IPv6, Routers y EnrutamientoRD Unidad 3: IPv6, Routers y Enrutamiento
RD Unidad 3: IPv6, Routers y Enrutamiento
 

Último

Último (11)

Los desafíos de calidad de software que nos trae la IA y los LLMs
Los desafíos de calidad de software que nos trae la IA y los LLMsLos desafíos de calidad de software que nos trae la IA y los LLMs
Los desafíos de calidad de software que nos trae la IA y los LLMs
 
Caso de exito Cirrus - Hospital La Salle
Caso de exito Cirrus - Hospital La SalleCaso de exito Cirrus - Hospital La Salle
Caso de exito Cirrus - Hospital La Salle
 
MODULO BASICO DE WORD - I CICLO.DOC.DOC.
MODULO BASICO DE WORD - I CICLO.DOC.DOC.MODULO BASICO DE WORD - I CICLO.DOC.DOC.
MODULO BASICO DE WORD - I CICLO.DOC.DOC.
 
FICHA DE TRABAJO DE CREACION DE TABLAS EN WORD
FICHA  DE TRABAJO DE CREACION DE TABLAS EN WORDFICHA  DE TRABAJO DE CREACION DE TABLAS EN WORD
FICHA DE TRABAJO DE CREACION DE TABLAS EN WORD
 
Escaneo y eliminación de malware en el equipo
Escaneo y eliminación de malware en el equipoEscaneo y eliminación de malware en el equipo
Escaneo y eliminación de malware en el equipo
 
PitchCollabART uniendo talentos, creando maravillas digitales
PitchCollabART uniendo talentos, creando maravillas digitalesPitchCollabART uniendo talentos, creando maravillas digitales
PitchCollabART uniendo talentos, creando maravillas digitales
 
PSICOLOGÍA si quieres aprender los temas principales para el examen de admisión
PSICOLOGÍA si quieres aprender los temas principales para el examen de admisiónPSICOLOGÍA si quieres aprender los temas principales para el examen de admisión
PSICOLOGÍA si quieres aprender los temas principales para el examen de admisión
 
experiencia de aprendizaje sobre lectura y escritura como herramientas de ap...
experiencia de aprendizaje sobre lectura y escritura como  herramientas de ap...experiencia de aprendizaje sobre lectura y escritura como  herramientas de ap...
experiencia de aprendizaje sobre lectura y escritura como herramientas de ap...
 
infografia del sena para analisis y desarrollo de software
infografia del sena para analisis y desarrollo de softwareinfografia del sena para analisis y desarrollo de software
infografia del sena para analisis y desarrollo de software
 
Maquina de Dibujo y Escritura Automática.pdf
Maquina de Dibujo y Escritura Automática.pdfMaquina de Dibujo y Escritura Automática.pdf
Maquina de Dibujo y Escritura Automática.pdf
 
trabajo integrador final sofi y vane.docx
trabajo integrador final sofi y vane.docxtrabajo integrador final sofi y vane.docx
trabajo integrador final sofi y vane.docx
 

POE Unidad 1: Introducción a la programación visual y de eventos

  • 1. Programación Orientada a Eventos Carrera de Software Ph.D. Franklin Parrales 1 23/04/2022 Introducción a la programación visual y de eventos Unidad 1 Material docente compilado por el profesor Ph.D. Franklin Parrales Bravo para uso de los cursos de Programación Orientada a Eventos
  • 2. Programación Orientada a Eventos Carrera de Software Ph.D. Franklin Parrales 2 23/04/2022 Objetivo general de la Unidad 1 Identificar los conceptos, tipos y manejadores de eventos para su utilización en el desarrollo de aplicaciones bajo el paradigma de programación orientada a eventos.
  • 3. Programación Orientada a Eventos Carrera de Software Ph.D. Franklin Parrales 3 23/04/2022 Contenido • Paradigmas de programación. • Paradigma orientado a eventos: definición, estructura, características y tipos de eventos. • Paradigma de la Programación Visual. • Lenguajes de programación visual y orientada a eventos.
  • 4. Programación Orientada a Eventos Carrera de Software Ph.D. Franklin Parrales 4 23/04/2022 Paradigma Término común en el vocabulario científico y en expresiones epistemológicas cuando se hacía necesario hablar de modelos o patrones.
  • 5. Programación Orientada a Eventos Carrera de Software Ph.D. Franklin Parrales 5 23/04/2022 Paradigmas de Lenguajes • Se reconoce generalmente 4 paradigmas de programación: – Imperativo (Estructurado) – Aplicativo (Funcional) – Orientado a Objetos – Lógico
  • 6. Programación Orientada a Eventos Carrera de Software Ph.D. Franklin Parrales 6 23/04/2022 Lenguajes Imperativos • Su objetivo es entender y definir el estado de la máquina (conjunto de posiciones de memorias, cada una conteniendo un valor). • Lenguajes orientados a instrucciones • El programa consiste en elaborar un conjunto de instrucciones para que la máquina llegue a la respuesta. • Ejemplos: C, Fortran, Pascal, Cobol • Sintaxis: S1, S2, S3, S4, …
  • 7. Programación Orientada a Eventos Carrera de Software Ph.D. Franklin Parrales 7 23/04/2022 Lenguajes Imperativos • Programación: serie de pasos (input, cálculo, ouput). • Elementos: abstracción procedural, asignación, loops, secuencias, condicionales.
  • 8. Programación Orientada a Eventos Carrera de Software Ph.D. Franklin Parrales 8 23/04/2022 Lenguajes Funcionales • Su objetivo es entender la función que produciría la respuesta deseada. • Es orientada hacia la composición de funciones. • Programar consiste en construir la función que halle la respuesta. • Ejemplos: ML, Lisp, Scheme, Haskell • Sintaxis: F1(F2(F3(x)))
  • 9. Programación Orientada a Eventos Carrera de Software Ph.D. Franklin Parrales 9 23/04/2022 Lenguajes Funcionales • Programación: colección de funciones que se combinan en formas complejas para construir nuevas funciones. • Elementos: alto orden, composición, recursión.
  • 10. Programación Orientada a Eventos Carrera de Software Ph.D. Franklin Parrales 10 23/04/2022 Orientados a Objetos • Su objetivo es modelar el problema con elementos similares a los realmente presentes. • Programar significa generar objetos que intercambian mensajes entre si para resolver un problema. • Ejemplos: Smalltalk, C++, Java, Squeak, C# • Sintáxis: O1 ->mensaje-> O2.
  • 11. Programación Orientada a Eventos Carrera de Software Ph.D. Franklin Parrales 11 23/04/2022 Orientados a Objetos • Lenguajes imperativos que unen diseños aplicativos con sentencias imperativas. • Sintaxis: Conjunto de objetos (clases) conteniendo datos (concepto imperativo) y métodos (conceptos aplicativos). • Programación: colección de objetos que interactúan pasándose mensajes que transforman estados. • Elementos: modelado de objetos, clases, herencia, encapsulamiento.
  • 12. Programación Orientada a Eventos Carrera de Software Ph.D. Franklin Parrales 12 23/04/2022 Lenguajes Lógicos • Definen reglas para decidir cuando la respuesta ha sido alcanzada. • Utiliza un conjunto de reglas para deducir los atributos de la respuesta. • Ejemplos: Prolog • Sintaxis: Regla -> Conclusión
  • 13. Programación Orientada a Eventos Carrera de Software Ph.D. Franklin Parrales 13 23/04/2022 Contenido • Paradigmas de programación. • Paradigma orientado a eventos: definición, estructura, características y tipos de eventos. • Paradigma de la Programación Visual. • Lenguajes de programación visual y orientada a eventos.
  • 14. Programación Orientada a Eventos Carrera de Software Ph.D. Franklin Parrales 14 23/04/2022 POE: Definición • Es un paradigma de programación en el que la estructura y la ejecución de los programas van determinados por los sucesos o acciones que ocurren en el sistema, definidos por el usuario o por el propio sistema.
  • 15. Programación Orientada a Eventos Carrera de Software Ph.D. Franklin Parrales 15 23/04/2022 POE: Características • La programación orientada a eventos es muy fácil de usar y es adecuada para aquellas personas que tienen poco conocimiento en programación. • Con los lenguajes orientados a eventos se pueden realizar en poco tiempo aplicaciones sencillas y muy funcionales, utilizando interfaces gráficas en las que se insertan componentes o controles a los que se le programan eventos. • Dichos eventos permiten al usuario realizar una serie de acciones lógicas para un determinado programa.
  • 16. Programación Orientada a Eventos Carrera de Software Ph.D. Franklin Parrales 16 23/04/2022 POE: Estructura • Se manejan una serie de componentes o controles con propiedades que se pueden cambiar para que el componente se muestre en pantalla de forma diferente o actúe de otra manera dentro de la aplicación. • Para cambiar las propiedades de un componente, primero debemos seleccionar el componente deseado en la lista de componentes, también debemos tener en cuenta que hay algunos valores de propiedades de algunos componentes que no son modificables y otros que sí lo son. • Otro aspecto a tener en cuenta en la programación orientada a eventos es el comprender y tener bien claro el concepto de los siguientes términos: – Evento – Propiedades – Métodos
  • 17. Programación Orientada a Eventos Carrera de Software Ph.D. Franklin Parrales 17 23/04/2022 ¿Qué son los eventos? • Un evento es un suceso o acción que ocurre en un programa, definido por el usuario o provocado por él mismo. • Ejemplos de Eventos que pueden ocurrir en la ejecución de un programa: – Clic sobre un botón – Doble clic sobre el nombre de un fichero para abrirlo – Arrastrar un icono – Pulsar una tecla o una combinación de teclas – Elegir una opción de un menú – Escribir en una caja de texto – Abrir una ventana – Cerrar una ventana – Cambiar un texto – O simplemente mover el ratón • Cuando se produce o dispara un evento sobre un determinado componente, se da inicio a un conjunto de acciones programadas por el usuario para ese evento concreto.
  • 18. Programación Orientada a Eventos Carrera de Software Ph.D. Franklin Parrales 18 23/04/2022 ¿Qué es una propiedad? • Una propiedad es una asignación que describe algo sobre un componente, como por ejemplo: – Un formulario – Un botón de comando – Una caja de texto – Una etiqueta – Una imagen – etc… • Dependiendo de la propiedad, esta se puede asignar en tiempo de diseño usando la ventana Propiedades y/o en tiempo de ejecución en el momento de programar el control.
  • 19. Programación Orientada a Eventos Carrera de Software Ph.D. Franklin Parrales 20 23/04/2022 Contenido • Paradigmas de programación. • Paradigma orientado a eventos: definición, estructura, características y tipos de eventos. • Paradigma de la Programación Visual. • Lenguajes de programación visual y orientada a eventos.
  • 20. Programación Orientada a Eventos Carrera de Software Ph.D. Franklin Parrales 21 23/04/2022 Paradigma de la Programación Visual • En la programación visual, los elementos del lenguaje de programación están disponibles en forma de bloques diseñados de manera gráfica, por lo que también se la llama programación gráfica. • La apariencia y el etiquetado de los módulos permite identificar qué tarea en el flujo del programa pueden resolver. • Los pictogramas sirven para orientar al usuario. Así, no se necesitan estructuras muy complejas ni un alto grado de abstracción.
  • 21. Programación Orientada a Eventos Carrera de Software Ph.D. Franklin Parrales 22 23/04/2022 Paradigma de la Programación Visual Presenta, entre otras, las siguientes características: • Visual: los elementos se arrastran y sueltan en el flujo del programa para integrarlos. • Orientado a acontecimientos: cada paso del programa comienza cuando ocurre un acontecimiento previamente definido. • Imperativo: la programación consiste en una secuencia de comandos. • Orientado a objetos: hay objetos individuales con tareas definidas asignadas.
  • 22. Programación Orientada a Eventos Carrera de Software Ph.D. Franklin Parrales 23 23/04/2022 Paradigma de la Programación Visual • Los programadores suelen utilizar elementos de programación ya definidos, según el lenguaje de programación visual que utilicen. – Estos pueden registrar textos e imágenes, organizarlos de forma lógica y modificar su apariencia o su expresión. – Los elementos de control permiten insertar acciones que dependen de ciertas condiciones. – Los operadores permiten realizar enlaces y cálculos matemáticos. – Las variables o los enlaces se pueden introducir, eliminar o modificar. • Los elementos de programación están diseñados para encajar como las piezas de un puzle. – Si los elementos no encajan lógicamente, el editor lo detecta y lo indica con colores, como resaltándolos entonos más apagados y, a veces, también mediante señales acústicas. • Los elementos de programación suelen agruparse en grupos de colores, lo que orienta al usuario a la hora de elegirlos.
  • 23. Programación Orientada a Eventos Carrera de Software Ph.D. Franklin Parrales 24 23/04/2022 Paradigma de la Programación Visual https://lab.open-roberta.org/
  • 24. Programación Orientada a Eventos Carrera de Software Ph.D. Franklin Parrales 25 23/04/2022 Paradigma de la Programación Visual • Las etiquetas de los elementos individuales y de los procesos correspondientes representan expresiones o acciones humanas como “Haz...”, “Di...”, “Pulsa el botón...” o “Espera hasta...”. • Los elementos del programa se ensamblan arrastrando y soltando. – Se puede ver si los elementos gráficos se pueden ensamblar comprobando los huecos y salientes y viendo cuáles encajan. – Esto permite crear secuencias de forma sencilla e intuitiva sin necesidad de conocer un lenguaje de programación textual.
  • 25. Programación Orientada a Eventos Carrera de Software Ph.D. Franklin Parrales 26 23/04/2022 ¿En qué se diferencia la programación visual de la programación “normal”? • La principal diferencia es que los programadores visuales no tienen que lidiar con las complejidades de la sintaxis de comandos. Tampoco se necesita aprender el engorroso “vocabulario” de un lenguaje de programación. • En la programación “normal”, se requiere un alto grado de abstracción para obtener el resultado deseado a partir de las reglas del lenguaje de programación. • Aunque muchos editores de programación tienen la función “Autocompletar”, para que los comandos se completen y los procedimientos se cierren por sí mismos, los programadores son susceptibles de cometer errores: si se olvida un carácter, toda la tarea da error. Esto a menudo requiere una larga búsqueda de errores.
  • 26. Programación Orientada a Eventos Carrera de Software Ph.D. Franklin Parrales 27 23/04/2022 Ventajas de la programación visual • Es fácil de aprender: no cuesta superar la curva de aprendizaje. Las ideas se pueden “escribir” directamente como si fueran el código del programa. Los símbolos claros facilitan la comprensión. Como no hay sintaxis, no es posible cometer errores tipográficos. Esto ayuda a los programadores a entender los conceptos básicos de los lenguajes de programación. • Los lenguajes de programación visual permiten realizar la llamada programación exploratoria: se puede iniciar y desarrollar un programa paso a paso, antes de haber ideado la solución exacta. La funcionalidad de los pasos del programa se puede comprobar una y otra vez. Los programadores trabajan sobre todo con soluciones basadas en navegadores que funcionan independientemente del sistema operativo del ordenador. Los resultados normalmente se pueden exportar a otros lenguajes de programación textual.
  • 27. Programación Orientada a Eventos Carrera de Software Ph.D. Franklin Parrales 28 23/04/2022 Inconvenientes de la programación visual • Parte de la programación gráfica está vinculada a campos de aplicación especiales o a ciertos sistemas, hardware o dispositivos finales. • En general, no es posible crear elementos individuales o insertar comentarios para otros participantes en el proyecto. Esto hace difícil mantener una visión general, incluso con programas de complejidad reducida. • Además, los proyectos realizados en programación visual solo son escalables en medida limitada, lo que dificulta su adaptación a proyectos grandes o de rápido crecimiento. • La ventaja de la programación exploratoria puede convertirse rápidamente en un inconveniente en forma de código no estructurado en los proyectos más grandes: estos programas son difíciles de mantener y extender.
  • 28. Programación Orientada a Eventos Carrera de Software Ph.D. Franklin Parrales 29 23/04/2022 Contenido • Paradigmas de programación. • Paradigma orientado a eventos: definición, estructura, características y tipos de eventos. • Paradigma de la Programación Visual. • Lenguajes de programación visual y orientada a eventos.
  • 29. Programación Orientada a Eventos Carrera de Software Ph.D. Franklin Parrales 30 23/04/2022 Lenguajes de programación visual • Scratch • Blockly • NEPO • Grape • App Inventor • Ardublock • Pure Data • Lego Mindstorms
  • 30. Programación Orientada a Eventos Carrera de Software Ph.D. Franklin Parrales 31 23/04/2022 Lenguajes de programación orientada a eventos .NET Framework (Escritorio Windows y Web)
  • 31. Programación Orientada a Eventos Carrera de Software Ph.D. Franklin Parrales 32 23/04/2022 Introducción a la programación visual y de eventos Unidad 1 Final de la unidad