Pages

viernes, 28 de diciembre de 2012

¿Qué son los Diagramas de Flujo?


Un diagrama de flujo es un tipo de diagrama que representa un algoritmo o proceso, que muestra las etapas como bloques de varios tipos, y su orden mediante conexiones con flechas. 

Esta representación esquemática puede dar la solución paso a paso de un problema dado.
Las operaciones de proceso están representadas en estos bloques y las flechas que los conectan representan el control de flujo. 

Los flujos de datos no se suelen representar en un diagrama de flujo, en contraste con diagramas de flujo de datos, sino que están implícitos en la secuencia de las operaciones. Los diagramas de flujo son usados ​​en el análisis, diseño, documentación o la gestión de un proceso o programa en varios campos.

Descripción general
Los diagramas de flujo se utilizan en el diseño y documentación de procesos complejos o programas. Como otros tipos de diagrama, ayudan a visualizar lo que está pasando y de esa manera ayudan al espectador a entender un proceso, y tal vez también ha encontrar defectos, cuellos de botella, y otros problemas. Hay muchos  tipos diferentes de diagramas de flujo, y cada tipo tiene su propio repertorio de cajas y convenciones de notación.
Los dos tipos más comunes de cajas en un diagrama de flujo son:
  • A un paso de procesamiento, generalmente se le llama actividad, y se denota como una caja rectangular.
  • A una decisión, se le denota generalmente como un diamante.

Un diagrama de flujo es descrito como "multifuncional" cuando la página se divide en diferentes "carriles"  que describen el control de las diferentes unidades organizativas. Un símbolo que aparece en un "carril" está bajo el control de esa unidad organizativa. Esta técnica permite al autor localizar la responsabilidad de realizar una acción o de tomar una decisión correcta, mostrando la responsabilidad de cada unidad organizacional para diferentes partes de un mismo proceso.

Los Diagramas de flujo representan ciertos aspectos de los procesos y por lo general se complementan con otros tipos de diagrama. Por ejemplo, Kaoru Ishikawa definió el diagrama de flujo como una de las siete herramientas básicas de control de calidad, al lado del histograma, diagrama de Pareto, hoja de verificación, gráfico de control, diagrama de causa y efecto, y el diagrama de dispersión. De manera similar, en UML, un lenguaje estándar de modelado que se utiliza en el desarrollo de software, el diagrama de actividad (que es un tipo de diagrama de flujo)  es sólo uno de los muchos tipos de diagramas diferentes.


Historia
El primer método estructurado para documentar el flujo de un proceso, el "diagrama de flujo del proceso", fue presentado por Frank Gilbreth a los miembros de la Sociedad Americana de Ingenieros Mecánicos (ASME) en 1921 en la exposición  “Process Charts - First Steps in Finding the One Best Way”.
Las Herramientas de Gilbreth rápidamente encontron su aplicación en los programas de ingeniería industrial. A principios de 1930, un ingeniero industrial, Allan H. Mogensen comenzó la formación de personas de negocios en el uso de algunas de las herramientas de la ingeniería industrial en sus "Work Simplification Conferences en Lake Placid, New York.

Douglas Hartree explica que Herman Goldstine y John von Neumann elaboró ​​un diagrama de flujo (originalmente, el diagrama) para planificar los programas de ordenador. Su versión contemporánea está respaldado por los ingenieros de IBM y por colecciones personales de Goldstine. Los diagramas de flujo de programación originales de Goldstine y von Neumann se puede ver en su informe no publicado, "Planificación y codificación de problemas para un instrumento de computación electrónica, Parte II, Volumen 1" (1947), que se reproduce en las obras completas de von Neumann. 

Los diagramas de flujo solía ser un medio popular para describir algoritmos computacionales y todavía se utilizan para este fin. Técnicas modernas tales como diagramas de actividad de UML puede ser considerado como extensiones del diagrama de flujo. En la década de 1970 la popularidad de los diagramas de flujo como método propio disminuyó cuando las terminales de ordenador y lenguajes de programación de tercera generación se convirtieron en herramientas comunes, ya que los algoritmos se pueden expresar de manera mucho más concisa como código fuente de un lenguaje, y también porque era más probable que el diseño de algoritmos usando diagramas de flujo resulte en código-espagueti, debido a la necesidad de los "gotos" para describir saltos arbitrarios en el control flujo del programa.


Bloques de Construcción de Diagramas de Flujo
Símbolos
Un diagrama de flujo típico de los antiguos libros de texto básicos de informática puede tener los siguientes tipos de símbolos:

Símbolos Inicio y Fin
Representado como círculos, óvalos o rectángulos redondeados, que normalmente contiene la palabra "Inicio" o "Fin", u otra frase que marca el inicio o el final de un proceso, como "enviar consulta" o "recibir producto".

Flechas
Muestran el  "control de flujo". Una flecha que viene de un símbolo y termina en otro símbolo indica que el control pasa al símbolo que la flecha apunta. La línea de la flecha puede ser continua o discontinua. El significado de la flecha con línea de trazos puede diferir de un diagrama de flujo a otro y puede ser definido en la leyenda.

Pasos genéricos de procesamiento
Son Representados como rectángulos. Ejemplos: "Añadir 1 a X", "reemplazar parte identificada", "guardar cambios", etc.

Subrutinas
Son representados como rectángulos con doble borde vertical, los cuales se utilizan para mostrar los pasos de procesamiento complejos que pueden ser detallados en un diagrama de flujo separado.

Entrada / Salida
Representado como un paralelogramo. Ejemplos: Obtener X por parte del usuario, mostrar en pantalla X.

Condicional o decisión
Representado como un diamante (rombo) mostrando donde una decisión se debe tomar, comúnmente se realiza una pregunta que debe tener un tipo de respuesta Sí/No. El símbolo condicional tiene la peculiaridad de que tiene dos flechas que salen de él, correspondiente al  Sí o Verdadero, y  No o falso. (Las flechas siempre deben ser etiquetadas.) Se pueden utilizar más de dos flechas, pero esto es normalmente un claro indicador de que una decisión compleja está siendo tomada, en cuyo caso es posible que tenga que ser descompuesto aún más.

Conectores con etiqueta
Son Representado por una etiqueta en el interior de un círculo, se emplean en los diagramas complejos o multi-hoja para sustituir a las flechas. Para cada etiqueta, el conector de "flujo de salida" siempre debe ser único, pero puede haber cualquier cantidad de conectores de "flujo entrada". En este caso, un punto de unión en el flujo de control está implícita.

Símbolo de concurrencia
Representada por una doble línea transversal con cualquier número de flechas de entrada y salida. Estos símbolos se utilizan cada vez que dos o más flujos de control deben funcionar simultáneamente. Los flujos de salida se activan simultáneamente cuando todos los flujos de entrada han alcanzado el símbolo de concurrencia.
Es importante recordar que debe mantener estas conexiones lógicas en orden. Todos los procesos deben fluir de arriba hacia abajo y de izquierda a derecha.


Tipos de diagrama de flujo
Sterneckert (2003) sugirió que los diagramas de flujo pueden ser modelados desde la perspectiva de diferentes grupos de usuarios (por ejemplo, administradores, analistas de sistemas y empleados) y que hay cuatro tipos generales: 
  • Diagramas de flujo de documentos, mostrando los controles sobre el flujo de un documento a través de un sistema.
  • Diagramas de flujo de datos, mostrando los controles sobre un flujo de datos de un sistema.
  • Diagramas de flujo de sistemas  que muestran los controles a nivel físico o de recursos.
  • Diagrama de flujo de programa, que muestra los controles en un programa dentro de un sistema.
Observe que cada tipo de diagrama de flujo que se centra en algún tipo de control, en lugar de en el propio flujo particular.


Software
Cualquier programa de dibujo puede ser usado para crear diagramas de flujo, pero éstos no tienen un modelo de datos subyacente para compartir datos con bases de datos u otros programas, como los sistemas de gestión de proyectos y hojas de cálculo.
Algunas herramientas ofrecen un apoyo especial para dibujar diagramas de flujo. Muchos paquetes de software existentes que pueden crear diagramas de flujo de forma automática, ya sea directamente desde el código fuente, o de un lenguaje de descripción de diagrama de flujo.

Programas online para graficar diagramas de flujo:








Programas para simular (ejecutar) diagramas de flujo:
FreeDFD 1.1 es una aplicación que permite crear diagramas de flujo de datos, que se pueden utilizar para representar gráficamente una amplia gama de algoritmos, ejecutarlos y depurarlos si se encuentran errores.


PSeInt es una herramienta para aprender la lógica de programación. Mediante la utilización de un simple y limitado pseudo-lenguaje, intuitivo y en español, permite comenzar a comprender conceptos básicos y fundamentales de un algoritmo computacional.


 

7 comentarios:

Unknown dijo...

muy explicativo...gracias

Unknown dijo...

excelente, gracias.

Maritza Pacheco dijo...

me parece bastante completo y de mucha ayuda, gracias

Maritza Pacheco dijo...

me parece bastante completo y de mucha ayuda, gracias

Unknown dijo...

Gracias por compartir. Mi Programa del curso lo requiere y encontré justamente este material de apoyo.

Unknown dijo...

Muy completo y de gran utilidad.

Unknown dijo...

Excelente documento, realmente muy claro.

Publicar un comentario