Páginas

domingo, 12 de noviembre de 2023

Diagrama de flujo

DIAGRAMA DE FLUJO 

¿Qué es?

  • Es un diagrama que describe un proceso, sistema o algoritmo informático.
  • Se utilizan para documentar, estudiar, planificar, mejorar y comunicar procesos complejos en diagramas claros y fáciles de comprender.
  • Emplean figuras para definir el tipo de paso, junto con flechas conectoras que establecen el flujo y la secuencia.
  • Se pueden utilizar para explicar detalladamente la lógica detrás de un proceso, antes de empezar a ejecutarlo. Permite organizar una perspectiva general y ofrecer una guía para:

Algunos tipos.
  • Diagramas de flujo de sistemas. Representa el modo en que los datos fluyen en un sistema.
  • Diagrama de flujo de decisiones. Ayuda a explicar las medias que se toman para justificar una decisión, es útil para anticipar las consecuencias de diferentes decisiones.
  • Diagrama de flujo lógico. Aplica para detectar deficiencias, cuellos de botella o limitaciones del proceso que podrían causar interrupciones o problemas.
  • Diagrama de flujo de productos. Se visualiza el proceso de creación del producto y su orden secuencial.
  • Diagrama de flujo de procesos. Muestra cómo se obtiene cierto resultado con un proceso, ya sea para mejorar un proceso o implementar uno nuevo.
  • Diagrama de carriles de nado. Representa visualmente un proceso que no tiene un principio ni un final real, como los carriles de una piscina que son largos y suelen ser recorridos por los nadadores de un lado a otro.
  • Diagrama de cadena de procesos impulsado por eventos (EPC).
  • Diagrama de flujo de lenguaje de descripción y especificación (SDL).
  • Diagrama de flujo de datos (DFD). Se utilizan para salvar la brecha de comunicación entre los desarrolladores y usuarios de un programa por completo o de una sola parte del software.
  • Diagrama de flujo de procesos (PFD).
  • Modelo y notación de procesos de negocio (BPMN 2.0).
Algunos modelos o métodos.

5E (Enganche, Explorar, Explicar, Elaborar, Evaluar). 


Divide y vencerás.


Método del caso.

Método del árbol de causas.


Método científico.


Diseño descendente.


Refinamiento por pasos.



¿Cómo realizar un diagrama de flujo?


  • Definir el propósito y alcance. ¿Qué se desea lograr? ¿Se están considerando las cosas correctas con un punto inicial y final apropiados para alcanzar el propósito?
  • Identificar las tareas en orden cronológico. Puede involucrar las conversaciones con los participantes, la observación de un proceso o la revisión de cualquier documentación existente.
  • Organizar por tipo  y figura correspondiente. Como procesos, decisiones, datos, entradas o salidas.
  • Crear el diagrama. 
  • Confirmar el diagrama de flujo. Verificar los pasos con las personas que participan en el proceso, observar el proceso para asegurase de no dejar de lado nada que sea importante para el propósito.


Símbolos.


  • Línea de flujo. Muestra la dirección del proceso y conecta a dos bloques entre sí en un diagrama de flujo.
  • Terminador o terminal. Representa los puntos de inicio o fin del proceso de un diagrama de flujo.
  • Proceso. Componente común de un diagrama de flujo e indica un paso del proceso.
  • Comentario o anotación. Para mencionara información extra acerca de un paso con un comentario o anotación.


  • Entrada/salida. Representa el proceso de incorporar o extraer datos externos en diagramas de flujo.
  • Decisión. Representa a una decisión a tomar para pasar al paso siguiente, se trata de una decisión "verdadero o falso" o de una pregunta que se responde por sí o por no. También se utiliza cuando surgen diferentes ramificaciones o puntos de una acción.
  • Datos almacenados. Simboliza a u n archivo o base de datos.
  • Símbolo "o". Indica que el flujo del proceso continúa en tres meses o más ramas.


  • Entrada manual. Representa los daos o información que se debe ingresar manualmente al sistema.
  • Exposición. Indica un paso en el que se expone o presenta información importante.
  • Documento. Representa un documento impreso.
  • Retraso. Planificar y representar cualquier periodo de demora que será parte del proceso.


  • Operación manual. Simboliza a una operación o ajuste manual del proceso.
  • Conector (con otra página o en esta página). Indica conectar a otros símbolos que están en la misma página o en otra página.
  • Símbolo de unión de invocación. Para converger diversas ramas en un solo proceso.

  • Proceso alternativo. Indica una alternativa al paso normal del proceso en caso de ser necesaria.
  • Proceso predeterminado. Señala un proceso que ya ha sido determinado en algún otro lugar.
  • Múltiples documentos. Simboliza muchos documentos.
  • Preparación o inicialización. Indica un paso de preparación o inicialización en el proceso.

¿Cómo hacerlo?


Referencias.

