PRINCIPIOS DE PROGRAMACIÓN Mtro. en Ingeniería de Software. Especialidad en e-commerce

Anuncio
PRINCIPIOS DE PROGRAMACIÓN
Mtro. en Ingeniería de Software. Especialidad en e-commerce
Ismael Jiménez Hernández
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.
Clase 2
Principios de Programación
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.
Principios de Programación
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.
Principios de Programación
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.
Principios de Programación
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.
Principios de Programación
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”.
Principios de Programación
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.
Principios de Programación
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.
Principios de Programación
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.
Principios de Programación
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
partes de la aplicación.
Principios de Programación
Descargar