1                                 INTRODUCCIÓN         La computadora no solamente es una maquina que puede realizar proce...
2Top Down      La programación descendente o "Top - Down" es el proceso mediante elcual un problema se descompone en una s...
3       Ejemplo:       Se necesita diseñar un algoritmo que ayude a un niño a revisar sus tareasreferentes a las operacion...
4      Beneficios         Simplificación   del   problema   y   de   los   subprogramas   de   cada          descomposici...
5      Ejemplo:      Realiza el diseño ascendente para la gestión del control de un hotelutilizando la siguiente informaci...
6ingenieril del proyecto hicieron que el enfoque top-down se esparciera por IBM ypor el resto de la industria de los compu...
7Diagrama de Flujo      Son una manera de representar visualmente el flujo de datos a travéz desistemas de tratamiento de ...
8      Suma, es la variable a la que se le va agregando la valor de cada númeronatural. N, es el contador. Éste recorrerá ...
9      El quinto bloque es uno Símbolo de Toma de decisiones y Ramificación Loque hay dentro del bloque es una pregunta qu...
10        Proporciona información sobre los procesos de formaclara, ordenada y            concisa.       Características ...
11      Utiliza un número limitado de símbolos de tal forma que el diagrama de           flujo ocupa menos espacio y pued...
12      Características       Fácil de leer y comprender.       Fácil de codificar en una amplia gama de lenguajes y en ...
13                                  CONCLUSIÓN      En esta investigación se abarcó diferentes técnicas de diseño las cual...
Upcoming SlideShare
Loading in...5
×

Top down

17,248

Published on

2 Comments
10 Likes
Statistics
Notes
No Downloads
Views
Total Views
17,248
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
0
Comments
2
Likes
10
Embeds 0
No embeds

No notes for slide

