design patterns - lista - Patrones de diseño de software de contabilidad
patrones de diseño de software pdf (7)
¿Existen buenos recursos (libros, guías autorizadas, etc.) para patrones de diseño u otras mejores prácticas para software que incluyen características de contabilidad financiera?
Específicamente, dónde hay buena información sobre cómo manejar problemas como los siguientes:
- Representaciones internas de cantidades de dinero
- Representaciones internas de cuentas, diarios y otros registros
- Conciliación de inconsistencias (ya sea automáticamente o mediante acción del usuario)
- Manejo de extremos de períodos contables (diarios, semanales, mensuales)
- Diseñar IU e informes financieros impresos que tengan sentido para los empresarios
Nota: información "autoritativa" o ampliamente aceptada es lo que estamos buscando aquí. De lo contrario, esto se convertirá en una gran lista de anécdotas de todas las cosas que la gente ha intentado, haciendo que el tema sea muy subjetivo.
Considero que el libro de Recursos del Modelo de Datos es una buena fuente de inspiración para modelar estructuras comerciales. Apache Ofbiz ERP se desarrolló en torno a los conceptos de este libro.
Hace un tiempo, cuando me asignaron a trabajar en un sistema de este tipo, encontré este enlace en el sitio web de Martin Fowler:
Martin Fowler - Patrones contables
Contiene algunos patrones para el software de contabilidad, como entradas contables, transacciones y ajustes. La arquitectura que describe se basa en eventos. Nunca lo leí por completo, ya que el sistema en el que trabajo ya estaba en el medio de su etapa de desarrollo y no pude cambiar el diseño.
Espero eso ayude.
Los patrones de análisis de Martin Fowler cubren algunos de esos temas.
PARA UI / INFORMAR: Mire en Crystal Reports y Business Objects. Ambos se utilizan en mi lugar de empleo en el departamento de Contabilidad de inversiones.
Usamos otras cosas para las partes internas aquí (JD Edwards) pero no puedo entrar en muchos detalles más que ''sí, eso es todo''
Para lidiar con monedas, recuerde que siempre debe recordar no solo en qué moneda se ingresó el monto, sino también a qué hora se ingresó, y cuál era la tasa de cada moneda en ese momento. Además, los contadores no perdonan cuando se trata de "imprecisiones" en los montos. Si se ingresa un monto, debe almacenarlo tal como fue ingresado, y no convertirlo primero, porque luego no podrá garantizar que pueda recuperar el monto ingresado tal como se ingresó.
Estas pueden parecer obvias, pero la gente peca contra ellas en el mundo real.
Puedo recomendar Patrones de Arquitectura de Aplicación Empresarial y Patrones de Análisis, Modelos de Objetos Reutilizables, ambos de Martin Fowler, dan patrones arquitectónicos de software a problemas comunes.
Tendría las siguientes clases estructurales:
- Cuenta: representa una cuenta financiera. p.ej. Efectivo, venta, gasto;
- Categoría: la categoría a la que pertenece la cuenta. p.ej. Activo, Gastos, Ingresos;
- Mutación: representa una entrada financiera de una cuenta.
- Transacción: contiene una colección de mutaciones.
- Dinero: una clase compuesta que utiliza el objeto Moneda y el monto de almacenamiento como un entero largo;
Cuando me acerqué al diseño inicialmente, seguí pensando en Decorator y Builder Patterns. El cálculo de impuestos puede usar el patrón de estrategia. El patrón de observador se puede usar para vetar la transacción.