Diseño Estructurado de Algoritmos

Anuncio
Diseño Estructurado de
Algoritmos
DISEÑO ESTRUCTURADO DE ALGORITMOS
Sesión No. 6
Nombre: Técnicas de diseño
Objetivo de la sesión: Al concluir la sesión el estudiante identificará las
principales características y casos en que es recomendable aplicarse las
técnicas de diseño top-down y bottom-up.
Contextualización
En la búsqueda de soluciones, los humanos generan estrategias que le permiten
profundizar y de una forma sencilla tener desde un principio las bases que le
permitan la resolución de problemas.
El tema de esta sesión son las técnicas de diseño y que podríamos definirlo
como la generación de estrategias que permiten solucionar algún problema de
forma más rápida.
En el área que nos interesa, que es el desarrollo de algoritmos, las técnicas de
diseño se basan en una estructura definida que permiten llegar a soluciones
rápidas mediante una serie de estrategias.
1
DISEÑO ESTRUCTURADO DE ALGORITMOS
Introducción al Tema
¿Qué técnicas para el diseño de programas te imaginas que existen?
Durante el paso del tiempo las formas de realizar un programa han ido
mejorando debido a que se buscan diseños que faciliten su desarrollo, tomando
en cuenta los problemas que iban surgiendo.
En esta sesión se conocerán las técnicas de diseño más utilizadas y la forma de
aplicarlas según la necesidad del programador. Una de éstas se denomina TopDown porque su estructura es de forma descendente (de arriba hacia abajo).
Y la otra es Bottom Up debido a que se realiza una estructura de forma
ascendente (de abajo hacia arriba).
Estas técnicas te permitirán simplificar el desarrollo del programa facilitando la
lectura y su mantenimiento.
2
DISEÑO ESTRUCTURADO DE ALGORITMOS
Explicación
¿Alguna vez habías escuchado el término Top-Down?
Este tipo de diseño se encarga de crear una serie de niveles generando un
bloque, empezando con el problema más difícil hasta llegar a los niveles
inferiores (de forma descendente).
Se trata de generar una relación entre todas las etapas del programa mediante
las entradas de información y las salidas.
Para comenzar con el diseño se debe generar una visión estructural sin hacer
especificaciones, después se realiza una descomposición de los componentes
donde se genera un refinamiento.
Mediante la descomposición del problema lo que se desea es llegar a un análisis
más detallado de las instrucciones que forman parte del programa.
El diseño Top-Down tiene como objetivo:
•
Generar una simplificación del problema.
•
Al generar una descomposición de las partes del problema se puede
programar de forma independiente, sin importar qué persona lo realice.
•
La finalidad es que el programa quede estructurado en un módulo, esto
quiere decir que se generan grupos de instrucciones que realizan
3
DISEÑO ESTRUCTURADO DE ALGORITMOS
funciones, esto permitirá una lectura más sencilla y un mejor
mantenimiento.
•
Cada módulo debe ser tratado en la misma manera que el problema
general, el diseño top-down hace que el problema general se convierta en
problemas más específicos y en general más fáciles de resolver (Abdiel
Cáceres González. 2009).
¿Ubicas el término Bottom up?
•
A diferencia del diseño Top-Down, el diseño Bottom Up es formado a
través de una estructura ascendente; se basa en la identificación de los
procesos que necesitan transcribirse según aparezca el análisis y su
configuración. Aquí se consideran todas las partes por separado y se
diseñan con cuidado, después se enlazan hasta formar el programa
completo.
4
DISEÑO ESTRUCTURADO DE ALGORITMOS
Las estrategias de este diseño se basan en un conocimiento detallado de todas
las variables que puedan afectar el programa. Se puede comenzar desde que se
ha especificado el primer módulo, pero tiene un gran beneficio, ya que puede ser
reusado el código. Se puede decir que en este diseño se brincan los primeros
pasos como la definición del problema, la planeación de los objetivos, etcétera.
Pasos para el diseño:
•
Se planifican los últimos niveles que se necesiten.
•
Se detallan desde el principio las partes más difíciles.
•
Se realiza el diseño del problema final, ajustándolos con los primeros
diseños.
Se debe tener en cuenta que utilizando este diseño pueden existir riesgos,
porque desde el principio no se tiene una idea clara de cómo se conectarán
todos los procesos y puede no ser tan sencillo, debido a que no se consideran
los objetivos, ya que estos no permiten un buen resultado.
5
DISEÑO ESTRUCTURADO DE ALGORITMOS
Conclusión
¿Cuál es la mejor técnica de diseño?
Existen diferencias claras entre los dos tipos de diseño tratados en esta sesión,
cada una genera un resultado diferente ante un problema.
Pongamos un ejemplo práctico:
Sabemos que una empresa cuenta con una estructura interna, una de ellas es
que está dividida en varios departamentos como: recursos humanos,
mantenimiento, ventas, mercadeo, contabilidad, etcétera.
Supongamos que existen problemas en los departamentos, podríamos aplicar
una técnica de diseño para llegar a una solución.
Primero ocuparemos el diseño Bottom Up, creando un programa que sólo
solucione el problema generado.
Si la empresa después de un tiempo integra un sistema global que permita la
solución de los problemas de todos los departamentos, se notará que las
soluciones no coinciden, esto pasa porque con éste no hay un análisis previo.
Sin embargo, si para llegar a la solución del problema se utiliza el diseño TopDown se obtendrá el diseño ideal que cubra todas las necesidades, toda vez que
existirá un análisis que permita un buen mantenimiento.
6
DISEÑO ESTRUCTURADO DE ALGORITMOS
Para aprender más
¿Quieres conocer más técnicas de diseño?
•
ITESCAM. (s/f). Metodología para la solución de problemas. Consultado
el 17 de marzo de 2013:
http://brd.unid.edu.mx/metodologia-para-la-solucion-de-problemas/
¿Quieres saber más sobre las técnicas de diseño Top-Down y Bottom Up?
•
Marco teórico. Metodologías de diseño. (2010). Consultado el 17 de
Marzo del 2013: http://brd.unid.edu.mx/metodologias-de-diseno/
•
Balderrama Vásquez, C. Algoritmos. Metodología de la Programación I.
pp.48-50. Consultado el 16 de marzo del 2013;
http://brd.unid.edu.mx/algoritmos-metodologia-de-la-programacion-i/
7
DISEÑO ESTRUCTURADO DE ALGORITMOS
Actividad de Aprendizaje
Instrucciones:
Con la intención de fortalecer los conocimientos ganados a lo largo de esta
sesión, realiza un cuadro comparativo con la finalidad de proporcionar las
principales características de estás dos técnicas de diseño.
Principales
Ventajas
Características
Diseño
Desventajas
Ejemplo
aplicación
Top-
down
Diseño
Bottom-Up
Puedes realizarlo en cualquier programa, al final tendrás que guardarlo como
PDF con la finalidad de que no existan modificaciones y así subirlo a la
plataforma.
Recuerda que la actividad te ayudará a contextualizar, para que al momento de
que realices el diseño de un programa sepas aplicar el diseño óptimo para la
solución de tu problema.
Se tomará en cuenta lo siguiente:
•
Tus datos generales
•
Referencias bibliográficas
•
Ortografía y redacción
•
Introducción
•
Contenido
8
DISEÑO ESTRUCTURADO DE ALGORITMOS
Cibergrafía
Balderrama, C. (s/f). Algoritmos. Metodología de la Programación I. Consultado
el 16 de marzo del 2013:
http://www.sistemas.edu.bo/cbalderrama/sis%201100/LIBROS/Libro%20Base/T
EMA%202.pdf
Hernández, M. (1998). Diseño estructurado de algoritmos. Instituto Tecnológico
de Tuxtepec. Consultado el 16 de Marzo del 2013:
www.cs.famaf.unc.edu.ar/~fridlend/cursos/algoritmos2/.../parte3.pdf
ITESCAM. (s/f). Metodología para la solución de problemas. Consultado el 17 de
Marzo del
2013: http://www.itescam.edu.mx/principal/sylabus/fpdb/recursos/r62287.PDF
Jorurbano. (2012).Top-Down. Consultado el 16 de Marzo del 2013:
http://www.slideshare.net/jorurbano/top-down-13284489
Marco teórico. Metodologías de diseño. (s/f). Consultado el 17 de Marzo del
2013: http://bdigital.eafit.edu.co/PROYECTO/P620.0042CDR436A/marcoTeorico
.pdf
9
Descargar