Un diagrama de fluxo sinxelo que representa un proceso para tratar cunha lámpada que non funciona.
Un **diagrama de fluxo** ou **organigrama** é un tipo de diagrama que representa un fluxo de traballo ou proceso. Un diagrama de fluxo tamén se pode definir como unha representación esquemática dun algoritmo, un enfoque paso a paso para resolver unha tarefa.

O diagrama de fluxo mostra os pasos como caixas de varios tipos, e a súa orde conectando as caixas con frechas. Esta representación esquemática ilustra un modelo de solución para un problema dado. Os diagramas de fluxo utilízanse para analizar, deseñar, documentar ou xestionar un proceso ou programa en varios campos.

Visión xeral
------------

 Diagrama de fluxo un *bucle para* estilo C, que representa o seguinte código:
```
for(i=0;i<5;i++)
 printf("*"); 

```
O bucle fará que se impriman cinco asteriscos.
Os diagramas de fluxo utilízanse para deseñar e documentar procesos ou programas sinxelos. Como outros tipos de diagramas, axudan a visualizar o proceso. Dous dos moitos beneficios son defectos e os pescozos de botella poden aparecer. Os diagramas de fluxo normalmente usan os seguintes símbolos principais:

* Un paso do proceso, xeralmente chamado *actividade*, denótase como unha caixa rectangular.
* Unha decisión adoita denotarse como un diamante ou rombo.

*Véxase tamén**:* Organigrama.
Un **diagrama de fluxo** ou **organigrama**, é unha representación gráfica que mostra os pasos dun proceso. Cando un diagrama de fluxo se divide en zonas verticais ou horizontais para mostrar diferentes áreas dunha organización, chámase "interfuncional". Cada símbolo nunha zona específica indica que esa parte da organización é a responsábel de levar a cabo a acción ou decisión representada polo símbolo.

Os diagramas de fluxo interfuncionais axudan a identificar claramente quen é responsable de cada parte dun proceso. Estes diagramas son útiles para comprender como funcionan os procesos e moitas veces se usan xunto con outros tipos de diagramas.

Un exemplo disto é o seu uso como unha das sete ferramentas básicas de control de calidade propostas por Kaoru Ishikawa. No campo da informática, os diagramas de fluxo son usados para representar algoritmos ou procesos en desenvolvemento de software. Neste contexto, destaca a notación UML (Lingua de Modelaxe Unificada), onde o diagrama de actividade, un tipo de organigrama, é só un dos moitos tipos de diagramas diferentes que se empregan.

Ademais, os diagramas de Nassi-Shneiderman e os gráficos Drakon son notacións alternativas para representar procesos informáticos. Os diagramas de fluxo ou organigramas tamén se coñecen por outros nomes, como mapa de procesos, modelo de proceso, diagrama de fluxo de traballo, entre outros.

A estrutura gráfica que forma a base dun diagrama de fluxo denomínase gráfico de fluxo ou fluxograma, que simplifica a representación dos nodos, o seu contido e outra información complementaria.

Historia
--------

O primeiro método estruturado para documentar o fluxo do proceso, o "diagrama do proceso de fluxo" (*Flow process chart*), foi presentado por Frank e Lillian Gilbreth na presentación "Process Charts: First Steps in Finding the One Best Way to do Work", aos membros da Sociedade Americana de Enxeñeiros Mecánicos (ASME) en 1921. As ferramentas dos Gilbreth atoparon rapidamente o seu camiño nos currículos de enxeñería industrial. A principios da década de 1930, un enxeñeiro industrial, Allan H. Mogensen, comezou a formar empresarios no uso dalgunhas das ferramentas da enxeñaría industrial nas súas Work Simplification Conferences en Lake Placid, Nova York.

Art Spinanger, un graduado en 1944 da clase de Mogensen, levou as ferramentas de volta a Procter and Gamble onde desenvolveu o seu programa de cambio de métodos deliberados. Ben S. Graham, outro graduado de 1944, director de Enxeñaría de Formcraft en Standard Register Industrial, aplicou o diagrama de proceso de fluxo ao procesamento da información co seu desenvolvemento do diagrama de procesos multifluxo, para presentar múltiples documentos e as súas relacións. En 1947, ASME adoptou un conxunto de símbolos derivado do traballo orixinal de Gilbreth como "ASME Standard: Operation and Flow Process Charts".

