Cambios al README.md:
1. Paso 3 actualizado: recomienda abrir los SVG como formato principal
para estudiar diagramas. Explica pros/contras de cada formato
(SVG/PDF/PNG) y como regenerar los 3 con PlantUML.
2. Nueva seccion "Referencia bibliografcia" agregada antes de
"Recomendaciones para el TP":
- Libro de ICONIX (Rosenberg & Scott) con link al Google Drive
provisto por el usuario
- PPT sobre ICONIX (material complementario)
- Otras referencias (Gamma GoF, Cristia UNR, docs Odoo)
Reemplaza el README.md tecnico por un apunte de clase pedagogico
dirigido a alumnos del curso SAP-TFI-2026.
Contenido nuevo:
1. Introduccion al repositorio como material de apoyo para el TP:
- Que es y que no es
- Como esta organizado
- Como usarlo paso a paso
2. Ejemplos de diagramas ICONIX para casos core de ERP:
- Ejemplo 1: Diagrama de CU (D-CU-GEN-002)
- Actores, CU principales, 5 includes, 5 extends
- Leccion para el alumno
- Ejemplo 2: Diagrama de Robustez (D-ROB-VEN-001)
- Boundary/control/entity
- Flujo principal en voz activa
- Leccion para el alumno
- Ejemplo 3: Diagrama de Secuencia (D-SEC-VEN-004)
- Lifelines, mensajes numerados, SQL queries
- Leccion para el alumno
- Ejemplo 4: Diagrama de Clases Tecnico (D-CLA-INT-001)
- Modelos Odoo reales, relaciones
- Leccion para el alumno
- Ejemplo 5: Diagrama de Arquitectura Estratificada (D-ARQ-TECH-001)
- 4 capas del stack
- Leccion para el alumno
- Ejemplo 6: Patron Composite aplicado a BoM (D-PAT-COMPOSITE-001)
- Component/Leaf/Composite
- Leccion para el alumno
3. Recursos adicionales:
- Material pedagogico (docs/10_material_estudio/)
- Validacion (docs/11_validacion/)
- Patrones de diseno (docs/12_patrones_diseno/)
- Evidencias (evidence/)
4. Recomendaciones para el TP:
- No copiar directamente
- Verificar contra codigo real
- Usar checklists antes de entregar
- Compilar los .puml
- Mantener trazabilidad
5. Contacto, soporte y licencia.
Agrega una nueva seccion "Where - Relacion entre elementos del patron
y elementos del diseno" al documento del patron Composite.
Contenido nuevo:
- Bloque "Where" explicito con la sintaxis del estandar UNR:
Component is BomComponent
Leaf is ProductProduct
Leaf is MrpBomLine
Composite is MrpBom
Composite is MrpBomLine
children is bom_line_ids
Operation() is explode(product, quantity)
Operation() is get_cost()
Operation() is get_quantity()
add(Component) is _onchange_product_id()
remove(Component) is unlink()
getChild(int) is _compute_child_bom_id()
Client is view_mrp_bom_form
Client is mrp.production
- Tabla de equivalencias (14 elementos mapeados)
- Notas sobre la repeticion intencional de elementos (regla 1 del estandar)
- Verificacion de completitud (todos los elementos del patron Gamma et al.)
Siguiendo la regla del estandar FCEIA-UNR (Cristia, 2015):
"Where elemento_patron is elemento_disenio" debe ser explicito
para cada elemento estructural del patron.
Nuevo documento en docs/11_validacion/checklists_iconix.md con:
1. Checklists por tipo de diagrama:
- D-CU (Casos de Uso)
- D-ROB (Robustez)
- D-SEC (Secuencia)
- D-CLA-CON (Clases Conceptual)
- D-CLA-INT (Clases Técnico)
- D-ARQ (Arquitectura)
2. Aplicacion de los checklists a los 12 diagramas existentes:
- D-CU-GEN-002: 15/15 OK
- D-ROB-VEN-001: 10/10 OK
- D-ROB-VEN-004: 10/10 OK
- D-ROB-ENT-002: 10/10 OK
- D-ROB-FAC-001: 10/10 OK
- D-SEC-VEN-001: 12/12 OK
- D-SEC-VEN-004: 12/12 OK
- D-SEC-ENT-002: 12/12 OK
- D-SEC-FAC-001: 12/12 OK
- D-CLA-CON-GEN-001: 9/9 OK
- D-CLA-INT-001: 7/8 OK (nota: _inherit no mostrado)
- D-ARQ-TECH-001: 9/9 OK
3. Resumen global: 127/128 OK (99.2%).
4. Lista de diagramas pendientes (13 CU sin ROB/SEC).
Cambios principales:
1. Diagrama de CU mejorado (D-CU-GEN-002):
- 5 <<include>> (subflujos obligatorios):
CU-AUTH-001, CU-CALC-001, CU-GENPICK-001, CU-VALLIN-001, CU-GENJOUR-001
- 5 <<extend>> (subflujos opcionales/condicionales):
CU-VEN-001-EMAIL, CU-VEN-001-DISC, CU-ENT-002-MTO, CU-ENT-004-BACK, CU-FAC-002-VAL
2. 7 especificaciones de CU reescritas en voz activa (todos los verbos
provienen de los diagramas de robustez existentes):
- CU-VEN-001 Crear presupuesto
- CU-VEN-004 Confirmar pedido
- CU-ENT-002 Reservar productos
- CU-ENT-004 Validar entrega
- CU-FAC-001 Crear factura
- CU-FAC-002 Publicar factura
- CU-FAC-003 Registrar pago
3. Cada CU incluye las secciones pedidas:
- Nombre
- Objetivo
- Pre-condicion
- Post-condicion
- Pasos trascendentes (en voz activa)
- Caminos alternativos (en voz activa)
- Excepciones
- Reglas de negocio
- Relaciones <<include>> y <<extend>>
- Diagrama de robustez asociado
- Tabla de verbos clave (para validar la voz activa)
4. Matriz de trazabilidad actualizada con la tabla de CU includes/extends.
Archivos:
- diagrams/plantuml/d_cu_gen_002_casos_uso_extend_include.puml
- diagrams/png/D-CU-GEN-002 — Casos de Uso con extend e include.png
- diagrams/svg/D-CU-GEN-002 — Casos de Uso con extend e include.svg
- diagrams/pdf/D-CU-GEN-002 — Casos de Uso con extend e include.pdf
- docs/02_casos_uso/*.md (7 specs reescritas)
- docs/09_trazabilidad/matriz_trazabilidad.md (actualizada)
Documentación generada:
- 7 casos de uso (CU-VEN-001, CU-VEN-004, CU-ENT-002, CU-ENT-004, CU-FAC-001, CU-FAC-002, CU-FAC-003)
- Modelo de dominio inicial (12 conceptos, 9 reglas de negocio)
- Arquitectura general (C4 contexto + contenedores)
- Prototipo del formulario de presupuesto
- 5 diagramas PlantUML (.puml):
- Diagrama general de casos de uso
- Modelo de dominio conceptual
- Diagrama de robustez de CU-VEN-004
- Diagrama de secuencia de CU-VEN-004
- Diagrama de clases técnicas (integración Venta/Stock/Contabilidad)
- Matriz de trazabilidad con 20 EV-COD y 22 EV-INF
Odoo analizado: 19.0 Community (rama 19.0)
Método: ingeniería inversa con verificación de código fuente
Nota: NO pushear (gate S2). Ale debe revisar antes de merge a main.