Vous êtes sur la page 1sur 12

El paradigma de la programacin estructurada

Una forma de expresar el pensamiento humano en trminos entendibles para las computadoras
Por Luis Everardo Castro Sols Profesor del curso de Informtica I. Facultad de Ingeniera. U.A. de C.

El concepto de algoritmo En este ensayo se establecen algunos principios bsicos para el diseo de algoritmos. Entonces vale la pena empezar con una definicin del concepto de algoritmo : Un algoritmo es una lista de instrucciones en la cual se especifica una sucesin de operaciones necesarias para resolver cualquier problema de un tipo dado, en una cantidad finita determinada de tiempo. Sus caractersticas fundamentales son: Carcter finito: El algoritmo eventualmente lo hacen finalizar. contiene instrucciones que

Carcter determinativo: Debe darse en forma de una lista finita de instrucciones, que indique el procedimiento a seguir en cada paso del clculo, de manera que cualquiera pueda repetirlo con xito en cualquier momento. Carcter general: Es una lista nica de instrucciones que definen un clculo que puede efectuarse con cualesquiera datos iniciales y que, en cada caso, proporciona un resultado correcto.

El paradigma de programacin estructurada La programacin estructurada puede ser entendida como la aplicacin de una metodologa bsica de anlisis de problemas, para establecer una estructura jerrquica y manipulable de estos. Se realiza va un proceso de refinamiento sucesivo en una serie de pasos. Cada paso cubre los detalles del problema, enfocados y refinados por el conocimiento disponible en el paso precedente.

D.R. LUIS EVERARDO CASTRO SOLIS

El nivel de conceptualizacin ms alto representa la descripcin general del problema, y cada nivel de conceptualizacin ms bajo proporciona una descripcin de los detalles del mismo. Nicklaus Wirth (el creador del lenguaje Pascal,) nos ha provisto de la definicin ms precisa, el profesor Wirth dice: La programacin estructurada es la formulacin de un programa mediante la anidacin jerrquica de estructuras de estatutos y objetos de cmputo. Lo que plantea la programacin estructurada es una metodologa para disear programas como secuencias de procesos y variables independientes que una vez que se ejecutan y asignan, resuelven el problema por partes, o sea que no es otra cosa que una forma particular del mtodo analtico, en donde un problema complejo (sistema) se divide en pedazos coherentes (subsistemas)que a su vez son analizados (divididos en subsistemas cada vez menos complejos) hasta lograr expresar el sistema completo, como una coleccin de subsistemas; se espera que al resolver el problema menos complejo que implica cada subsistema, el problema correspondiente al sistema completo quede resuelto. Algunos beneficios que acompaan a loa reduccin de la complejidad de los programas son: menos problemas de prueba y depuracin del programa, incremento de la productividad del programador, mejoramiento de la claridad del cdigo, aumento de la capacidad de modificacin y mantenimiento del programa terminado. Queda claro que es conveniente, y hasta necesario en algn contexto, aprender a usar la metodologa de programacin estructurada, si queremos emprender el camino de la programacin de computadoras.

Objetivos de la programacin estructurada Todo software en su proceso de creacin pasa por tres fases: fase de diseo (cuando se piensa el sistema), fase de implementacin (cuando se comunica el sistema a la computadora), fase de prueba y depuracin (cuando se verifica su correcto funcionamiento) y fase operacional (cuando se usa para resolver el problema para el cual fue diseado). Inevitablemente ocurren errores en la fase de diseo, sin embargo un gran nmero de los errores existentes en un sistema, est en gran parte relacionado con la complejidad del mismo es decir, es de esperar que en un sistema complejo existan ms errores que en un sistema menos complejo, pero todos los sistemas de una cierta complejidad, cuando estn en su fase de desarrollo, presentan errores y estos errores tienen que ser eliminados antes de que el sistema pase a su fase operacional. El problema es entonces no que un sistema tenga errores, sino, cmo hacer para eliminarlos de la mejor manera. Naturalmente que si la construccin lgica del programa es deficiente y no es posible aislar fallas de software por medio de testeo en un ambiente con itinerario finito, el proceso de depuracin se hace increblemente difcil.

D.R. LUIS EVERARDO CASTRO SOLIS

Con esto en mente, estructurada:

podemos

enunciar

los

objetivos

de

la

programacin

