← Volver
Pampazon
Caso de Estudio

Pampazon

Sistema de gestión de depósitos construido en la UBA

C#WinForms.NET

Contexto de la Materia

Materia
Construcción de Aplicaciones Informáticas (CAI)
Institución
Universidad de Buenos Aires — Facultad de Ciencias Económicas
Grupo
Grupo A
Cuatrimestre
2do Cuatrimestre 2024
Equipo
Equipo de 8 integrantes
Docentes
Alejandro Luis Mendez Cerezuela & Andrés Panitsch

Proceso de Desarrollo

01

Requerimientos y Diagrama de Contexto

Se definieron los límites del sistema mediante el Diagrama de Contexto (DC), identificando 7 entidades externas: Cliente, Junta Directiva e Inversores, Personal, Transportista, Entidad Bancaria, Proveedor y AFIP. Se documentaron los flujos de información entre cada entidad y el sistema.

02

DFD Nivel 1 — Visión General del Sistema

El sistema se descompuso en 6 subsistemas de alto nivel: Gestión Operativa, Ventas, Compras e Infraestructura, Finanzas, Recursos Humanos y Planificación. Se identificaron los almacenes de datos compartidos y los flujos entre procesos.

03

DFD Niveles 2 y 3 — Descomposición del Almacén

Se profundizó en Gestión Operativa: el Nivel 2 la dividió en 'AA Gestión de Almacén' y 'AB Administración y Control'. El Nivel 3 descompuso el proceso de almacén en 4 subprocesos: AAA Despacho, AAB Preparación, AAC Almacenaje y AAD Recepción.

04

DFD Nivel 4 — Detalle del Despacho

Se descompuso el subproceso de Despacho en operaciones atómicas: AAA.1 Validar identidad del transportista, AAA.2 Confirmar despacho, y AAA.3 Generar y entregar Remito. Se identificaron todos los almacenes de datos accedidos en cada paso.

05

Casos de Uso y Prototipos WinForms

Se documentaron 5 casos de uso con actores, pre/post-condiciones y flujos normal y alternativo. Se diseñaron los prototipos de pantallas WinForms para cada flujo: Orden de Preparación, Orden de Selección, Baja de Stock, Orden de Entrega y Despacho con generación de Remito.

06

Diagrama de Clases y Secuencias

Se construyó el diagrama de clases completo con más de 10 entidades de dominio y sus relaciones. Se documentaron 4 diagramas de secuencia rastreando los flujos de mensajes entre UI, Controladores, Servicios y Repositorios para los casos de uso principales. Se formalizó la máquina de estados OPEstado.

07

Implementación y Casos de Prueba

Se implementó la aplicación WinForms completa en C# siguiendo el diseño MVC de las fases anteriores. Se elaboraron matrices de casos de prueba para los 5 flujos, cubriendo caminos felices, insumos inválidos y condiciones de borde. La entrega final incluyó código fuente, ejecutable y documentación completa.

Aspectos Destacados del Diseño

  • El Diagrama de Contexto conecta 7 entidades externas mediante flujos de información bien definidos
  • La jerarquía DFD abarca 4 niveles — desde la visión general hasta las operaciones atómicas de despacho
  • El ciclo de vida de las órdenes se impone como máquina de estados: Pendiente → EnSeleccion → EnPreparacion → Preparada → Despachada
  • El patrón Repository abstrae el almacenamiento en archivos, manteniendo la lógica de dominio independiente de la persistencia
  • La arquitectura MVC separa las vistas WinForms de las reglas de negocio — los Controladores median todas las interacciones
  • El diagrama Llamado-Retorno documenta las dependencias inter-módulo de la aplicación completa

Casos de Uso Implementados

Asistente de Operaciones

Orden de Preparación

Registrar una nueva orden de preparación, seleccionar la mercadería requerida del stock y asignar un transportista para el envío.

Jefe de Preparación

Orden de Selección

Filtrar las órdenes de preparación pendientes, validar su disponibilidad y generar una orden de selección que agrupa los ítems por ubicación en el depósito.

Jefe de Selección

Baja de Stock

Confirmar que los ítems seleccionados fueron físicamente retirados de las estanterías, reducir las cantidades en stock y avanzar la orden de preparación al estado 'En Preparación'.

Empaquetador

Orden de Entrega

Confirmar que la orden fue completamente empaquetada y está lista para despacho, transitando al estado 'Preparada'.

Jefe de Despacho

Despacho y Generación de Remito

Validar la identidad del transportista, confirmar la entrega física del envío, marcar la orden como 'Despachada' y generar e imprimir automáticamente el Remito.

Resultado

Open Source
Código fuente completo en GitHub
Equipo de 8
Proyecto académico colaborativo
5 casos de uso
Flujos completos de almacén implementados
7 fases
SDLC completo desde DFD hasta casos de prueba