Top-Down + fragmentación: un programa que controle el acceso a un sistema
El enfoque Top-Down y la fragmentación de problemas no son cosas distintas: se complementan. El enfoque Top-Down te dice por dónde empezar (la visión general) y la fragmentación te dice qué hacer después (dividir en partes). Vamos a verlo con un ejemplo muy sencillo y práctico.
Ejemplo: un programa que controle el acceso a un sistema 🔐
Problema general (visión Top-Down):
El sistema debe permitir el acceso solo a usuarios con contraseña correcta.
Aquí aún no hablamos de código, solo de qué debe hacer el sistema.
Nivel 1 – Fragmentación principal
Dividimos el problema en problemas más pequeños por bloques:
- Bloque 1: Pedir el nombre de usuario.
- Bloque 2: Pedir la contraseña.
- Bloque 3: Comprobar si los datos son correctos.
- Bloque 4: Mostrar si se permite el acceso o no.
Ya hemos aplicado Top-Down (empezar desde arriba) y fragmentación (dividir el problema en otros problemas más pequeños).
Nivel 2 – Más fragmentación (bajamos un escalón)
Ahora detallamos cada bloque:
- Bloque 1: Pedir el nombre de usuario
- Mostrar mensaje.
- Leer el texto introducido.
- Bloque 2: Pedir la contraseña
- Mostrar mensaje.
- Leer la contraseña.
- Bloque 3: Comprobar datos
- Comparar usuario.
- Comparar contraseña.
- Bloque 4: Mostrar resultado
- Si son correctos → acceso permitido.
- Si no → acceso denegado.
Cada subproblema es ya muy concreto y fácil de programar.
Nivel 3 – Preparado para programar
Llegados a este punto, cada parte se puede convertir casi directamente en código, pseudocódigo o un diagrama de flujo, sin improvisar ni dudar.