
Pampazon
A warehouse management system built at UBA
Course Context
Development Process
Requirements & Context Diagram
Captured system boundaries through a Context Diagram (DC) identifying 7 external entities: Client, Board & Investors, Staff, Carrier, Bank, Supplier, and AFIP (tax authority). Defined information flows between each entity and the system.
DFD Level 1 — System Overview
Decomposed the system into 6 top-level subsystems: Gestión Operativa (Warehouse Ops), Ventas (Sales), Compras e Infraestructura (Procurement), Finanzas (Finance), Recursos Humanos (HR), and Planificación (Planning). Identified shared data stores and inter-process flows.
DFD Levels 2 & 3 — Warehouse Decomposition
Zoomed into Gestión Operativa: Level 2 split it into 'AA Gestión de Almacén' and 'AB Administración y Control'. Level 3 broke the warehouse process into 4 sub-processes: AAA Despacho (Dispatch), AAB Preparación (Preparation), AAC Almacenaje (Storage), and AAD Recepción (Receiving).
DFD Level 4 — Dispatch Detail
Fully decomposed the Dispatch sub-process into atomic operations: AAA.1 Validar identidad del transportista (carrier identity verification), AAA.2 Confirmar despacho (dispatch confirmation), and AAA.3 Generar y entregar Remito (generate & hand over consignment note). Identified all data stores accessed.
Use Cases & WinForms Prototypes
Documented 5 use cases with actor descriptions, pre/post-conditions, normal and alternative flows. Designed WinForms screen wireframes for each flow — Prep Order, Selection Order, Stock Reduction, Delivery Order, and Dispatch with Remito generation.
Class Diagram & Sequence Diagrams
Built the full class diagram with 10+ domain entities and their relationships. Documented 4 sequence diagrams tracing message flows between UI, Controllers, Services, and Repositories for the core use cases. Formalized the OPEstado state machine.
Implementation & Test Cases
Implemented the complete WinForms application in C# following the MVC design from prior phases. Wrote test case matrices for all 5 flows covering happy paths, invalid inputs, and boundary conditions. Final submission included source code, executable, and full documentation.
System Design Highlights
- Context Diagram connects 7 external entities through well-defined information flows
- DFD hierarchy spans 4 levels — from system overview down to atomic dispatch operations
- Order lifecycle enforced as a state machine: Pendiente → EnSeleccion → EnPreparacion → Preparada → Despachada
- Repository pattern abstracts file-based storage, keeping domain logic independent of persistence
- MVC architecture separates WinForms views from business rules — Controllers mediate all interactions
- Call-return diagram documents inter-module dependencies for the full application
Use Cases Implemented
Orden de Preparación
Register a new preparation order, select the required merchandise from stock, and assign a carrier for the shipment.
Orden de Selección
Filter pending preparation orders, validate readiness, and generate a selection order that groups items by warehouse location.
Baja de Stock
Confirm that selected items have been physically pulled from shelves, reduce stock quantities, and advance the preparation order to 'En Preparación' status.
Orden de Entrega
Confirm that the order has been fully packaged and is ready for dispatch, transitioning it to 'Preparada' status.
Despacho y Generación de Remito
Validate carrier identity, confirm physical handover of the shipment, mark the order as 'Despachada', and automatically generate and print the consignment note (Remito).