Diagrama de flujo de datos

42
I.E: My PNP Félix Tello Rojas INTEGRANTES: Nole Flores Alex Rivera Dávila Ronald Santoyo Cornejo Roberto Vidarte González Adrian GRADO Y SECCION: 4 TO “C” AREA: Educación para el Trabajo DOCENTE: Nerita Tarrillo Dávila TEMA: Diagrama de Flujos de Datos Manual de Aprendizaje

description

 

Transcript of Diagrama de flujo de datos

Page 1: Diagrama de flujo de datos

I.E:

My PNP Félix Tello Rojas

INTEGRANTES:

• Nole Flores Alex • Rivera Dávila Ronald • Santoyo Cornejo Roberto• Vidarte González Adrian

GRADO Y SECCION:

4TO “C”

AREA:

Educación para el Trabajo

DOCENTE:

Nerita Tarrillo Dávila

TEMA:

Diagrama de Flujos de Datos

Manual de Aprendizaje

Page 2: Diagrama de flujo de datos

Dedicado a nuestros padres

que nos acompañaron en esta laboriosa investigación.

Los autores.

INDICE

Índice…………………………………………

Presentación……………………………….

Page 3: Diagrama de flujo de datos

“Conociendo los algoritmos”…………

“Variables, constantes, tipos de datos,

Expresiones y operaciones”………………………..

“Diagrama de Flujo de Datos”…………………….

Integrando los aprendizajes I……………………..

“Estructuras condicionales simples”...............

“Estructuras condicionales repetitivas”..........

Integrando los aprendizajes II…………………….

Bibliografía……………………………………………….

Page 4: Diagrama de flujo de datos

¿COMO CREAR UN DIAGRAMA DE FLUJO?

Page 5: Diagrama de flujo de datos

Los diagramas de flujo son una manera de representar visualmente el flujo de datos através de sistemas de tratamiento de información. Los diagramas de flujo describen quéoperaciones y en qué secuencia se requieren para solucionar un problema dado. Un diagrama de flujo u organigrama es una representación diagramática que ilustra lasecuencia de las operaciones que se realizarán para conseguir la solución de unproblema. Los diagramas de flujo se dibujan generalmente antes de comenzar aprogramar. Los diagramas de flujo facilitan la comunicación entre el programador y el restode las personas. Estos diagramas de flujo desempeñan un papel vital en la programaciónde un problema y facilitan la comprensión de problemas complicados y sobre todo muylargos. Una vez que se dibuja el diagrama de flujo, llega a ser fácil escribir el programa encualquier lenguaje de programación. Vemos a menudo cómo los diagramas de flujo nosdan ventaja al momento de explicar el programa a otros. Por lo tanto, está correcto decirque un diagrama de flujo es una necesidad para la documentación mejor de un programacomplejo. Reglas para dibujar un diagrama de flujo.Los Diagramas de flujo se dibujan generalmente usando algunos símbolos estándares; sinembargo, algunos símbolos especiales pueden también ser desarrollados cuando seanrequeridos. Algunos símbolos estándares, que se requieren con frecuencia para diagramarprogramas se muestran a continuación:

Observación: Para obtener la correcta elaboración de los símbolos, existen plantillas yprogramas que permiten la elaboración de diagramas de flujo.

Reglas para la creación de Diagramas1. Los Diagramas de flujo deben escribirse de arriba hacia abajo, y/o de izquierda aderecha. 2. Los símbolos se unen con líneas, las cuales tienen en la punta una flecha que indica ladirección en que fluye la información de procesos, se deben de utilizar solamente líneasde flujo horizontal o verticales (nunca diagonales).

Page 6: Diagrama de flujo de datos

3. Se debe evitar el cruce de líneas, si quisiera separar el flujo del diagrama a un sitiodistinto, se puede realizar utilizando los conectores. Se debe tener en cuenta que solo sevan a utilizar conectores cuando sea estrictamente necesario. 4. No deben quedar líneas de flujo sin conectar 5. Todo texto escrito dentro de un símbolo debe ser legible, preciso, evitando el uso demuchas palabras. 6. Todos los símbolos pueden tener más de una línea de entrada, a excepción del símbolofinal. 7. Solo los símbolos de decisión pueden y deben tener más de una línea de flujo desalida.

Ejemplos dediagramas de flujo

Diagrama de flujo que encuentra la suma de losprimeros 50 números naturales

Page 7: Diagrama de flujo de datos

Descripción del diagrama Suma, es la variable a la que se le va agregando el valor de cada número natural. N, es elcontador. Éste recorrerá los números hasta llegar al 50. • El primer bloque indica el inicio del Diagrama de flujo

Page 8: Diagrama de flujo de datos

• El segundo bloque, es un Símbolo de procesosEn este bloque se asume que las variables suma y N han sido declaradas previamente ylas inicializa en 0 para comenzar al conteo y la suma de valores

• El tercer bloque, es también un Símbolo de procesosEn éste paso se incrementa en 1 la variable N (N = N + 1). Por lo que, en la primerapasada esta N valdrá 1, ya que estaba inicializada en 0.

• El cuarto bloque es exactamente lo mismo que el anterior Pero en éste, ya se le agregael valor de N a la variable que contendrá la suma (En el primer caso contendrá 1, ya que N= 1).

• El quinto bloque es un Símbolo de Toma de decisiones y Ramificación

Lo que hay dentro del bloque es una pregunta que se le hace a los valores queactualmente influyen en el proceso ¿Es N=50?, Obviamente la respuesta es no, ya que Ntodavía es 1 por lo que el flujo de nuestro programa se dirigirá hacía la parte en donde se

Page 9: Diagrama de flujo de datos

observa la palabra no: Tercer Bloque, éste le sumará 1 (N=N+1) y vuelve a llegar a éstebloque, donde preguntará ¿Es N=50?... ¡No!, todavía es 2, regresa al Tercer bloque yvuelve a hacer lo mismo, y así hasta llegar a 50, obteniendo así la suma de los primeros50 primeros números naturales. • Por último indicamos que el resultado será mostrado en la impresora

