Informe de Clase: Desarrollo de Sistemas (Año 3) – Semana 51
~ Comienza la implementación del proyecto final: convertir el diseño en un sistema funcional ~
En la semana 51, basándose en los diseños del proyecto final decididos previamente,
comenzó oficialmente la fase de implementación.
A partir de este punto, los estudiantes empezaron a transformar los documentos de diseño en código real, incluyendo:
- Integración de API
- Funcionalidad de IA generativa
- Manejo de errores
- Diseño de registro de logs
■ Introducción del profesor: “Confíen en el diseño durante la implementación”
Sr. Tanaka:
“Cuando comienza la implementación, pueden sentir la tentación de ignorar el diseño y simplemente escribir código.
Pero cada vez que se pierdan, vuelvan al diseño.
El diseño es el mapa del desarrollo.”
Señaló problemas comunes que ocurren durante la implementación:
- Escribir código que se desvía del diseño
- El colapso gradual de la estructura del sistema
- Las capas de UI comenzando a llamar APIs directamente
Enfatizó la importancia de mantener la separación de responsabilidades.
■ Objetivos de hoy
- Crear la estructura básica del proyecto en código
- Implementar la base de un cliente de API
- Preparar la capa de invocación del cliente de IA
- Configurar la base para logging y manejo de excepciones
■ Ejercicio 1: Creación de la estructura del proyecto
Cada equipo comenzó construyendo la estructura de carpetas de su proyecto.
Ejemplo:
project/
├─ app/
│ ├─ ui/
│ ├─ service/
│ ├─ api_clients/
│ ├─ ai_clients/
│ └─ models/
├─ logs/
├─ tests/
└─ README.md
Puntos clave:
- Separar las capas UI / Service / API
- Agrupar la funcionalidad de IA en un cliente dedicado
- Preparar un directorio de logs desde el principio
Estudiante A:
“¡Solo crear la estructura ya hace que se sienta como un proyecto real!”
■ Ejercicio 2: Implementación del cliente de API
A continuación, los estudiantes crearon una clase para llamar a APIs externas.
Ejemplo de aprendizaje
class WeatherApiClient:
def fetch(self, city):
response = requests.get(
"https://api.example.com/weather",
params={"city": city},
timeout=5
)
response.raise_for_status()
return response.json()
Puntos importantes:
- Establecer un tiempo límite (timeout)
- Manejar errores HTTP
- Convertir las respuestas a JSON
El profesor recordó a la clase:
“Siempre escriban código de API asumiendo que fallará.”
■ Ejercicio 3: Construcción del esqueleto del cliente de IA
La integración de IA generativa se estructuró de forma similar.
Service
↓
AiClient
↓
AI API
Ejemplo conceptual:
class AiClient:
def generate(self, prompt):
response = ai_api_call(prompt)
return response
En esta etapa:
- Generación de prompts
- Validación de salidas
se diseñaron para permanecer en la capa Service.
Estudiante B:
“Tratar la IA como si fuera simplemente otro servicio externo hace que la estructura sea más fácil de manejar.”
■ Ejercicio 4: Configuración de logging y manejo de errores
Los estudiantes añadieron una configuración de logging compartida en todo el proyecto.
Ejemplo:
import logging
logging.basicConfig(
filename="logs/app.log",
level=logging.INFO
)
Los logs registrarán:
- Llamadas a API
- Salidas de IA
- Errores
- Ejecución de mecanismos de fallback
Estudiante C:
“Tener logs hace que la implementación se sienta mucho más segura.”
■ Ejercicio 5: Primera prueba de ejecución
Finalmente, los equipos probaron:
- Llamadas a API
- Llamadas a IA (usando una implementación simulada)
Aunque las funciones aún no están completas,
la base de un sistema funcional ya ha sido establecida.
■ Ideas clave de la clase
- Seguir el diseño reduce la confusión
- Separar los clientes de API de los Services es importante
- El logging debe implementarse desde el principio
- La funcionalidad de IA puede tratarse como cualquier otro servicio API
■ Comentario final del profesor
“El trabajo de hoy es como poner los cimientos de un edificio.
Si los cimientos son débiles,
cualquier función adicional que se agregue después hará que la estructura colapse.
Pero si la estructura es sólida,
pueden añadir tantas funciones como quieran.”
■ Tarea (antes de la próxima semana)
- Completar la funcionalidad básica de integración con la API
- Añadir la lógica de generación de prompts de IA en la capa Service
- Implementar manejo de fallback para escenarios de error
■ Avance de la próxima semana: Fase de implementación de funciones
La próxima semana, los estudiantes trabajarán en:
- Implementar la funcionalidad de IA
- Procesar datos de APIs
- Mostrar resultados en la UI
Esto llevará el proyecto a la etapa en la que
las principales funciones del sistema comenzarán a tomar forma.
La semana 51 marcó el momento en que
el proyecto final realmente empezó a cobrar vida.
Al transformar sus diseños en código funcional,
los estudiantes están comenzando a convertir tres años de aprendizaje en un sistema real.

