Marco Teórico



La búsqueda de tiempo libre lleva a las personas a ser creativas, para hacer más cosas con el mínimo de esfuerzo.  Sin embargo, no todas las personas con estas características, sólo aquellas con la curiosidad y los conocimientos suficientes podrán utilizar esa creatividad para realizar cosas que trabajan para facilitar la existencia.

El enfoque Orientado a Objetos nos lleva a identificar algo que ya hemos hechos y reutilizarlo para hacer nuestros desarrollo menos extenuantes.

El salto de la PE a la POO
Hoy en día las aplicaciones informáticas son mucho más ambiciosas que las necesidades de programación existentes en los años 1960, principalmente debido a las aplicaciones gráficas, por lo que las técnicas de programación estructurada no son suficientes.   Ello ha llevado al desarrollo de nuevas técnicas, tales como la programación orientada a objetos y el desarrollo de entornos de programación que facilitan la programación de grandes aplicaciones.

Tradicionalmente, la programación fue hecha en una manera secuencial o lineal, es decir una serie de pasos consecutivos con estructuras consecutivas y bifurcaciones.
Los lenguajes basados en esta forma de programación ofrecían ventajas al principio, pero el problema ocurre cuando los sistemas se vuelven complejos. Estos programas escritos al estilo “espaguetti” no ofrecen flexibilidad y el mantener una gran cantidad de líneas de código en sólo bloque se vuelve una tarea complicada.

₁ Felipe Ramirez, Visual Basis 2005. 2005.  Editoreal Prentice Hall.  Pág. 253.                      Página 6

Frente a esta dificultad aparecieron los lenguajes basados en la programación estructurada. La idea principal de esta forma de programación es separar las partes complejas del programa en módulos o segmentos que sean ejecutados conforme se requieran. De esta manera tenemos un diseño modular, compuesto por módulos independientes que puedan comunicarse entre sí. Poco a poco este estilo de programación fue reemplazando al estilo “espaguetti” impuesto por la programación lineal.

Entonces, vemos que la evolución que se fue dando en la programación se orientaba siempre a ir descomponiendo más el programa. Este tipo de descomposición conduce directamente a la programación orientada a objetos.
Un concepto importante se introdujo con la programación  estructurada: la abstracciónAbstracción se puede definir como la capacidad para examinar algo sin preocuparse de sus datos internos. 

Pues la creciente tendencia de crear programas cada vez más grandes y complejos llevó a los desarrolladores a crear una nueva forma de programar que les permita crear sistemas de niveles empresariales y con reglas de negocios muy complejas. Para estas necesidades ya no bastaba la programación estructurada ni mucho menos la programación lineal. Es así como aparece la programación orientada a objetos (POO). La POO viene de la evolución de la programación estructurada; básicamente la POO simplifica la programación con la nueva filosofía y nuevos conceptos que tiene. La POO se basa en dividir el programa en pequeñas unidades lógicas de código. A estas pequeñas unidades lógicas de código se les llama objetos. Los objetos son unidades independientes que se comunican entre ellos mediante mensajes. Veamos con mayor detenimiento este tema.

En cuanto a las ventajas de la POO podemos mencionar las siguientes:
·         Fomenta la reutilización y extensión del código. 
·         Permite crear sistemas más complejos. 
·         Relacionar el sistema al mundo real. 
·         Facilita la creación de programas visuales. 
·         Construcción de prototipos 
·         Agiliza el desarrollo de software 
·         Facilita el trabajo en equipo 
·         Facilita el mantenimiento del software 

La programación  Orientada a Objetos trata de una técnica que aumenta considerablemente la velocidad de desarrollo de los programas gracias a la reutilización de los objetos.

El elemento principal de la programación orientada a objetos es el objeto.   El objeto es un conjunto complejo de datos y programas que poseen estructura y forman  parte de una organización.   Un objeto contiene varios datos bien estructurados y pueden ser visibles o no dependiendo del programador y las acciones del programa en ese momento.   El polimorfismo y la herencia son unas de sus principales características.
En cuanto a la Programación Estructura veremos sus ventajas:
1.            Los programas son más fáciles de entender. Un programa estructurado puede             ser leído en secuencia, de arriba hacia abajo, sin necesidad de estar saltando de un sitio a otro en la lógica, lo cual es típico de otros estilos de programación. La estructura del programa es más clara puesto que las instrucciones están más relacionadas entre sí, por lo que es más fácil comprender lo que hace cada función. 
2.            Reducción del esfuerzo en las pruebas. El programa se puede tener listo para producción normal en un tiempo menor del tradicional; por otro lado, el seguimiento de las fallas se facilita debido a la lógica más visible, de tal forma que los errores se pueden detectar y corregir más fácilmente. 
3.             Programas más sencillos y más rápidos. 
4.            Se facilita la utilización de las otras técnicas para el mejoramiento de la productividad en programación. 
5.                        Los programas quedan mejor documentados internamente.


Esta programación estructurada utiliza un número limitado de estructuras de control, reduciendo así considerablemente los errores.

Esta técnica incorpora: 
·         Diseño descendente (top-dow): El problema se descompone en etapas o estructuras jerárquicas.
·         Recursos abstractos (simplicidad): consiste en descompones las acciones complejas en otras más simples capaces de ser resueltas con mayor facilidad.
·         Estructuras básicas: Existen tres tipos de estructuras básicas:
·         Estructuras secuénciales: Cada acción sigue a otra acción secuencialmente. La salida de una acción es la entrada de otra.
·         Estructuras selectivas: En estas estructuras se evalúan las condiciones y en función del resultado de las mismas se realizan unas acciones u otras. Se utilizan expresiones lógicas.
·         Estructuras repetitivas: Son secuencias de instrucciones que se repiten un número determinado de veces.

Desventajas:
·         El principal inconveniente de este método de programación, es que se obtiene un único bloque de programa, que cuando se hace demasiado grande puede resultar muy complejo manejarlo.
·         Complejidad para adaptarse.

Si bien es cierto la programación estructurada fue de gran ayuda a los programadores durante mucho tiempo y aún sigue siéndolo en algunos sectores, hoy en día los requerimientos son cada vez más exigentes y este tipo de programación ya no es suficiente para satisfacer dichas necesidades por lo que es reemplazada mayormente por otros técnicas de programación, que es la orientada a objetos.





2 comentarios: