Sei sulla pagina 1di 76

Elaborar un detallado diagrama de flujo

para verificar y valorar


“diagramas de flujo”
Guía diseñada por Juan C. Giraldo
para ayudar a enfrentar el taller sobre verificación de Diagramas de Flujo

Electrónica Javeriana
Declaración del Problema:

Elaborar
un detallado diagrama de flujo
para verificar y valorar
“diagramas de flujo”
Pautas para enfrentar este reto:

1. Introducción de conceptos básicos: Algoritmo y flowchart.

2. Entender la relación entre la ESTRUCTURA & FUNCIÓN.

3. La ESTRUCTURA & FUNCIÓN en varias disciplinas.

4. Verificación funcional de un flowchart.

5. Evaluación de la estructura de un flowchart.

6. Elementos básicos de la estructura de un flowchart.

7. Elementos fundamentales para recordar.

8. Para pensar más allá de los visto en clase.


Pautas para enfrentar este reto:

1. Introducción de conceptos básicos: Algoritmo y


flowchart.

2. Entender la relación entre la ESTRUCTURA & FUNCIÓN.

3. La ESTRUCTURA & FUNCIÓN en varias disciplinas.

4. Verificación funcional de un flowchart.

5. Evaluación de la estructura de un flowchart.

6. Elementos básicos de la estructura de un flowchart.

7. Elementos fundamentales para recordar.

8. Para pensar más allá de los visto en clase.


¿Qué es un Algoritmo?

“Well-ordered collection of unambiguous and effectively


computable operations, that when executed, produces a result and
halts in a finite amount of time.”
According to http://www.engr.sjsu.edu/bjfurman/courses/ME30/ME30pdf/Notes_on_Algorithms.pdf

Characteristic of an Algorithm:
 Well-ordered
 Unambiguous
 Effectively computable
¿Qué es un Algoritmo?

“Well-ordered collection of unambiguous and effectively


computable operations, that when executed, produces a result and
halts in a finite amount of time.”
According to http://www.engr.sjsu.edu/bjfurman/courses/ME30/ME30pdf/Notes_on_Algorithms.pdf

Cuando se hace “copy & paste” de una fuente externa, ES OBLIGATORIO:


1. El uso de comillas dobles.
2. Especificar la fuente de información.
¿Qué es un flowchart?

“A graphical tool that diagrammatically depicts the step and


structure of an algorithm or program.”
According to http://www.engr.sjsu.edu/bjfurman/courses/ME30/ME30pdf/Notes_on_Algorithms.pdf

“A flowchart is a type of diagram that represents an algorithm,


workflow or process, showing the steps as boxes of various kinds,
and their order by connecting them with arrows. This
diagrammatic representation illustrates a solution model to a
given problem.”
According to https://en.wikipedia.org/wiki/Flowchart
Pautas para enfrentar este reto:

1. Introducción de conceptos básicos: Algoritmo y flowchart.

2. Entender la relación entre la ESTRUCTURA & FUNCIÓN.

3. La ESTRUCTURA & FUNCIÓN en varias disciplinas.

4. Verificación funcional de un flowchart.

5. Evaluación de la estructura de un flowchart.

6. Elementos básicos de la estructura de un flowchart.

7. Elementos fundamentales para recordar.

8. Para pensar más allá de los visto en clase.


¿En qué niveles
se puede verificar un flowchart?

“Verification, in engineering or quality management systems, it is the act of


reviewing, inspecting or testing, in order to establish and document that a
product, service or system meets regulatory or technical standards.”

According to https://en.wikipedia.org/wiki/Verification

ESTRUCTURAL FUNCIONAL
¿En qué niveles
se puede verificar un flowchart?

ESTRUCTURAL FUNCIONAL

¿La estructura determina la función?


¿La función determina la estructura?
Describa la estructura de una garra:

Imágenes tomadas de:


http://www.todonatacion.com/images/mano.jpg
http://footage.framepool.com/shotimg/qf/371714855-garra-animal-aguila-de-cola-blanca-hokkaido-wildes-japan.jpg
https://www.dolphins.org/uploads/files/image/.360x250/aleta_new_3.jpg
Describa la estructura de una aleta:

Imágenes tomadas de:


http://www.todonatacion.com/images/mano.jpg
http://footage.framepool.com/shotimg/qf/371714855-garra-animal-aguila-de-cola-blanca-hokkaido-wildes-japan.jpg
https://www.dolphins.org/uploads/files/image/.360x250/aleta_new_3.jpg
Describa la estructura de una mano:

Imágenes tomadas de:


http://www.todonatacion.com/images/mano.jpg
http://footage.framepool.com/shotimg/qf/371714855-garra-animal-aguila-de-cola-blanca-hokkaido-wildes-japan.jpg
https://www.dolphins.org/uploads/files/image/.360x250/aleta_new_3.jpg
Describa la función de una garra:

Imágenes tomadas de:


http://www.todonatacion.com/images/mano.jpg
http://footage.framepool.com/shotimg/qf/371714855-garra-animal-aguila-de-cola-blanca-hokkaido-wildes-japan.jpg
https://www.dolphins.org/uploads/files/image/.360x250/aleta_new_3.jpg
Describa la función de una aleta:

Imágenes tomadas de:


http://www.todonatacion.com/images/mano.jpg
http://footage.framepool.com/shotimg/qf/371714855-garra-animal-aguila-de-cola-blanca-hokkaido-wildes-japan.jpg
https://www.dolphins.org/uploads/files/image/.360x250/aleta_new_3.jpg
Describa la función de una mano:

Imágenes tomadas de:


http://www.todonatacion.com/images/mano.jpg
http://footage.framepool.com/shotimg/qf/371714855-garra-animal-aguila-de-cola-blanca-hokkaido-wildes-japan.jpg
https://www.dolphins.org/uploads/files/image/.360x250/aleta_new_3.jpg
En la evolución de las especies
y su relación con el medio ambiente

¿La estructura determinó la función?


¿La función determinó la estructura?
Imágenes tomadas de:
http://www.todonatacion.com/images/mano.jpg
http://footage.framepool.com/shotimg/qf/371714855-garra-animal-aguila-de-cola-blanca-hokkaido-wildes-japan.jpg
https://www.dolphins.org/uploads/files/image/.360x250/aleta_new_3.jpg
¿En qué niveles
se puede verificar un flowchart?

ESTRUCTURAL FUNCIONAL

¿La estructura determina la función?


¿La función determina la estructura?
Pautas para enfrentar este reto:

1. Introducción de conceptos básicos: Algoritmo y flowchart.

2. Entender la relación entre la ESTRUCTURA & FUNCIÓN.

3. La ESTRUCTURA & FUNCIÓN en varias disciplinas.

4. Verificación funcional de un flowchart.

5. Evaluación de la estructura de un flowchart.

6. Elementos básicos de la estructura de un flowchart.

7. Elementos fundamentales para recordar.

8. Para pensar más allá de los visto en clase.


En medicina

 Lo estructural es a la anatomía como lo funcional es la fisiología.

“Anatomía es una ciencia que estudia la estructura de los seres vivos,


es decir, la forma, topografía, la ubicación, la disposición y la relación
entre sí de los órganos que las componen.”

Según https://es.wikipedia.org/wiki/Anatomía

“Fisiología es la ciencia que estudia las funciones de los seres vivos.”


Según https://es.wikipedia.org/wiki/Fisiología

 Un urólogo se ocupa de lo estructural, mientras que un nefrólogo se


ocupa de lo funcional.
En el estudio de los lenguajes

 La sintaxis o gramática se relaciona con la estructura del lenguaje,


mientras que la semántica (el estudio del significado) es más afín a
la función de transmisión de significados.

“La sintaxis es la parte de la gramática que estudia las reglas y


principios que gobiernan la combinatoria de constituyentes sintácticos
y la formación de unidades superiores a estos, como los sintagmas y
las oraciones gramaticales.”
Según https://es.wikipedia.org/wiki/Sintaxis

“El término semántica se refiere a los aspectos del significado, sentido


o interpretación de signos lingüísticos como símbolos, palabras,
expresiones o representaciones formales.”
Según https://es.wikipedia.org/wiki/Semántica
En ingeniería

 Cuando se diseña un producto se parte de la función y se


