• No se han encontrado resultados

PRINCIPIOS DE PROGRAMACIÓN. Mtro. en Ingeniería de Software. Especialidad en e-commerce Ismael Jiménez Hernández

N/A
N/A
Protected

Academic year: 2021

Share "PRINCIPIOS DE PROGRAMACIÓN. Mtro. en Ingeniería de Software. Especialidad en e-commerce Ismael Jiménez Hernández"

Copied!
11
0
0

Texto completo

(1)
(2)

Objetivos específicos:

Al termino de esta clase el alumno:

• Sabrá cuantos tipos de programación existen y que es cada uno ellas. • Identificar las características de los tipos de programación.

• Conocerá los lenguajes de programación que se emplean en los distintos tipos de programación.

(3)

INTRODUCCIÓN.

Programación Estructurada.

Es un paradigma de programación (método disciplinado) que consiste en escribir programas en módulos de fácil comprensión utilizando subrutinas y estructuras de control.

Basada en el teorema del programa estructurado

Propuesto por Böhm-Jacopini.

finales de los años 1970 Se basa de lo general a lo particular.

Se realiza a través de diagramas de flujo, la cuál es representada por programas con sus entradas, procesos y salidas.

(4)

3 Estructuras Básicas de la Programación Estructurada.

1. Estructura Secuencial (Lineal):

Donde las instrucciones de un programa se ejecutan después de la otra, en el mismo orden en el que aparecen en el programa.

2. Estructura Selectiva:

Plantea la selección entre dos

alternativas con base en el resultado de la evaluación de una condición. Es equivalente a la instrucción IF de los lenguajes de programación.

3. Estructura Repetitiva (Iterativa):

Corresponde a la ejecución repetida de una instrucción mientras se cumpla una determinada condición.

(5)

Programación Orientada a Eventos.

Es el paradigma de programación en el que la estructura y ejecución del programa dependen de los sucesos (eventos) que ocurran en el sistema o que ellos mismos provoquen.

En este estilo de programación los programadores definen los eventos a los cuales el programa reaccionara y las acciones que seguirán al presentarse cada uno, esto se conoce como manejador de eventos.

Programación orientada a eventos permite interactuar con el usuario en cualquier momento de la ejecución.

(6)

Características de la Programación dirigida por Eventos

• Es la base de lo que llamamos interfaz de usuario (GUI), aunque puede emplearse para desarrollar interfaces entre componentes de Software como módulos del núcleo también.

• Permite interactuar con el usuario en cualquier momento de la ejecución. • El flujo de ejecución del software escapa al control del programador.

• Uno de los periféricos que ha cobrado mayor importancia tras la aparición de los programas orientados a eventos ha sido el ratón, gracias también en parte a la aparición de los sistemas operativos modernos con sus interfaces gráficas.

(7)

Programación Orientada a Objetos (OOP).

Es un paradigma de programación que consiste en desarrollar aplicaciones

basadas en objetos, con técnicas de herencia, polimorfismo, abstracción, modularidad, principio de ocultación, encapsulamiento y recolección de basura.

Este estilo de programación tiene sus orígenes en Simula67, lenguaje creado por el Noruego Ole-Johan Dahl y Kristen Nygaard.

principios de los años 1990

• En la programación estructurada solo se escriben funciones que procesan datos.

• Los programadores que emplean POO, en cambio, primero definen objetos para luego enviarles mensajes solicitándoles que realicen sus métodos por sí mismos.

“Lo que caracteriza a la POO es que intenta llevar al mundo del código lo mismo que encontramos en El Mundo Real”.

(8)

Características de la OOP.

Abstracción: Consiste en separar una entidad (elemento) de su contexto de

realidad y representarlo mediante un objeto.

Encapsulamiento: Es el empaquetamiento de las variables de un objeto con la

protección de sus métodos .

Modularidad: Es una propiedad que permite dividir una aplicación en partes

más pequeñas llamadas módulos.

Principio de Ocultación: Es un método que permite la protección de los objetos