Minimizar el nmero de errores que ocurren en el proceso de desarrollo de software. Minimizar el esfuerzo requerido para corregir errores en secciones de cdigo deficiente, mejorar secciones con tcnicas ms funcionales o eficientes. Minimizar el costo de operacin del software terminado.

Sin embargo, la programacin estructurada no es una panacea que permite a cualquiera hacer buenos programas de computadora; por el contrario, existen dos grandes reas en las cuales la programacin estructurada no provee solucin alguna: Muchas fallas del software provienen de fallas en la especificacin del problema. La baja productividad de un programador se debe, a veces, al tiempo gastado en resolver el problema equivocado, es decir la programacin estructurada no puede resolver fallas de comunicacin o de organizacin. La disciplina y rigor de la programacin estructurada va ms all de la capacidad de cierta clase de programadores. La programacin estructurada aplicada impropiamente, no es mejor que los mtodos tradicionales de diseo.

El proceso de estructuracin La herramienta mental fundamental para el desarrollo efectivo de programas es comn a todas las formas de ingeniera. Esta herramienta es la abstraccin o el anlisis. Un problema no puede ser atacado inicialmente en trminos de instrucciones para la mquina, pero puede ser aproximado en trminos y entidades naturales al problema en s. En este proceso, el programa abstracto formulado en un lenguaje adecuado llamado pseudocdigo realiza operaciones con datos abstractos. Las operaciones se consideran como componentes del programa que estn sujetos a descomposicin en un nivel ms bajo de abstraccin. Este proceso continua hasta que finalmente se llega a un nivel entendible por el computador. El proceso de anlisis es a la vez un proceso de refinamiento sucesivo de la especificacin del programa. El refinamiento sucesivo es un procedimiento que implica descomponer una funcin de un mdulo en un conjunto extendido de subfunciones. Cada subfuncin se descompone posteriormente en otros conjuntos de subfunciones extendido, pero equivalente, hasta que, eventualmente, las operaciones pueden ser traducidas directamente a un lenguaje de programacin. Note que, aunque esta tcnica de refinamiento puede ser aplicada para descomponer totalmente un programa en sus estatutos elementales, es ms efectiva como herramienta de descomposicin de cada mdulo de un programa, en su lgica interna necesaria para realizar la funcin del mdulo. Cuando utilizamos programacin, cada el refinamiento refinamiento nos sucesivo como provee de una metodologa descripcin de ms

D.R. LUIS EVERARDO CASTRO SOLIS

detallada del control lgico del programa. Los refinamientos iniciales nos brindan un proceso muy general, y el diseo de estos procesos esta en un lenguaje muy cercano a las especificaciones humanas; cuando el proceso se aproxima al nivel de la mquina, varios pasos de refinamiento despus, el lenguaje se parece ms a un lenguaje de programacin.

Fundamentos de programacin estructurada Existe un nmero continuar: de conceptos bsicos que debemos mencionar antes de

Diagrama de flujo. Un diagrama de flujo es un grfico que describe el flujo del control de ejecucin de un programa. El grfico est construido con segmentos de lnea cuya orientacin -o direccin del flujo- se indica con flechas. Los segmentos de lnea se inician y terminan en nodos. Un nodo puede representar una transformacin de datos, un punto de decisin o un simple colector de las rutas de control del programa. Programa bien formado. Un programa bien formado se define como uno en el cual existe, para cada nodo, una ruta de la lnea de entrada, que pasa por el nodo a una lnea de salida del programa. Esto implica que no existen bucles infinitos o ciclos cerrados y tampoco cdigo aislado o nodos isla en el programa. Programa propio. Un programa propio es un programa bien formado que contiene una y solamente una lnea de salida. A los programas bien formados con salidas mltiples se les denomina programas impropios. Nodos fundamentales. Nodo proceso, nodo colector y nodo predicado. Nodo proceso. El nodo proceso es un nodo de transformacin de datos en el diagrama de flujo del programa. El proceso puede ser tan simple como un estatuto elemental de asignacin de una valor a una variable, o tan complejo como un programa completo. Un nodo proceso propio se define como aquel que contiene solamente un punto de entrada y una sola salida. Un nodo proceso bien formado es aquel que contiene un solo punto de entrada y una, o ms, salidas (denominadas salidas abnormales). El nodo proceso se caracteriza como una funcin con una nica entrada y salida. Esto nos permite verificar la fabricacin correcta de los nodos proceso en cada nivel de abstraccin, hasta que el programa entero puede ser verificado como un solo nodo proceso en el nivel de abstraccin ms alto. En este proceso el nodo precedente es tratado como una entidad verificable, reduciendo la verificacin a una magnitud manipulable o en palabras ms tcnicas a un medio ambiente de prueba y depuracin con itinerario finito. Los nodos proceso impropios incrementan la dificultad de la verificacin al introducir rutas alternas en el proceso. Algunos programas construidos a base de nodos proceso impropios ms bien parecen un tazn de espaguetti en la jerga de la profesin, que una descripcin del flujo ordenado de un programa. Nodo predicado. O nodo decisin, esta asociado con una funcin predicado, usualmente un test lgico de valor binario, que es evaluada cada vez que se entra al nodo. Los datos del programa NO son transformados en manera alguna en el nodo predicado es decir, no se realiza ninguna operacin de asignacin con los datos dentro de este tipo de nodo. En un caso simple, una funcin predicado puede ser: Es x mayor que y ?, donde

