From 4f8b62d7e2ed2332a5d49606279d58cc5aefcdee Mon Sep 17 00:00:00 2001 From: "Guillermo.Arrieta" Date: Thu, 26 Feb 2026 18:33:48 +0000 Subject: [PATCH] =?UTF-8?q?A=C3=B1adir=20Requerimientos=20Funcionales?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Requerimientos-Funcionales.md | 195 ++++++++++++++++++++++++++++++++++ 1 file changed, 195 insertions(+) create mode 100644 Requerimientos-Funcionales.md diff --git a/Requerimientos-Funcionales.md b/Requerimientos-Funcionales.md new file mode 100644 index 0000000..926ea04 --- /dev/null +++ b/Requerimientos-Funcionales.md @@ -0,0 +1,195 @@ +# Requerimientos funcionales +*(lunes, 8 de diciembre de 2025, 12:00 p. m.)* + +## 1. Gesti贸n de usuarios, roles y permisos 馃懃 +1. El sistema debe permitir autenticaci贸n de usuarios internos (SSO / clave ultra y contrase帽a) y externos (correo + contrase帽a, por ahora v铆a Supabase Auth). +2. El sistema debe manejar roles m铆nimos: + * Vicerrector铆a acad茅mica + * Direcci贸n de facultad + * Secretario acad茅mico + * Jefe de carrera + * Coordinaci贸n de Desarrollo Humano Profesional + * Planeaci贸n Curricular/biblioteca + * Profesor experto de materia + * Usuario invitado / experto externo (solo lectura o comentarios) +3. El sistema debe permitir definir permisos por rol sobre un plan de estudios: + * Ver plan + * Editar contenidos de plan + * Editar solo ciertas secciones (ej. profesor solo su materia) + * Comentar/ sugerir cambios + * Aprobar/rechazar en cierta fase del flujo +4. El sistema debe permitir que, para cada plan de estudios concreto, se puedan definir: + * El administrador y el secretario acad茅mico pueden definir un responsable de plan de estudios. + * Qui茅nes son profesores responsables de cada materia + * Qu茅 usuarios pueden participar en cada fase del flujo de aprobaci贸n. + +## 2. Modelo acad茅mico y estructura de datos +1. El sistema debe representar la jerarqu铆a acad茅mica m铆nima: + * Universidad + * Facultades / Direcciones + * Carreras (programas acad茅micos) + * Planes de estudio + * Materias +2. El sistema debe permitir que las materias puedan ser compartidas entre planes y facultades (no solo anidadas r铆gidamente a una carrera). +3. El sistema debe soportar un modelo flexible de mapa curricular mediante JSON, incluyendo: + * Tipo de ciclo (semestre/cuatrimestre/trimestre/etc.) + * N煤mero de ciclos + * 脕reas (tronco com煤n, profesionalizante, optativas, etc.) + * L铆neas curriculares dentro de cada 谩rea + * Lista de materias asignadas a cada l铆nea/ciclo (con carga horaria, cr茅ditos, seriaci贸n, etc.). +4. El sistema debe permitir manejar materias "propietarias" por unidad (ej. Ciencias B谩sicas, Desarrollo Humano Profesional) que se puedan propagar a m煤ltiples planes. 脕rea b谩sica y desarrollo humano profesional son su propia facultad pues deben de gestionar sus materias independientemente de los dem谩s. +5. El sistema debe soportar que una materia tenga: + * Objetivos + * Contenidos tem谩ticos (temas/subtemas) + * Perfil de la materia (qu茅 aporta al perfil de egreso) + * Bibliograf铆a b谩sica y complementaria + * Forma de evaluaci贸n (porcentajes, criterios) + * Requisitos (seriaci贸n, prerequisitos) + * V铆nculos a l铆neas curriculares / 谩reas del plan. + +## 3. Ciclo de vida del plan de estudios y flujo de trabajo +1. El sistema debe permitir crear un nuevo plan de estudios a partir de: + * ~~Una carrera existente~~ + * Se debe de permitir la importaci贸n de un plan de estudios ya aprobado. Implementar un wizard para importaci贸n ordenada del plan y sus documentos. + * Un plan previo (clonado) + * Cero (nuevo programa). Campus virtual gestiona cursos sin RVOE. +2. El sistema debe permitir registrar el origen de la detonaci贸n del cambio/creaci贸n: + * Coordinaci贸n de Desarrollo Humano Profesional (cambio en sus materias) + * Facultad/carrera (por an谩lisis de mercado) + * Otro (campo libre con descripci贸n) +3. El plan debe tener un estado en su ciclo de vida, por ejemplo: + * Borrador del jefe de carrera + * En revisi贸n de secretario acad茅mico + * En revisi贸n de Planeaci贸n Curricular + * En consulta con expertos externos + * En revisi贸n de otras sedes + * En Consejo Acad茅mico de Facultad + * En Consejo Universitario + * En Junta de Gobierno (si aplica) + * Enviado a SEP + * Aprobado SEP + * Rechazado en X fase +4. El sistema debe permitir configurar y avanzar de estado manualmente (por ahora): + * Solo usuarios con permiso correspondiente pueden cambiar el estado. + * Cada cambio de estado debe quedar registrado (qui茅n, cu谩ndo, comentarios). +5. El sistema debe permitir adjuntar comentarios y observaciones por fase: + * Comentarios del secretario acad茅mico + * Comentarios de Planeaci贸n Curricular + * Comentarios de expertos externos + * Comentarios de otras sedes + * Comentarios de consejo de facultad / universitario. +6. El sistema debe permitir registrar "expertos": + * Agregar expertos (nombre, instituci贸n, contacto) + * Registrar su dictamen/comentarios por materia. +7. El sistema debe permitir invitar a sedes hermanas. Tienen rol de expertos. + +## 4. Gesti贸n y versionado de planes y materias +1. El sistema debe mantener un hist贸rico de versiones del plan de estudios: + * Cada cambio importante (estructura, mapa curricular, objetivos, etc.) genera una versi贸n. + * Se debe poder consultar versiones anteriores y comparar campos clave. +2. El sistema debe mantener un hist贸rico de cambios por materia: + * Qui茅n edit贸, qu茅 campos cambi贸 y cu谩ndo. + * Idealmente agrupado por "revisi贸n" o "entrega", no solo por fila de tabla. +3. El sistema debe permitir duplicar/clonar: + * Planes completos (para crear una revisi贸n nueva) + * Materias (por ejemplo, variantes para otra carrera o sede). +4. El sistema debe permitir marcar planes como "vigentes" o "en transici贸n": + * Vigente (ya en operaci贸n) + * En revisi贸n (nuevo) + * Obsoleto (solo hist贸rico) + * Rechazado + +## 5. M贸dulo de IA: generaci贸n y edici贸n de planes +### 5.1 Generaci贸n inicial +1. El sistema debe permitir al jefe de carrera o usuario autorizado generar un plan de estudios con IA mediante: + * Un formulario/resumen donde describa el tipo de carrera, nivel, duraci贸n, enfoque, etc. Opcionalmente: adjuntar archivos de referencia (SEP, tendencias de mercado, documentos internos). +2. El sistema debe enviar a la IA: + * Prompt base estructurado (formato SEP / institucional) + * Par谩metros de modelo (modelo, temperatura, etc.) + * Archivos de referencia relevantes (subidos o desde vector store) + * Opcionalmente datos de la BD a trav茅s de MCP (para "inspirarse" en planes existentes). +3. El sistema debe recibir un plan de estudios estructurado (JSON) desde la IA y: + * Guardarlo en la tabla de planes (objetivos, perfil de ingreso/egreso, mapa curricular, etc.) + * Asociar las materias generadas (como borradores) a ese plan. + * Marcarlo como "Borrador generado por IA" en el hist贸rico del plan. +4. El sistema debe permitir generar solo el mapa curricular, a partir de: + * Informaci贸n b谩sica de la carrera + * L铆neas curriculares que el usuario indique + * Duraci贸n (n ciclos) + * Y devolverlo como estructura JSON directamente editable. + +### 5.2 Edici贸n y mejora con IA +1. El sistema debe permitir seleccionar un plan de estudios existente y: + * Pedir a la IA que lo revise/mejore con base en lineamientos (SEP, taxonom铆a de Bloom, verbos en infinitivo, etc.). + * Mostrar una propuesta de cambios antes de aplicarlos. +2. El sistema debe permitir un chat contextual con el plan: + * Preguntar: "驴D贸nde estoy d茅bil en IA comparado con otras ingenier铆as?" + * "驴Qu茅 l铆neas curriculares tengo m谩s cargadas en los primeros semestres?" + * El backend, v铆a MCP, consulta Supabase y responde con datos + an谩lisis de IA. + * El MCP debe ser de solo lectura. + * Debe de estar oculto para el usuario el uso de MCP. +3. El sistema debe permitir edici贸n puntual con IA de secciones de texto: + * Mejorar redacci贸n de objetivos. + * Ajustar a formato SEP / institucional. + * Ajustar nivel de complejidad seg煤n taxonom铆a de Bloom (recordar/comprender/aplicar...). +4. El sistema debe permitir usar IA para generar o mejorar una materia individual: + * Describir la materia (nombre, cr茅ditos, en qu茅 semestre va, prerequisitos). + * Adjuntar bibliograf铆a o tendencias. + * Recibir: objetivos, temario, evaluaci贸n, bibliograf铆a propuesta. + +### 5.3 Manejo de referencias y archivos (IA) +1. El sistema debe permitir subir archivos como referencia puntual a una sola petici贸n de IA (uploads "temporales"). +2. Planeaci贸n curricular puede gestionar repositorios que ser谩n p煤blicos para otros usuarios de planeaci贸n curricular para su gesti贸n, y a jefes de carrera para uso como referencia. +3. El jefe de carrera puede gestionar y usar como referencia sus propios repositorios, que son privados. +4. El sistema debe permitir que el usuario seleccione, al hacer una petici贸n a IA: + * Qu茅 fuentes usar: + * Archivos puntuales + * Vector Store(s) + * Base de datos v铆a MCP (contexto) + * Conversaci贸n previa. + +## 6. Plantillas y generaci贸n de documentos oficiales +1. El sistema debe permitir configurar plantillas de documentos por tipo: + * Formato SEP para registro/modificaci贸n de plan. + * Formato interno de facultad (por ejemplo, documento para Consejo Acad茅mico). + * Formato para Junta de Gobierno (si es distinto). +2. El sistema debe integrarse con Carbone.io para: + * Tomar un JSON estructurado del plan. + * Inyectarlo en la plantilla. + * Generar un documento descargable (DOCX/PDF). +3. El sistema debe permitir que el usuario: + * Seleccione el plan y la plantilla. + * Genere el documento. + * Lo descargue desde la interfaz. +4. El sistema debe permitir previsualizar el documento generado (como "document viewer" estilo PDF en el navegador) antes de descarga. + +## 7. Notificaciones y seguimiento +1. El sistema debe enviar notificaciones internas (y luego email) cuando: + * Se le asigna a un usuario responsabilidad sobre un plan o materia. + * El plan cambia de etapa y requiere su acci贸n (ej. "tienes un plan en revisi贸n pendiente"). + * Un experto externo entrega sus comentarios. + * Una sede externa agrega observaciones. +2. El sistema debe proporcionar una vista de tablero por usuario: + * Planes en los que participa. + * Tareas pendientes (revisar, comentar, aprobar). + * Estado actual del plan (sem谩foro o timeline simple). + +## 8. Integraciones y datos externos +1. El sistema debe permitir consultar datos de biblioteca (cuando la API est茅 lista) para: + * Proponer bibliograf铆a para una materia. + * Verificar disponibilidad de t铆tulos (b谩sico: nombre y autor). +2. El sistema debe permitir configurar m煤ltiples estructuras de plan (por si cambian lineamientos SEP) sin romper la base: + * Definir "plantillas de estructura" (qu茅 campos y secciones tiene un plan). + * Asociar cada plan a una plantilla de estructura determinada. + +## 9. Usabilidad y experiencia de los no-t茅cnicos +1. El sistema debe permitir a jefes de carrera y profesores editar planes y materias en formularios amigables, sin necesidad de pensar en JSON: + * Formularios guiados (secciones: objetivos, perfil, contenidos, etc.). + * Ayudas contextuales ("tip" sobre verbos de Bloom, etc.). +2. El sistema debe ocultar la complejidad t茅cnica de IA: + * Ofrecer presets como "Generar borrador", "Mejorar redacci贸n", "Alinear a SEP". + * Los par谩metros t茅cnicos (modelo, temperatura) se configuran solo en un panel de admin. +3. El sistema debe ofrecer historial de IA por plan: + * Qu茅 prompts se usaron. + * Qu茅 respuestas se aceptaron y aplicaron. + * Para rastrear c贸mo lleg贸 a la versi贸n actual. \ No newline at end of file