Accounting Transaction
# Accounting Transaction

Accounting Transaction (deutsch buchhaltungstechnischer Geschäftsvorgang) beschreibt in der Softwaremodellierung ein Analysemuster nach Martin Fowler.
Dieses Analysemuster wird benötigt, um das Thema Buchführung (doppelte Buchführung) softwaretechnisch modellieren und implementieren zu können.
Das Analysemuster Accounting Transaction gehört zur Mustergruppe Accounting, zu der auch folgende Muster gehören: Event, Accounting, Posting Rule, Account, Reversal Adjustement, Difference Adjustement und Replacement Adjustement.
Das Analysemuster besteht aus drei Klassen: Account, Entry und der Accounting Transaction.
Nach der UML-Notation kann genau ein Objekt der Account-Klasse (Konto-Klasse) mehreren Objekten der Entry-Klasse (Buchung-Klasse) zugeordnet werden. Aus denen müssen genau zwei Entry-Objekte genau einem Objekt der Klasse Accounting Transaction zugeordnet werden.

## Beispiel

Die Beträge der beiden Entry-Objekte müssen den gleichen Betrag (ein Betrag muss ein negatives Vorzeichen haben) beinhalten, damit die Summe der beiden 0 (Null) ergibt.

## Allgemein

Analysemuster helfen bei der Wiederverwendung von Erfahrungswissen und können flexibel zur Lösung von softwaretechnischen Problemen angewendet werden. Sie werden vorwiegend in der UML-Notation definiert.
Die Methoden der doppelten Buchführung als praktische Anwendung von Mathematik wurden bereits im Jahre 1494 vom venezianischen Mönch Luca Pacioli ausführlich beschrieben. Die Methoden selbst sind älter.