Diagrama de flujo

Diagrama que representa un flujo de trabajo o proceso

Un diagrama de flujo simple que representa un proceso para tratar una lámpara que no funciona .

Un diagrama de flujo es un tipo de diagrama que representa un flujo de trabajo o un proceso . Un diagrama de flujo también se puede definir como una representación diagramática de un algoritmo , un enfoque paso a paso para resolver una tarea.

El diagrama de flujo muestra los pasos como cuadros de distintos tipos y su orden mediante la conexión de los cuadros con flechas. Esta representación diagramática ilustra un modelo de solución para un problema determinado . 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 de 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 simples. Al igual que otros tipos de diagramas, ayudan a visualizar el proceso. Dos de sus múltiples beneficios son que pueden resultar evidentes los defectos y los cuellos de botella . Los diagramas de flujo suelen utilizar los siguientes símbolos principales:

  • Un paso del proceso, normalmente llamado actividad , se representa mediante un cuadro rectangular.
  • Una decisión generalmente se representa mediante un diamante.

Un diagrama de flujo se describe como "transversal" cuando el diagrama se divide en diferentes partes verticales u horizontales, para describir el control de diferentes unidades organizativas. Un símbolo que aparece en una parte en particular está dentro del control de esa unidad organizativa. Un diagrama de flujo transversal 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 por diferentes partes de un solo 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 diagrama 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 diferentes.

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