D.R. LUIS EVERARDO CASTRO SOLIS

una evaluacin a cierto o falso (se trata de un test lgico de valor binario) es adecuada; el programa sale por una de las dos lneas de salida de este tipo de nodo segn sea el resultado del test. En un caso ms complicado el predicado puede ser Cual es el estatus civil del sujeto? donde una de este grupo es la respuesta [casado, divorciado, viudo, separado]. Para este caso advertimos la necesidad de una forma especial del predicado de tipo multiselector, donde una de varias lneas de salida mutuamente excluyentes es escogida de acuerdo con la respuesta al test. Es evidente que mediante una adecuada combinacin de tests binarios se puede lograr el test multiselector. Nodo colector. El nodo colector combina un conjunto de dos o ms lneas de flujo (entrada) en una lnea de salida simple. El nmero de lneas de control que entrar a un nodo colector es dos, excepto cuando el nodo sigue a casos especiales del nodo predicado (multiselector)o en nodos proceso con salidas abnormales (impropios).

Nodo proceso

Nodo Predicado:

Nodo Colector:

D.R. LUIS EVERARDO CASTRO SOLIS

Estructura bsica de control. Los tres tipos de nodos fundamentales pueden ser ensamblados para formar una estructura de control de un programa, independientemente del nivel de abstraccin en que se encuentre el proceso de diseo. Utilizando los nodos fundamentales se han construido un nmero de estructuras de control, sin embargo se ha demostrado que son suficientes nicamente tres estructuras de control, llamadas bsicas, para construir cualquier programa: (a)secuencia, (b)seleccin, (c)iteracin. A su vez estas pueden ser desglosadas en subtipos de estructuras: (a) (b) secuencia: seleccin: Concatenacin If-then If-then-else Case While-do Repeat-until

(c)

iteracin:

En la siguiente seccin se detalla cada una de estas estructuras bsicas de control. Programa estructurado. Podemos definir un programa estructurado propio como un programa diseado mediante un proceso de refinamiento sucesivo, usando solamente las tres estructuras de control bsicas.

Estructuras bsicas de control Estructura secuencia. La estructura secuencia es simplemente la concatenacin (o encadenamiento) de dos o ms nodos proceso. Si los nodos son propios cada uno con una sola entrada y una sola salida la secuencia lineal de nodos proceso puede ser comprimida o abstrada en un solo nodo proceso. Cuando uno o ms de los nodos proceso son impropios, la secuencia se abrevia en un nodo proceso impropio (abnormal). En el proceso de refinamiento un nodo proceso, llammosle A, puede ser reemplazado por una secuencia de dos o ms nodos proceso (A1, A2, ..., An) los cuales son una expansin de A. El proceso de expansin puede ser repetido con cada subnodo, obteniendo un nivel adicional de detalle. La estructura secuencia puede ser escrita simplemente como una lista de estatutos: Proceso Proceso Proceso . . . Proceso A1; A2; A3;

An;

Estructura seleccin . La estructura bsica de seleccin es el If-thenelse, el cual es un mecanismo de decisin binario, que nos provee de capacidad de eleccin entre una de dos alternativas; puede ser escrito como:

D.R. LUIS EVERARDO CASTRO SOLIS

IF (p) THEN Proceso A ELSE Proceso B; En donde verdadero, proceso A asignacin el proceso A es ejecutado solamente si el predicado p es y el proceso B es ejecutado en caso de que p sea falso. El o B puede ser, como se ha mencionado, tan simple como una o tan complejo como un programa completo.