llega a la estructura.

 Cuando se analiza un sistema se parte de la estructura con el


propósito de determinar la función o en su defecto su mal
funcionamiento.

En ingeniería estructura y función están íntimamente ligados,


pero el primer paso para GARANTIZAR que lo funcional cumpla
su cometido es que lo estructural esté bien elaborado.
El diagrama “Y” de Gajski-Kuhn

Imágen tomada de:


https://www.tutorialspoint.com/vlsi_design/images/y_chart.jpg
Pautas para enfrentar este reto:

1. Introducción de conceptos básicos: Algoritmo y flowchart.

2. Entender la relación entre la ESTRUCTURA & FUNCIÓN.

3. La ESTRUCTURA & FUNCIÓN en varias disciplinas.

4. Verificación funcional de un flowchart.

5. Evaluación de la estructura de un flowchart.

6. Elementos básicos de la estructura de un flowchart.

7. Elementos fundamentales para recordar.

8. Para pensar más allá de los visto en clase.


Para una Verificación Funcional…

SE REQUIERE:
Para una Verificación Funcional…

Raíz Cuadrada

SE REQUIERE:

1. Nombre del bloque


Para una Verificación Funcional…
El bloque se encarga
de computar la raíz
cuadrada de un
Raíz Cuadrada número real positivo.

SE REQUIERE:

1. Nombre del bloque

2. Breve descripción de la función que realiza


Para una Verificación Funcional…
El bloque se encarga
de computar la raíz
cuadrada de un
Raíz Cuadrada número real positivo.

SE REQUIERE:

1. Nombre del bloque

2. Breve descripción de la función que realiza

3. Que a partir de (2) pueda proponer entradas para inferir salidas


Para una Verificación Funcional…
El bloque se encarga
de computar la raíz
cuadrada de un
Raíz Cuadrada número real positivo.

SE REQUIERE:

1. Nombre del bloque

2. Breve descripción de la función que realiza

3. Que a partir de (2) pueda proponer entradas para inferir salidas

4. Que a partir de (3) pueda hacer Pruebas de Escritorio


¿Es suficiente UNA sola prueba con UNA
entrada dada para producir la salida?

¡NO!
 Se requieren MUCHAS pruebas con condiciones NORMALES
de operación y condiciones EXTREMAS o EXCEPCIONALES.
DESK TESTING

 DESK TESTING o prueba de escritorio es la PRUEBA REINA


para verificar FUNCIONALMENTE un algoritmo (flowchart o
pseudo-código)

 Pero por ahora vamos a dejar de lado la VERIFICACIÓN


FUNCIONAL para enfocarnos en aspectos de EVALUACIÓN
ESTRUCTURAL que tiene que ver con los elementos básicos
de construcción y su interconexión entre dichos elementos.
Pautas para enfrentar este reto:

1. Introducción de conceptos básicos: Algoritmo y flowchart.

2. Entender la relación entre la ESTRUCTURA & FUNCIÓN.

3. La ESTRUCTURA & FUNCIÓN en varias disciplinas.

4. Verificación funcional de un flowchart.

5. Evaluación de la estructura de un flowchart.

6. Elementos básicos de la estructura de un flowchart.

7. Elementos fundamentales para recordar.

8. Para pensar más allá de los visto en clase.


Identifique y corrija el problema
(en caso de haber uno)

¿Algún problema? Solución:

Inicio
Identifique y corrija el problema
(en caso de haber uno)

¿Algún problema? Solución:

Inicio Inicio
Identifique y corrija el problema
(en caso de haber uno)

¿Algún problema? Solución:

Fin
Identifique y corrija el problema
(en caso de haber uno)

¿Algún problema? Solución:

Fin Fin
Identifique y corrija el problema
(en caso de haber uno)

¿Algún problema? Solución:

Fin
Identifique y corrija el problema
(en caso de haber uno)

¿Algún problema? Solución:

¿Cual es el
colorFin
del cielo? Fin
Identifique y corrija el problema
(en caso de haber uno)

¿Algún problema? Solución:


Identifique y corrija el problema
(en caso de haber uno)