Douglas Hartree en 1949 explicou que Herman Goldstine e John von Neumann desenvolveran un diagrama de fluxo (orixinalmente, diagrama) para planificar programas informáticos. O seu relato contemporáneo foi avalado polos enxeñeiros de IBM e polas lembranzas persoais de Goldstine. Os diagramas de fluxo de programación orixinais de Goldstine e von Neumann pódense atopar no seu informe inédito, "Planning and coding of problems for an electronic computing instrument, Part II, Volume 1" (Planificación e codificación de problemas para un instrumento informático electrónico, Parte II, Volume 1; 1947), que se reproduce nas obras recollidas de von Neumann. 

O diagrama de fluxo converteuse nunha ferramenta popular para describir algoritmos informáticos, pero a súa popularidade diminuíu na década de 1970, cando os terminais informáticos interactivos e as linguaxes de programación de terceira xeración convertéronse en ferramentas comúns para a programación de ordenadores, xa que os algoritmos poden expresarse de forma máis concisa como código fonte nestas linguaxes. Moitas veces utilízase pseudocódigo, que usa os modismos comúns destas linguas sen unirse estritamente aos detalles dunha en particular.

A principios do século XXI, aínda se usaban diagramas de fluxo para describir algoritmos informáticos. As técnicas modernas como os diagramas de actividade UML e os diagramas Drakon pódense considerar como extensións do diagrama de fluxo.

Tipos
-----

Sterneckert (2003) suxeriu que os organigramas ou diagramas de fluxo (flowchart) poden modelarse desde a perspectiva de diferentes grupos de usuarios (como xestores, analistas de sistemas e empregados), e que hai catro tipos xerais: 

* *Diagramas de fluxo de documentos*, que mostran os controis sobre o fluxo de documentos a través dun sistema
* *Diagramas de fluxo de datos*, que mostran os controis sobre un fluxo de datos nun sistema
* *Diagramas de fluxo do sistema*, que mostran os controis a nivel físico ou de recursos
* *Diagrama de fluxo do programa*, que mostra os controis dun programa dentro dun sistema

Teña en conta que cada tipo de diagrama de fluxo céntrase nalgún tipo de control, máis que no propio fluxo.

Non obstante, hai algunhas clasificacións diferentes. Por exemplo, Andrew Veronis (1978) nomeou tres tipos básicos de diagramas de fluxo: o *diagrama de fluxo do sistema*, o *diagrama de fluxo xeral* e o *diagrama de fluxo detallado*.  Ese mesmo ano, Marilyn Bohl (1978) afirmou "na práctica, úsanse dous tipos de diagramas de fluxo na planificación de solucións: *diagramas de fluxo do sistema* e *diagramas de fluxo do programa..*.". Máis recentemente, Mark A. Fryman (2001) identificou máis diferenzas: "Os diagramas de fluxo de decisións, os diagramas de fluxo lóxicos, os diagramas de fluxo de sistemas, os diagramas de fluxo de produtos e os diagramas de fluxo de procesos son só algúns dos diferentes tipos de diagramas de fluxo que se usan nas empresas e no goberno".

Ademais, moitas técnicas de diagramas son similares aos diagramas de fluxo pero levan un nome diferente, como diagramas de actividade UML.

Bloques de construción
----------------------

### Símbolos comúns

O American National Standards Institute (ANSI) estableceu estándares para os diagramas de fluxo e os seus símbolos na década de 1960. A Organización Internacional de Normalización (ISO) adoptou os símbolos ANSI en 1970. A norma actual, a ISO 5807, foi revisada en 1985. Xeralmente, os diagramas de fluxo flúen de arriba abaixo e de esquerda a dereita.

| Forma ANSI/ISO | Nome | Descrición |
| --- | --- | --- |
|  | Liña de fluxo (punta de frecha)  | Mostra a orde de operación do proceso. Unha liña que procede dun símbolo e apunta a outro. Engádense puntas de frecha se o fluxo non é o estándar de arriba a abaixo, de esquerda a dereita. |
|  | Terminal  | Indica o inicio e o final dun programa ou subproceso. Representado como un estadio, rectángulo ovalado ou redondeado (filete). Normalmente conteñen a palabra "Inicio" ou "Fin", ou outra frase que sinalice o inicio ou o final dun proceso, como "enviar consulta" ou "recibir produto". |
|  | Proceso | Representa un conxunto de operacións que cambian o valor, a forma ou a localización dos datos. Representado como un rectángulo. |
|  | Decisión | Mostra unha operación condicional que determina cal dos dous camiños tomará o programa. A operación é normalmente unha pregunta si/non ou unha proba verdadeiro/falso. Representado como un diamante (rombo). |
|  | Entrada/Saída | Indica o proceso de entrada e saída de datos,  como para introducir datos ou mostrar resultados. Representado como un romboide. |
|  | Anotación (Comentario) | Indicando información adicional sobre un paso do programa. Representado como un rectángulo aberto cunha liña discontinua ou continua que o conecta co símbolo correspondente no diagrama de fluxo. |
|  | Proceso predefinido | Mostra o proceso nomeado que se define noutro lugar. Representado como un rectángulo con bordos verticais de dobre golpe. |
|  | Conector na páxina | Os pares de conectores etiquetados substitúen liñas longas ou confusas nunha páxina de diagrama de fluxo. Representado por un pequeno círculo cunha letra no seu interior. |
|  | Conector fóra da páxina | Un conector etiquetado para usar cando o destino está noutra páxina. Representado como un pentágono en forma de placa de inicio. |