Una variante de esta estructura es el If-then, el cual permite decidir entre ejecutar o no ejecutar una cierta alternativa; puede ser escrito como: IF (p) THEN Proceso A; Proceso B; En donde el proceso A se ejecutara en caso de que p sea verdadero, si p no es verdadero el proceso A simplemente no se ejecutara; el flujo del control continua con el proceso B en ambos casos. Una estructura multiselector se puede construir usando este tipo de seleccin y se ha denominado estatuto CASE. Este estatuto es un grupo de predicados, donde cada predicado esta asociado con un nodo proceso, el cual es ejecutado si el predicado asociado se cumple, luego de lo cual el control pasa a la lnea de salida de la estructura. Si un predicado no se cumple el control pasa al siguiente predicado. De esta forma se define un mecanismo multiselector mutuamente excluyente que escoge una de muchas lneas de salida, de acuerdo al valor del predicado de control; esto se puede escribir como: IF (p1) THEN Proceso A1 ELSE IF (p2) THEN Proceso A2 ELSE IF (p3) THEN Proceso A3 ELSE IF (p4) THEN Proceso A4 ELSE IF : : ELSE IF (pn) THEN Proceso An; Lo cual puede ser ms claramente expresado por un estatuto CASE: CASE (p) of p1: Proceso p2: Proceso p3: Proceso p4: Proceso : : pn: Proceso end_case;

A1; A2; A3; A4;

An;

D.R. LUIS EVERARDO CASTRO SOLIS

que significa: si p checa con p1 ejecutar el proceso A1 y pasar al final de la estructura, si p no checa con p1, verificar si p checa con p2; si p checa con p2 ejecutar el proceso A2 y pasar al fin de la estructura, si p no checa con p2, verificar si p checa con p3, y as sucesivamente hasta agotar las posibilidades.

Estructura iteracin . La coleccin de herramientas de programacin contiene un ltimo mecanismo, que provee una capacidad de ciclaje bsica o de repeticin controlada de segmentos de cdigo. El primer tipo y el ms ampliamente usado es la estructura While. El estatuto While especifica que el proceso A es ejecutado repetidamente mientras el predicado de control p es verdadero; esto se puede escribir como: WHILE (p)DO Proceso A; Si p no es verdadero el Proceso A no se sigue ejecutando y el control pasa a la siguiente estructura. La forma Repeat-until especifica que el proceso A ser ejecutado hasta que el predicado de control p sea verdadero, y se puede escribir como sigue: REPEAT Proceso A UNTIL p; Una vez que p sea verdadero el proceso A deja de ser ejecutado y el control pasa a la siguiente estructura. La representacin de la estructura Repeat-until se diferenca fundamentalmente en dos cosas de la forma While-do: (a) La forma Until testea el predicado (verifica su valor) despus de cada iteracin, por lo que se conoce como bucle post-test, mientras que la forma While testea el predicado antes de cada iteracin (es un bucle pre-test), por lo tanto la forma Until se ejecutar siempre por lo menos una vez, sin importar el valor del predicado p; (b) La forma Until termina cuando el valor del predicado p es verdadero, mientras que el bucle While termina cuando el valor de p es falos. Por ejemplo el programa definido por: REPEAT Proceso A UNTIL (p); es equivalente al programa: Proceso A; WHILE (p*) DO Proceso A; en donde p* es el complemento lgico del predicado p. Es importante mencionar que el proceso A (denominado cuerpo del bucle ) debe contener transformaciones de datos que eventualmente hagan que el predicado de control p tome valores que hagan que el bucle termine. Cuando esto no ocurre se dice que entramos en un bucle infinito y es un error.

D.R. LUIS EVERARDO CASTRO SOLIS

El uso del pseudocdigo El pseudocdigo no es otra cosa que una notacin conveniente que brinda el enlace entre el lenguaje nativo del programado y el lenguaje del computador. Es un lenguaje que permite al programador pensar acerca del problema a resolver, y expresar la lgica del programa de una manera semiformal, sin tomar en cuanta la sintaxis de un lenguaje de programacin en particular. La notacin permite al programador relacionarse con los problemas a varios niveles de abstraccin, sin adentrarse en los detalles del programa y sin complicar la representacin del mismo con detalles innecesarios. El pseudocdigo se asemeja a un lenguaje de programacin en operaciones explcitas pueden ser especificadas, por ejemplo: Cambia cuenta inicial = 1 Imprime el rango de error esto difiere de un lenguaje de programacin en dos formas. Primero, las operaciones pueden ser indicadas a cualquier nivel de complejidad, por ejemplo: Temporal := ( A[i,n+1] - sum )/ A[i,i] Calcula el nivel de acercamiento al objetivo Segundo, no existen reglas formales de sintaxis que limiten el libre uso del pseudocdigo. Las nicas convenciones que gobiernan el uso del pseudocdigo estn relacionadas con el uso de estructuras de control y la indentacin de la escritura, que redunda en claridad. El pseudocdigo tambin es un lenguaje que puede ser usado durante la etapa de refinamiento, para describir las operaciones del programa a cualquier nivel. Esto nos provee de una forma conveniente para documentar las etapas del desarrollo de un programa para nuestro propio uso, permite a otros programadores revisar la funcionalidad del programa antes de que esta sea traducido (codificado) a un lenguaje de programacin especfico, y facilita la evaluacin del estado del desarrollo en cualquier etapa del proceso de refinamiento. El pseudocdigo permite al diseador trabajar con un lenguaje a un nivel ms alto que un lenguaje de programacin, siendo entonces ms fcil implementar cambios de diseo en el programa. Los cambios en la lgica del programa son ms aparentes al nivel de pseudocdigo que cuando la lgica es complicada por los detalles de un lenguaje de programacin especfico, al nivel de la mquina. El pseudocdigo tambin provee de una descripcin detallada del programa fuente completo que puede ser, o debe ser, conservado como parte de la documentacin del programa, sustituyendo o ampliando, la informacin contenida en los diagramas de flujo. El pseudocdigo no tiene lineamientos formales para dirigir al usuario en su aplicacin. La herramienta es natural y debe ser usada de manera que haga fcil la programacin. Para hacer su uso ms efectivo, unas pocas reglas generales estn disponibles: REGLA 1. EL PSEUDOCODIGO ES UNA EXTENSION DEL PROCESO DE PENSAR. que las

D.R. LUIS EVERARDO CASTRO SOLIS

Los estatutos usados deben relacionarse con el refinamiento sucesivo y resultar en un programa estructurado. Para guiar el proceso de pensamiento y asistir en la creacin de una estructura aceptable, el uso de estructuras de control no permitidas en un proyecto dado, provocan que ste no se pueda modelar adecuadamente. REGLA 2. INDENTAR EL CODIGO PARA RESALTAR LAS ESTRUCTURAS DE CONTROL. REGLA 3. USE NOMBRES AUTODEFINIBLES PARA SUS VARIABLES. REGLA 4. MANTENGA LA LOGICA A UN NIVEL SIMPLE DENTRO DEL PROGRAMA. REGLA 5. CODIFIQUE PRIMERO POR CLARIDAD, MODIFIQUE LUEGO POR EFICIENCIA. Algunos programadores gastan enormes cantidades de tiempo pensando, o preocupndose, de la velocidad de partes no crticas de sus programas, y tales intentos de eficiencia tienen un fuerte impacto negativo cuando tomamos en cuenta los requerimientos de mantenimiento y depuracin del cdigo. Debemos olvidarnos de pequeas eficiencias: se dice que el 97% del tiempo, la optimizacin prematura del cdigo es la raz de todo mal; pero no dejemos pasar nuestra oportunidad de aprovechar el 3% restante crtico. Un buen programador no se engaara con tal razonamiento; debe checar cuidadosamente el cdigo crtico, pero solo despus de que dicho cdigo ha sido identificado. REGLA 6. PROYECTO. USE ESTRUCTURAS DE CONTROL EN LA FORMA PERMITIDA POR EL

Si una estructura especfica es de estructura en tal forma, por ejemplo:

la

forma

If-then-else,

use

la

IF (disfuncin switch = off) THEN Calcular la densidad media del smog para un periodo de 24 hr ELSE Poner la densidad media del smog = 1000 ppm Cada estatuto de una secuencia debe ser escrito en una lnea separada, ya que un estatuto puede ser expandido en u paso posterior de refinamiento. Si se colocan operaciones mltiples en una sola lnea, resultara caos y confusin.

Consideraciones finales La programacin estructurada puede ser sumarizada como un conjunto de cuatro importantes lineamientos que debemos tener en mente mientras desarrollamos la estructura de un programa mediante el mtodo de refinamiento sucesivo: Posponer los detalles. Los detalles del programa en los niveles de diseo abstracto son triviales y ensucian el proceso de pensamiento. Es importante considerar las funciones primordiales del mdulo, sin confundirnos con los detalles innecesarios hasta refinamientos posteriores. Los detalles deben ser enfocados solo cuando tenga impacto directo en el proceso de refinamiento.

D.R. LUIS EVERARDO CASTRO SOLIS

Tomar las decisiones en cada nivel de abstraccin cuidadosamente. En cada etapa de refinamiento, algunas decisiones son obvias y fciles de tomar, mientras otras son todo lo contrario. Tratemos de analizar cada decisin comprendiendo completamente las implicaciones asociadas con ella. Debemos considerar todas las alternativas, per no nos entrampemos por detalles hasta los niveles ms bajos. Esta trampa est bsicamente enunciada por el antiguo dicho: no podemos conocer el bosque guindonos nicamente por unos cuantos rboles. Flexibilidad. Ninguna decisin es final; algunos problemas requerirn revocar o modificar las decisiones iniciales. No nos intimidemos con las estructuras ya existentes. Cada revisin de la lgica del programa, o la correcin de errores descubiertos, suele implicar a la estructura completa. Tome en cuenta los datos. Cuando el proceso de refinamiento es llevado hasta los niveles ms bajos de abstraccin, los datos necesarios para la funcin de un mdulo estarn descubiertos. Cuando los datos aparecen, necesitamos considerarlos y refinar su definicin con el mayor detalle posible. Los datos y la estructura lgica estn en funcin de las decisiones tomadas durante la descomposicin en mdulos funcionales del programa completo. Los datos requeridos por alguna configuracin del programa son artculos importantes a considerar en el proceso de decisin. No en balde el profesor Wirth titul a su libro de programacin Algoritmos + Estructuras de Datos = Programacin.

Adicionalmente a estos cuatro lineamientos, he compilado durante mi carrera como programador de computadoras los siguientes principios bsicos; espero que resulten tan tiles a ustedes como lo han sido para mi: El principio del reciclado. Reutilize las ideas que han funcionado previamente en lugar de pensar en ideas nuevas para cada problema. El principio del esquema . Esquematice sus ideas en forma mltiple; considere representaciones mltiples de una misma idea. Exprsela en lenguaje natural, pseudocdigo, diagramas de flujo, etc. El principio de las rutas alternativas . Genere y evale diseos alternativos para problemas de programacin. Desarrolle procedimientos para hallar alternativas y criterios para seleccionar la mejor solucin. El principio de las huellas. Desarrolle tcnicas de depuracin y testeo efectivas, asociando los sntomas de los errores con el error apropiado. El conocimiento de los errores comunes y sus sntomas asociados facilita la depuracin y testeo de sus programas enormemente. El principio de divide y venceras. Codifique y testee programas complejos en segmentos funcionales a la vez, para aislar errores y reducir el tiempo gastado buscando problemas. Use este proceso de desarrollo incremental para reducir las demandas cognitivas de la programacin, concentrndose en un componente a la vez.

D.R. LUIS EVERARDO CASTRO SOLIS

El principio del complejo de persecucin. Adopte un complejo de persecucin para testear sus programas. Pruebe todos los posibles errores usando datos tpicos y extremos, y gaste tiempo determinando el rango completo de casos. El principio literario . Produzca cdigo autodocumentado de manera que sea fcil de entender, modificar, testear y corregir. Marque el propsito de cada seccin claramente. El principio de flexibilidad. Ninguna decisin es final. No se intimide con las estructura existentes. Cada revisin de la lgica del programa, o la correccin de errores descubiertos frecuentemente implica modificar la estructura completa. El principio del retraso . Posponga los detalles en los niveles de diseo altos y concntrese en las funciones primordiales del mdulo. Los detalles deben ser enfocados solo cuando tengan relevancia directa en el proceso de refinamiento. El principio propio. Disee cada mdulo con una sola entrada y una sola salida (como un nodo proceso propio), utilizando interfases o listas de parmetros. Esto facilitar increblemente el proceso de mantenimiento del programa.

D.R. LUIS EVERARDO CASTRO SOLIS

Vous aimerez peut-être aussi