Articulo de referencia

Diagrama de flujo

Comprobado Diagrama de flujo simple que representa un proceso para solucionar el problema de una lámpara que no funciona. Un diagrama de flujo es un tipo de diagrama que represe...

Comprobado
Página protegida con cambios pendientes

Diagrama de flujo simple que representa un proceso para solucionar el problema de una lámpara que no funciona.

Un diagrama de flujo es un tipo de diagrama que representa un flujo de trabajo o un proceso . También puede definirse como la representación gráfica de un algoritmo , un método paso a paso para resolver una tarea.

El diagrama de flujo muestra los pasos como cajas de distintos tipos, y su orden se representa mediante flechas que conectan dichas cajas. Esta representación gráfica ilustra un modelo de solución para un problema dado. Los diagramas de flujo se utilizan para analizar, diseñar, documentar o gestionar un proceso o programa en diversos campos. [ 1 ]

Descripción general

Diagrama de flujo de un bucle for al estilo C , que representa el siguiente código:
para ( i = 0 ; i < 5 ; i ++ ) printf ( "*" );
El bucle hará que se impriman cinco asteriscos.

Los diagramas de flujo se utilizan para diseñar y documentar procesos o programas sencillos. Al igual que otros tipos de diagramas, ayudan a visualizar el proceso. Dos de sus muchas ventajas son que permiten identificar fallos y cuellos de botella . Los diagramas de flujo suelen utilizar los siguientes símbolos principales:

  • Un paso de un proceso, generalmente llamado actividad , se representa mediante un recuadro rectangular.
  • Una decisión suele representarse con un rombo.

Un diagrama de flujo se denomina "interfuncional" cuando se divide en distintas partes verticales u horizontales para describir el control de diferentes unidades organizativas. Un símbolo que aparece en una parte específica está bajo el control de esa unidad organizativa. Un diagrama de flujo interfuncional permite al autor ubicar correctamente la responsabilidad de realizar una acción o tomar una decisión, y mostrar la responsabilidad de cada unidad organizativa en las distintas partes de un mismo proceso.

Los diagramas de flujo representan ciertos aspectos de los procesos y suelen complementarse con otros tipos de diagramas. Por ejemplo, Kaoru Ishikawa definió el diagrama de flujo como una de las siete herramientas básicas del control de calidad , junto con el histograma , el diagrama de Pareto , la hoja de verificación , el gráfico de control , el diagrama de causa y efecto y el diagrama de dispersión . De manera similar, en UML , una notación estándar de modelado de conceptos utilizada en el desarrollo de software, el diagrama de actividades , que es un tipo de diagrama de flujo, es solo uno de los muchos tipos de diagramas existentes.

Los diagramas de Nassi-Shneiderman y los diagramas de Drakon son una notación alternativa para el flujo de procesos.

Entre los nombres alternativos comunes se incluyen: diagrama de flujo, diagrama de flujo de procesos, diagrama de flujo funcional, mapa de procesos, diagrama de procesos, diagrama de procesos funcionales, modelo de procesos de negocio, modelo de procesos, diagrama de flujo de procesos , diagrama de flujo de trabajo , diagrama de flujo de negocios. Los términos «diagrama de flujo» y «diagrama de flujo» se utilizan indistintamente.

La estructura gráfica subyacente de un diagrama de flujo es un grafo de flujo, que abstrae los tipos de nodos, su contenido y otra información auxiliar.

Historia

El primer método estructurado para documentar el flujo de procesos, el " diagrama de flujo de procesos ", fue presentado por Frank y Lillian Gilbreth en la presentación "Diagramas de procesos: primeros pasos para encontrar la mejor manera de hacer el trabajo", a los miembros de la Sociedad Estadounidense de Ingenieros Mecánicos (ASME) en 1921. [ 2 ] Las herramientas de los Gilbreth se incorporaron rápidamente a los planes de estudio de ingeniería industrial . A principios de la década de 1930, un ingeniero industrial, Allan H. Mogensen , comenzó a capacitar a empresarios en el uso de algunas de las herramientas de la ingeniería industrial en sus Conferencias de Simplificación del Trabajo en Lake Placid , Nueva York .