contra la modificación, por quien no tenga privilegios de accesar a ellos.

Polimorfismo (sobrecarga de parámetros): Capacidad de los objetos de una

clase de responder al mismo mensaje o evento en función de los parámetros utilizados durante su invocación.

Herencia: Es un mecanismo donde una clase se deriva a partir de otra de

manera que pueda extender su funcionalidad, logrando con ello la reutilización y la extensibilidad. Los objetos heredan las propiedades y el comportamiento de todas las clases a las que pertenecen.

Recolección de Basura: Llamado también garbage collector, es una técnica que

permite desvincular la memoria asociada a los objetos que se hallan quedado en ejecución infinita. El programador no debe preocuparse por la asignación o liberación de memoria.

(9)

Programación Orientada a Aspectos (POA).

Es un paradigma de programación relativamente reciente cuyo objetivo es complementar ciertos aspectos de la POO que esta no puede cumplir.

El principal objetivo de la POA es la separación de las: • Funcionalidades comunes a lo largo de la aplicación. • Funcionalidades propias de cada modulo.

Programación orientada a aspectos, permite encapsular las diferentes funcionalidades de una aplicación en entidades bien definidas, eliminado las dependencias entre cada uno de los módulos para que así sean fácilmente reutilizables.

(10)

Cuando una funcionalidad no puede ser encapsulada (logging, el tratamiento de transacciones, tratamiento de excepciones…) en una determinada clase sino que es compartida por varias características de la aplicación.

En estos casos es necesario incrustar código de las partes de logging y del manejo de transacciones por ejemplo dentro de nuestras clases de acceso a datos, con el inconviente que se crea un acoplamiento entre los distintos módulos de nuestra aplicación y que la modificación en alguno de ellos normalmente repercute en los otros. Aquí es donde interviene la programación orientada a aspectos para tratar de desacoplar y independizar los distintos módulos de nuestra aplicación.

(11)

Características de la Programación Orientada a Aspectos.

Provee un mecanismo para separar casa uno de los módulos de nuestra aplicación y poder hacer llamadas entre ellos de una manera mas limpia.

Evita que se duplique código, por ejemplo para hacer una auditoria cada vez que se modifique una de las propiedades de nuestras clases, habría que duplicar la llamada a nuestra clase de auditoria en cada una de ellas. • Mejora el testeo de nuestras aplicaciones pudiendo testear aspectos de

nuestra aplicación de manera mas independiente pudiendo diferenciar mas rápidamente cual de los aspectos implicados en un modulo es el que falla.

El mantenimiento del código se vuelve mas flexible, ya que se en lugar de mostrar una ventana cada vez que salte una excepción simplemente queremos que lo indique es un fichero habría que cambiar esto en muchas

Referencias

Documento similar

Además de aparecer en forma de volumen, las Memorias conocieron una primera difusión, a los tres meses de la muerte del autor, en las páginas de La Presse en forma de folletín,

•cero que suplo con arreglo á lo que dice el autor en el Prólogo de su obra impresa: «Ya estaba estendida esta Noticia, año de 1750; y pareció forzo- so detener su impresión

que hasta que llegue el tiempo en que su regia planta ; | pise el hispano suelo... que hasta que el

Abstract: This paper reviews the dialogue and controversies between the paratexts of a corpus of collections of short novels –and romances– publi- shed from 1624 to 1637:

En junio de 1980, el Departamento de Literatura Española de la Universi- dad de Sevilla, tras consultar con diversos estudiosos del poeta, decidió propo- ner al Claustro de la

Después de una descripción muy rápida de la optimización así como los problemas en los sistemas de fabricación, se presenta la integración de dos herramientas existentes

por unidad de tiempo (throughput) en estado estacionario de las transiciones.. de una red de Petri

Por lo tanto, en base a su perfil de eficacia y seguridad, ofatumumab debe considerarse una alternativa de tratamiento para pacientes con EMRR o EMSP con enfermedad activa