Buscar lo que quieras

20 de marzo de 2014

Diagramas de Flujo




Diagramas de flujo





El diagrama de flujo o diagrama de actividades es la representación gráfica del algoritmo o proceso. Se utiliza en disciplinas como programación, economía, procesos industriales y psicología cognitiva. 
Ejemplos en algunas plataformas:

—En Lenguaje Unificado de Modelado (UML), un diagrama de actividades representa los flujos de trabajo paso a paso de negocio y operacionales de los componentes en un sistema. Un diagrama de actividades muestra el flujo de control general.
—En SysML el diagrama de actividades ha sido extendido para indicar flujos entre pasos que mueven elementos físicos (e.g., gasolina) o energía (e.g., presión). Los cambios adicionales permiten al diagrama soportar mejor flujos de comportamiento y datos continuos.

Estos diagramas utilizan símbolos con significados definidos que representan los pasos del algoritmo, y representan el flujo de ejecución mediante flechas que conectan los puntos de inicio y de fin de proceso.

 

Un diagrama de flujo presenta generalmente un único punto de inicio y un único punto de término, aunque puede tener más, siempre que cumpla con la lógica requerida.

Algunos de los puntos a realizar previamente a un diagrama de flujo son los siguientes:

•Identificar las ideas principales al ser incluidas en el diagrama de flujo. Deben estar presentes el autor o responsable del proceso, los autores o responsables del proceso anterior y posterior y de otros procesos interrelacionados, así como las terceras partes interesadas.
•Definir qué se espera obtener del diagrama de flujo.
Identificar quién lo empleará y cómo.
•Establecer el nivel de detalle requerido.
•Determinar los límites del proceso a describir.

Los pasos a seguir para construir el diagrama de flujo son:

•Establecer el alcance del proceso a describir. De esta manera quedará fijado el comienzo y el final del diagrama. •Frecuentemente el comienzo es la salida del proceso previo y el final la entrada al proceso siguiente.
•Identificar y listar las principales actividades/subprocesos que están incluidos en el proceso a describir y su orden cronológico.
•Si el nivel de detalle definido incluye actividades menores, listarlas también.
Identificar y listar los puntos de decisión.
•Construir el diagrama respetando la secuencia cronológica y asignando los correspondientes símbolos.
•Asignar un título al diagrama y verificar que esté completo y describa con exactitud el proceso elegido.

El propósito del diagrama de actividad es modelar un proceso de flujo de trabajo (workflow) y/o modelar operaciones.


Una Operación es un servicio proporcionado por un objeto, que está disponible a través de una interfaz.
Una Interfaz es un grupo de operaciones relacionadas con la semántica.



Tipos de diagramas de flujo:



—Formato vertical: En él, el flujo y la secuencia de las operaciones, va de arriba hacia abajo. Es una lista ordenada de las operaciones de un proceso con toda la información que se considere necesaria, según su propósito.
—Formato horizontal: En él, el flujo o la secuencia de las operaciones, va de izquierda a derecha.
—Formato panorámico: El proceso entero está representado en una sola carta y puede apreciarse de una sola mirada mucho más rápido que leyendo el texto, lo que facilita su comprensión, aun para personas no familiarizadas. Registra no solo en línea vertical, sino también horizontal, distintas acciones simultáneas y la participación de más de un puesto o departamento que el formato vertical no registra.

Simbología de los diagramas de flujo.



—Óvalo o Elipse: Inicio y término (Abre y/o cierra el diagrama).
—Rectángulo: Actividad (Representa la ejecución de una o más actividades o procedimientos).
—Rombo: Decisión (Formula una pregunta o cuestión).
—Círculo: Conector (Representa el enlace de actividades con otra dentro de un procedimiento).
—Triángulo boca abajo: Archivo definitivo (Guarda un documento en forma permanente).
—Triángulo boca arriba: Archivo temporal (Proporciona un tiempo para el almacenamiento del documento).

Vasandonos en la descripción anterior, podemos entender la metodología de los diagramas con estructura secuencial, selectiva y repetitiva.
 


Estructura Secuencial:


Se caracteriza porque una acción se ejecuta detrás de otra. El flujo del programa coincide con el orden físico en el que se han ido poniendo las instrucciones. Dentro de este tipo podemos encontrar operaciones de inicio/fin, inicialización de variables, operaciones de asignación, cálculo, sumarización, etc. Este tipo de estructura se basa en las 5 fases de que consta todo algoritmo o programa:


  1. Definición de variables (Declaración)
  2. Inicialización de variables.
  3. Lectura de datos
  4. Cálculo
  5. Salida
Ejemplo 1.
Se desea encontrar la longitud y el área de un círculo de radio 5.

Solución.
El objetivo del ejercicio es encontrar la longitud y el área de un círculo con un radio conocido y de valor 5. Las salidas serán entonces la longitud y el área. (Fase 5 del algoritmo) Sabemos que la longitud de un círculo viene dada por la fórmula 2 * pi * radio y que el área viene dada por pi * radio al cuadrado. (Fase 4 del algoritmo) Si definimos las variables como: (fase 1 del algoritmo)
Representación en Diagrama de Flujo: 
 


Selectiva:
Se identifican porque están compuestos únicamente de una condición. La estructura si - entonces evalúa la condición y en tal caso:
Si la condición es verdadera, entonces ejecuta la acción Si (o acciones si son varias).
Si la condición es falsa, entonces no se hace nada.

Español                      Inglés
Si <condición>            If <condición>
Entonces                    then
<acción Si>                <acción Si>
fin_si                          endif




Ejemplo 1.
Construir un algoritmo tal, que dado como dato la calificación de un alumno en un examen, escriba "Aprobado" en caso que esa calificación fuese mayor que 8.


Repetitiva:

Son operaciones que se deben ejecutar un número repetido de veces. El conjunto de instrucciones que se ejecuta repetidamente cierto número de veces, se llama Ciclo, Bucle o Lazo.
Iteración es cada una de las diferentes pasadas o ejecuciones de todas las instrucciones contenidas en el bucle.
Fases de un Programa Cíclico :
1. Entrada de datos e instrucciones previas
2. Lazo o bucle
3. Instrucciones finales o resto del proceso
4. Salida de resultado
Ejemplo de bucle infinito:

En el flujograma anterior, observa que la flecha que se regresa hacia arriba nos está indicando que hay que volver a evaluar la expresión. En ese caso como el bucle es infinito, no se tiene una condición para terminar y se estará haciendo siempre. En el siguiente ejemplo, ya se agregó una condición, la cual nos permitirá finalizar la ejecución del bucle en el caso en que la condición se cumpla.
Ejemplo de bucle finito: