1 Zielbestimmung
Es soll ein Case – Tool programmiert werden, das eine Hilfe bei der Softwareentwicklung mit UML sein soll. Das Programm soll es ermöglichen, über Eingabemasken Use – Cases, Klassen, Verbindungen zwischen den einzelnen Klassen bzw. Use – Cases und Pflichtenhefte eingeben zu können. Wichtig ist hierbei, dass alle erstellten Objekte einzeln abgespeichert werden können im Datenaustauschformat XML. Die Komponenten sollen graphisch flexibel dargestellt werden, so liegen unterschiedliche Möglichkeiten der Detaillierung vor. Klassen sind z.B. sowohl mit als auch ohne Attribute und Operationen darstellbar.
1.1 Musskriterien
1. Eingabe der UML – Komponenten „Klasse“ und „Use – Case“
2. Eingabe eines Pflichtenheftes
3. graphische Darstellung / Ausgabe dieser Objekte
4. variierender Detaillierungsgrad
5. Eingabe von Verbindungen zw. Komponenten
1.2 Wunschkriterien
1. Erstellungsmöglichkeit von Klassendiagrammen, Use – Case – Diagrammen
und
Sequenzdiagrammen
2 Produkteinsatz
2.1 Anwendungsbereiche
1. Softwareengineering
2. Präsentationen von Softwareentwicklungsideen
2.2 Zielgruppen
1. Programmierer
2. Systementwickler, die UML verwenden
3 Produktumgebung
3.1 Software
1. JDK – Environment
3.2 Hardware
1. eine Hardware, auf der Java läuft
3.3 Schnittstellen
1. XML als Datenaustauschmöglichkeit
4 Produktinformation
4.1. Use Case Diagramme
1. Neue Komponente ( = Use - Cases, Klassen, Links, Pflichtenheft)
Akteur | Benutzer |
Vorbedingung | - |
Nachbedingung | Erfolg: Komponente angelegt |
Ablauf | Anlegung der neuen Komponente, Übergang in Edit - Vorgang |
Ausnahmen | - |
2. Komponente öffnen
Akteur | Benutzer |
Vorbedingung | - |
Nachbedingung | Erfolg: Komponente geöffnet, Daten geladen |
Ablauf | Benutzer wählt Komponente aus, die Daten werden geladen |
Ausnahmen | Falls schon eine Komponente geöffnet: Fehlermeldung |
3. Komponente editieren
Akteur | Benutzer |
Vorbedingung | Komponente geöffnet |
Nachbedingung | Erfolg: Datenveränderungen vorgenommen, in Grafik übernommen |
Ablauf | Daten einlesen, verändern und speichern |
Ausnahmen | - |
4. Komponenten speichern
Akteur | Benutzer |
Vorbedingung | Komponente geöffnet |
Nachbedingung | Erfolg: Komponente gespeichert |
Ablauf | Der Benutzer gibt den Dateinamen für die Komponente ein, diese wird gespeichert |
Ausnahmen | Komponentenname schon vorhanden: Fehlermeldung |
5. Anzeigen
Akteur | Benutzer |
Vorbedingung | Komponente geöffnet |
Nachbedingung | Erfolg: Komponente grafisch dargestellt |
Ablauf | Die gewählte Komponente wird grafisch dargestellt mit den geladenen Daten |
Ausnahmen | - |
4.2 Sequenzdiagramme
1. Komponente neu
2. Komponente öffnen
3. Komponente editieren
4. Komponente speichern
5. Anzeigen
4.3 Beispieldialoge
4.3.1 Klasse editieren
4.3.2 Pflichtenheft editieren
4.3.3 Use - Case editieren
5. Konzeptklassen und Daten
5.1. Klassendiagramm
5.2 Klasse Info
|
name
: string = ""
filename : string = "" version : string = "" date : string = "" lastchanged : string = "" author : string = "" |
5.3 Klasse Knoten
|
beschriftung : string = ""
pfeiltyp multiplikator : string = "" |
drawKnoten(xcoo, ycoo, direction) |
5.4 Klasse Klasse
|
header : info
beschriftung : text = "" attribute : text = "" operation : text = "" |
ladeKlasse()
speicherKlasse() editKlasse() drawKlasse(xcoo, ycoo, detail) |
5.5 Klasse Verbindung
|
header : info
beschriftung : text = "" linientyp knoten1 : knoten knoten2 : knoten |
ladeVerbindung()
speicherVerbindung() editVerbindung() drawVerbindung(xcoo, ycoo, detail) |
5.6 Klasse Use - Case
|
header : info
stichpunkt : list of struct { name : string = "" beschriftung : text = "" } |
constructor()
ladeUsecase() speicherUsecase() editUsecase() drawUsecase(xcoo, ycoo, detail) |
5.7 Klasse Pflichtenheft
|
header : info
pflichtenheft : text |
constructor()
ladePflichtenheft() speicherPflichtenheft() editPflichtenheft() drawPflichtenheft(xcoo, ycoo, detail) |
5.7. Klasse Topp
|
openclass : Klasse
openlink : Verbindung openusecase : UseCase openPheft : Pflichtenheft |
main() |