lunes, 6 de octubre de 2008

Tipos de programaciòn

Los tipos o técnicas de programación son bastante variados, aunque puede que muchos de los lectores sólo conozcan una metodología para realizar programas. En la mayoría de los casos, las técnicas se centran en programación modular y programación estructurada, pero existen otros tipos de programación.

Programación estructurada (PE)
La programación estructurada esta compuesta por un conjunto de técnicas que han ido evolucionando aumentando considerablemente la productividad del programa reduciendo el tiempo de depuración y mantenimiento del mismo. 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.

Los programas queden mejor documentados internamente. Un programa esta estructurado si posee un único punto de entrada y sólo uno de salida, existen de "1 a n" caminos desde el principio hasta el fin del programa y por último, que todas las instrucciones son ejecutables sin que aparezcan bucles infinitos.

Caracteristicas:
Una característica importante en un programa estructurado es que puede ser leído en secuencia, desde el comienzo hasta el final sin perder la continuidad de la tarea que cumple el programa, lo contrario de lo que ocurre con otros estilos de programación. Esto es importante debido a que, es mucho más fácil comprender completamente el trabajo que realiza una función determinada, si todas las instrucciones que influyen en su acción están físicamente contiguas y encerradas por un bloque. La facilidad de lectura, de comienzo a fin, es una consecuencia de utilizar solamente tres estructuras de control y de eliminar la instrucción de desvío de flujo de control, excepto en circunstancias muy especiales tales como la simulación de una estructura lógica de control en un lenguaje de programación que no la posea.


Ventajas:
-Los programas son mas fáciles de entender
-Se reduce la complejidad de las pruebas
-Aumenta la productividad del programador
-Los programas queden mejor documentados internamente.

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 problemático su manejo, esto se resuelve empleando la programación modular, definiendo módulos interdependientes programados y compilados por separado. Un método un poco más sofisticado es la programación por capas, en la que los módulos tienen una estructura jerárquica muy definida y se denominan capas.


Programación orientada a objetos (POO) Se 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 y por ello dedicaremos más adelante un artículo exclusivamente a tratar estos dos términos. En DesarrolloWeb.com hemos publicado anteriormente una explicación de lo que es la programación orientada a objetos.

Caracterìsticas:

Abstracción
Encapsulamiento
Principio de ocultación
Polimorfismo
Herencia


ventajas de la programaciòn Orientada a objetos:

-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

No hay comentarios: