El enfoque
conocido como diseño Top-Down o en forma análoga programación estructurada,
cuya ventaja es proporcionar una estructura al proceso completo.
La solución de cualquier problema puede darse
en varias formas o, como se les llamará, niveles de abstracción. (Ver Simple-DocIRS).
El enfoque
top-down es de algún modo contrario a la Programación Extrema, dado que
enfatiza la planificación y conocimiento del modelo y diseño funcional del
sistema antes de comenzar a desarrollar. Se entiende que no es recomendable
comenzar producir código hasta que no se haya alcanzado un nivel de detalle
suficiente, al menos sobre la arquitectura de la aplicación y posible
integración con otros sistemas.
El proceso
de solución comienza con un enunciado muy general o abstracto de la solución del
problema, expresado en términos del problema mismo.
A continuación, se procederá a refinar esta
solución elaborando los detalles que se habían ignorado previamente, de lo que
resulta una solución nueva que es muchísimo menos abstracta. Este proceso continúa
a través de un cierto número de etapas cada vez más refinadas, hasta que se ha
logrado un nivel de detalles apropiado.
Esta es la
esencia del diseño top-down. Se trabaja a partir de una solución muy abstracta
(el nivel inicial top) hasta llegar a una construcción final, mediante una
serie de refinamientos sucesivos. Este enfoque es independiente de cualquier
lenguaje de programación; de hecho, se está programando dentro de un lenguaje de
programación, más que en uno.
Diseño de Red con Top - Down
El diseño
top-down es una técnica que han aplicado durante muchos años los buenos
programadores.(Dijkstra 1968). Este enfoque es atrayente porque puede definir
una estructura para el proceso no
estructurado del desarrollo de programas.
La atención se concentra en el
diseño, en vez de hacerlo en los detalles de la construcción y, por tanto,
limita el número de «pelotas» que será necesario tratar a un tiempo. Como toda
herramienta, su uso es más eficiente cuando se tiene alguna práctica con ella.
El sentido común, la intuición y la creatividad
continúan siendo atributos valiosos del programador.
La
programación automática es un modo automatizado para crear programaciones de
proyectos.
La programación automática permite crear un modelo del plan y
generar fechas para las tareas
y el proyecto global.
La programación automática está diseñada para programar
tareas de proyecto mientras se minimizan los retrasos y las expansiones que
pueden causar retrasos en el plazo, y
mientras se elimina o minimiza la adjudicación por exceso del recurso.
Inteligencia Artificial - Programación Automática