### Outros símbolos

Os estándares ANSI/ISO inclúen símbolos máis aló das formas básicas. Algúns son: 

| Forma | Nome | Descrición |
| --- | --- | --- |
| Flowchart database | Ficheiro de datos ou base de datos | Datos representados por un cilindro que simboliza unha unidade de disco. |
| Flowchart Document | Documento | Documentos únicos representados como un rectángulo cunha base ondulada. |
| Flowchart Document multiple | Varios documentos representados como unha pila de rectángulos con bases onduladas. |
| Flowchar Manual input | Funcionamento manual | Representado por un trapecio co lado paralelo máis longo na parte superior, para representar unha operación ou axuste a proceso que só se pode facer manualmente. |
| Flowchart manual input | Entrada manual(*manual input)* | Representado por un cuadrilátero, coa parte superior inclinada irregularmente cara arriba de esquerda a dereita, como a vista lateral dun teclado. |
| Flowchart Preparation | Preparación ou Inicialización | Representado por un hexágono alongado, orixinalmente usado para pasos como configurar un interruptor ou inicializar unha rutina. |

### Procesamento paralelo

* O *modo paralelo* está representado por dúas liñas horizontais ao comezo ou ao final das operacións simultáneas

Para o procesamento paralelo e simultáneo, as liñas horizontais do *modo paralelo*  ou unha barra horizontal  indican o inicio ou o final dunha sección de procesos que se pode facer de forma independente:

* Nunha *bifurcación (fork)*, o proceso crea un ou máis procesos adicionais, indicados por unha barra cunha ruta de entrada e dúas ou máis de saída.
* Nunha *unión*, dous ou máis procesos continúan como un único proceso, indicado por unha barra con varias rutas de entrada e unha de saída. Todos os procesos deben completarse antes de que continúe o proceso único.

Software
--------

### Diagramación

 *Flowgorithm,* diagrama de fluxo
Pódese usar calquera programa de debuxo para crear diagramas de fluxo, pero estes non terán ningún modelo de datos subxacente para compartir datos con bases de datos ou outros programas, como sistemas de xestión de proxectos ou follas de cálculo. Existen moitos paquetes de software que poden crear diagramas de fluxo automaticamente, ben directamente desde o código fonte dunha linguaxe de programación, ou desde unha linguaxe de descrición de diagramas de fluxo.

Existen varias aplicacións e linguaxes de programación visual  que usan diagramas de fluxo para representar e executar programas. Xeralmente utilízanse como ferramentas didácticas para estudantes principiantes.

Notas
-----