• Fin del programa (o diagrama)

DIAGRAMA DE FLUJOEs un grafico lógico del plan de trabajo que se ejecutara para la solución de undeterminado problema. A través de él, se planifica la solución del problema independientedel lenguaje de computación a usar. De esta manera se separa loas instrucción es unlenguaje determinado con todas las reglas.Las capacidades humanas necesarias para elaborar un diagrama de flujo correcto son:Lógico, Prácticas, y Atención.El empleo de la maquina en las funciones del procediendo de datos han hecho necesarioun flujo ordenado de la información. La secuencia en que deberán ejecutarselas operaciones tendrá que definirse claramente, y cuando se combine con los datos a losque debe aplicarse, esa secuencia creara el flujo de información.No puede hacerse mucho hincapié en documentación, ósea el registro de Información .SinInstrucciones escritas y sin representación grafica del flujo de trabajo seria muy difícil dellevar una tarea de procediendo de datos en forma apropiada. Hay varios métodos mas

Page 10: Diagrama de flujo de datos

eficientes organizados y normalizados, es el de los diagramas de Flujo que el Futuroprogramador comprenda la necesidad de los diagrama de flujo.

OBJETIVOS DE UN DIAGRAMA DE FLUJOa. Estructura la solución del problema independiente del lenguaje a utilizar.b. Separar la solución lógica de programación de la parte de reglas y sintaxis

de codificación con esta división del trabajo se obtiene mayor eficiencia.c. Dar una visión completa del problema al programador ya que pierde en

un programa ya codificado.d. Permitir una compresión más rápida del programa a otros programadores

¿QUÉ ES UN DIAGRAMA DE FLUJO DE DATOS?Es una descripción grafica de un procedimiento para la resolución de un problema. Sonfrecuentemente usados para descubrir algoritmos y programas de computador. Losdiagramas de flujos están compuestos por figuras conectadas con flechas. Para ejecutarun proceso comienza por el Inicio y se siguen las acciones indicadas por cada figura: Eltipo de figura indica el tipo de paso que representa.Del Software, DFD es un software diseñado para contribuir y analizar algoritmos se puedecrear diagramas de flujos de datos para la representación de algoritmosde programación estructurada a partir de las herramientas de edición que para estepropósito suministra el programa .Después de hacer haber ingresado el representado porel diagrama, podrá, ejecutarlo analizarlo y depurarlo en un entorno interactivo diseñadopara este fin. La interfaz grafica de DFD facilita en gran medida el trabajo con diagramasya que simula la representación estándar de diagramas de flujo en hojas de papel.

LOS COMPONENTES DE UN DIAGRAMA DE FLUJO SON:• Proceso• Flujo• Almacén• Terminador

PROCESO:El primer componente de diagrama de flujo de datos se conoce como Proceso. El procesonuestra una parte del sistema que transforman Entradas y Salidas. Algunas analistasprefieren usar un ovalo o un rectángulo con esquinas redondeadas, otros prefieren usarun rectángulo. Las diferencias entre estas tres formas son puramente cosméticas, aunqueobviamente es importante usar la misma forma de la manera consistente para representartodas las funciones de un sistema.

Page 11: Diagrama de flujo de datos

FLUJO:Un flujo se representagráficamente pormedio de una flechaque entra y sale de

proceso; el flujo se usa para describir el movimiento, de bloques o paquetes deinformación de una parte del sistema a otra.Los flujos realmente representan Datos, es decir, Bits caracteres, mensajes, números, depuntos, flotante y los diversos tipos de información con los que las computadoras puedentratar.Los flujos también muestran la dirección: Una cabeza de flecha en cualquier extremo(oposiblemente ambos) del flujo indica si los datos (o el material) se esta moviendo haciaadentro a hacia fuera por ejemplo indica claramente que el numero se esta mandandohacia el proceso denominado validar numero telefónicos, y el flujo denominado honorariosde entrega de chóferes. Los datos que se mueven a dicho flujo viajaran ya sea de unproceso a otro.Ejemplo:

Page 12: Diagrama de flujo de datos

ALMACÉN:Se utiliza para modelar una colección de paquetes de datos en reposo. Se denota por doslíneas paralelas, de modo característico el nombre que se utiliza para identificar para lospaquetes que entran y salen del almacén por medios de flujo.PEDIDOS:Para el analista con conocimiento de proceso de datos es tentador referirse alos almacenes como archivos o bases de datos; pro un almacén también pudiera consistiren datos almacenados también pudiera consistir en datos almacenadosen tarjetas perforadas, microfilm, microfichas, discos ópticos, etc. y un almacén tambiénpuede ser en conjunto de fichas de papel en una caja de cartón , nombres de fichas depapel en un directorio, diversos archivos en un archivero, o varias formas nocomputarizadas.Los almacenes se conectan por flujos a los procesos. Así el contexto en el quese muestra en un DFD (Diagrama de Flujo de Datos) es uno de los siguientes:

• Un flujo desde un almacén.• UN flujo hacia un almacén.

TERMINADOR:Se representa como un rectángulo como los terminadores ser representa en entidadesexternas con las cuales el sistema se comunica, continuamente, puede ser una persona, oun grupo. Por ejemplo: una organización externa n o una agencia gubernamental, o ungrupo o departamento que este dentro de la misma compañía u organización, pero fueradel control del sistema que se esta modelando. En algunos casos, un terminador puedeser otro sistema, como algún otro sistema computacional con el cual se comunica este.

Existen tres cosas importantes que debemos recordar acerca de los terminadores.• Son externos al sistema que se está modelando.• Es evidente que ni el analista ni el diseñador del sistema están en posibilidades de

cambiar los contenidos de un terminador o la manera en que esta trabaja.• Las relaciones que existen entre lo terminadores no se muestran en el modelo DFD

(Diagrama de Flujo de Datos).

EJEMPLO

Suma de los números pares comprendidos entre 2 y 100

Page 14: Diagrama de flujo de datos

Algoritmo y Diagrama de Flujo para calcular la masa de un objeto que se mueve conuna fuerza y una aceleración, donde: F= m.a, ImprimirEl resultado con su respectivo mensaje.

Algoritmo yDiagrama de Flujopara calcular elárea de un círculodonde:

Un corredor demaratón (distancia= 42.195 Km.) arecorrido la carreraen 2 horas 25minutos. Se deseaun algoritmo quecalcule el tiempomedio en minutospor kilómetro.

Page 15: Diagrama de flujo de datos

Se desea obtener el salario neto deun trabajador conociendo elnúmero de horas trabajadas, elsalario, hora y la tasa deimpuestos que se le debe reducir.

Page 16: Diagrama de flujo de datos

Definir el algoritmo necesario para intercambiar los valores de dos variables, Numéricas

Page 17: Diagrama de flujo de datos

Escribir un algoritmo para calcular elárea de un triángulo dada la base y laaltura.

Page 18: Diagrama de flujo de datos

Conociendo los algoritmos

a)Que son los algoritmos?:un algoritmo es cualquier cosa que funcione paso a paso, donde cada paso se puedadescribir sin ambigüedad y sin hacer referencia a una computadora en particular, yademás tiene un límite fijo en cuanto a la cantidad de datos que se pueden leer/escribir enun solo paso.

b)Para que sirven los algoritmos:En la vida cotidiana, se emplean algoritmos frecuentemente para resolver problemas.Algunos ejemplos son los manuales de usuario, que cuestran algoritmos para usar unaparato, o las instrucciones que recibe un trabajador por parte de su patrón.

c)Características de los algoritmos:1. Carácter finito. "Un algoritmo siempre debe terminar después de un número finito depasos".

2. Precisión. "Cada paso de un algoritmo debe estar precisamente definido; lasoperaciones a llevar a cabo deben ser especificadas de manera rigurosa y no ambiguapara cada caso". Cada instrucción deberá especificarse en cada caso exactamente y sinambigüedad.

3. Entrada. "Un algoritmo tiene cero o más entradas: cantidades que le son dadas antesde que el algoritmo comience, o dinámicamente mientras el algoritmo corre. Estasentradas son tomadas de conjuntos específicos de objetos".

4. Salida. "Un algoritmo tiene una o más salidas: cantidades que tienen una relaciónespecífica con las entradas".

Page 19: Diagrama de flujo de datos

5. Eficacia. "También se espera que un algoritmo sea eficaz, en el sentido de que todaslas operaciones a realizar en un algoritmo deben ser suficientemente básicas como paraque en principio puedan ser hechas de manera exacta y en un tiempo finito por un hombreusando lápiz y papel".

6. Resolución. El algoritmo deberá llegar a un resultado específico, producir un resultado.Los datos de salida serán los resultados de efectuar las instrucciones.

d)Como se pueden representar los algoritmos:

Diagrama de flujo.

Los diagramas de flujo son descripciones gráficas de algoritmos; usan símbolosconectados con flechas para indicar la secuencia de instrucciones y están regidos porISO.Los diagramas de flujo son usados para representar algoritmos pequeños, ya que abarcanmucho espacio y su construcción es laboriosa. Por su facilidad de lectura son usadoscomo introduccióna los algoritmos, descripción de un lenguaje y descripción de procesos a personas ajenasa la computación.

Pseudocódigo

El pseudocódigo (falso lenguaje, el prefijo pseudo significa falso) es una descripción dealto nivel de un algoritmo que emplea una mezcla de lenguaje natural con algunasconvenciones sintácticas propias de lenguajes de programación, como asignaciones,ciclos y condicionales, aunque no está regido por ningún estándar. Es utilizado paradescribir algoritmos en libros y publicaciones científicas, y como producto intermediodurante el desarrollo de un algoritmo, como los diagramas de flujo, aunque presentan unaventaja importante sobre estos, y es que los algoritmos descritos en pseudocódigorequieren menos espacio para representar instrucciones complejas.

El pseudocódigo está pensado para facilitar a las personas el entendimiento de unalgoritmo, y por lo tanto puede omitir detalles irrelevantes que son necesarios en unaimplementación.Programadores diferentes suelen utilizar convenciones distintas, que pueden estarbasadas en la sintaxis de lenguajes de programación concretos. Sin embargo, elpseudocódigo, en general, es comprensible sin necesidad de conocer o utilizar un entornode programación específico, y es a la vez suficientemente estructurado para que suimplementación se pueda hacer directamente a partir de él.

Page 20: Diagrama de flujo de datos

Así el pseudocódigo cumple con las funciones antes mencionadas para representar algoabstracto los protocolos son los lenguajes para la programación

Diagrama de Nassi-Schneiderman

También conocido como diagrama de Chapín, es un método se representación dealgoritmos que combina la descripción textual con la descripción grafica, es como unacombinación del Pseudocódigo con el diagrama de flujo. Por lo general todo lo que sepuede representar en undiagrama de flujo se puede representar en este tipo de diagrama. Este tipo derepresentación cuenta con un conjunto limitado de símbolos para representar los pasosdel algoritmo. El diagrama Nassi-Shneiderman refleja la descomposición del problema enuna forma simple usando cajas anidadas para representar cada uno de los sub-problemas.

Implementación

Muchos algoritmos son ideados para implementarse en un programa. Sin embargo, losalgoritmos pueden ser implementados en otros medios, como una red neuronal, uncircuito eléctrico o un aparato mecánico y eléctrico. Algunos algoritmos inclusive sediseñan especialmente paraimplementarse usando lápiz y papel. El algoritmo de multiplicación tradicional, el algoritmode Euclides, la criba de Eratóstenes y muchas formas de resolver la raíz cuadrada sonsólo algunos ejemplos.

e) Como se diseñan los algoritmos:Existen varias técnicas de diseño de algoritmos que permiten desarollar la solución alproblema planteado, algunas de ellas son:

•Algoritmos voraces (greedy): seleccionan los elementos más prometedores del conjuntode candidatos hasta encontrar una solución. En la mayoría de los casos la solución no esóptima.

•Algoritmos paralelos: permiten la división de un problema en subproblemas de forma quese puedan ejecutar de forma simultánea en varios procesadores.

•Algoritmos probabilísticos: algunos de los pasos de este tipo de algoritmos están enfunción de valores pseudoaleatorios

•Algoritmos determinísticos: El comportamiento del algoritmo es lineal: cada paso delalgoritmo tiene únicamente un paso sucesor y otro ancesor.

Page 21: Diagrama de flujo de datos

•Algoritmos no determinísticos: El comportamiento del algoritmo tiene forma de árbol y acada paso del algoritmo puede bifurcarse a cualquier número de pasos inmediatamenteposteriores, además todas las ramas se ejecutan simultáneamente.

•Divide y vencerás: dividen el problema en subconjuntos disjuntos obteniendo unasolución de cada uno de ellos para después unirlas, logrando así la solución al problemacompleto.

•Metaheurísticas: encuentran soluciones aproximadas (no óptimas) a problemasbasándose en un conocimiento anterior (a veces llamado experiencia) de los mismos.

•Programación dinámica: intenta resolver problemas disminuyendo su costecomputacional aumentando el coste espacial.

•Ramificación y acotación: se basa en la construcción de las soluciones al problemamediante un árbol implícito que se recorre de forma controlada encontrando las mejoressoluciones.

•Vuelta Atrás (Backtracking): se construye el espacio de soluciones del problema en unárbol que se examina completamente, almacenando las soluciones menos costosas.

f) Que recomendaciones hay que tener en cuenta:

•Definir el problema: los algoritmos se crean para resolver problemas es importante quejunto al algoritmo definamos el problema que este nos permite resolver.

•Debe estar dentro del contexto: no debemos omitir el contexto de nuestros algoritmos, esnecesario establecer lo que se necesita y por donde se debe comenzar.

•Debe resolver el problema: seguir los pasos del algoritmo debe llevarnos a la solución delproblema.

•Debe evitar la ambigüedad: por ejemplo hay que averiguar cual es la velocidad de unauto entonces hay que definir si la distancia esta dada en metros o kilómetros y el tiempoen horas o segundos ya que la respuesta puede ser km/h o m/s

Debe evitar la ambigüedad: por ejemplo hay que averiguar cual es la velocidad de un autoentonces hay que definir si la distancia esta dada en metros o kilómetros y el tiempo enhoras o segundos ya que la respuesta puede ser km/h o m/s.

Page 22: Diagrama de flujo de datos

g) Elabore un ejemplo de algoritmo señalando sus partes:

http://es.slideshare.net/dayanib/algoritmo-353451

1; TIPOS DE DATOS

El primer objetivo de la computadora es el manejo de la información o el manejo de datos.Los datos pueden ser diversas cosas, desde cifras numéricas hasta colores. Un dato es laexpresión general que describe los objetos con los cuales opera una computadora, losalgoritmos y los programas pueden operar a través de los datos.

Casi todos los lenguajes de programación explícitamente incluyen la notación del tipo dedatos, aunque lenguajes diferentes pueden usar terminologías diferentes.Los programadores tienen la facilidad de poder crear distintos tipos de datos, y se ayudana generar datos nuevos con los datos ya existentes. Por ejemplo, se puede crear un datollamado “coche” y este se le asigna atributos de un coche, como marca, modelo, año.

La acción de las instrucciones ejecutables de las computadoras se refleja en cambios enlos valores de las partidas de datos. Los datos de entrada se transforman por el programa,después de las etapas intermedias, en datos de salida.Un programa de computadora opera a través de datos, estos están almacenadosinternamente en la memoria, o bien introducidos a través de algún dispositivo como unteclado, un escáner etc. En los lenguajes de programación los datos deben de ser de untipo de dato específico.

Page 23: Diagrama de flujo de datos

Existen 2 tipos de datos: básicos, incorporados o integrados (estándar) que se incluyen enlos lenguajes de programación; estos se definen por el programador o por el usuario.Como se menciono antes, a partir de estos dos tipos de datos, se pueden construir otrosdatos llamados compuestos o agregados, como son las estructuras, uniones,enumeraciones, vectores, matrices/tablas y cadenas arrays o arreglos y como referenciaexisten otros datos especiales denominados punteros (apuntadores) y referencias.Existen dos tipos de datos las simples (sin estructura) y compuestos (estructurados). Losdatos estructurados son conjuntos de partidas de datos simples con relaciones definidasentre ellos.

El propósito de un Diagrama de Flujo de Datos (DFD) es mostrar, para un cierto sistema osubsistema:• Cuáles son los límites del sistema• De dónde vienen los datos• A dónde van los datos cuando dejan el sistema• Dónde se almacenan los datos• Qué procesos transforman los datos y• Las interacciones entre los procesos y los depósitos de datos

Page 24: Diagrama de flujo de datos

DIAGRAMA DE FLUJO DE DATOS Definición:El diagrama de flujo de datos es un modelo que describe los flujos de datos o tuberías, losprocesos que cambian o transforman los datos en un sistema, las entidades externas queson fuente o destino de los datos (y en consecuencia los límites del sistema) y losalmacenamientos o depósitos de datos a los cuales tiene acceso el sistema, permitiendoasí describir el movimiento de los datos a través del sistema.En síntesis, el Diagrama de Flujo de Datos describe:

• los lugares de origen y destino de los datos (los límites del sistema),lastransformaciones a las que son sometidos los datos (los procesos internos),loslugares en los que se almacenan los datos dentro del sistema, y los canales pordonde circulan los datos.

Características:

• Relevante: Ya que posibilitar comunicar diferentes modelos para así facilitar elentendimiento entre el usuario y el analista de sistemas.

• Lógico: Ya que no identifica soporte físico.• Descendente: Se construye en forma descendente, de lo general a lo particular.

Page 25: Diagrama de flujo de datos

El DFD posee niveles de desagregación o explosión o apertura de burbujas. El Nivel 0 oDiagrama de Contexto es aquel que muestra una sola burbuja y las entidades externas oterminadores con los que interactúa el sistema. Simbología: Entidad Externa:Son generalmente clases lógicas de cosas o de personas, las cuales representan unafuente o destino de transacciones, como por ejemplo clientes, empleados, proveedores,etc., con las que el sistema se comunica. También pueden ser una fuente o destinoespecífico, como por ejemplo Departamento Contable.Como el sistema que esta bajo análisis acepta datos de otro sistema o bien se los provee,este otro sistema es una Entidad Externa.Mediante la designación de alguna cosa o de algún sistema como Entidad Externaestamos estableciendo implícitamente que se encuentra fuera de los límites del sistemaque estamos considerando por lo cual no nos interesa la transformación o proceso que serealiza dentro de ellos, es decir que están fuera del control del sistema que se estámodelando. Son sólo proveedores o requeridores de datos del sistema bajoconsideración.Por todo ello, ni el analista ni el diseñador pueden cambiar ni los contenidos ni la forma detrabajo de un terminador. Proceso:Indican aquellos lugares dentro del sistema en donde la información (flujos de datos) queingresan se procesan o transforman. Es decir, son las funciones o procesos quetransforman entradas de datos en salidas de información.Su nombre deberá ponerse mediante una frase imperativa, que consistirá idealmente deun verbo activo seguido por una claúsula objeto, cuanto mas simple mejor. Al analista leservirá pensar que la descripción de la función es "una orden a un empleado sinconocimiento del tema". Estas frases imperativas no tienen sujeto; tan pronto como seintroduce un sujeto se habrá indicado como deberá realizarse físicamente la función ("Eloperador ingresará los datos del alumno").Un proceso puede ser físicamente una oficina repleta de empleados, un procedimiento, ouna combinación de actividades manuales y automatizadas. Flujo de datos:Representa un transporte de paquetes de datos desde su origen hasta su destino, es decirque representa una estructura de datos en movimiento de una parte del sistema a otro.Un flujo muestra las interfaces entre los elementos del DFD.

Page 26: Diagrama de flujo de datos

Puede imaginarse como una tubería por donde se envían paquetes de datos, pero deberátener una descripción de su contenido la cual deberá elegirse de forma que sea lo más útilposible a los usuarios que revisen el DFD.La flecha indica la dirección del flujo.Puede estar contenido físicamente en una nota, una factura, una llamada telefónica, deprograma a programa, etc. Es decir, en cualquier medio por el cual los datos pasan de unaentidad o proceso a otra. Almacén o archivo:Representa un archivo lógico en donde se agregan o de donde se extraen datos. Es unaestructura de datos, pero estática.Puede ser físicamente un archivo de tarjetas, una microficha, un archivo, o un archivo encinta o diskette.Deberá elegirse el nombre que sea más descriptivo para el usuario, que identifique lospaquetes de datos que contiene. Implica escritura, actualización o borrado de datos. Implica lectura o recuperación de información almacenada. Guías para construir un DFD: 1. Primero se deberán identificar las entidades externas ya que ello implica definir loslímites del sistema. 2. Se deberán elegir nombres con significado tanto para procesos como también paraflujos de datos, almacenes y entidades externas. Si es posible a partir del vocabulario delusuario evitando terminologías técnicas. 3. Identificar el papel del proceso del sistema, no quien lo realiza. 4. Numerar los procesos, mediante un esquema de numeración consistente queimplique, para los lectores del DFD, una cierta secuencia de ejecución. 5. Se deberán, en la medida de lo posible, evitar los DFD excesivamente complejos.Deberán ser comprensibles, digeribles y agradables a la vista sin demasiados elementos. 6. Todos los elementos se relacionan entre sí a través de flujos de datos.

Page 27: Diagrama de flujo de datos

7. Procesos: Se relacionarán con:• Almacenes• Entidades externas• Otros procesos• Deberán tener al menos una Entrada y una Salida, no son manantiales de datos.

8. Almacenes: Se relacionarán solamente con Procesos. 9. Entidades Externas: Se relacionarán solamente con Procesos. 10. En todos los niveles del Diagrama de Flujo de Datos deberá haber igual cantidad deEntradas y de Salidas. 11. Niveles del DFD:

• Nivel de Partida: Diagrama de Contexto:• No existirán almacenes o archivos.• Se representarán las entidades externas que son fuente y destino de los datos.• El sistema será representado como un proceso simple.• Se dibujarán sólo los flujos de datos de comunicación exterior-sistema.• Nivel 1 y subsiguientes:• Deberá haber igual cantidad de archivos. Aunque podrá existir mayor cantidad de

almacenamientos en el nivel 2 debido a la explosión de algún proceso.• En el último nivel, cada proceso realizará una función específica y concreta.

12. Cada proceso en el DFD de alto nivel de un sistema puede ser "explotado" paraconvertirse en un DFD en si mismo. 13. Cada proceso en el nivel inferior deberá estar relacionado, inversamente, con elproceso del nivel superior. Es decir que, cada proceso “padre” que se detalla en el DFD,ha de estar balanceado. La regla del balanceo consiste en que cada proceso debe tenerexactamente los mismos datos de entrada/salida netos que el DFD hijo. 14. Los flujos de datos pueden descomponerse en la “explosión” del proceso en un DFDhijo. 15. No se deberá prestar atención a las condiciones de tiempo, excepto a las naturalesprecedencias lógicas y a los almacenamientos de datos necesarios desde el punto devista lógico. Se deberá dibujar un sistema que nunca comience ni pare. 16. Para evitar el cruzamiento de las líneas de flujo de datos, la misma entidad (o elmismo almacén) se podrá dibujar mas de una vez en el mismo diagrama; las dos (o mas)

Page 28: Diagrama de flujo de datos

casillas por entidad pueden identificarse con dos líneas inclinadas en el ángulo superiorizquierdo de las mismas. Diagramas de Flujo de DatosAl mirar un DFD típico para un sistema chico se nota lo siguiente:Requiere poca explicación.Cabe fácilmente en una página.Se dibujó con computadora.-Los componentes de un DFDProcesoCírculo.Muestra una parte del sistema que transforma entradas en salidas.Se nombra con una frase u oración sencilla (preferentemente frase verbo-objeto).Diagramas de Flujo de Datos-Los componentes de un DFDFlujo de datosFlecha que llega o sale de un proceso.Describe el movimiento de bloques o paquetes de información de una parte del sistema aotro.El nombre representa el significado del paquete (un solo tipo de paquetes) que se muevepor el flujo de datos.Tiene dirección.Flujos divergentes (copias o división en paquetes más simples) y convergentes (uniónpara formar paquetes más complejos). No los usamos.No responde a dudas de procedimiento.Diagramas de Flujo de DatosLos componentes de un DFD1.3. AlmacénDos líneas paralelas.Modeliza una colección de paquetes en reposo.Puede ser requerimiento fundamental o aspecto conveniente de la realización del sistema.Ejemplos de aspectos convenientes de interponer un almacén entre dos procesos: Ambos procesos se ejecutan en la misma computadora pero no hay memoria suficiente(o algún otro recurso de hardware) Se espera que cualquiera de los procesos se ejecute en hardware poco confiable Se espera que diferentes programadores implementen los dos procesos El analista o diseñador pensaron que algún día el usuario necesitaría accederUn flujo que viene de un sistema se interpreta como una lectura o un acceso a lainformación del almacén (no destructiva)Un flujo hacia un almacén se describe como una escritura, una actualización o unaeliminación

Page 29: Diagrama de flujo de datos

Diagramas de Flujo de Datos Los componentes de un DFD1.4. TerminadorRectángulo.Representan entidades externas con las cuales el sistema se comunica.Persona, Organización externa, Organismo gubernamental, grupo o departamento dentrode la organización.Las relaciones que existan entre los terminadores no se muestran en el DFDDiagramas de Flujo de DatosGuía para la construcción de DFD Elegir nombres con significado para todos los componentesPara los procesos:Identificar las funciones que el sistema está llevando a cabo.Usar un verbo y un objeto. Evitar verbos ambiguos: hacer, manejar, procesar, etc.

Numerar los procesosComo forma abreviada de identificar las burbujas.Base para la numeración jerárquica. Redibujar el DFD tantas veces como sea necesarioPara que sea:Técnicamente correctoAceptable para el usuarioEstar lo suficientemente bien dibujado para mostrarlo a la dirección de la organizaciónPara mejorarlo estéticamente:Tamaño y forma de las burbujasFlujos curvos vs. rectos. Cruces de flujos.Diagramas hechos a mano vs. diagramas generados por computadoraDiagramas de Flujo de Datos Guía para la construcción de DFD2.4. Evitar los DFD demasiado complejosDeben ser leídos y comprendidos.7±2 de cada componente o sea debe caber en una hoja normal.Excepción: Diagrama de contexto.2.5. Asegurarse la consistenciaEvitar sumideros infinitosEvitar las burbujas de generación espontáneaTodos los flujos y procesos deben estar etiquetadosTener cuidado con los almacenes de “sólo lectura” o “sólo escritura”Diagramas de Flujo de DatosDFD por niveles

Page 30: Diagrama de flujo de datos

Organizar el DFD global en una serie de niveles de modo que cada uno proporcione másdetalle sobre una porción del nivel anterior.El primer nivel consta de una sola burbuja que representa la totalidad del sistema(diagrama de contexto). El DFD que sigue se conoce como nivel 0 y representa la vista demás alto nivel de las principales funciones del sistema.Los números de las burbujas sirven para relacionar una burbuja con el nivel siguiente delDFD.Diagramas de Flujo de Datos3. DFD por nivelesCuestiones a tener en cuenta:¿Cuántos niveles?Seguir “bajando” hasta llegar a burbujas de poca complejidad.Agregar niveles superiores para respetar la regla 7±2.En sistemas típicos, simples 2 o 3 niveles, medianos 3 a 6, grande 5 a 8. ¿Deben partirsetodas las partes del sistema al mismo nivel de detalle?No, pero cuidado con los extremos.¿Cómo se muestran estos diagramas al usuario?De forma descendente.¿Cómo asegurar que los distintos niveles sean consistentes entre sí?Los flujos de datos que entran y salen de una burbuja en el nivel i deben corresponder conlos que entran y salen de toda la figura correspondiente del nivel i+1 que la describe.Diagramas de Flujo de Datos DFD por nivelesCuestiones a tener en cuenta:¿Cómo se muestran los almacenes en los diversos niveles?Un almacén que aparece en un nivel i se puede repetir en los niveles sucesivos derefinamiento i+1, i+2, etc. Pero un almacén local al nivel i no aparecía en los nivelesanteriores i-1, i-2, etc.¿Cómo se realiza la partición de los DFD en niveles?Pese a que se leen en forma descendente, no es necesario desarrollarlos de esa manera.Un enfoque que tiene más éxito es identificar los acontecimientos externos a los cualesdebe responder el sistema y utilizarlos para crear un primer borrador del DFD. De ahípuede partirse hacia arriba (para crear DFD de mayor nivel de abstracción) y hacia abajo.

Page 31: Diagrama de flujo de datos
Page 32: Diagrama de flujo de datos
Page 33: Diagrama de flujo de datos
Page 34: Diagrama de flujo de datos
Page 35: Diagrama de flujo de datos
Page 36: Diagrama de flujo de datos

