viernes, 16 de octubre de 2015

PROGRAMACIÓN ESTRUCTURADA Y MODULAR

     PROGRAMACIÓN ESTRUCTURADA Y PROGRAMACIÓN MODULAR




  Programación Estructurada
La programación estructurada es un paradigma de programación orientado a mejorar la claridad, calidad y tiempo de desarrollo de un programa de computadora, utilizando únicamente subrutinas y tres estructuras: secuencia, selección (if y switch) e iteración (bucles for y while).

 Origen
A finales de los años 1970 surgió una nueva forma de programar que no solamente daba lugar a programas fiables y eficientes, sino que además estaban escritos de manera que facilitaba su mejor comprensión, no sólo proveyendo ventajas durante la fase de desarrollo, sino también posibilitando una más sencilla modificación posterior.
El teorema del programa estructurado, propuesto por Böhm-Jacopini, demuestra que todo programa puede escribirse utilizando únicamente las tres instrucciones de control siguientes:
v  Secuencia
v  Instrucción condicional.
v  Iteración (bucle de instrucciones) con condición al principio.
Solamente con estas tres estructuras se pueden escribir todos los programas y aplicaciones posibles. Si bien los lenguajes de programación tienen un mayor repertorio de estructuras de control, estas pueden ser construidas mediante las tres básicas citadas.

  Ventajas de la Programación Estructurada
  • Los programas son más fáciles de entender, pueden ser leídos de forma secuencial y no hay necesidad de hacer engorrosos seguimientos en saltos de líneas (GOTO) dentro de los bloques de código para intentar entender la lógica.
  •   La estructura de los programas es clara, puesto que las instrucciones están más ligadas o relacionadas entre sí.
  •  Reducción del esfuerzo en las pruebas y depuración. El seguimiento de los fallos o errores del programa (debugging) se facilita debido a su estructura más sencilla y comprensible, por lo que los errores se pueden detectar y corregir más fácilmente.
  •   Reducción de los costos de mantenimiento. Análogamente a la depuración, durante la fase de mantenimiento, modificar o extender los programas resulta más fácil.
  •   Los programas son más sencillos y más rápidos de confeccionar.
  • Se incrementa el rendimiento de los programadores
Desventajas:
  • Complejidad para adaptarse
  • Mayor cantidad de código.

  Lenguajes
Es posible hacer la programación estructurada en cualquier lenguaje de programación, aunque es preferible usar algo como un lenguaje de programación procedimental. Algunos de los lenguajes utilizados inicialmente para programación estructurada incluyen: ALGOL, Pascal, PL/I y Ada —pero la mayoría de los nuevos lenguajes de programación procedimentales desde entonces han incluido características para fomentar la programación estructurada y a veces deliberadamente omiten características, en un esfuerzo para hacer más difícil la programación no estructurada.

PROGRAMACIÓN MODULAR
La programación modular es un paradigma de programación que consiste en dividir un programa en módulos o subprogramas con el fin de hacerlo más legible y manejable.
Se presenta históricamente como una evolución de la programación estructurada para solucionar problemas de programación más grandes y complejos de lo que ésta puede resolver.

Al aplicar la programación modular, un problema complejo debe ser dividido en varios subproblemas más simples, y estos a su vez en otros subproblemas más simples. Esto debe hacerse hasta obtener subproblemas lo suficientemente simples como para poder ser resueltos fácilmente con algún lenguaje de programación. Ésta técnica se llama refinamiento sucesivo, divide y vencerás ó análisis descendente (Top-Down).




 Definición y características de un módulo

Un módulo es cada una de las partes de un programa que resuelve uno de los subproblemas en que se divide el problema complejo original. Cada uno de estos módulos tiene una tarea bien definida y algunos necesitan de otros para poder operar. En caso de que un módulo necesite de otro, puede comunicarse con éste mediante una interfaz de comunicación que también debe estar bien definida.
Si bien un módulo puede entenderse como una parte de un programa en cualquiera de sus formas y variados contextos, en la práctica se los suele tomar como sinónimos de procedimientos y funciones. Pero no necesaria ni estrictamente un módulo es una función o un procedimiento, ya que el mismo puede contener muchos de ellos.


  Características de un módulo

  Tamaño relativamente pequeño: Esto facilita aislar el impacto que pueda tener la realización de un cambio en el programa, bien para corregir un error, o bien por rediseño del algoritmo correspondiente.
Independencia modular: Cuanto más independientes son los módulos entre sí más fácil y flexiblemente se trabajará con ellos, esto implica que para desarrollar un módulo no es necesario conocer detalles internos de otros módulos. Como consecuencia de la independencia modular un módulo cumplirá:
·         Características de caja negra, es decir abstracción.
·         Aislamiento de los detalles mediante encapsulamiento.
La independencia modular mejora el rendimiento humano, pudiendo realizarse programación en equipo y desarrollar módulos paralelamente. También contribuye a la reutilización de software.


     Ventajas y desventajas de la programación modular

  Ventajas:

·         Un programa modular es más fácil de escribir y depurar (ejecutar, probar y poner a punto). Se puede profundizar en las pruebas parciales de cada módulo mucho más de lo que se hace un programa mayor.
·         Un programa modular es fácil de mantener y modificar.
·         Un programa modular es fácil de controlar. El desglose de un problema en módulos permite encomendar los módulos más complejos a los programadores más experimentados y los más sencillos a los programadores más noveles.
·         Posibilita el uso repetitivo de las rutinas en el mismo o en diferentes programas.


  Desventajas:
·         No se dispone de algoritmos formales de modularidad, por lo que a veces los programadores no tienen claras las ideas de los módulos.
·         La programación modular requiere más memoria y tiempo de ejecución.


Metodología de diseño


METODOLOGÍA DISEÑO ESTRUCTURADA
DEFINICIÓN
Análisis del problema
El propósito del análisis de un problema es ayudar al programador para llegar a una cierta comprensión de la naturaleza del problema
Diseño o Desarrollo de un Algoritmo
Una computadora no tiene la capacidad para solucionar más que cuanto se le proporcionan los sucesivos pasos a realizar. Estos pasos sucesivos que indican las instrucciones a ejecutar por la maquina constituyen, como ya sabemos el algoritmo.
Codificación
Es el algoritmo traspasado a la computadora a través de un lenguaje de programación, debe ser escrito de acuerdo a las reglas gramaticales o sintaxis del mismo.
Compilación  y Ejecución del Programa
Compilación, el lenguaje de programación seleccionado revisa que ya no halla errores en el código fuente. Ejecución, ejecutar el programa después del ser compilado.
Verificación  y Validación
Revisar que el programa de los resultados que el usuario quiere, hay que revisar si hay algún error el cual puede ser de tipo lógico, de semántica o ejecución.
Depuración
Corregir los errores encontrados en la etapa anterior, si hubiese algún error se tiene que regresar hasta la etapa que sea necesaria para que la solución sea la que el usuario requiere
Mantenimiento
Mantenimiento preventivo es que hagamos lo posible por no caer en errores, la actualización si el usuario tiene la necesidad de quitar o poner algo; téngase en cuenta que cuando surge mantenimiento tenemos que volver a hacer todos los pasos anteriores revisando que todas la condiciones sean favorables alrededor del sistema.
Documentación
Corregir los errores encontrados en la etapa anterior, si hubiese algún error se tiene que regresar hasta la etapa que sea necesaria para que la solución sea la que el usuario requiere.



METODOLOGÍA DE DISEÑO MODULAR
DEFINICIÓN
Módulo de  raíz /Principal
Coordina  la realización de todas las funciones  lógicas.
Módulo de entrada
 Función  de captura de datos
Módulo de proceso
 Características  es  porque en el mismo se realiza  un tratamiento  o calculo  general.
Módulo de salida
Se caracteriza  por que  su función consiste  propiamente  en efectuar la salida  de la información  procesada.

Nota:  La programación  estructurada  esta  enfocada al desarrollo del programa final  y la programación modular  es parte del diseño de programación  y determina  si un datos  puede  ser  entrada o salida  de otro proceso.Estos  proceso  no debe  ser enseñado como si fuera  dos programaciones  que actúan  independiente, sino  como una sola  a la hora de elaborar  un programa.





GLOSARIO

PALABRA
DEFINICIÓN
1.MÓDULO
 Es una parte repetitiva, autónoma e intercambiable de un diseño modular.
2.LENGUAJE

Se entiende a un sistema de comunicación que posee una determinada estructura, contenido y uso.


3. GOTO
Es una instrucción propia de los primeros lenguajes de programación BASIC

4. PROGRAMACIÓN
ESTRUCTURADA
La programación  estructurada es un paradigma de programación orientado a mejorar la claridad, calidad y tiempo de desarrollo de un programa de computadora, utilizando únicamente subrutinas y tres estructuras: secuencia, selección (if y switch) e iteración (bucles for y while).

5. PROGRAMACIÓN  MODULAR
La programación  modular es un paradigma de programación que consiste en dividir un programa en módulos o subprogramas con el fin de hacerlo más legible y manejable.

6. DEBUGGING
Es el proceso de encontrar y resolver los errores o defectos que impiden el correcto funcionamiento de los programas informáticos o un sistema.

7. ENTRADA
Es la información producida por el usuario con el propósito del control del programa.

8. PROCESO
Proceso referido a las instrucciones que ejecutará el microprocesador mientras lee un programa determinado.

9. SALIDA
Muestras de  información al  usuario después  de ser procesado  atraves  un programa

10. DISEÑO
Proyectar, coordinar, seleccionar y organizar un conjunto de elementos para producir y crear objetos visuales destinados a comunicar mensajes específicos a grupos determinados.

11. MANTENIMIENTO
El mantenimiento informático, o también llamado soporte informático, consiste en una serie de tareas que son llevadas a cabo por personal interno o por empresas especializadas para mantener en determinados niveles de servicio los sistemas informáticos. 

12. RAÍZ
Es el primer directorio o carpeta en una jerarquía. Contiene todos los subdirectorios de la jerarquía.

13. INTERFAZ
Conexión que se da de manera física y a nivel de utilidad entre dispositivos o sistemas.

14. SUBPROGRAMA
Bloque de sentencias ejecutables que  es parte de  un programa raíz.

15. METODOLOGÍA
 Conjunto o sistema de métodos, principios y reglas que permiten enfrentar de manera sistemática el desarrollo de un programa que resuelve un problema algorítmico. 

3 comentarios:

  1. Woori Casino: Online Casino Games and Slots
    The Woori Casino software company gioco digitale focuses on developing the best online casino games. Learn the best games, bonus codes and promotions for 제왕카지노 your 우리카지노 favorite players

    ResponderEliminar