209 lines
6.8 KiB
Markdown
209 lines
6.8 KiB
Markdown
# AN-001: Análisis de Requisitos Funcionales
|
||
|
||
**Proyecto:** Sistema de Registro de Estudiantes - Inter Rapidísimo
|
||
**Rol:** Analista de Sistemas
|
||
**Fecha:** 2026-01-07
|
||
|
||
---
|
||
|
||
## 1. Resumen Ejecutivo
|
||
|
||
Sistema web para gestión de inscripciones estudiantiles con programa de créditos académicos. Permite CRUD de estudiantes, inscripción en materias con restricciones de negocio, y visualización de compañeros de clase.
|
||
|
||
---
|
||
|
||
## 2. Requisitos Funcionales Identificados
|
||
|
||
### RF-001: Registro de Estudiantes (CRUD)
|
||
|
||
| Atributo | Descripción |
|
||
|----------|-------------|
|
||
| **ID** | RF-001 |
|
||
| **Nombre** | Gestión CRUD de Estudiantes |
|
||
| **Descripción** | El sistema debe permitir crear, leer, actualizar y eliminar registros de estudiantes |
|
||
| **Prioridad** | Alta |
|
||
| **Fuente** | Enunciado punto 1 |
|
||
|
||
**Criterios de Aceptación:**
|
||
- [ ] CA-001.1: Usuario puede crear estudiante con nombre y email válido
|
||
- [ ] CA-001.2: Usuario puede consultar lista de estudiantes registrados
|
||
- [ ] CA-001.3: Usuario puede actualizar datos de un estudiante existente
|
||
- [ ] CA-001.4: Usuario puede eliminar un estudiante (cascade con inscripciones)
|
||
- [ ] CA-001.5: Email debe ser único en el sistema
|
||
|
||
---
|
||
|
||
### RF-002: Programa de Créditos
|
||
|
||
| Atributo | Descripción |
|
||
|----------|-------------|
|
||
| **ID** | RF-002 |
|
||
| **Nombre** | Adhesión a Programa de Créditos |
|
||
| **Descripción** | Los estudiantes se inscriben en un programa basado en créditos académicos |
|
||
| **Prioridad** | Alta |
|
||
| **Fuente** | Enunciado punto 2 |
|
||
|
||
**Criterios de Aceptación:**
|
||
- [ ] CA-002.1: Sistema muestra créditos totales del estudiante
|
||
- [ ] CA-002.2: Créditos se calculan automáticamente según materias inscritas
|
||
- [ ] CA-002.3: Máximo 9 créditos por estudiante (3 materias × 3 créditos)
|
||
|
||
---
|
||
|
||
### RF-003: Catálogo de Materias
|
||
|
||
| Atributo | Descripción |
|
||
|----------|-------------|
|
||
| **ID** | RF-003 |
|
||
| **Nombre** | Gestión de 10 Materias |
|
||
| **Descripción** | El sistema debe gestionar un catálogo fijo de 10 materias académicas |
|
||
| **Prioridad** | Alta |
|
||
| **Fuente** | Enunciado punto 3 |
|
||
|
||
**Criterios de Aceptación:**
|
||
- [ ] CA-003.1: Sistema contiene exactamente 10 materias predefinidas
|
||
- [ ] CA-003.2: Usuario puede consultar catálogo completo de materias
|
||
- [ ] CA-003.3: Cada materia muestra nombre, créditos y profesor asignado
|
||
|
||
---
|
||
|
||
### RF-004: Valor de Créditos por Materia
|
||
|
||
| Atributo | Descripción |
|
||
|----------|-------------|
|
||
| **ID** | RF-004 |
|
||
| **Nombre** | Asignación de 3 Créditos por Materia |
|
||
| **Descripción** | Cada materia del catálogo equivale a exactamente 3 créditos |
|
||
| **Prioridad** | Alta |
|
||
| **Fuente** | Enunciado punto 4 |
|
||
|
||
**Criterios de Aceptación:**
|
||
- [ ] CA-004.1: Todas las materias tienen valor fijo de 3 créditos
|
||
- [ ] CA-004.2: Sistema muestra créditos en detalle de cada materia
|
||
|
||
---
|
||
|
||
### RF-005: Límite de Materias por Estudiante
|
||
|
||
| Atributo | Descripción |
|
||
|----------|-------------|
|
||
| **ID** | RF-005 |
|
||
| **Nombre** | Máximo 3 Materias por Estudiante |
|
||
| **Descripción** | Un estudiante solo puede inscribirse en máximo 3 materias |
|
||
| **Prioridad** | Alta |
|
||
| **Fuente** | Enunciado punto 5 |
|
||
|
||
**Criterios de Aceptación:**
|
||
- [ ] CA-005.1: Sistema impide inscripción si estudiante ya tiene 3 materias
|
||
- [ ] CA-005.2: Sistema muestra contador de materias inscritas
|
||
- [ ] CA-005.3: Mensaje de error claro al intentar exceder límite
|
||
|
||
---
|
||
|
||
### RF-006: Asignación Profesores-Materias
|
||
|
||
| Atributo | Descripción |
|
||
|----------|-------------|
|
||
| **ID** | RF-006 |
|
||
| **Nombre** | 5 Profesores con 2 Materias c/u |
|
||
| **Descripción** | El sistema tiene 5 profesores, cada uno dicta exactamente 2 materias |
|
||
| **Prioridad** | Alta |
|
||
| **Fuente** | Enunciado punto 6 |
|
||
|
||
**Criterios de Aceptación:**
|
||
- [ ] CA-006.1: Sistema contiene exactamente 5 profesores predefinidos
|
||
- [ ] CA-006.2: Cada profesor tiene asignadas exactamente 2 materias
|
||
- [ ] CA-006.3: Usuario puede ver qué profesor dicta cada materia
|
||
|
||
---
|
||
|
||
### RF-007: Restricción de Profesor Único
|
||
|
||
| Atributo | Descripción |
|
||
|----------|-------------|
|
||
| **ID** | RF-007 |
|
||
| **Nombre** | Prohibición de Mismo Profesor |
|
||
| **Descripción** | Un estudiante no puede inscribirse en dos materias del mismo profesor |
|
||
| **Prioridad** | Crítica |
|
||
| **Fuente** | Enunciado punto 7 |
|
||
|
||
**Criterios de Aceptación:**
|
||
- [ ] CA-007.1: Sistema valida profesor al momento de inscripción
|
||
- [ ] CA-007.2: Materias no disponibles se muestran deshabilitadas con razón
|
||
- [ ] CA-007.3: Mensaje de error específico: "Ya tienes una materia con este profesor"
|
||
|
||
---
|
||
|
||
### RF-008: Visualización de Registros
|
||
|
||
| Atributo | Descripción |
|
||
|----------|-------------|
|
||
| **ID** | RF-008 |
|
||
| **Nombre** | Consulta de Otros Estudiantes |
|
||
| **Descripción** | Cada estudiante puede ver en línea los registros de otros estudiantes |
|
||
| **Prioridad** | Media |
|
||
| **Fuente** | Enunciado punto 8 |
|
||
|
||
**Criterios de Aceptación:**
|
||
- [ ] CA-008.1: Usuario puede ver lista de todos los estudiantes registrados
|
||
- [ ] CA-008.2: Información visible: nombre (según restricciones de privacidad)
|
||
|
||
---
|
||
|
||
### RF-009: Compañeros de Clase
|
||
|
||
| Atributo | Descripción |
|
||
|----------|-------------|
|
||
| **ID** | RF-009 |
|
||
| **Nombre** | Ver Nombres de Compañeros por Materia |
|
||
| **Descripción** | El estudiante puede ver solo el nombre de alumnos con quienes compartirá clase |
|
||
| **Prioridad** | Media |
|
||
| **Fuente** | Enunciado punto 9 |
|
||
|
||
**Criterios de Aceptación:**
|
||
- [ ] CA-009.1: Sistema muestra compañeros agrupados por materia
|
||
- [ ] CA-009.2: Solo se muestra el nombre (no email ni otros datos)
|
||
- [ ] CA-009.3: Solo muestra compañeros de materias donde está inscrito
|
||
|
||
---
|
||
|
||
## 3. Matriz de Trazabilidad
|
||
|
||
| Requisito | Historia | Componente Backend | Componente Frontend |
|
||
|-----------|----------|-------------------|---------------------|
|
||
| RF-001 | US-001 | StudentController, StudentService | StudentFormComponent |
|
||
| RF-002 | US-002 | EnrollmentService | DashboardComponent |
|
||
| RF-003 | US-003 | SubjectController | SubjectListComponent |
|
||
| RF-004 | US-003 | Subject Entity | SubjectCardComponent |
|
||
| RF-005 | US-004 | EnrollmentValidator | EnrollmentComponent |
|
||
| RF-006 | US-003 | Professor Entity | ProfessorListComponent |
|
||
| RF-007 | US-005 | EnrollmentDomainService | EnrollmentComponent |
|
||
| RF-008 | US-006 | StudentQuery | StudentListComponent |
|
||
| RF-009 | US-007 | ClassmatesQuery | ClassmatesComponent |
|
||
|
||
---
|
||
|
||
## 4. Dependencias entre Requisitos
|
||
|
||
```
|
||
RF-001 (Estudiantes)
|
||
↓
|
||
RF-002 (Programa Créditos) ← RF-004 (3 créditos/materia)
|
||
↓
|
||
RF-005 (Max 3 materias) ← RF-003 (10 materias)
|
||
↓ ↓
|
||
RF-007 (Restricción profesor) ← RF-006 (5 profesores)
|
||
↓
|
||
RF-008/RF-009 (Visualización)
|
||
```
|
||
|
||
---
|
||
|
||
## 5. Aprobación
|
||
|
||
| Rol | Nombre | Fecha | Firma |
|
||
|-----|--------|-------|-------|
|
||
| Analista | Sistema | 2026-01-07 | ✓ |
|
||
| Product Owner | Pendiente | - | - |
|
||
| Líder Técnico | Pendiente | - | - |
|