¿Algún problema? Solución:


Identifique y corrija el problema
(en caso de haber uno)

¿Algún problema? Solución:

Suba por calle 45

Gire a la derecha

Camine 1 cuadra
Identifique y corrija el problema
(en caso de haber uno)

¿Es esta la secuencia correcta? … ¿Será esta otra?

Suba por calle 45 Suba por calle 45

Gire a la derecha Gire a la derecha

Camine 1 cuadra Camine 1 cuadra


Identifique y corrija el problema
(en caso de haber uno)

¿Algún problema? Solución:

Suba por calle 45 Suba por calle 45

Gire a la derecha Gire a la derecha

Camine 1 cuadra Camine 1 cuadra


Identifique y corrija el problema
(en caso de haber uno)

¿Algún problema? Solución:

a+b=x
Identifique y corrija el problema
(en caso de haber uno)

¿Algún problema? Solución:

a+b=x x=a+b
Identifique y corrija el problema
(en caso de haber uno)

¿Algún problema? Solución:


Identifique y corrija el problema
(en caso de haber uno)

¿Será que es equivalente a éste? o… quizas ¿Será que es éste?


Identifique y corrija el problema
(en caso de haber uno)

¿Algún problema? Solución:


Identifique y corrija el problema
(en caso de haber uno)

¿Algún problema? Solución:


Identifique y corrija el problema
(en caso de haber uno)

¿Algún problema? Solución:

no Pregunta si
binaria
Identifique y corrija el problema
(en caso de haber uno)

¿Algún problema? Solución:


Identifique y corrija el problema
(en caso de haber uno)

¿Algún problema? Solución:


Identifique y corrija el problema
(en caso de haber uno)

¿Algún problema? Solución:


Identifique y corrija el problema
(en caso de haber uno)

¿Algún problema? Solución:


Identifique y corrija el problema
(en caso de haber uno)

¿Algún problema? Solución:


Identifique y corrija el problema
(en caso de haber uno)

¿Algún problema? Solución:


Identifique y corrija el problema
(en caso de haber uno)

¿Algún problema? Solución:

Lea la variable
“pulsador”
Identifique y corrija el problema
(en caso de haber uno)

¿Algún problema? Solución:

¿Valor de
Lea la variable
“pulsador” es
“pulsador”
ON?
Identifique y corrija el problema
(en caso de haber uno)

¿Algún problema? Solución:

¿Cuál es el
color del cielo?
Identifique y corrija el problema
(en caso de haber uno)

¿Algún problema? Solución:

¿Cual es el ¿El color del


color del cielo? cielo es azul?
Identifique y corrija el problema
(en caso de haber uno)

¿Algún problema? Solución:

¿El color del


cielo es azul?
Identifique y corrija el problema
(en caso de haber uno)

¿Algún problema? Solución:

¿El color del No ¿El color del Si


cielo es azul? cielo es azul?
Identifique y corrija el problema
(en caso de haber uno)

¿Algún problema? Solución:

7 7
Identifique y corrija el problema
(en caso de haber uno)

¿Algún problema? Solución:

Es correcto!
Identifique y corrija el problema
(en caso de haber uno)

¿Algún problema? Solución:


Pautas para enfrentar este reto:

1. Introducción de conceptos básicos: Algoritmo y flowchart.

2. Entender la relación entre la ESTRUCTURA & FUNCIÓN.

3. La ESTRUCTURA & FUNCIÓN en varias disciplinas.

4. Verificación funcional de un flowchart.

5. Evaluación de la estructura de un flowchart.

6. Elementos básicos de la estructura de un flowchart.

7. Elementos fundamentales para recordar.

8. Para pensar más allá de los visto en clase.


¿Cuáles son los elementos básicos de
construcción de un flowchart?

En sus orígenes según IBM, a continuación UNA propuesta de elementos básicos:

Tomado de http://www.eah-jena.de/~kleine/history/software/ibm-flowchartingtechniques-gc20-8152-1.pdf
Elementos básicos de construcción
(Elementos Lexicográficos)
No obstante lo anterior, con los de este “slide” es
Espacio para poner suficiente para describir muchos algoritmos.
Inicio Comentarios en diagrama de flujo

