2009-07-27 6 views
2

Ich habe eine Access db schrieb ich, dass ich für mein Scheckheft und Budgetierung für die letzten 3 Jahre verwendet habe. Ich habe noch nie zuvor ein Programm geschrieben, aber ich habe beschlossen, die db in ein eigenständiges Programm zu schreiben. Meine einzige Erfahrung, neben dem einfachen VBA in der db selbst, ist eine Intro-zu-C++ - Klasse und eine OO-Logik-Klasse.Benötigen UML-Diagramm und Planungshilfe

Obwohl ich weiß, was ich will das Programm zu tun (weil es ist, was meine db tut) Ich möchte die Planung und Design so gut wie möglich nähern, so dass ich das Programm so gut wie möglich schreiben kann, so dass Feature-Ergänzungen und Wartung sind einfacher.

Ich brauche Hilfe bei der Planung. Ich denke, UML-Diagramme sollten zuerst sein. Welche UML-Diagramme muss ich tun? Und in welcher Reihenfolge? Ich habe versucht, einen Anwendungsfall zu machen, aber da das Programm nur mich, mein Geld, die Bank und die Geschäfte betrifft, schien es sinnlos. Oder habe ich falsch darüber nachgedacht? Muss ich mein Geld und mein Budget in meinem Konto darstellen? Ich weiß es nicht. Ich brauche Hilfe bei der weiteren Vorgehensweise. Vielen Dank.

Antwort

2

Da Ihre Anwendung für den persönlichen Gebrauch gedacht ist, brauche ich nur zwei Diagramme, vielleicht drei. Sie können ein Use Case-Diagramm verwenden, wenn Sie möchten, aber Sie werden wahrscheinlich mit einer Liste von Anwendungsfällen besser dran sein. Da kein anderer es angegeben hat, ist ein Anwendungsfall eine Voraussetzung, wo Sie etwas angeben, für das Sie es verwenden werden. Diese helfen Ihnen zu definieren, welche Funktionen Sie benötigen.
Als nächstes brauchen Sie die Klassendiagramme für, wie Sie Ihr Programm organisieren werden. Ein Klassendiagramm zeigt, welche Klassen Sie haben und wie sie verbunden sind. Dies ist nützlich, um herauszufinden, ob Ihr Programm zu kompliziert ist oder ob Sie das Antipattern als Blob verwenden. Wenn Sie viele Linien haben, die Klassen miteinander verbinden, möchten Sie vielleicht reorganisieren, um zu sehen, ob Sie jede Klasse zusammenhängender machen können und wenn Sie nur sehr wenige Klassen sehen, möchten Sie vielleicht nach einem Antipattern eines Blobs suchen. Ein Antipattern ist ein häufiges Vorkommnis, das schlecht für die Lesbarkeit oder Wartbarkeit ist. Klassenverbundenheit wird definiert, wenn jede Klasse genau das hat, was sie benötigt. Wenn Sie sich zum Beispiel für eine Klasse für Ihr Konto entscheiden, müssen Sie keine Informationen kennen, die nicht mit Ihrem Konto in Zusammenhang stehen, z. B. die Adresse oder den Namen Ihrer Bank.

Das letzte UML-Diagramm, das Sie benötigen, ist ein Sequenzdiagramm, das zeigt, wie verschiedene Objekte in Ihrem Programm interagieren. Dies hilft Ihnen, die Interaktionen Ihrer Klassen besser zu verstehen und zu entscheiden, ob Sie sie besser organisieren müssen, wenn sie zu komplex werden.

Dies sind die UML-Diagramme, die Sie benötigen könnten. Möglicherweise möchten Sie auch ein Netzwerkdiagramm, um zu verstehen, wie Ihre Datenbank eine Verbindung zur Website der Bank herstellt, und um die benötigten Informationen zu erhalten.

1

Die Diagramme dienen nur dazu, Ihnen zu verdeutlichen, was Sie tun und halten Sie auf dem richtigen Weg. Ich nehme an, das weißt du schon. In Ihrem Fall glaube ich, dass ein ausführlicher Anwendungsfall ausreicht, um sicherzustellen, dass Sie alle Funktionen handhaben und nichts vergessen. (Erinnerung: Use Case ist kein Diagramm. Es ist Text)

3

Es ist gut, eine Reihe von UML-Diagrammen zu haben, um zu verfolgen, was passiert, aber am Ende zu erinnern, dass Dokumentation zerfällt - Ihr Code ist Ihr Design . Das heißt, UML eignet sich gut zum Planen und Abrufen von Bits und Teilen. Es gibt eine große Dosis an persönlicher Erfahrung, die hier involviert ist, also fühlen Sie sich frei, zu nehmen, was Sie wollen und lassen Sie weg, was Sie denken, trifft nicht zu.

Use Case-Diagramme

überspringen diese, und nur statt Use Cases schreiben.

Klassendiagramme

Ich finde sie nützlich für die große Bild Ansicht einer Architektur planen, aber ich würde alle Methodennamen in der Regel auslassen, oder nur in den jeweiligen verlassen. Ich benutze es das logische Modell der Klassen

Sequenzdiagramme

Eines der nützlicheren Diagramme zur Veranschaulichung vor allem für Geschäftslogik und Datenfluss. Ich finde immer, dass ich Sequenzdiagramme für komplizierte Datenflüsse entwerfe und besonders wenn es Ereignisse gibt.

Objektdiagramme

Zeigt die Interaktion von Objekten zur Laufzeit. Normalerweise zeichne ich solche für komplexe Objekt-Interaktionen und nicht die "akademisch korrekten" Interaktionen. Ich denke, es ist weniger nützlich als Sequenzdiagramme.

Ablaufdiagramme

Gut für Websites, wenn Sie Fluss komplizieren

Zustandsübergänge

wichtig, wenn Ihre Anwendung viele Staaten hat. Erneut skizzieren Sie einfach das komplexeste System, es gibt keine Notwendigkeit für jedes Subsystem.

ER-Diagramm

Ich weiß, dass dies nicht UML ist, aber ein gutes Datenbank-Design im Voraus ist wichtig, und ein ER-Diagramm würden Ihnen helfen, zu organisieren und zu planen, wie verschiedene Tabellen beziehen sie miteinander