erp-construccion/docs/04-modelado/domain-models/README.md

152 lines
4.9 KiB
Markdown

# DOMAIN MODELS - ERP CONSTRUCCION
**Fecha:** 2025-12-05
**Version:** 1.0.0
**Patron:** Domain-Driven Design (DDD)
---
## Resumen
Esta seccion contiene los modelos de dominio para el ERP de Construccion, organizados por contexto delimitado (Bounded Context) siguiendo principios de Domain-Driven Design.
---
## Contextos Delimitados (Bounded Contexts)
| Contexto | Modulos | Agregados | Entidades | Descripcion |
|----------|---------|-----------|-----------|-------------|
| [Project Management](PROJECT-CONTEXT.md) | MAI-002, MAI-003, MAI-005 | 4 | 15 | Gestion de proyectos, presupuestos y avances |
| [Compliance](COMPLIANCE-CONTEXT.md) | MAI-011 | 2 | 8 | Cumplimiento INFONAVIT |
| [Finance](FINANCE-CONTEXT.md) | MAE-014 | 3 | 12 | Finanzas y controlling |
| [Assets](ASSETS-CONTEXT.md) | MAE-015 | 2 | 10 | Activos y mantenimiento |
| [Documents](DOCUMENTS-CONTEXT.md) | MAE-016 | 2 | 8 | Gestion documental |
---
## Glosario Ubicuo (Ubiquitous Language)
### Terminos de Proyecto
| Termino | Definicion | Sinonimos |
|---------|------------|-----------|
| **Proyecto** | Obra de construccion con presupuesto y cronograma | Obra |
| **Desarrollo** | Fraccionamiento o conjunto habitacional | Fraccionamiento |
| **Seccion** | Subdivision de un desarrollo (manzana) | Manzana, Etapa |
| **Vivienda** | Unidad habitacional individual | Lote, Casa, Departamento |
| **Prototipo** | Modelo base de vivienda con especificaciones | Modelo |
### Terminos de Presupuesto
| Termino | Definicion | Sinonimos |
|---------|------------|-----------|
| **Partida** | Agrupacion de conceptos (ej: Cimentacion) | Capitulo |
| **Concepto** | Actividad con precio unitario | Rubro, Concepto de obra |
| **APU** | Analisis de Precio Unitario con desglose | Precio unitario |
| **Explosion** | Calculo de materiales totales del presupuesto | Explosionado |
### Terminos de Control
| Termino | Definicion | Sinonimos |
|---------|------------|-----------|
| **Avance** | Progreso registrado de una actividad | Progreso |
| **Estimacion** | Documento de cobro por avance ejecutado | Generador |
| **Bitacora** | Registro diario de eventos de obra | Log de obra |
| **Incidencia** | Evento que afecta el avance o calidad | Problema |
### Terminos Financieros
| Termino | Definicion | Sinonimos |
|---------|------------|-----------|
| **Poliza** | Asiento contable con debitos y creditos | Entry |
| **CxP** | Cuenta por pagar a proveedor | AP |
| **CxC** | Cuenta por cobrar a cliente | AR |
| **Cash Flow** | Flujo de efectivo proyectado/real | Flujo de caja |
---
## Diagrama de Contextos
```
+--------------------+
| Core Domain |
| (ERP Generico) |
+--------------------+
|
+-------------------+-------------------+
| | |
v v v
+---------------+ +---------------+ +---------------+
| Project | | Finance | | Assets |
| Management | | & Controlling| | & Maintenance |
+---------------+ +---------------+ +---------------+
| | |
v | |
+---------------+ | +---------------+
| Compliance |<----------+---------->| Documents |
| (INFONAVIT) | | (DMS) |
+---------------+ +---------------+
```
---
## Relaciones entre Contextos
### Project Management -> Finance
- Estimaciones generan CxC
- Ordenes de compra generan CxP
- Avances actualizan costos reales
### Project Management -> Compliance
- Proyectos se registran en programas INFONAVIT
- Avances se reportan como evidencia
- Auditorias vinculadas a proyectos
### Project Management -> Documents
- Planos asociados a proyectos
- Evidencias fotograficas de avances
- Contratos y permisos por proyecto
### Finance -> Documents
- Facturas digitales almacenadas
- Polizas como documentos
### Assets -> Project Management
- Activos asignados a proyectos
- Costos de maquinaria en presupuestos
---
## Patrones de Diseño
### Aggregate Root
Cada contexto tiene agregados claramente definidos:
- `Project` es agregado raiz de viviendas, presupuestos
- `Budget` es agregado raiz de partidas y conceptos
- `Audit` es agregado raiz de hallazgos
### Value Objects
- `Money` para cantidades monetarias
- `Percentage` para porcentajes
- `Location` para coordenadas GPS
- `Period` para rangos de fechas
### Domain Events
- `ProjectCreated`
- `ProgressRecorded`
- `EstimationApproved`
- `PaymentReceived`
- `MaintenanceCompleted`
---
## Referencias
- [DDL Specifications](../database-design/schemas/)
- [Epic Documentation](../../08-epicas/)
- [Module Definitions](../../02-definicion-modulos/)
---
*Ultima actualizacion: 2025-12-05*