Lea entrada

Sub-proceso

ejecución

no si 1
Cond
Fin
Pautas para enfrentar este reto:

1. Introducción de conceptos básicos: Algoritmo y flowchart.

2. Entender la relación entre la ESTRUCTURA & FUNCIÓN.

3. La ESTRUCTURA & FUNCIÓN en varias disciplinas.

4. Verificación funcional de un flowchart.

5. Evaluación de la estructura de un flowchart.

6. Elementos básicos de la estructura de un flowchart.

7. Elementos fundamentales para recordar.

8. Para pensar más allá de los visto en clase.


General rules for flowcharts:
According to http://www.engr.sjsu.edu/bjfurman/courses/ME30/ME30pdf/Notes_on_Algorithms.pdf

 “All symbols of the flowchart are connected by flow lines (note


arrows, not lines)”

 “Flowlines enter the top of the symbol and exit out the bottom,
except for the decision symbol, which can have flow lines
exiting from the bottom or the sides”

 “Flowcharts are drawn so flow generally goes from top to


bottom”

 “The beginning and the end of the flowchart is indicated using


the Terminal symbol”
RESUMEN

Cuando verifique un flowchart:

 ¿El flowchart tiene un nombre?

 ¿Se proporciona una breve descripción de la función?

 ¿Hay comentarios que expliquen partes del flowchart?

 ¿Se identifica el autor y su afiliación a una institución?

 ¿Se identifica la fecha, la versión, tiempo de dedicación?


CONCLUSIONES

 Para que un ALGORITMO sea funcionalmente correcto es


mandatorio que estructuralmente esté bien formulado.

 Un algoritmo debe ser claro y ordenado. Para ello la


propuesta estética es fundamental.

 Pregúntese… ¿Desde el punto de vista de la CLARIDAD,


ORDEN Y ESTÉTICA, es mi flowchart digno de aparecer en
una revista científica o de ingeniería?
Pautas para enfrentar este reto:

1. Introducción de conceptos básicos: Algoritmo y flowchart.

2. Entender la relación entre la ESTRUCTURA & FUNCIÓN.

3. La ESTRUCTURA & FUNCIÓN en varias disciplinas.

4. Verificación funcional de un flowchart.

5. Evaluación de la estructura de un flowchart.

6. Elementos básicos de la estructura de un flowchart.

7. Elementos fundamentales para recordar.

8. Para pensar más allá de los visto en clase.


Preguntas para estudiantes inquisitivos e
insatisfechos que no conocen límites…

 Qué es deseable: ¿Un sistema, con estructuras que cumplen


diferentes funcionalidades o un sistema en que cada bloque
estructural satisface una funcionalidad independiente?

 ¿En qué circunstancias usaría un sistema con estructuras


replicadas?

 Para un situación problemática se presentan dos alternativas


de solución por medio de sistemas. Para el primer sistema se
identificaron 8 especificaciones funcionales; para el segundo,
3 especificaciones funcionales. AMBOS solucionan el
problema... ¿Cuál es mejor y por qué?
Preguntas para estudiantes inquisitivos e
insatisfechos que no conocen límites…

 ¿Tenemos la capacidad y tecnología para construir un


programa de computador que evalúe la estructura de otros
programas de computador? Atrévase a hacer una propuesta
de cómo sería tal programa.
 ¿Tenemos la capacidad y tecnología para construir un
programa de computador que verifique funcionalmente
otros programas de computador? Atrévase a hacer una
propuesta de cómo sería tal programa.
 ¿Tenemos la capacidad y tecnología para construir un
programa de computador para verificar y evaluar flowcharts
GRÁFICOS y calificarlos? Atrévase a hacer una propuesta de
cómo sería tal programa.
Preguntas para estudiantes inquisitivos e
insatisfechos que no conocen límites…

 ¿Tenemos la tecnología y capacidad para


construir un programa de computador
que esté en capacidad de DISEÑAR,
IMPLEMENTAR y PROBAR programas de
computador de manera autónoma a partir
de especificaciones escritas por un ser
humano, sin conocimiento técnico?

Potrebbero piacerti anche