Art Spinanger, graduado en 1944 de la clase de Mogensen, llevó las herramientas a Procter & Gamble, donde desarrolló su Programa de Cambio de Métodos Deliberados. Ben S. Graham , otro graduado de 1944, Director de Ingeniería de Formcraft en Standard Register Industrial , aplicó el diagrama de flujo de procesos al procesamiento de información con su desarrollo del diagrama de flujo de procesos múltiples, para presentar varios documentos y sus relaciones. [ 3 ] En 1947, ASME adoptó un conjunto de símbolos derivado del trabajo original de Gilbreth como el "Estándar ASME: Diagramas de Operación y Flujo de Procesos". [ 4 ]

En 1949, Douglas Hartree explicó que Herman Goldstine y John von Neumann habían desarrollado un diagrama de flujo (originalmente, diagrama) para planificar programas informáticos. [ 5 ] Su relato contemporáneo fue respaldado por ingenieros de IBM [ 6 ] y por los recuerdos personales de Goldstine. [ 7 ] Los diagramas de flujo de programación originales de Goldstine y von Neumann se pueden encontrar en su informe inédito, "Planning and Coding of Problems for an Electronic Computing Instrument, Part II, Volume 1" (1947), que se reproduce en las obras completas de von Neumann. [ 8 ]

El diagrama de flujo se popularizó como herramienta para describir algoritmos informáticos , pero su popularidad disminuyó en la década de 1970, cuando las terminales interactivas y los lenguajes de programación de tercera generación se convirtieron en herramientas comunes para la programación , ya que en estos lenguajes los algoritmos se pueden expresar de forma más concisa como código fuente . A menudo se utiliza pseudocódigo , que emplea las convenciones comunes de estos lenguajes sin adherirse estrictamente a los detalles de uno en particular. Además, los diagramas de flujo no son adecuados para nuevas técnicas de programación como la programación recursiva .

Sin embargo, los diagramas de flujo todavía se usaban a principios del siglo XXI para describir algoritmos informáticos . [ 9 ] Algunas técnicas, como los diagramas de actividad UML y los diagramas Drakon, pueden considerarse extensiones del diagrama de flujo.

Tipos

Plantilla de diagramas de flujo de IBM

Sterneckert (2003) sugirió que los diagramas de flujo se pueden modelar desde la perspectiva de diferentes grupos de usuarios (como gerentes, analistas de sistemas y empleados administrativos), y que existen cuatro tipos generales: [ 10 ]

  • Diagramas de flujo de documentos , que muestran los controles sobre el flujo de un documento a través de un sistema.
  • Diagramas de flujo de datos , que muestran los controles sobre el flujo de datos en un sistema.
  • Diagramas de flujo del sistema , que muestran los controles a nivel físico o de recursos.
  • Diagrama de flujo del programa , que muestra los controles en un programa dentro de un sistema.

Nótese que cada tipo de diagrama de flujo se centra en algún tipo de control, en lugar de en el flujo particular en sí. [ 10 ]

Sin embargo, existen diferentes clasificaciones. Por ejemplo, Andrew Veronis (1978) nombró tres tipos básicos de diagramas de flujo: el diagrama de flujo del sistema , el diagrama de flujo general y el diagrama de flujo detallado . [ 11 ] Ese mismo año, Marilyn Bohl (1978) afirmó que "en la práctica, se utilizan dos tipos de diagramas de flujo en la planificación de soluciones: diagramas de flujo del sistema y diagramas de flujo del programa ...". [ 12 ] Más recientemente, Mark A. Fryman (2001) identificó más diferencias: "Los diagramas de flujo de decisión, los diagramas de flujo lógicos, los diagramas de flujo de sistemas, los diagramas de flujo de productos y los diagramas de flujo de procesos son solo algunos de los diferentes tipos de diagramas de flujo que se utilizan en los negocios y el gobierno". [ 13 ]

