Posteado por: wozgeass | enero 10, 2010

Paradigmas de programacion.


Cuando entre a la facu no sabia nada de programacion y mucho menos aspectos tecnicos de la computadora, lo unico que conocia era los juegos de estrategia y descargar musica. Pero como amante del software libre mi ideologia siempre ha sido y sera compartir todos mis conocimientos.

Asi que iniciemos . . .

El diseño de un programa que se realiza sin seguir una metodologia puede funcionar, pero se debe tener en cuenta que con el tiempo se convertia en un conjunto de instrucciones. Es decir que las consecuencias de no utilizar un metodo determinado llevara a cometer errores constar el buen funcionamiento del mismo.

Las diferentes etapas del programa suelen tener discontinuidad y son dificilmente identificables. En consecuencia existe una dificultad fase de desarrollo y mantenimiento. Aqui se identifican algunos de los problemas que suele presentarse:

  • Se presenta en exceso en la rigidez del programa, lo que implica que sean dificilmente adaptables a cualquier tipo de configuracion.
  • Se pierde mucho tiempo en la correcciones de errores.
  • Los programas generalmente son propios de cada programador, lo que implica que no sean muy manejables por otros.
  • Para cuando se realice la documentacion final, existiran deficiencias por presentarse la ausencia de diagramas, habra descripciones que no esten completas o simplemente no las habra, y la documentacion no estara actualizada.

Existe una larga lista de problemas que pueden presentarse pero en este caso solo se han citado algunos. Es una suma de Importancia poder prevenir las modificaciones que puedan realizarse en el  futuro, asi como tambien las actualizaciones de la documentacion.

Para esto, se cita algunas que son importantes como:

  • Incrementar el volumen de datos y estructuras.
  • Modificacion en la forma como se organiza la informacion.
  • Modificacion por actualizacion de los documentos.
  • Ampliacion, reduccion o sustitucion en el sistema del proyecto de datos.

La creacion de programas debe tener la flexibilidad suficiente para ser modificable en el momento en que se requiera. Estos deben ser claros, simples, con el fin de poder ser leidos e interpretados de forma facil.

Con lo dicho anteriormente, se entiende que para la programacion debera asumirse ciertas normas que permitan la estandarizacion de la programacion, implicando una disminucion en costo, independencia del programador y seguridad.

Cuando existen problemas con cierto grado de complejidad, el diseño del algoritmo requiere de una reduccion y simplificacion en la legitimidad del algoritmo. Desafortunadamente solo he usado la programacion modular, Estructurada y Orientada a Objetos, por lo que solo explicare estas 3. Para el diseño de un programa, el problema se descompone en modulos(independientes cada uno), se hace la programacion d cada modulo mediante metodos estructurados, los que posteriormente son unidos mediante el uso de procedimientos ascendentes o descendentes.

Programacion Estructurada.

Dado el tamaño considerable de las memorias y las altas velocidades de los procesadores, forma de escritura de los programas ha sido considerada una de las caracteristicas mas sobresalientes en las tecnicas de programacion. El entendimiento de los algoritmos y luego de los programas, exige que su diseño sea facil de comprender y su flujo logico un camino facil de seguir.

La descomposicion de programas en modulos mas simples  de programas se dara a traves de las programacion modular, y la programacion estructurada permitira la escritura de de programas faciles de leer y modificar. En un programa estructurado, el flujo logico se gobierna por las estructuras de control basicas:

  1. Secuenciales.
  2. Repetitivas.
  3. Seleccion.

Programacion Modular.

Este es uno de los metodos para el diseño mas flexible y de mayor productivada para la programacion estructurada. En este tipo de programacion el programa es dividido en modulos, cada uno de las cuales realiza una tarea especifica, codificandose independientemente de otros modulos. Cada uno de estos son analizados, codificados y puestos a punto por separado.

Los programas contienen un modulo denominado principal, el cual supervisa todo lo que sucede, transfiriendo el control a submodulos(los que son denominados subprogramas), para que puedan realizar sus funciones. Sin embargo, cada submodulo devolvera el control al modulo principla una vez completada su tarea. Si las tareas asignadas a cada submodulo son demasiado complejas, se procedera a una nueva subdivicion en otros modulos mas pequeños aun.

Este procedimiento se realiza hasta que cada uno de los modulos realicen tareas especificas. Estas pueden ser entradas, salidas, manipulacion de datos, control de otros modulos o algunas combinaciones de esto. Puede ser que un modulo derie el control a otro mediante un proceso denominado bifurcacion, pero se debe tomar en cuenta que esta derivacion debera ser devuelta a su modulo original.

En cuanto a la seguridad podremos decir que los modulos son independientes, de modo que ningun modulo puede tener acceso directo a cualquier otro modulo, excepto el modulo al que llama y sus submodulos correspondientes. Sin embargo, los resultados producidos por un modulo pueden ser utilizados por otro modulo cuando se transfiera a ellos el control.

Dada la ventaja de ser independiente el programa puede ser trabajado por diferentes programadores a la vez. Con esto se ahorra tiempo en el diseño del algoritmo y en su posterior codificacion. Tambien un modulo puede ser codificado sin afectar a los demas, incluso sin alterar su funcion principal.

Implementacion de los Modulos.

Este tipo de programacion puede implementarse utilizando modulos que toman diferentes nombres, segun el lenguaje de programacion en el cual esten expresados:

Subrutinas en Basic, Procedimientos en Pascal, Subrutinas en Fortran, Secciones en Cobol y funciones  como modulos en todos los lenguajes.

Algo mas de programacion estructurada.

Fija su atencion en el conjunto de acciones que manipulan el flujo de datos.

  • Descomposicion funcional: el sistema es considerado una unidad funcional que se disgrega en procesos.
  • EL resultado del proceso de abstraccion para la solucion de un problema macro lo constituyen pequeños subprogramas.
  • Un problema macro se subdivide en unidades mas pequeñas llamadas procesos, estos se pueden distribuir entre diferentes personas que se vean involucradas en la solucion de un problema y asi efectuan de los desarrollos de software de una manera mas rapida y eficiente.

Cuando hablo de programacion estructurada, nos referimos a un conjunto de tecnicas que con el transcurrir del tiempo han evolucionado. Gracias a estas, la productividad de un programa se ve incrementada  de forma considerable y se reduce el tiempo de escritura de depuracion y mantenimiento de los programas. Aqui se hace un numero limitado de estructuras de control, se reduce la complejidad de los problemas y se minimizan los errores.

Gracias a la programacion estructurada, es mas facil la escritura de los programas, tambien lo es se verificacion, su lectura y mantenimiento.

Recursos Abstractos.

Los recursos abstractos son utilizados como un apoyo en la programacion estructurada, en vez de los recursos concretos de los que se dispone(lenguajes de programacion).

Para disgregar un programa en terminos de recursos abstractos debemos descomponer acciones complejas en acciones mas simples, las que son capaces de ejecutar o constituyen instrucciones de computacion disponible.

Desafortunadamente como la programacion Orientada a Objetos es demasiado extensa no la incluire en este post, la trataremos mas profundamente en el proximo. . .

wozgeass: push eax, 1

int 80h

EOF

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

Categorías

A %d blogueros les gusta esto: