2014-04-22 8 views
5

Im Erstellen eines Use Case für ein Projekt für die Schule. Ich bin irgendwie verwirrt über die Vorbedingung Registerkarte.Voraussetzung in einem Use Case

In gewisser Weise gibt es in der Tat eine Voraussetzung wie oder

Was aber, wenn die Sofware eine lokale Einrichtung ist „ein Konto braucht“ „müssen angemeldet sein“?

Für mich klingt es logisch, dass eine Voraussetzung dafür ist, dass „die Software installiert werden muss“

Aber auf der anderen ist diese Voraussetzung seltsam aussieht, weil sonst würden Sie nicht dieses Use Case in erster Linie haben.

Also meine Frage kurz ist. Können Systemanforderungen oder Softwareinstallation Teil einer Vorbedingung sein?

Antwort

6

Wirklich gute Frage, die das Herz der UML-Probleme angeht - es ist schwache Semantik. Die Antwort auf Ihre Frage ist daher - könnte richtig sein, könnte falsch sein. UML legt die Notationsregeln fest und definiert nur elementare Semantiken (z. B. "Eine Vorbedingung muss in der Reihenfolge erfüllt sein ...").

Wir könnten sogar weiter gehen mit Vorbedingungen wie "Betriebssystem sollte richtig konfiguriert sein" oder noch schlimmer - "Computer hat Elektrizität" ... Diese Diskussionen können leicht philosophisch werden. :)

Nach meiner Erfahrung gibt es einen Weg, um Use Cases effizient zu machen - ein weiteres UML-Modell, ein Komplementärmodell, das verwendet werden würde, um Vorbedingungen, Nachbedingungen und sogar Anwendungsszenarien zu formulieren (die gleiche Frage wie Vorbedingungen) kann auch für Szenarien erstellt werden - was ist eine korrekte Abstraktion für ein Szenario? Oder ist "Computer einschalten?" ein gültiger Schritt in einem Szenario?).

Um dies zu erreichen, verwende ich normalerweise konzeptionelle Klassendiagramme - ich modelliere meine Domäne und dann pre/post Bedingungen und Szenarien in Bezug auf diese Elemente (Klassen und ihre Attribute) UND NUR die Verwendung dieser Elemente. Dies macht sehr viel Sinn, vor allem wenn man weiß, dass Pre/Post-Conditions den Zustand des Systems abfragen, der durch Objekte/Werte sauber wiedergegeben wird. Wenn Sie sich über die Voraussetzung "Die Software muss installiert werden" wundern, fragen Sie sich einfach: "Brauche ich wirklich eine Klasse, Software 'mit einem Attribut, isInstalled'?"

Dann erkennen Sie wahrscheinlich, dass Sie wahrscheinlich diese Vorbedingung nicht brauchen, weil es einfach zu "low level" ist und aus dem Geltungsbereich meiner Domain. Jetzt müssen Sie nur Ihre Domain definieren. :) Hier ist ein einfaches Beispiel für eine ähnliche Situation, die Idee demonstrieren (bedenken Sie, dass Fall und Klasse-Modelle verwenden, werden auf separaten Diagramme gezeichnet):

enter image description here

Diese Methode ist nicht nur es die Angabe Verwendung erleichtern Fälle, sondern auch ergänzende Klassenmodell, die Domain-Spezifikation, Business Rules Identifikation und eine erste Abstraktion des Systemdesigns ermöglichen.

Viel Glück und viel Spaß!

+0

Vielen Dank ! Dies löst mein Problem! Das Projekt für die Schule schreibt Anwendungsfälle, aber für Software, die bereits erstellt wurde. Ein bisschen umgekehrt ... aber es ist das Konzept, das wir verstehen müssen. Ich habe mich für das Programm Ccleaner von Piriform entschieden. Ich habe bereits einen Anwendungsfall geschwärzt ... Der Fall, in dem der Benutzer die Aktion der Reinigung der Festplatte ausführt. Danke für die Bilder und die Erklärung! fosa – Fosa

1

Für mich können Systemanforderungen und/oder Softwareinstallation Teil einer Vorbedingung sein, aber wie immer muss es im Zusammenhang mit Ihrem Anwendungsfall relevant sein. Zum Beispiel wird Ihr System ein anderes Verhalten haben, wenn eine Hardware oder ein drittes Tool installiert ist oder nicht.

1

Denken Sie daran, dass Anwendungsfälle wirklich hohe Anforderungen an die Implementierung Ihrer Software/Systeme stellen. Auf diese Weise sollten sich die Vorbedingungen nur auf die Software (oder das System) beziehen, die Sie erstellen, und nicht auf externe Elemente (z. B. "der Computer ist verbunden und eingeschaltet" ist keine gute Voraussetzung). Wenn Sie z. B. Ihre Anwendungsfälle als Sequenz- oder Aktivitätsdiagramme realisieren, geben die Voraussetzungen Hinweise darauf, dass in der Software möglicherweise eine Überprüfung erforderlich ist, was möglicherweise einen Aufruf an eine andere Operation/ein anderes Modul/eine andere Klasse erforderlich macht. Diese Realisierungsübung hilft Ihnen, die Form zu bestimmen, die die Vorbedingung annehmen wird, und selbst wenn sie abhängig von der Struktur Ihrer Anwendung noch benötigt wird.

Um ein Beispiel zu nehmen, kann die Voraussetzung "muss angemeldet sein" erforderlich sein, wenn Sie ein anderes Verhalten erwarten, wenn der Benutzer angemeldet ist oder wenn für den Vorgang andere Berechtigungen erforderlich sind.

So können einige Systemvoraussetzungen Voraussetzungen sein (z. B. Konnektivität zu einem Gerät) und eine Softwareinstallation kann eine Voraussetzung sein (z. B. eine erforderliche Companion-Produktintegration), aber nur, wenn sie sich direkt auf den Anwendungsfall auswirken selbst. Die Installation der Software für Ihre App sollte keine Vorbedingung sein: Die App kann nicht prüfen, ob sie nicht installiert ist, da sie nicht ausgeführt werden kann und sie ausgeführt wird, dann ist sie offensichtlich installiert ...

Verwandte Themen