Además, muchas técnicas de diagramación son similares a los diagramas de flujo, pero tienen un nombre diferente, como por ejemplo los diagramas de actividad UML .

Los diagramas de flujo reversibles [ 14 ] representan un paradigma en computación que se centra en la reversibilidad de los procesos computacionales. A diferencia de los modelos de computación tradicionales, donde las operaciones suelen ser irreversibles, los diagramas de flujo reversibles garantizan que cualquier paso computacional atómico pueda revertirse. Se ha demostrado que los diagramas de flujo reversibles son tan expresivos como las máquinas de Turing reversibles y constituyen una base teórica para la programación reversible estructurada y los sistemas de computación reversibles de bajo consumo energético. [ 15 ]

bloques de construcción

Símbolos comunes

El Instituto Nacional Estadounidense de Estándares (ANSI) estableció estándares para diagramas de flujo y sus símbolos en la década de 1960. [ 16 ] La Organización Internacional de Normalización (ISO) adoptó los símbolos ANSI en 1970. [ 17 ] El estándar actual, ISO 5807 , se publicó en 1985 y se revisó por última vez en 2019. [ 18 ] Generalmente, los diagramas de flujo fluyen de arriba hacia abajo y de izquierda a derecha. [ 19 ]

Otros símbolos

Las normas ANSI/ISO incluyen símbolos más allá de las formas básicas. Algunos ejemplos son: [ 19 ] [ 20 ]

Procesamiento paralelo

  • El modo paralelo está representado por dos líneas horizontales al principio o al final de las operaciones simultáneas [ 19 ].

Para el procesamiento paralelo y concurrente , las líneas horizontales del modo paralelo [ 21 ] o una barra horizontal [ 22 ] indican el inicio o el final de una sección de procesos que pueden realizarse de forma independiente:

  • En una bifurcación , el proceso crea uno o más procesos adicionales, indicados por una barra con una ruta de entrada y dos o más rutas de salida.
  • En una unión , dos o más procesos continúan como un solo proceso, indicado por una barra con varias rutas de entrada y una ruta de salida. Todos los procesos deben completarse antes de que el proceso único continúe. [ 22 ]

Software de diagramación

Captura de pantalla del software de diagramas de flujo Flowgorithm.

Cualquier programa de dibujo puede utilizarse para crear diagramas de flujo, pero estos carecerán de un modelo de datos subyacente para compartir información con bases de datos u otros programas, como sistemas de gestión de proyectos u hojas de cálculo . Existen numerosos paquetes de software que permiten crear diagramas de flujo automáticamente, ya sea directamente a partir del código fuente de un lenguaje de programación o de un lenguaje de descripción de diagramas de flujo.

Existen varias aplicaciones y lenguajes de programación visual [ 23 ] que utilizan diagramas de flujo para representar y ejecutar programas. Generalmente, se utilizan como herramientas didácticas para estudiantes principiantes.

Véase también

