Diagrama de fluxo

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.SEVOCAB: Software Systems Engineering Vocabulary. Term: Flow chart. Retrieved 31 July 2008.

 Visión xeral 
miniatura| 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.

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.Frank Bunker Gilbreth, Lillian Moller Gilbreth (1921) . American Society of Mechanical Engineers. 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".American Society of Mechanical Engineers (1947) ASME standard; operation and flow process charts. New York, 1947. (online version)

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.Bohl, Rynn: "Tools for Structured and Object-Oriented Design", Prentice Hall, 2007. 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.

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 . Andrew Veronis (1978) Microprocessors: Design and Applications. p. 111 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...".Marilyn Bohl (1978) A Guide for Programmers. p. 65. 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".Mark A. Fryman (2001) Quality and Process Improvement. p. 169.

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ón100x100px  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. 100x100px  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".100x100px  Proceso  Representa un conxunto de operacións que cambian o valor, a forma ou a localización dos datos. Representado como un rectángulo. 100x100px 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).100x100px Entrada/Saída  Indica o proceso de entrada e saída de datos, como para introducir datos ou mostrar resultados. Representado como un romboide.100x100px  Anotación (Comentario)  Indicando información adicional sobre un paso do programa. Representado como un rectángulo aberto cunha liña descontinua ou continua que o conecta co símbolo correspondente no diagrama de fluxo.100x100px Proceso predefinido  Mostra o proceso nomeado que se define noutro lugar. Representado como un rectángulo con bordos verticais de dobre golpe.50x50px 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.50x50px 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ónalt=Flowchart database|54x54px|Base de datos de diagramas de fluxo Ficheiro de datos ou base de datos Datos representados por un cilindro que simboliza unha unidade de disco.alt=Flowchart Document|64x64px|Documento diagrama de fluxo Documento Documentos únicos representados como un rectángulo cunha base ondulada.alt=Flowchart Document multiple|64x64px|Diagrama de fluxo Documento múltipleVarios documentos representados como unha pila de rectángulos con bases onduladas.alt=Flowchar Manual input|67x67px|Flowchar Entrada manual  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.alt=Flowchart manual input|66x66px|Entrada manual do diagrama de fluxoEntrada manual(manual input) Representado por un cuadrilátero, coa parte superior inclinada irregularmente cara a arriba de esquerda a dereita, como a vista lateral dun teclado.alt=Flowchart Preparation|70x70px|Preparación de diagramas de fluxo 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 
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 Myers, Brad A. "Visual programming, programming by example, and program visualization: a taxonomy." ACM SIGCHI Bulletin. Vol. 17. No. 4. ACM, 1986. 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)

Categoría:Diagramas
Categoría:Programación
Categoría:Control de calidade
Categoría:Wikipedia:Páxinas con traducións non revisadas
Categoría:Informática