1. ↑  "Diagrama de fluxo". *bUSCatermos*.
2. ↑  "Dicionario; organigrama". *Real Academia Galega*. Consultado o 2023-03-29.
3. ↑  "organigrama lóxico". *bUSCatermos*.
4. ↑  SEVOCAB: Software Systems Engineering Vocabulary. Term: *Flow chart*. Retrieved 31 July 2008.
5. ↑  Frank Bunker Gilbreth, Lillian Moller Gilbreth (1921) *"Processcharts" (PDF).* engineering.purdue.edu*.*. American Society of Mechanical Engineers.
6. ↑  "keynote workflow canada". *worksimp.com; articles* (en inglés).
7. ↑  American Society of Mechanical Engineers (1947) *ASME standard; operation and flow process charts*. New York, 1947. (online version)
8. ↑  Dough, 0 (1949). *Calculating instruments and machines*. p. 112.
9. ↑  *IBM's early compute*. 1986. p. 327. ISBN 9780262022255. Consultado o registration.
10. ↑  Goldstine, Herman Heine, 1913-, Herman Heine (1972). *The computer from Pascal to von Neumann*. pp. 266–267. ISBN 0-691-08104-2.
11. ↑  Taub, Abraham (1963). *John von Neumann Collected Works* **5**. Macmillan Publishers. pp. 80–151.
12. ↑  Bohl, Rynn: "Tools for Structured and Object-Oriented Design", Prentice Hall, 2007.
13. 1 2  Sterneckert, Alan B. (2003-09-29). *Critical Incident Management* (en inglés). CRC Press. ISBN 978-1-4200-0004-7.
14. ↑  Andrew Veronis (1978) *Microprocessors: Design and Applications*. p. 111
15. ↑  Marilyn Bohl (1978) *A Guide for Programmers*. p. 65.
16. ↑  Mark A. Fryman (2001) *Quality and Process Improvement*. p. 169.
17. ↑  Shelly, Gary B.; Vermaat, Misty; Quasney, Jeffrey J.; Sebok, Susan L.; Freund, Steven M. (2011). *Discovering computers 2011 : living in a digital world : complete*. Boston, MA : Course Technology, Cengage Learning. ISBN 978-1-4390-7926-3.
18. ↑  Myler, Harley R. (1998-06-28). *Fundamentals of Engineering Programming with C and Fortran* (en inglés). Cambridge University Press. ISBN 978-0-521-62950-8.
19. ↑  14:00-17:00. "ISO 5807:1985". *ISO* (en inglés). Consultado o 2023-03-29.
20. 1 2 3  *Flowcharting Techniques GC20-8152-1*. IBM. marzo de 1970. p. 10.
21. 1 2  Myler, Harley R. *"2.3 Flowcharts". Fundamentals of Engineering Programming with C and Fortran*. Cambridge University Press. pp. 32–36. ISBN 978-0-521-62950-8.
22. ↑  Shelly, Gary B.; Vermaat, Misty; Quasney, Jeffrey J.; Sebok, Susan L.; Freund, Steven M. (2011). *Discovering computers 2011 : living in a digital world : complete*. Boston, MA : Course Technology, Cengage Learning. ISBN 978-1-4390-7926-3.
23. ↑  Shelly, Gary B.; Vermaat, Misty; Quasney, Jeffrey J.; Sebok, Susan L.; Freund, Steven M. (2011). *Discovering computers 2011 : living in a digital world : complete*. Boston, MA : Course Technology, Cengage Learning. ISBN 978-1-4390-7926-3.
24. ↑ . pp. 691–693. ISBN 978-1-111-53032-7. Consultado o limited.  Falta o `|title=` (Axuda)
25. ↑  "What do the Different Flowchart Shapes Mean?". *www.rff.com*. Consultado o 2023-03-29.
26. ↑  "What do the Different Flowchart Shapes Mean?". *www.rff.com*. Consultado o 2023-03-29.
27. ↑ . pp. 131–132. ISBN 978-1-111-42625-5.  Falta o `|title=` (Axuda)
28. 1 2 . pp. 68–69. ISBN 978-0-470-40072-2.  Falta o `|title=` (Axuda)
29. ↑  Myers, Brad A. "Visual programming, programming by example, and program visualization: a taxonomy." ACM SIGCHI Bulletin. Vol. 17. No. 4. ACM, 1986.

Véxase tamén
------------

### Outros artigos

* Algoritmo
* Diagrama
* Diagrama conmutativo
* Diagrama matemático
* Linguaxe de Modelaxe Unificada
* Linguaxe de programación
* Organigrama (de empresa)
* PMBOK
* Programación
* Proxecto
* Visualización dos datos
* Xestión de proxectos

Bibliografía e ligazóns externas
--------------------------------

* *Information processing – Documentation symbols and conventions for data, program and system flowcharts, program network charts and system resources charts*. 1985.
* ISO 10628: Diagramas para a industria química e petroquímica.
* ECMA 4: Flowcharts (– lista de estándares retirados)
* Schultheiss, Louis A. e Edward M. Heiliger. "Techniques of flow-charting." (1963); con introdución de Edward Heiliger.

* *Técnicas de diagramas de flujo* : un manual de IBM de 1969 (5 MB; PDF)

|  |  |
| --- | --- |
| Control de autoridades | 
* Wd: Q185092
* AAT: 300026859
* BNCF: 17222
* BNF: 11940186h
* EBID: ID
* GEC: 0240896
* GND: 4131768-3
* JSTOR: flow-charts
* LCCN: sh85049286
* MAG: 72041958
* NKC: ph127478

 |