Team Asana (12 de octubre de 2023). ¿Qué es un diagrama de flujo y cómo  hacerlo?. Asana. Tomado de https://asana.com/es/resources/what-is-a-flowchart

domingo, 5 de noviembre de 2023

Algoritmos

 ALGORITMOS

Un ALGORITMO es un serie de pasos organizados, que describe el proceso que se debe seguir, para dar solución a un problema específico (Fadul, 2004).

Con la definición anterior podemos pensar que un algoritmo es la forma en la que podemos resolver un problema paso a paso, si no se resuelve un paso del problema no se puede pasar al siguiente. Permite obtener un resultado a partir de un gran volumen de datos.




Partes de un algoritmo:
  • Entrada: conjunto de datos que el algoritmo necesita como insumo para procesar o iniciar.
  • Proceso: pasos necesarios aplicados por el algoritmo en la entrada, para poder llegar a una salida o solución del problema.
  • Salida: resultado o solución producido por el algoritmo a partir del procesamiento de la entrada, una vez terminada la ejecución del proceso.
Características de los algoritmos:
  • Precisos: tienen un objetivo definido, es decir, se distingue con claridad y de igual forma, es claro en cada uno de sus pasos. 
  • Ordenados: presentan una secuencia clara y precisa para poder llegar a una solución.
  • Definidos: está delimitado, solo procesa la información y las operaciones que tiene, no realiza operaciones "fantasmas", el mismo algoritmo debe dar el mismo resultado al recibir la misma entrada de datos.
  • Concretos: ofrecen una solución determinada para la situación o problema.
  • Finitos: tienen un número determinado de pasos, siembre va a tener un fin.
Tipos de algoritmos.
  • Computacionales. Su resolución depende del cálculo y puede ser desarrollado por una calculadora o computadora sin dificultades.
  • No computacionales. No requieren de los procesos de una computadora para resolverse, o cuyos pasos son exclusivos para la resolución por parte de un ser humano.
  • Cualitativos. En su resolución no intervienen cálculos numéricos sino secuencias lógicas y/o formales.
  • Cuantitativos. Depende de cálculos matemáticos para dar con su resolución.

Metodología para la creación de un algoritmo:
  1. Definición del problema.
    • Nombre del problema. En este punto se debe contestar la pregunta ¿cuál es el problema en concreto?
    • Delimitación. Se debe visualizar la delimitación del problema ¿hasta dónde abarcará la solución del problema?
    • Resultado deseado. Se debe resolver el algoritmo o no, es decir, documentar todo lo que se requiere para solucionar el problema y los pasos detallados que se deben realizar.
  2. Análisis. Esta fase tiene el objetivo de dividir el problema en sus componentes y examinar de qué manera pueden unirse, en esta fase se deben contestar las siguientes preguntas:
    • Datos de entrada. ¿Qué se necesita para resolver el problema?
    • Proceso. ¿Qué pasos son necesarios para resolver el problema?
    • Salida. ¿Qué se debe obtener para resolver el problema?
  3. Diseño. 
  4. Verificación. Es la acción de comprobar o examinar la verdad de algo, nos permite saber si el algoritmo cumplió o no su objetivo y para ello, se le dan variables de entrada al algoritmo y se observan los resultados que arroja a través de pruebas de validación.
Ejemplo de un algoritmo.

Problema: Conocer el número telefónico de una persona.

1. Buscar la guía telefónica. 
2. Abrirla en la mitad. 
3. Ver en qué mitad está el nombre
    3.1. Si el nombre empieza con "b" entonces pasar a la primera mitad.
    3.2. De lo contrario, pasar a la segunda mitad.
4. Se toma la mitad donde se encuentra el nombre y se vuelve a partir.
5. Vuelves a ver en cual nueva mitad está el nombre.
6. Se regresa al punto 2 (eso es un bucle) hasta que encuentras la página. 
7. Buscas en la página de arriba hacia abajo el nombre. 
8. Cuando lo encuentras vas a columna del número.
9. Lo lees.
10. Se cierra la guía.




REERENCIAS.

Fadul, A. O. (2004). Diseño Estructurado de Algoritmos. Colombia: Sincelejo.
Garate, G. (sf). Algoritmos en nuestras vidas. Universidad de la Empresa. Tomado de: https://ude.edu.uy/que-son-algoritmos/ Consultado: 5 de noviembre de 2023
Equipo editorial Etecé, Argentina (2013-2023). Algoritmo en informática. Equipo editorial Etecé, Argentina. Tomado de: https://concepto.de/algoritmo-en-informatica/. Última edición: 5 de agosto de 2021. Consultado: 05 de noviembre de 2023
Gómez, F. L. A. (2023). Algoritmos. UAEH. Tomado de: https://www.uaeh.edu.mx/scige/boletin/prepa4/n10/e1.html Consultado: 05 de noviembre de 2023.