Transcript of "Top down"

  1. 1. 1 INTRODUCCIÓN La computadora no solamente es una maquina que puede realizar procesospara darnos resultados, sin que tengamos la noción exacta de las operaciones querealiza para llegar a esos resultados. Con la computadora además de lo anteriortambién podemos diseñar soluciones a la medida, de problemas específicos quese nos presenten. Mas aun, si estos involucran operaciones matemáticascomplejas y/o repetitivas, o requieren del manejo de un volumen muy grande dedatos. La programación es una técnica esencial de la cual hay que tenerconocimientos. Su inserción las carreras universitaria, asegura que los estudiantestengan la facilidad necesaria para conocer las técnicas de solución más eficientesde solución de problemas. La estructura de este trabajo, está pensada para que se pueda usar comoguía para el aprendizaje de las técnicas de diseño, como guía de referenciarápida para llevar a cabo cualquier tarea que el lector necesite realizar en unmomento determinado.
  2. 2. 2Top Down La programación descendente o "Top - Down" es el proceso mediante elcual un problema se descompone en una serie de niveles o pasos sucesivos derefinamiento (stepwise). El diseño descendente es una técnica que permite diseñar la solución de unproblema con base en la modularización o segmentación dándole un enfoque dearriba hacia abajo (Top Down Design). Esta solución se divide en módulos que seestructuran e integran jerárquicamente, como si fuera el organigrama de unaempresa. Ejemplo: ALGORITMO ALGO MODULO MODULO MODULO UNO DOS TRES En el diagrama anterior se muestra la estructura del algoritmo ALGO, quese auxilia de tres módulos subordinados, cada uno de los cuales ejecuta una tareaespecifica. En su momento el modulo principal ALGO invocara o llamara a losmódulos subordinados, es decir, dirigirá su funcionamiento. Un modulo es un segmento, rutina, subrutina, subalgoritmo oprocedimiento, que puede definirse dentro de un algoritmo con el fin de ejecutaruna tarea especifica y puede ser llamado o invocado desde el algoritmo principalcuando sea necesario.
  3. 3. 3 Ejemplo: Se necesita diseñar un algoritmo que ayude a un niño a revisar sus tareasreferentes a las operaciones aritméticas fundamentales: sumar, restar, multiplicary dividir. El proceso es el siguiente: Se ofrecerá un menú de opciones para escoger lo que desee hacer, deacuerdo con el siguiente formato: TE PUEDO AYUDAR A: 1. 1. SUMAR 2. 2. RESTAR 3. 3. MULTIPLICAR 4. 4. DIVIR 5. 5. FIN OPCION En el caso de la suma el procedimiento es el siguiente: leer los dosnúmeros y el resultado obtenido por el niño, hacer el calculo de la maquina,comparar ambos resultados y decirle si esta correcto o incorrecto. Se le puedepermitir realizar las revisiones de operaciones de suma que sean necesarias. Parael caso de la resta, multiplicación y división se seguirá un procedimiento similar,claro está, con las diferencias existentes. Características  El programa principal o de control se prueba en primer lugar  Los módulos se integran uno por uno  Se hace hincapié en las pruebas de las interfaces
  4. 4. 4 Beneficios  Simplificación del problema y de los subprogramas de cada descomposición.  Las diferentes partes del problema pueden ser programadas de modo independiente e incluso por diferentes personas.  El programa final queda estructurado en forma de bloque o módulos lo que hace más sencilla su lectura y mantenimiento.Bottom Up El diseño ascendente se refiere a la identificación de aquellos procesos quenecesitan computarizarse con forme vayan apareciendo, su análisis como sistemay su codificación, o bien, la adquisición de paquetes de software para satisfacer elproblema inmediato. Características  Permite una prueba temprana de módulos particulares  Los módulos se pueden integrar en diversos grupos  Se hace hincapié en la funcionalidad y prestaciones de los módulos La diferencia del tipo de diseño ascendente y descendente solo se puededar a la hora de la programación. Porque en el momento de dibujar la estructuradel problema, en las dos formas el diseño queda igual, solamente que los módulosson enumerados en forma diferente, pero esto se hace pensando ya en como seva a comenzar a programar. En el diseño ascendente primero se programan losmódulos que se encuentran mas abajo de la estructura, hasta llegar al primermodulo dibujado.
  5. 5. 5 Ejemplo: Realiza el diseño ascendente para la gestión del control de un hotelutilizando la siguiente información:  pagos a empleados (nombre, puesto, sueldo, horas extra)  prestamos externos (cliente, préstamo, aval, plazo)  libro de reservaciones(nombre, departamento, entrada, salida)  mantenimiento (área, daños, total) Esta gráfica muestra los módulos generales que va a contener el programa. SUBPROGRAMA CONTROL 20SUBPROGRAMA SUBPROGRAMA SUBPROGRAMA SUBPROGRAMA PAGOS A PRESTAMOS LIBROS DE MANTENIMIENTO EMPLEADOS 5 EXTERNOS RESERVACIONES 15 19 Áreas de Aplicación y Beneficios de Top Down y Botton-Up En el proceso de desarrollo de software, los enfoques Top-down y Bottom-up juegan un papel crucial. El diseño Top-down fue promovido en los setenta por los investigadores deIBM Harlan Mills y Niklaus Wirth. Mills desarrolló los conceptos de programaciónestructurada para usos prácticos y los probó en un proyecto en 1969 paraautomatizar el índice de la morgue del New York Times. El éxito administrativo e
  6. 6. 6ingenieril del proyecto hicieron que el enfoque top-down se esparciera por IBM ypor el resto de la industria de los computadores. Niklaus Wirth, que entre suslogros está el desarrollo del lenguaje de programación Pascal, escribió el artículoProgram Development by Stepwise Refinement, que tuvo mucha influencia. El enfoque top-down enfatiza la planificación y conocimiento completo delsistema. Se entiende que la codificación no puede comenzar hasta que no se hayaalcanzado un nivel de detalle suficiente, al menos en alguna parte del sistema.Esto retrasa las pruebas de las unidades funcionales del sistema hasta que granparte del diseño se ha completado. Bottom-up hace énfasis en la programación y pruebas tempranas, quepueden comenzar tan pronto se ha especificado el primer módulo. Este enfoquetiene el riesgo de programar cosas sin saber como se van a conectar al resto delsistema, y esta conexión puede no ser tan fácil como se creyó al comienzo. Lareutilización del código es uno de los mayores beneficios del enfoque bottom-up. El desarrollo de software moderno usualmente combina tanto Top-downcomo Bottom-up. Aunque un conocimiento completo del sistema se considerausualmente necesario para un buen diseño, haciendo que teóricamente sea unenfoque top-down, la mayoría de proyectos de desarrollo de software tratan deusar código existente en algún grado. El uso de módulos existentes le dan aldiseño un sabor bottom-up. Algunos enfoques usan un enfoque en el que unsistema parcialmente funcional es diseñado y programado completamente, y estesistema se va expandiendo para llenar los requisitos del proyecto.
  7. 7. 7Diagrama de Flujo Son una manera de representar visualmente el flujo de datos a travéz desistemas de tratamiento de información. Los diagramas de flujo describen queoperaciónes y en que secuencia se requieren para solucionar un problema dado. Un diagrama de flujo u organigrama es una representación diagramáticaque ilustra la secuencia de las operaciones que se realizarán para conseguir lasolución de un problema. Los diagramas de flujo se dibujan generalmente antesde comenzar a programar el código frente a la computadora. Los diagramas deflujo facilitan la comunicación entre los programadores y la gente del negocio. Ejemplos de Diagramas de Flujo Diagrama de flujo que encuentra la suma de los primeros 50 númerosnaturales
  8. 8. 8 Suma, es la variable a la que se le va agregando la valor de cada númeronatural. N, es el contador. Éste recorrerá lo números hasta llegar al 50. El primer bloque indica el inicio del Diagrama de flujo El segundo bloque, es un símbolo de procesos, en este bloque se asume quelas variables suma y N han sido declaradas previamente y las inicializa en 0 paracomenzar a el conteo y la suma de valores (Para declararlas existe el bloqueTarjeta perforada). El tercer bloque, es también un Símbolo de procesos. En éste paso seincrementa en 1 la variable N (N = N + 1). Por lo que, en la primera pasada esta Nvaldrá 1, ya que estaba inicializada en 0.El cuarto bloque es exactamente lo mismo que el anterior Pero en éste, ya se leagrega el valor de N a la variable que contendrá la suma (En el primer casocontendrá 1, ya que N = 1).
  9. 9. 9 El quinto bloque es uno Símbolo de Toma de decisiones y Ramificación Loque hay dentro del bloque es una pregunta que se le hace a los valores queactualmente influyen en el proceso (Por decir algo, no se como decirlo, soy muysope :D)¿Es N=50?, Obviamente la respuesta es no, ya que N todavía es 1. por loque el flujo de nuestro programa se dirigirá hacía la parte en donde se observa lapalabra 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. Ha pues, regresa alTercer bloque y vuelve hacer lo mismo. Y así hasta llegar a 50, obteniendo así lasuma de los primeros 50 primeros números naturales. Por último indicamos que el resultado será mostrado en la impresora (Estelo puedes cambiarlo por el display para mostrar datos). Fin del programa (o diagrama) Beneficios  Permite la puesta en común de conocimientos individuales sobre un proceso, y facilita la mejor comprensión global del mismo.
  10. 10. 10  Proporciona información sobre los procesos de formaclara, ordenada y concisa. Características de los Diagramas de Flujo Debido a sus características principales, la utilización del Diagrama de Flujoserá muy útil cuando:- Se quiere conocer o mostrar de forma global un proceso.-Para comparar dos procesos o alternativas de uno dado.- Se necesita una guíaque permita un análisis sistemático de un proceso Áreas de Aplicación Se utiliza principalmente en programación, economía y procesosindustriales. Los Diagramas de Flujo en el área de informática nos permiten laapreciación paso por paso de lo que estamos haciendo en un determinadoproblema y la manera ordenada en cómo se deben relacionar cada punto parallegar a un determinado finaly mantener una vista clara y ordenada del sistema enel que estamos trabajando para que sea acorde con el esfuerzo con el que setrabajó.Diagramas Estructurados El diagrama estructurado también conocido como diagrama de chapin escomo un diagrama de flujo en el que se omiten las flechas de unión y las cajas soncontiguas. Beneficios  Adopta la filosofía de la programación estructurada, que utiliza un enfoque descendente.
  11. 11. 11  Utiliza un número limitado de símbolos de tal forma que el diagrama de flujo ocupa menos espacio y puede leerse con cierta finalidad.Ejemplo: Un algoritmo se representa en la sig. forma: Inicio Accion1 Accion2 ... Fin Inicio Leer Nombre,Hrs,Precio Calcular Salario = Hrs * Precio Calcular Imp = Salario* 0.15 Calcular Neto = Salario + Imp Escribir Nombre, Imp, SNeto Fin
  12. 12. 12 Características  Fácil de leer y comprender.  Fácil de codificar en una amplia gama de lenguajes y en diferentes sistemas.  Fácil de mantener.  Eficiente, aprovechando al máximo los recursos de la computadora.  Modularizable. Aplicaciones de los Diagramas Estructurados Los diagramas de flujo estructurados, como su nombre menciona, esactualmente caracterizado como una herramienta de la programaciónestructurada. Gracias a esta herramienta (y debido a las características de laprogramación estructurada) podemos interpretar cada acción de un programa yrepresentarlo gráficamente (en un diagrama estructurado) con la debida estructura(simple o compuesta) de la diagramación estructurada.
  13. 13. 13 CONCLUSIÓN En esta investigación se abarcó diferentes técnicas de diseño las cualesson el Top Down, Bottom Up Diagrama de Flujo, Diagrama Estructurado La técnica Top Down también es conocida como arriba-abajo y consiste enuna serie de niveles de menor a mayor complejidad que dan solución al problema,en esencia consiste en efectuar una relación entre las etapas de la estructuraciónde forma que una etapa jerárquica y su inmediato inferior se relacionan mediantela entrada y salida de información. La técnica Bottom Up es conocida también como ascendente, la diferenciaentre el bottom up y el top down es que los módulos son enumerados de formadiferente. En el bottom up se enumeran primero los módulos inferiores hasta llegaral modulo superior.

×