Ich hoffe, diese Frage ist nicht zu weit gefasst. In Zukunft muss ich möglicherweise einige Anwendungen um Buchhaltungs- und Finanzverfolgungssysteme erweitern (hauptsächlich webbasierte Anwendungen, aber meine Fragen beziehen sich auch auf Desktop-Apps).
Nun ist es theoretisch einfach, eine einfache Aufzeichnung von Finanztransaktionen zu erstellen. Eine Datenbanktabelle mit wenigen Spalten könnte den Job erledigen. Sogar MS Access, Excel oder auch nur eine reine ASCII-Textdatei können zum Speichern von Transaktionsdaten, Konto-IDs und Dollarbeträgen verwendet werden. Ich bin jedoch der Meinung, dass selbst eine häufig gesicherte SQL-Tabelle mit Transaktionsintegrität möglicherweise nicht robust genug ist, um ernsthafte finanzielle Nachverfolgungen durchzuführen.
Ich höre Begriffe wie "Double-Entry-Accounting" und habe das Gefühl, dass die meisten Finanz-Tracking-Apps (z. B. Mint.com oder GnuCash) eine viel kompliziertere Datenstruktur oder -verarbeitung haben, um sicherzustellen, dass alles doppelt vorhanden ist fügt sich perfekt zusammen, genau so, wie es sein sollte, und dass keine Daten jemals verloren gehen oder beschädigt werden.
Meine Frage lautet: Welche besonderen Designüberlegungen sollten beim Entwerfen einer App zur Verfolgung von Finanztransaktionen getroffen werden? Es scheint, als ob es so viele potenzielle Probleme geben könnte ... Probleme mit Rundungsgenauigkeit, Paritätsprüfungen, einer Art Prüfprozess, speziellen Sicherungen, Sicherheit / Verschlüsselung, zusätzlichen Möglichkeiten zum Schutz von Daten im Falle eines Datenabsturzes während der Dateneingabe. ... Ich weiß nicht genau, was ich konkret fragen soll, aber ich habe das Gefühl, dass die Programmindustrie eine Reihe von Best Practices hat, über die ich nichts weiß. Was sind Sie?
Bearbeiten:
Es sieht so aus, als hätte ich eine größere Dose Würmer geöffnet, als ich erwartet hatte. Zur Verdeutlichung denke ich speziell an zwei Arten von Apps:
- Apps vom Typ "Check Registry" wie GnuCash oder Quicken, die Aufzeichnungen über einzelne Transaktionen für den eigenen Gebrauch führen.
- Apps, die die Rechnungsstellung / Gutschrift / oder "Punkte" für Lieferanten und Kunden verfolgen, die mit einem Unternehmen zu tun haben.
Ich werde wahrscheinlich keine Direktbankgeschäfte oder (AFAIK) Geschäfte tätigen, mit denen eine Menge finanzbezogener staatlicher Vorschriften verbunden sind.