Referencias

  1. SEVOCAB: Vocabulario de Ingeniería de Sistemas de Software . Término: Diagrama de flujo . Consultado el 31 de julio de 2008.
  2. Gilbreth, Frank Bunker; Gilbreth, Lillian Moller (1921). "Diagramas de procesos" (PDF) . Archivado del original (PDF) el 9 de mayo de 2015. Consultado el 6 de mayo de 2016 .Sociedad Estadounidense de Ingenieros Mecánicos.
  3. Graham, Ben S. Jr. (10 de junio de 1996). "Las personas son lo primero" . Discurso de apertura en Workflow Canada .
  4. Sociedad Estadounidense de Ingenieros Mecánicos (1947). Norma ASME: Diagramas de operación y flujo de procesos . Nueva York, 1947.
  5. Hartree, Douglas (1949). Instrumentos y máquinas de cálculo . The University of Illinois Press. pág. 112. 
  6. Bashe, Charles (1986). Los primeros ordenadores de IBM . The MIT Press. pág . 327. ISBN  9780262022255.
  7. Goldstine, Herman (1972). La computadora de Pascal a Von Neumann . Princeton University Press. págs. 266–267 . ISBN  0-691-08104-2.
  8. Taub, Abraham (1963). Obras completas de John von Neumann . Vol. 5. Macmillan. pp. 80–151 .  
  9. Bohl, Rynn: Herramientas para el diseño estructurado y orientado a objetos , Prentice Hall, 2007.
  10. 1 2 Alan B. Sterneckert (2003) Gestión de incidentes críticos . pág. 126
  11. Andrew Veronis (1978) Microprocesadores: Diseño y aplicaciones . pág. 111
  12. Marilyn Bohl (1978) Una guía para programadores . pág. 65.
  13. Mark A. Fryman (2001) Mejora de la calidad y los procesos . pág. 169 .
  14. Yokoyama, Tetsuo; Axelsen, Holger Bock; Glück, Robert (enero de 2016). "Fundamentos de los lenguajes de diagramas de flujo reversibles" . Theoretical Computer Science . 611 : 87–115 . doi : 10.1016/j.tcs.2015.07.046 .
  15. Krakovsky, Marina (junio de 2021). "Afrontando el calor" . Communications of the ACM . 64 (6): 18– 20. doi : 10.1145/3460214 .
  16. 1 2 3 4 5 6 7 8 9 10 11 12 Gary B. Shelly; Misty E. Vermaat (2011). Descubriendo las computadoras, completo: Tu guía interactiva al mundo digital . Cengage Learning. págs. 691–693 . ISBN  978-1-111-53032-7.
  17. 1 2 3 4 5 6 7 8 9 10 11 12 Harley R. Myler (1998). "2.3 Diagramas de flujo" . Fundamentos de programación de ingeniería con C y Fortran . Cambridge University Press. págs. 32–36 . ISBN  978-0-521-62950-8.
  18. "ISO 5807:1985: Procesamiento de la información — Símbolos y convenciones de documentación para diagramas de flujo de datos, programas y sistemas, diagramas de red de programas y diagramas de recursos del sistema" . Organización Internacional de Normalización. Febrero de 1985. Consultado el 23 de julio de 2017 .
  19. 1 2 3 4 Técnicas de diagramas de flujo GC20-8152-1 (PDF) . IBM. Marzo de 1970. pág. 10. Archivado (PDF) del original el 15 de octubre de 2021. 
  20. 1 2 3 "¿Qué significan las diferentes formas de diagramas de flujo?" . RFF Electronics . Consultado el 23 de julio de 2017 .
  21. Jonathan W. Valvano (2011). Sistemas de microcomputadoras embebidas: Interfaz en tiempo real . Cengage Learning. págs. 131–132 . ISBN  978-1-111-42625-5.
  22. 1 2 Robbie T. Nakatsu (2009). Razonamiento con diagramas: Toma de decisiones y resolución de problemas con diagramas . John Wiley & Sons. págs. 68–69 . ISBN  978-0-470-40072-2.
  23. Myers, Brad A. " Programación visual, programación por ejemplo y visualización de programas: una taxonomía. " Boletín ACM SIGCHI. ​​Vol. 17. Núm. 4. ACM, 1986.

Lecturas adicionales

  • ISO 5807 (1985). Procesamiento de la información: símbolos y convenciones de documentación para diagramas de flujo de datos, programas y sistemas, diagramas de red de programas y diagramas de recursos del sistema . Organización Internacional de Normalización.{{cite book}}: CS1 maint: nombres numéricos: lista de autores ( enlace )
  • ISO 10628 : Diagramas para la industria química y petroquímica
  • ECMA 4: Diagramas de flujo (retirados – lista de normas retiradas)
  • Schultheiss, Louis A. y Edward M. Heiliger. " Técnicas de diagramación de flujo Archivado el 14 de julio de 2021 en Wayback Machine ." (1963); con introducción de Edward Heiliger.
  • Técnicas para la elaboración de diagramas de flujo : Un manual de IBM de 1969 (5 MB; PDF)