Diagrama de fluxo

[miniatura|Un diagrama de fluxo sinxelo que representa un proceso para tratar cunha [Lámpada incandescente|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 
[miniatura| Diagrama de fluxo un *bucle para* [C (linguaxe de programación)|estilo C, que representa o seguinte código:
for(i=0;iO 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.

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

Téase en conta que cada tipo de diagrama de fluxo céntrase nalgún tipo de control, máis que no propio fluxo. 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.

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

## Software 
### Diagramación 
dereita|miniatura| *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 
## 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
* Pseudocódigo
* Visualización dos datos
* Xestión de proxectos

### Bibliografía e ligazóns externas 
* 
* 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)