Consigna del examen final · La propuesta técnica de solución (ASD)
Lanzamiento: miércoles 15 jul 2026 (presencial) · Entrega: jueves 23 jul 2026, 23:59 Defensa oral: viernes 24 jul 2026, 4:00–8:00 PM · Modalidad: grupal (los 6 grupos) Peso: 25% de la nota final del curso.
Tienen más de una semana (15 → 23 jul) para producir el documento. No es un sprint de un
día; es tiempo para pensar las decisiones con calma.
En una frase
Cada grupo recibe, por sorteo, un TDR distinto (la necesidad de un cliente ficticio, un caso realista del contexto salvadoreño) y produce un documento: la propuesta técnica de cómo se va a construir la solución (arquitectura, patrones, stack, trade-offs), que cierra con una estimación breve de esfuerzo y costo.
Es el mismo documento que en la industria se llama propuesta técnica de solución. No escriben código: deciden y justifican. Ese es el músculo que entrenamos todo el curso, ahora sobre un problema nuevo que no vieron antes.
1. De dónde parten: su TDR
A cada grupo le toca, por sorteo, un TDR distinto (Términos de Referencia): un caso ficticio pero realista, ambientado en el contexto salvadoreño y escrito desde la voz de un cliente. El TDR dice qué se necesita; no dice cómo hacerlo: eso lo deciden ustedes. (El cliente y la organización son inventados para la clase; el tipo de problema sí es real.)
El TDR tiene huecos a propósito. El cliente no es técnico: no definió la arquitectura, ni los patrones, ni el stack, y dejó cosas sin especificar. Detectar esos huecos y resolverlos con criterio es parte central de la nota. Un buen documento hace explícito lo que el cliente asumió sin decir.
2. Qué entrega cada grupo
Un documento en PDF, 8–15 páginas (sin contar portada ni anexos), con las secciones que se listan en el punto 3. Un solo archivo por grupo.
Cómo entregarlo:
- Por Moodle, en la tarea del examen final. Suban el PDF (un solo archivo por grupo).
- Nombre del archivo:
TDR<n>-<grupo>.pdf(usen el número de su TDR y el nombre de su grupo, o “Grupo N” si no tienen nombre). Ejemplo:TDR4-LosPatrones.pdf. - Fecha límite: jueves 23 jul, 23:59 (medianoche del jueves). Moodle cierra a esa hora; no dejen la subida para el último minuto.
El formato visual es libre (Google Docs, Word, Markdown exportado, lo que dominen). No se evalúa el diseño gráfico; se evalúa el contenido y el criterio. No pierdan tiempo en la estética del documento.
Referencia para arrancar. Más abajo tienen una plantilla con las secciones ya armadas,
cada una con “qué va acá” y un ejemplo lleno, de un sistema distinto al de ustedes (una
plataforma de telemedicina). Cópienla y llénenla con su TDR. No arrancan de una hoja en blanco.
Ojo con el nivel del ejemplo. La plantilla está llena al nivel sobresaliente y usa una
arquitectura de servicios que no vimos en clase. NO se espera que lleguen a ese nivel de
arquitectura. Lo que se espera es ese nivel de justificación de patrones. Un sistema
organizado en módulos con responsabilidades claras (como el legacy que trabajaron todo el
curso: órdenes, notificaciones, pagos…) y 3-4 patrones bien puestos y justificados es
sobresaliente. Copiar la forma (microservicios, muchos patrones) sin el criterio es la
sobre-ingeniería que se penaliza.
3. Anatomía del documento (secciones obligatorias)
Estas secciones son el esqueleto. Cada una se apoya en algo que ya vieron en el curso.
-
Contexto y objetivo. En sus palabras: qué organización es, qué problema tiene (con su costo), qué debe lograr el sistema. Cierren con el objetivo del MVP en una frase medible.
-
Alcance y fuera de alcance. Qué SÍ resuelve el sistema y, sobre todo, qué NO. El “fuera de alcance” tiene que existir y tener criterio (YAGNI): cada exclusión con su razón. Aquí van los huecos del TDR que decidieron dejar fuera.
-
Requerimientos funcionales. Qué hace el sistema, por módulo o por rol, con operaciones concretas. Marquen cuáles vienen del TDR y cuáles infirieron ustedes.
-
Requerimientos no funcionales. Los atributos de calidad (concurrencia, disponibilidad, seguridad, auditoría…): qué tan bien tiene que funcionar el sistema, no qué hace. Aten cada uno a algo del TDR. Un no-funcional se vuelve verificable cuando le ponés un criterio: no “rápido” sino “responde en menos de X”, no “seguro” sino “acceso por rol, datos cifrados”. Poner números donde tenga sentido suma; lo mínimo es identificar los del TDR y no ignorarlos.
-
Arquitectura propuesta. Cómo se organiza el sistema: sus módulos (las piezas en que lo dividen), qué hace cada uno, cómo se comunican, dónde viven los datos, qué servicios externos se integran. Con al menos un diagrama (cajas para los módulos y flechas para lo que habla con qué; ASCII o imagen sirve). Debe responder al problema real del TDR, no ser un diagrama genérico de libro. Pensá en el legacy que trabajaron: sus módulos (órdenes, pagos, notificaciones) y cómo se relacionan. Ese nivel de organización es una respuesta válida y suficiente; no hace falta arquitectura de servicios.
-
Patrones de diseño. El corazón del documento. Qué patrones aplican, dónde en el sistema y por qué ese y no otro. Por cada uno, una frase de “cuándo NO lo usaría acá”. Esperamos los que el dominio pida con criterio (típicamente 3 a 6). Si tu caso justifica solo 3 impecables, explicá por qué y no penaliza. Lo que baja la nota es el patrón forzado para llegar a un número, no la cantidad.
-
Modelo de datos y stack tecnológico. Las entidades principales y sus relaciones, y las tecnologías elegidas con su porqué atado a un requerimiento o NFR. Incluyan por qué descartaron una alternativa obvia. No una lista de modas.
-
Trade-offs, supuestos y riesgos. Por cada decisión grande, qué alternativa descartaron y qué costo aceptaron. Qué asumen que el cliente debe cumplir. Qué puede salir mal y cómo lo mitigan.
-
Estimación (la sección de cierre, corta). Un par de párrafos: esfuerzo aproximado (personas y roles), cronograma por fases y un costo estimado con sus supuestos. No se evalúa si el monto es “el correcto” (nadie espera una cotización real), sino que sea coherente con el alcance y la arquitectura que ustedes mismos definieron. Una arquitectura grande estimada en dos semanas es incoherente. Estimar los ayuda a dimensionar su propia solución.
Es un solo documento. Las secciones 1–8 son el grueso (arquitectura y patrones, que es
lo que más pesa en la nota); la sección 9 es un cierre breve, como en cualquier propuesta
real. No es un segundo entregable.
4. La defensa (24 jul)
El viernes 24 cada grupo presenta y defiende el documento que subió a Moodle (el mismo, no una versión nueva) en ~30 min: ~15 min de exposición + ~12 min de preguntas. Repártanse la exposición entre el grupo; no presentan código, defienden decisiones.
Habrá preguntas, y pueden ir dirigidas a cualquier integrante. No es un cuestionario a todos por igual: son las preguntas que surjan sobre sus decisiones, y se las puedo hacer a quien quiera del grupo. Por eso conviene que todos entiendan el documento, no solo el que lo escribió. No buscamos que se sepan todo de memoria; buscamos que sostengan lo que decidieron. Preguntas típicas: “¿por qué este patrón acá y no otro?”, “¿qué pasa con este requerimiento del TDR que no veo resuelto?”, “¿por qué este stack?“.
5. Fechas
| Cuándo | Qué pasa |
|---|---|
| mié 15 jul (lanzamiento) | Rifa del TDR + arranque en clase (leer TDR, anotar huecos). |
| 15 → 23 jul | Producción: el grupo escribe el documento (más de una semana). |
| lun 21 jul (opcional) | Checkpoint voluntario: si quieren feedback antes de entregar, mándenme por Teams 5-6 bullets (ver sección 7). Les respondo en dos líneas. No se califica. |
| jue 23 jul, 23:59 | Entrega: el PDF por Moodle (medianoche del jueves). |
| vie 24 jul, 4:00–8:00 PM | Defensa oral de los 6 grupos (~30 min c/u). |
6. Reglas
- Un TDR por grupo, no se cambia. El que les tocó en el sorteo es el que defienden.
- Casi no va código. Es un documento de decisiones. Un snippet corto (hasta ~10 líneas, la interfaz de un patrón y sus métodos) para ilustrar está bien; clases implementadas o lógica de negocio, no. Si dudás, describilo en prosa.
- Todos entienden el documento. Le puedo preguntar a cualquier integrante sobre cualquier decisión (ver sección 4). No alcanza con que uno solo sepa defenderlo.
- Los patrones que el dominio pida, con criterio. Meter patrones de más porque sí es el anti-patrón que criticamos todo el curso. Se penaliza la sobre-ingeniería, no la cantidad justa.
- El “fuera de alcance” y los trade-offs no son relleno. Son donde se ve el criterio de ingeniero. Un documento sin ellos está incompleto.
- Sobre la IA: pueden usarla como asistente (para redactar, ordenar, revisar). Pero cada decisión del documento tiene que poder defenderse sin ayuda en la oral del 24. La nota real se juega ahí: si el documento dice algo que el grupo no puede sostener ni explicar por qué, no cuenta. Usen la IA para escribir mejor, no para decidir por ustedes.
- Dudas: por Teams, respondo estos días.
7. Por dónde arrancar
No abran tres documentos sin rumbo. El orden para empezar:
- Terminen de leer esta consigna. Es el mapa: qué entregan, cómo se califica y qué secciones lleva. (Si llegaron hasta acá, ya casi.)
- Copien la plantilla (en
pds.cesar.sh/asd-final) y empiecen a llenarla con su TDR. La sección 3 de arriba y las 9 secciones de la plantilla son el mismo esqueleto. - Repártanse el trabajo como grupo y fijen cuándo se reúnen. Cada quien tiene que poder defender su parte (sección 4).
Checkpoint voluntario (lun 21 jul): si quieren saber si van bien antes de entregar, mándenme por Teams, a más tardar el lunes 21, 5-6 bullets: (a) su patrón “estrella” y dónde lo ponen, (b) el requerimiento no funcional más crítico de su TDR, (c) los módulos principales en que dividen el sistema. Les respondo en dos líneas. No se califica: es una red de seguridad para que nadie llegue al 23 con el rumbo equivocado.