Un diagrama de flujo es un tipo de diagrama que representa un flujo de trabajo o proceso . Un diagrama de flujo también se puede definir como una representación esquemática de un algoritmo , un enfoque paso a paso para resolver una tarea.
El diagrama de flujo muestra los pasos como cuadros de varios tipos y su orden conectando los cuadros con flechas. Esta representación esquemá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]
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 los muchos beneficios son los defectos y los cuellos de botella que pueden resultar evidentes. Los diagramas de flujo suelen utilizar los siguientes símbolos principales:
Un diagrama de flujo se describe como "multifuncional" 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 particular está bajo el control de esa unidad organizativa. Un diagrama de flujo multifuncional permite al autor ubicar correctamente la responsabilidad de realizar una acción o tomar una decisión, y mostrar la responsabilidad de cada unidad organizacional por diferentes partes de un solo proceso.
Los diagramas de flujo representan ciertos aspectos de los procesos y generalmente se complementan 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 al 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 muchos tipos de diagramas diferentes.
Los diagramas de Nassi-Shneiderman y los gráficos de Drakon son una notación alternativa para el flujo de procesos.
Los nombres alternativos 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 procesos de negocio, modelo de proceso, 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 gráfico de flujo, que abstrae los tipos de nodos, sus contenidos y otra información auxiliar.
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 "Gráficos de procesos: primeros pasos para encontrar la mejor manera de hacer el trabajo", ante miembros de la Sociedad Estadounidense de Ingenieros Mecánicos (ASME) en 1921. [2] Las herramientas de los Gilbreth rápidamente encontraron su camino en los planes de estudios de ingeniería industrial . A principios de la década de 1930, el 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 sobre Simplificación del Trabajo en Lake Placid , Nueva York .
Art Spinanger, un graduado de la clase de Mogensen en 1944 , 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 Formcraft en Standard Register Industrial , aplicó el diagrama de proceso de flujo 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 "Estándar ASME: Diagramas de procesos de flujo y operación". [4]
Douglas Hartree en 1949 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, "Planificación y codificación de problemas para un instrumento informático electrónico, Parte II, Volumen 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 las terminales informáticas interactivas 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 manera más concisa como código fuente en dichos lenguajes . A menudo se utiliza pseudocódigo , que utiliza modismos comunes de dichos idiomas sin adherirse estrictamente a los detalles de uno en particular.
A principios del siglo XXI, todavía se utilizaban diagramas de flujo para describir algoritmos informáticos . [9] Las técnicas modernas como los diagramas de actividad UML y los diagramas Drakon pueden considerarse extensiones del diagrama de flujo.
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), y que existen cuatro tipos generales: [10]
Observe que cada tipo de diagrama de flujo se centra en algún tipo de control, más que en el flujo particular 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 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 decisiones, 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 sólo algunos de los diferentes tipos de diagramas de flujo que se utilizan en las empresas y el gobierno. ". [13]
Además, muchas técnicas de diagramas son similares a los diagramas de flujo pero llevan un nombre diferente, como diagramas de actividad UML .
El Instituto Nacional Estadounidense de Estándares (ANSI) estableció estándares para los diagramas de flujo y sus símbolos en la década de 1960. [14] La Organización Internacional de Normalización (ISO) adoptó los símbolos ANSI en 1970. [15] La norma actual, ISO 5807 , se publicó en 1985 y se revisó por última vez en 2019. [16] Generalmente, los diagramas de flujo fluyen de arriba a abajo y de izquierda a derecha. [17]
Los estándares ANSI/ISO incluyen símbolos más allá de las formas básicas. Algunos son: [17] [18]
Para procesamiento paralelo y concurrente , las líneas horizontales del Modo Paralelo [19] o una barra horizontal [20] indican el inicio o el final de una sección de procesos que se pueden realizar de forma independiente:
Se puede utilizar cualquier programa de dibujo para crear diagramas de flujo, pero estos no tendrán un 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 desde el código fuente de un lenguaje de programación o desde un lenguaje de descripción de diagramas de flujo.
Existen varias aplicaciones y lenguajes de programación visual [21] que utilizan diagramas de flujo para representar y ejecutar programas. Generalmente se utilizan como herramientas de enseñanza para estudiantes principiantes.
{{cite book}}
: Mantenimiento CS1: nombres numéricos: lista de autores ( enlace )