Los diagramas de flujo son una serie de pasos secuenciales que representan de unamanera tradicional los detalles algorítmicos de los procesos. Se utilizan principalmente enprogramación, economía y procesos industriales; dichos diagramas una nomenclaturasimbólica con significados especiales.

En las representaciones gráficas de procesos con símbolos, estos se interconectan paraque en conjunto le den un sentido lógico al diagrama de flujo el cual da pie al desarrollo deun sistema de información.

Puede ser difícil entender un proceso con una descripción verbal, de esta manera eldiagrama de flujos de datos ayuda a ilustrar los componentes de un proceso y la forma enque interactúan.

De igual manera se puede mostrar el diagrama de flujo como un análisis estructurado dela transformación de datos de un sistema, mediante una descripción pictórica.

LOS DIAGRAMAS DE FLUJOSUn diagrama de flujo es una representación pictórica de un algoritmo o de una parte delmismo, ayudan en la comprensión de la operación de las estructuras de control (Si,Mientras).Útil para determinar como funciona realmente el proceso para producir unresultado. El resultado puede ser un producto, un servicio, información o una combinaciónde las tres. Al examinar como los diferentes pasos en un proceso se relacionan entre sí,se puede descubrir con frecuencia las fuentes de problemas potenciales. Los diagramasde flujo se pueden aplicar a cualquier aspecto del proceso desde el flujo de materialeshasta los pasos para hacer la venta u ofrecer un producto. Los diagramas de flujosdetallados describen la mayoría de los pasos en un proceso. Con frecuencia este nivel dedetalle no es necesario, pero cuando se necesita, el equipo completo normalmentedesarrollará una versión de arriba hacia abajo; luego los grupos de trabajo más pequeñospueden agregar niveles de detalle según sea necesario durante el proyecto.

Page 37: Diagrama de flujo de datos

Es un esquema para representar gráficamente un algoritmo. Se basan en la utilización dediversos símbolos para representar operaciones específicas. Se les llama diagramas deflujo porque los símbolos utilizados se conectan por medio de flechas para indicar lasecuencia de operación. Para hacer comprensibles los diagramas a todas las personas,los símbolos se someten a una normalización; es decir, se hicieron símbolos casiuniversales, ya que, en un principio cada usuario podría tener sus propios símbolos pararepresentar sus procesos en forma de Diagrama de Flujo. Esto trajo como consecuenciaque solo aquel que conocía sus símbolos, los podía interpretar. La simbología utilizadapara la elaboración de diagramas de flujo es variable y debe ajustarse a un patrón definidopreviamente.Un diagrama de flujo (flowchart) es una de las técnicas de representación de algoritmosmás antigua y a la vez más utilizada, aunque su empleo ha disminuidoconsiderablemente, sobre todo desde la aparición de lenguajes de programaciónestructurados. Los símbolos estándar normalizados por ANSI (abreviatura de AmericanNational Standard Instituto) son muy variadosNombre Símbolo FunciónTerminal Representa el inicio y fin de un programa. También puede representar una parada ointerrupción programada que sea necesaria realizar en un programa.Entrada / salida Cualquier tipo de introducción de datos en la memoria desde los periféricos o registro deinformación procesada en un periférico.Proceso

Cualquier tipo de operación que pueda originar cambio de valor, formato o posición de lainformación almacenada en memoria, operaciones aritméticas, de transformaciones, etc.Decisión Indica operaciones lógicas o de comparación entre datos (normalmente dos) y en funcióndel resultado de la misma determina (normalmente si y no) cual de los distintos caminosalternativos del programa se debe seguirConector Misma Página Sirve para enlazar dos partes cualesquiera de un diagrama a través de un conector en lasalida y otro conector en la entrada. Se refiere a la conexión en la misma pagina deldiagramaIndicador de dirección o línea de flujo Indica el sentido de la ejecución de las operacionesSalida Se utiliza en ocasiones en lugar del símbolo de salida. El dibujo representa un pedazo dehoja. Es usado para mostrar datos o resultados.

Page 38: Diagrama de flujo de datos

Elabore un algoritmo que dados dos (2) números realicen las 4 operaciones básicas de laaritmética y las muestre por pantalla.

Clasificación por Intercambio Directo (Burbuja).

El método de intercalación directo, conocido coloquialmente con el nombre de la burbuja,es el más utilizado entre los estudiantes de computación, por su fácil compresión yprogramación. Pero es preciso señalar que es probablemente el método más ineficiente.

El método de intercambio directo puede trabajar de dos maneras diferentes. Llevando loselementos más pequeños hacia la parte izquierda del arreglo o bien llevando loselementos más grandes hacia la parte derecha del mismo.

La idea básica de este algoritmo consiste en comparar pares de elementos adyacentes eintercambiarlos entre sí hasta que todos se encuentran ordenados. Se realizan (n-1)pasadas, transportando en cada una de las mismas el menor o mayor elemento (segúnsea el caso) a su posición ideal. Al final de las (n-1) pasadas los elementos del arregloestarán ordenados.

Ventajas:- Fácil implementación- No requiere memoria adicional.

Desventajas:- Muy lento.- Realiza numerosas comparaciones.- Realiza numerosos intercambios.

La búsqueda es el proceso de localizar un registro (elemento) con un valor de llaveparticular. La búsqueda termina exitosamente cuando se localiza el registro que contengala llave buscada, o termina sin éxito, cuando se determina que no aparece ningún registrocon esa llave.

Page 39: Diagrama de flujo de datos

Búsqueda Secuencial:A este método tan bien se le conoce como búsqueda lineal y consiste en empezar al iniciodel conjunto de elementos, e ir a través de ellos hasta encontrar el elemento indicado óhasta llegar al final de arreglo.Este es el método de búsqueda más lento, pero si nuestro arreglo se encuentracompletamente desordenado es el único que nos podrá ayudar a encontrar el dato quebuscamosMejoras en la eficiencia de la búsqueda secuencial:

1) Muestreo de acceso Este método consiste en observar que tan frecuentemente se solicita cada registro yordenarlos de acuerdo a las probabilidades de acceso detectadas.

2) Movimiento hacia el frente Este esquema consiste en que la lista de registros se reorganicen dinámicamente. Coneste método, cada vez que búsqueda de una llave sea exitosa, el registro correspondientese mueve a la primera posición de la lista y se recorren una posición hacia abajo los queestaban antes que el.

3) Transposición Este es otro esquema de reorganización dinámica que consiste en que, cada vez que selleve a cabo una búsqueda exitosa, el registro correspondiente se intercambia con elanterior. Con este procedimiento, entre mas accesos tenga el registro, mas rápidamenteavanzara hacia la primera posición. Comparado con el método de movimiento al frente, elmétodo requiere mas tiempo de actividad para reorganizar al conjunto de registros . Unaventaja de método de transposición es que no permite que el requerimiento aislado de unregistro, cambie de posición todo el conjunto de registros. De hecho, un registro debeganar poco a poco su derecho a alcanzar el inicio de la lista.

4) Ordenamiento Una forma de reducir el numero de comparaciones esperadas cuando hay unasignificativa frecuencia de búsqueda sin éxito es la de ordenar los registros en base alvalor de la llave. Esta técnica es útil cuando la lista es una lista de excepciones, talescomo una lista de decisiones, en cuyo caso la mayoría de las búsquedas no tendrán éxito.Con este método una búsqueda sin éxito termina cuando se encuentra el primer valor dela llave mayor que el buscado, en lugar de la final de la lista.

El método de búsqueda lineal tiene el inconveniente del consumo excesivo de tiempo enla localización del elemento buscado. Cuando el elemento buscado no se encuentra en elvector, se verifican o comprueban sus n elementos. En los casos en que el elemento se

Page 40: Diagrama de flujo de datos

encuentra en la lista, el número podrá ser el primero, el último o alguno comprendido entreambos. Se puede suponer que el número medio de comprobaciones o comparaciones arealizar es de (n+1)/2 (aproximadamente igual a la mitad del vector).

La búsqueda secuencial o lineal no es el método más eficiente para vectores con un grannúmero de elementos. En estos casos, el método más idóneo es el de la búsquedabinaria, que presupone una ordenación previa en los elementos del vector. Este casosuele ser muy utilizado en numerosas facetas de la vida diaria.

Búsqueda binaria o dicotómica

La búsqueda binaria utiliza un método de “divide y vencerás” para localizar el valordeseado. Con este método se examina primero el elemento central de la lista; si este es elelemento buscado, entonces la búsqueda ha terminado. En caso contrario se determina siel elemento buscado está en la primera o segunda mitad de la lista y a continuación serepite este proceso, utilizando el elemento central de esa sudlista. El siguiente paso de la búsqueda se repite el procedimiento en la mitad del arreglo elegidodonde se puede encontrar la solución y se repite, resultando en una búsqueda recursiva.

Este método consiste en lo siguiente: comparar el elemento buscado con el elementosituado en la mitad del arreglo, si tenemos suerte y los dos valores coinciden, en esemomento la búsqueda termina. Pero como existe un alto porcentaje de que esto noocurra, repetiremos los pasos anteriores en la mitad inferior del arreglo si el elemento quebuscamos resulto menor que el de la mitad del arreglo, o en la mitad superior si elelemento buscado fue mayor.La búsqueda termina cuando encontramos el elemento o cuando el tamaño del arreglo aexaminar sea cero.La búsqueda binaria es un método eficiente siempre que el vector esté ordenado. En lapráctica esto suele suceder, pero no siempre. Por esta razón la búsqueda binaria exigeuna ordenación previa del vector; y el almacenamiento de un vector ordenado sueleplantear problemas en las inserciones y eliminaciones de elementos (en estos casos seránecesario utilizar listas enlazadas o árboles binarios) Para poder medir la velocidad delcálculo del algoritmo de búsqueda binaria se deberán obtener el número decomparaciones que realiza el algoritmo.

CONCLUSION

A diario en la vida cotidiana cada vez que necesitamos realizar un proceso seguimos unaserie de pasos que nos llevan a culminar un producto, de igual manera cuando estamos

Page 41: Diagrama de flujo de datos

frente un sistema observamos que debemos seguir una serie de pasos para interactuarcon el, todos estos pasos tantos internos como externo se descomponen en algoritmosque si los representamos gráficamente construiríamos una serie de Diagraman de Flujos,es por ello que podemos afirmar con certeza que los Diagramas de Flujos nos sirve pararepresentar gráficamente los procesos o funciones en que se descompone el sistema,muestra las fuentes y destinos de datos, identifica y da los nombres a los procesos quelleva a cabo. Identifica y da nombre a los grupos de datos de datos que relaciona unafunción con otra y señala los almacenes y a los que tiene acceso.Cabe destacar, que el lenguaje utilizado para especificar la función del diagrama de flujo,no es mas que el lenguaje que utilizamos diariamente, pero adoptando ciertos verbos yfrases imperativas, para describir de manera exacta y precisa lo que se quiere realizar.

RECOMENDACIONES

- Inicialmente se recomienda que antes de elaborar un diagraman de flujo se debe tenerclaro el significado de la simbología a utilizar.

- Los diagramas de Flujos son recomendables para algoritmos no muy grandes ni muycomplejos, pues para este caso se tornaría complejo y engorroso

- Cuando se este en frente de un problema el cual se le quiere dar solución algorítmica, loprimordial seria entenderlo y fraccionarlo en sub. problemas que se podrían resolver másfácilmente.

- Cuando estemos frente a la necesitad de realizar una búsqueda se recomienda utilizarlos algoritmos aquí descritos, ya que estos algoritmos definidos que facilitarían el trabajodel programador y aceleraría la culminaron del producto.