Pregunta

Ya en octubre, Kristopher Johnson preguntó sobre patrones de diseño de software de contabilidad

Recibió varias respuestas, pero todos fueron básicamente los mismos, señalando Martin Fowler Contabilidad .

Realmente no encontrar patrones Fowlers del todo útil. Parecen demasiado complejo para un sistema de contabilidad más simple, así que estoy un refrito de la pregunta de Kristopher y en busca de más opciones, preferentemente para sistemas más pequeños.

Esto sería principalmente un sistema basado en dinero en efectivo en el que los usuarios tienen cuentas similares a un banco. Pueden conectarse (basado en la web) y consultar saldos, realizar determinadas operaciones, etc ..

supongo que sería más similar a una empresa Paypal o tarjeta de crédito de un banco, pero en una escala menor. No va a tener que lidiar con los impuestos, o amortizaciones, o cualquiera de las cosas que se ven en un sistema de contabilidad de pleno derecho. Sólo los saldos y transacciones.

Lo mismo ocurre con cualquier punto a cualquier recurso adicional para el diseño de software basado en la contabilidad o incluso buenas implementaciones de un sistema de contabilidad simple?

¿Fue útil?

Solución

  

Lo mismo ocurre con cualquier punto a cualquier recurso adicional para el diseño de software basado en la contabilidad o incluso buenas implementaciones de un sistema de contabilidad simple?

El Money Project Free Digital parece útil para sus necesidades. Proporciona un marco de transacciones y el equilibrio básico. Es intencional simple y abstracto, por lo que puede ofrecer puntos de vista de diseño útil, sobre todo si desea probar nuevas ideas.

Cyclos es más práctico. Cubre cuentas de usuario y transacciones.

MyBanco es otro sistema bancario de código abierto, el apoyo a las cuentas bancarias de los usuarios y el acceso basado en la web. Se puede utilizar con ambas monedas virtuales y reales.

Todos estos son de código abierto para que pueda revisar la documentación, la arquitectura y el código directamente.

Como acotación al margen, si usted está realmente interesado sólo en los saldos y transacciones, entonces suena como cualquier patrón o proyecto relacionado con la reputación, el karma, o puntos de sistemas probablemente tendrá solapamiento relevante ...

Otros consejos

patrones

de Fowler son no excesivamente complejo. Tienen que ver con lo que es necesario. Es poco probable que sea capaz de construir algo más simple sin meterse en problemas, ya sea con los usuarios finales o el contador.

Cuando Llevar una contabilidad que es el modelo típico de unos diarios, las transacciones y las cuentas y los tipos de cuenta.

tblTransactions
    - Amount
    - AccountID1
    - AccountID2
    - Type [CR/DR]
    - DateEntered

a continuación, también tenemos una tblJournals que agrupa a las transacciones en la base obvia. También puede añadir JournalTypes, que contienen una descripción general de qué tipo de revista que es, para que pueda detectar cosas agradables (reverals, etc.).

Es agradable, debido a las inversiones bajo este modelo son triviales. Usted sólo puede reunir todas las transacciones para su revista, y cambie el tipo.

Los tblTransacciones tiene un gatillo y el gatillo actualiza un 'CalculatedBalance' contra las cuentas específicas, dependiendo del tipo. A continuación, puede también ejecutar un informe durante un período determinado, y así sucesivamente.

No requiere mucho conocimiento de la contabilidad para implementar esto y es simple, pero eficaz.

búsqueda en Google de "dos fases"

No es un patrón de diseño en sí, sino que necesita para hacer las operaciones de seguro como "cantidad $ transferencia desde $ account1 a $ cuenta2" no jamás "retirar" sin el "depósito" a la medida ... es decir, si se va la luz antes de que el " depósito" se completa, el 'retirar' se revierte (deshacer)

Las transacciones Commit-poder se componen de deshacer-poder (rollback), capaz de sub-transacciones ...?

  1. permisos necesarios: Adquirir el rechazo trivial, "insuficientes fondos"
  2. start "confirmación de dos fases" a
  3. añadir sub-transacciones
  4. cometer o roll-back

Advertencia: matemáticas BCD se inventó para evitar errores de redondeo de la base 10 de las matemáticas. Usted no menciona los problemas internacionales, pero que había necesidad de punto fijo o "precisión grande" matemáticas, conversión de moneda, y todo lo demás ...

Estoy en realidad el autor de MyBanco, si desea alguna ayuda, apenas envíeme un correo electrónico:)

Dinero tienda como centavos (entero) en lugar de dólares (float). No es un diseño, pero es probable que sea más útil.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top