Desarrollo De Proyectos De Software (5)

Programación Estructurada

A finales de los 60, se propuso la utilización de un conjunto de construcciones lógicas con las que podía formarse cualquier programa. Cada construcción tenía estructura lógica predecible. Se entra por ella por el principio, se sale por el final y facilita al lector el seguimiento del flujo procedimental.

Las construcciones son secuencia, condición y repetición, son fundamentales en la programación estructurada.

  • La secuencia, implementa los pasos de procedimiento esenciales de la especificación de cualquier algoritmo.
  • La condición, da la posibilidad de seleccionar un procedimiento basándose en alguna ocurrencia lógica.
  • La repetición, proporciona iteración.

Las construcciones estructuradas se propusieron para limitar el diseño procedimental del software, a un número pequeño de operaciones predecibles; lo que facilita la legibilidad, prueba y mantenimiento del software.

Además, la notación debe facilitar la codificación; de manera que el código se obtenga de forma natural a partir del diseño.

Notaciones para la representación gráfica en diseño procedimental

Para evitar desarrollar un software erróneo, es fundamental que se utilicen correctamente las herramientas gráficas para el diseño, como son los diagramas de flujo y los diagramas de cajas.

Diagrama De Flujo

Es la representación gráfica que más se utiliza en el diseño procedimental.

Para representar un paso de procesamiento se utiliza un cuadro, para representar una condición se utiliza un rombo y para representar el flujo de control, se utilizan flechas.

A veces, el restringirse al uso exclusivo de construcciones estructuradas puede introducir complicaciones en el flujo lógico. Por ejemplo, supongamos que como parte del proceso i surge una condición z, que requiere una bifurcación inmediata al proceso j. Una bifurcación directa violará la construcción lógica, escapando del dominio funcional de la sentencia repeat-until, de la cual forma parte el proceso i.
Para implementar la bifurcación anterior sin violar las características de las condiciones estructuradas, sería necesario añadir la condición z a x7 y a x8.
Estas comprobaciones se realizarían continuamente, incluso aunque no fuese necesario la ocurrencia de la z. De esta forma, habríamos introducido una condición adicional y una eficiencia en la ejecución. Entonces ¿qué podemos hacer?.

El diseñador tiene dos opciones:

  • ƒRediseñar la representación procedimental, de forma que no sea necesaria la “bifurcación de escape” en una posición interior del flujo de control.
  • ƒViolar las construcciones estructuradas de forma controlada; es decir, diseñar una bifurcación restringida hacia fuera del flujo anidado.

Diagrama de cajas

Esta notación surgió del deseo de desarrollar una representación para el diseño procedimental, que no permitiera la violación de construcciones estructuradas. Estos diagramas fueron desarrollados por Nassi y Schneiderman y perfeccionados por Chapin. Tienen las siguientes características:

  • El ámbito funcional está bien definido y es claramente visible.
  • ƒLa transferencia de control arbitraria es imposible.
  • Es fácil determinar el ámbito de los datos locales y globales.
  • ƒLa recursividad es fácil de representar.

La representación gráfica de construcciones estructuradas usando diagramas de cajas, el elemento fundamental del diagrama de cajas, es la caja.

Notaciones tabulares de diseño

En muchas aplicaciones de software puede ser necesario que un módulo valúe una compleja combinación de condiciones y de acuerdo con ellas, seleccione la opción adecuada.

Las tablas de decisión constituyen una notación, que traduce las acciones y condiciones a una forma tabular.

Lenguaje de diseño de programas

Un lenguaje de diseño de programas (LDP) también conocido como lenguaje estructurado o pseudocódigo, es un lenguaje que utiliza el vocabulario de un lenguaje y la sintaxis de otro.

Independientemente de su origen, un LDP tiene que tener las siguientes características:

  • Una sintaxis fija de palabras clave que permitan construir todas las construcciones estructuradas, declarar datos y establecer características de modularidad.
  • ƒUna sintaxis libre en lenguaje natural para describir las características de procesamiento.
  • ƒFacilidades para la declaración de datos, incluyendo estructuras de datos simples y complejas.
  • ƒUn mecanismo de definición de subprogramas y de llamada a éstos.
Redes Sociales...
Tweet about this on TwitterShare on Google+Share on FacebookShare on LinkedInEmail this to someone

En Electrónica ML utilizamos cookies para que usted obtenga una mejor experiencia como usuario de nuestra web. Si continúa navegando, está dando su consentimiento para la aceptación y uso de las mencionadas cookies y la aceptación de nuestra política de cookies, click en el enlace para mayor información.

ACEPTAR
Aviso de cookies
Soporte Técnico