Los nombres alternativos más comunes 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 proceso empresarial, modelo de proceso, diagrama de flujo de procesos, diagrama de flujo de trabajo , diagrama de flujo empresarial. 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 gráfico de flujo, que abstrae los tipos de nodos, sus contenidos 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", ante los miembros de la Sociedad Estadounidense de Ingenieros Mecánicos (ASME) en 1921. [2] Las herramientas de los Gilbreth se abrieron paso rápidamente en 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 la gente de negocios 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, un graduado de 1944 de la clase de Mogensen , llevó las herramientas a Procter and Gamble , donde desarrolló su Programa de Cambio Deliberado de Métodos. 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 proceso de flujo múltiple, para presentar múltiples 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 procesos de flujo y operación". [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 los 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 convirtió en una herramienta popular para describir algoritmos informáticos , pero su popularidad disminuyó en la década de 1970, cuando los terminales informáticos interactivos y los lenguajes de programación de tercera generación se convirtieron en herramientas comunes para la programación informática , ya que los algoritmos se pueden expresar de forma más concisa como código fuente en dichos lenguajes . A menudo se utiliza pseudocódigo , que utiliza los modismos comunes de dichos 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 utilizaban a principios del siglo XXI para describir algoritmos informáticos . [9] Algunas técnicas como los diagramas de actividad UML y los diagramas de Drakon pueden considerarse extensiones del diagrama de flujo.

Tipos

Plantilla de diagrama 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 un flujo de documentos a través de un sistema.
  • Diagramas de flujo de datos que muestran los controles sobre un flujo de datos en un sistema
  • Diagramas de flujo del sistema , que muestran controles a nivel físico o de recursos.
  • Diagrama de flujo del programa , que muestra los controles de un programa dentro de un sistema.

Tenga en cuenta que cada tipo de diagrama de flujo se centra en algún tipo de control, en lugar de en el flujo específico en sí. [10]

Sin embargo, existen algunas clasificaciones diferentes. Por ejemplo, Andrew Veronis (1978) nombró tres tipos básicos de diagramas de flujo: el diagrama de flujo de 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 de sistema y diagramas de flujo de 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 diagrama son similares a los diagramas de flujo pero llevan un nombre diferente, como diagramas de actividad UML .

Los diagramas de flujo reversibles [14] representan un paradigma en informática que se centra en la reversibilidad de los procesos computacionales. A diferencia de los modelos computacionales 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 son una base teórica para la programación reversible estructurada y los sistemas computacionales reversibles energéticamente eficientes. [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]

Forma ANSI/ISONombreDescripción
Línea de flujo (punta de flecha) [17]Muestra el orden de operación del proceso. Una línea que sale de un símbolo y apunta a otro. [16] Se agregan puntas de flecha si el flujo no es el estándar de arriba hacia abajo y de izquierda a derecha. [17]
Terminal [16]Indica el inicio y el final de un programa o subproceso. Se representa como un estadio , [16] rectángulo ovalado o redondeado. Suelen contener la palabra "Inicio" o "Fin", u otra frase que señale el inicio o el final de un proceso, como "enviar consulta" o "recibir producto".
Proceso [17]Representa un conjunto de operaciones que modifican el valor, la forma o la ubicación de los datos. Se representa como un rectángulo . [17]
Decisión [17]Muestra una operación condicional que determina cuál de los dos caminos tomará el programa. [16] La operación es comúnmente una pregunta de sí/no o una prueba de verdadero/falso. Representada como un diamante ( rombo ). [17]
Entrada/Salida [17]Indica el proceso de entrada y salida de datos, [17] como al ingresar datos o mostrar resultados. Representado como un romboide . [16]
Anotación [16] (Comentario) [17]Indica información adicional sobre un paso del programa. Se representa como un rectángulo abierto con una línea discontinua o continua que lo conecta con el símbolo correspondiente en el diagrama de flujo. [17]
Proceso predefinido [16]Muestra un proceso nombrado que se define en otro lugar. Se representa como un rectángulo con bordes verticales doblemente marcados. [16]
Conector en la página [16]Los pares de conectores etiquetados reemplazan líneas largas o confusas en una página de diagrama de flujo. Se representan mediante un pequeño círculo con una letra en su interior. [16] [20]
Conector fuera de página [16]Un conector etiquetado para usar cuando el objetivo está en otra página. Representado como un pentágono con forma de placa de home . [16] [20]

Otros símbolos

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

FormaNombreDescripción
Base de datos de diagramas de flujoArchivo de datos o base de datosDatos representados por un cilindro que simboliza una unidad de disco.
Documento de diagrama de flujoDocumentoDocumentos individuales representados como un rectángulo con una base ondulada.
Diagrama de flujo Documento múltipleMúltiples documentos representados como una pila de rectángulos con bases onduladas.
Entrada manual de diagrama de flujoOperación manualRepresentado por un trapezoide con el lado más largo paralelo en la parte superior, para representar una operación o ajuste al proceso que solo se puede realizar manualmente.
Diagrama de flujo de entrada manualEntrada manualRepresentado por un cuadrilátero , con la parte superior inclinada irregularmente de izquierda a derecha, como la vista lateral de un teclado .
Preparación del diagrama de flujoPreparación o inicializaciónRepresentado por un hexágono alargado , utilizado originalmente para pasos como configurar un interruptor o inicializar una rutina.

Procesamiento paralelo

  • El modo paralelo se representa mediante dos líneas horizontales al inicio o al final de 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 se pueden realizar 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

Una captura de pantalla del software de diagrama de flujo Flowgorithm

Se puede utilizar cualquier programa de dibujo para crear diagramas de flujo, pero estos no tendrán ningún modelo de datos subyacente para compartir datos con bases de datos u otros programas como sistemas de gestión de proyectos u hojas de cálculo . Existen muchos paquetes de software que pueden crear diagramas de flujo automáticamente, ya sea directamente a partir del código fuente de un lenguaje de programación o a partir 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 de enseñanza 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 desde el original (PDF) el 2015-05-09 . Consultado el 2016-05-06 . . Sociedad Americana de Ingenieros Mecánicos.
  3. ^ Graham, Ben S. Jr. (10 de junio de 1996). "Las personas son lo primero". Discurso inaugural en Workflow Canada .
  4. ^ Sociedad Estadounidense de Ingenieros Mecánicos (1947) Norma ASME; diagramas de flujo y operación de procesos . Nueva York, 1947. (versión en línea)
  5. ^ Hartree, Douglas (1949). Instrumentos y máquinas de cálculo. The University of Illinois Press. pág. 112.
  6. ^ Bashe, Charles (1986). Las primeras computadoras de IBM . The MIT Press. pág. 327. ISBN 9780262022255.
  7. ^ Goldstine, Herman (1972). La computadora desde Pascal hasta Von Neumann . Princeton University Press. pp. 266–267. ISBN 0-691-08104-2.
  8. ^ Taub, Abraham (1963). John von Neumann Collected Works . Vol. 5. Macmillan. págs. 80–151.
  9. ^ Bohl, Rynn: "Herramientas para diseño estructurado y orientado a objetos", Prentice Hall, 2007.
  10. ^ de Alan B. Sterneckert (2003) Gestión de incidentes críticos , pág. 126
  11. ^ Andrew Veronis (1978) Microprocesadores: diseño y aplicaciones . p. 111
  12. ^ Marilyn Bohl (1978) Una guía para programadores . p. 65.
  13. ^ Mark A. Fryman (2001) Calidad y mejora de procesos . p. 169.
  14. ^ Yokoyama, Tetsuo; Axelsen, Holger Bock; Glück, Robert (enero de 2016). "Fundamentos de lenguajes de diagramas de flujo reversibles". Ciencias de la Computación Teórica . 611 : 87–115. doi : 10.1016/j.tcs.2015.07.046 .
  15. ^ Krakovsky, Marina (junio de 2021). "Soportando el calor". Comunicaciones de la ACM . 64 (6): 18–20. doi : 10.1145/3460214 .
  16. ^ abcdefghijklm Gary B. Shelly; Misty E. Vermaat (2011). Descubrimiento de las computadoras, completo: su guía interactiva para el mundo digital . Cengage Learning. págs. 691–693. ISBN 978-1-111-53032-7.
  17. ^ abcdefghijk 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. ^ abc Técnicas de diagramas de flujo GC20-8152-1 . IBM. Marzo de 1970. pág. 10.
  20. ^ abc "¿Qué significan las diferentes formas de los diagramas de flujo?". RFF Electronics . Consultado el 23 de julio de 2017 .
  21. ^ Jonathan W. Valvano (2011). Sistemas de microcomputadoras integradas: interfaz en tiempo real . Cengage Learning. págs. 131-132. ISBN 978-1-111-42625-5.
  22. ^ por 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.

Lectura adicional

  • 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 (retirado – lista de normas retiradas)
  • Schultheiss, Louis A. y Edward M. Heiliger. "Técnicas de diagramas de flujo Archivado el 14 de julio de 2021 en Wayback Machine ." (1963); con introducción de Edward Heiliger.
  • Técnicas de diagramas de flujo: manual de IBM de 1969 (5 MB; PDF)
Obtenido de "https://es.wikipedia.org/w/index.php?title=Diagrama de flujo&oldid=1245068207"