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]
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 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.
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.
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]
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]
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]
Las normas ANSI/ISO incluyen símbolos más allá de las formas básicas. Algunos de ellos son: [19] [20]
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:
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.
{{cite book}}
: CS1 maint: nombres numéricos: lista de autores ( enlace )