[an error occurred while processing this directive]

Modellierung eines Kontos als Beispiel im Rahmen der Lehre des Programmierens. (), Beispiel, Seite 721528
http://www.purl.org/stefan_ram/pub/programmieren_beispiel_konto_de ist die kanonische URI dieser Seite.
Stefan-Ram-Startseite

Beispiel Ein Konto

Auf ein Konto kann etwas gebucht werden. Ein Konto hat einen Saldo (Kontostand). Ein bekannte Beispiel für ein Konto ist das Girokonto, das von einer Bank verwaltet wird, aber auch im Rahmen der doppelten Buchführung werden Konten verwendet.

Anforderungen

Ein Konto soll modelliert werden, dabei soll ein Betrag eingezahlt werden können und der Saldo soll ermittelt werden können.

Konzeption

Entsprechend der Anforderungen liegt es nahe, dem Konto zwei Operationen zuzuordnen: Die Operation "einzahlen( betrag )" modelliert das Einzahlen eines als Argument angegeben Betrages "betrag" auf das Konto. Die Operation "saldo()" modelliert eine Kontoabfrage und ergibt den Saldo des Kontos.

Konto [UML class diagram, concept model]
.----------------------------------------. 
| Konto | 
|----------------------------------------| 
|----------------------------------------| 
| | 
| einzahlen( betrag : int ) : void | 
| ---------------------------------- | 
| | 
| saldo() : int | 
| --------------- | 
| | 
'----------------------------------------'

Da auf ein Konto keine gebrochenen Cent eingezahlt werden können, ist das Argument der Operation "einzahlen" ganzzahlig. Durch die Vermeidung von Gleitkommazahlen werden auch Ungenauigkeiten verhindert, die sich aus der Darstellung von Gleitkommazahlen als Dualbrüche ergeben.

Die so gekennzeichneten Operationen können also von allen anderen Stellen aus verwendet werden. Durch das Unterstreichen einer Operation wird diese Operation als eine Operation der Klasse gekennzeichnet.

Entwurf

Erst nach der Festlegung der Schnittstelle, werden die internen Wertspeicher festgelegt. Ein solcher Wertspeicher wird auch ein Attribut  genannt.

Konto [UML class diagram, design model]
.----------------------------------------. 
| Konto | 
|----------------------------------------| 
| - wert : int | 
| ------------ | 
|----------------------------------------| 
| | 
| + einzahlen( betrag : int ) : void | 
| ---------------------------------- | 
| | 
| + saldo() : int | 
| --------------- | 
| | 
'----------------------------------------'

Das Vorzeichen "+" kennzeichnet in dem UML-Klassendiagramm, daß das folgende Mitglied der Klasse öffentlich sichtbar ist. (In dem weiter oben stehenden Konzept-Model, sind alle Komponenten öffentlich, so daß dort eine solche Kennzeichnung nicht nötig war.)

Durch das negative Vorzeichen wird die Sichtbarkeit eines Attributs als „privat“ gekennzeichnet. Durch das Unterstreichen eines Attributes wird das Attribut als Attribut der Klasse gekennzeichnet.

Implementations-Entwurf

Das Feld "wert" soll am Anfang des Programmes auf den Wert "0" gesetzt werden.

Die Nachricht "einzahlen( betrag )" wird durch Addition des Betrags "betrag" zum Feld "wert" implementiert.

Die Nachricht "saldo( betrag )" wird durch Rückgabe des Wertes des Felds "wert" implementiert

Von der Stefan-Ram-Startseite ausgehend finden sich oft noch mehr Informationen zu Themen, die auf einer Seite angesprochen wurden. (Eine Verbindung zur Stefan-Ram-Startseite befindet sich ganz oben auf dieser Seite.)  |   Seiteninformation und Impressum  |   Formular für diese Seite betreffende Mitteilungen an den Herausgeber  |   Der Urheber dieses Textes ist Stefan Ram. Alle Rechte sind vorbehalten. Diese Seite ist eine Veröffentlichung von Stefan Ram. slrprd, PbclevtugFgrsnaEnz