Dokumentversion: 1.0 (19. Dez. 2000)
Autor:
Erstautor: U.Sacklowski, Fortschreibung durch projekt98, projekt99
Zustand: in Bearbeitung
Diese Dokumentation ist bei Bedarf/Erkenntnis durch die Projektmitglieder
fortzuschreiben (mit Autorenhinweis).
Inhalt
1. Analyse und Definition
1.1 Gesamtvorgang
1.2 Use Case-Diagramm
1.3 Verhaltensspezifikation und Anforderungsspezifikation
(Pflichtenheft)
1.3.1 Anforderungsspezifikation (Pflichtenheft)
1.3.2 Verhaltensspezifikation
Die Gliederung der Analyse- und Definitionsdokumente erfolgt auf der obersten Ebene bezüglich der Anwendungsfälle (Use Cases). Die nachfolgenden Gliederungspunkte beziehen sich auf einen Anwendungsfall.
Die Dokumentation des Gesamtvorganges ist für komplexe Abläufe, wie sie bei der Topographie und der Diffraktometrie/Reflektometrie anzutreffen sind, sinnvoll. Innerhalb der Softwareentwicklung gehört ein solches Dokument in die Analysephase, hier als Teil des Ist-Zustandes und des Soll-Konzeptes.
Als Beispiel für ein Gesamtvorgang-Dokument sei verwiesen auf die Topographie: (IX. Entwicklerdokumentation; Analyse und Definition; Topographie).
Inhalt dieses Dokumentes:
1. Einleitung: Fachlicher Hintergrund,
Ziel und Grobablauf des Topographie-Gesamtvorganges
2. Feinablauf des Topographie-Gesamtvorganges
2.1 Verbale Beschreibung
(eine weitere Untergliederung erfolgt dort)
2.2 Beschreibung in Pseudokode
Bemerkungen zum Gesamtvorgang:
Der Gesamtvorgang wird in Teilvorgänge gegliedert. Ihrer Realisierung
dienen:
- Manuelle Aufgaben, d.h. Aufgaben ohne Unterstützung des
RTK-Steuerprogrammes (z.B. handschriftlicher Eintrag in das Protokollbuch),
- Dialog-Aufgaben, d.h. Aufgaben mit Unterstützung des
RTK-Steuerprogrammes (z.B. bei der manuellen Justage, wo sich Eingaben
in eine Dialogbox durch den Nutzer mit der durch das RTK-Steuerprogramm
gesteuerten Regelung abwechseln oder im Zählerfenster die Anzeige
der aktuellen Zählraten).
Dialogaufgaben stellen Anforderungen an das RTK-Steuerprogramm dar. Sie sind in der Definition, z.B. im Pflichtenheft, weiter zu spezifizieren.
Die Beschreibung des Feinablaufes des Topographie-Gesamtvorganges erfolgt einmal verbal, hier ausführlich und im Falle von Dialogaufgaben mit den entsprechenden Dialogboxen und Dialogfenstern, und zum anderen in Pseudocode. Letztere Darstellung ist kompakt und soll den Zugang zum Ablauf des Gesamtvorganges erleichtern. (Dieser Vorschlag stammt von eine Gruppe aus dem Projekt99-Seminar. Seine Zweckmäßigkeit bleibt zu diskutieren.)
Zum Pseudocode:
Verwendete Konstrukte: (nach R.Dumke: Modernes Software Engineering,
Vieweg 1993, S.15)
Sequenz
A seq
|
Selektion
A
|
Iteration
A
|
Iteration
A
|
zusätzlich: || Parallelität
Wörter einer lexikalischen Einheit werden mit '_' oder '-' verbunden
kursiv-fett: use_case
kursiv: Titel von DB und DF
DB: Dialogbox
DF: Dialogfenster
MA: Manuelle Aufgabe
DA: Dialog-Aufgabe
Bsp. zum Pseudocode aus dem Topographie-Dokument:
Topographie_Gesamtvorgang seq
Erfassung_allgemeiner_Angaben_zum_Meßvorgang
seq
Handschriftliche_Einträge_in_einem_Protokollbuch
(MA)
Allgemeine_Einstellungen_zum_Meßvorgang
(DA)
/* DB: Allgemeine
Einstellungen */
Erfassung_allgemeiner_Angaben_zum_Meßvorgang
end
Platzierung_der_Probe_auf_dem_Probenteller_und_Vorabjustage
seq
.....
Erstellung eines Use Case-Diagrammes für diesen Anwendungsfall. Dieses Use Case-Diagramm wird unter dem Punkt 'IX. Entwicklerdokumente; Analyse und Definition; Use Case-Diagramme' eingebunden. Hier erfolgt nur ein Link auf dieses Dokument. Gibt es kein Use Case-Diagramm, so steht unter diesem Punkt 'entfällt'.
Es ist zu prüfen, ob ein Use Case-Diagramm für den einzelnen Anwendungsfall sinnvoll ist, oder ob das Use Case-Diagramm für das gesamte System genügt (siehe: 'IX. Entwicklerdokumente; Analyse und Definition; Use Case-Diagramme; RTK-Projekt').
1.3 Verhaltensspezifikation und Anforderungsspezifikation (Pflichtenheft)
Bei der Erarbeitung eines Pflichtenheftes innerhalb des Reverse Engineering
ergeben sich im Detail zahlreiche Probleme. Die Problemlösung führt
uns zu zwei unterschiedlichen Dokumenten:
1.3.1 Anforderungsspezifikation (Pflichtenheft)
Für die Gliederung von Pflichtenheften findet man in der Literatur und in den Dokumentationen zu Case-Tools zahlreiche Hinweise. Wir orientieren uns an der von Balzert empfohlenen Gliederung (H. Balzert: Lehrbuch der Softwaretechnik: Softwareentwicklung; Berlin, Oxford: Spektrum, Akad. Verlag, 1996, S. 106 f). Diese ist allerdings recht ausführlich.
Orientiert an dieser Gliederung haben sich Sebastian Lühnsdorf und Alexander Schad in Ihrem Pflichtenheft zur 'Einbindung 2-dimensionaler Detektoren in das RTK-Steureprogramm' (siehe: IX. Entwicklerdokumente, Analyse und Definition, Detektoren, 2-dimensionale Detektoren). Ob die Gliederung überdimensioniert ist, bleibt zu diskutieren bzw. sollten Erfahrungen zeigen.
Die Gliederung ist auf der letzten Seite des Dokumentes Doc_Anal_Def.ps
beschrieben. Genau mit dieser Gliederung existiert noch kein Dokument.
Unsere bisherige Gliederung ist jedoch weitestgehend identisch, so
daß im Wesentlichen nur einige Umstrukturierungen vorgenommen werden
müssen.
Änderungen gegenüber der alten Gliederung:
- Benutzerschnittstelle und Dateien werden zu einem Punkt vereinigt
- Pkt. Testfälle entfällt. Testfälle werden dokumentiert
unter 'Entwicklerdokumente, Test'.
- Fehler und Änderungswünsche sind getrennte Punkte
- neuer Pkt.: 7. Verwandte Dokumente
- neuer Pkt.: 8. Änderungen am Dokument
- neuer Pkt.: 9. Quellen des Dokuments
- neuer Pkt.: 10. Glossar
Nachfolgend wird die neue Gliederung erläutert. Ergänzend
für ein tieferes Verständnis zu einzelnen Punkten können
die bisherigen Dokumente zur 'Topographie' und zur 'Manuellen Justage'
genommen werden. Siehe:
- IX. Entwicklerdokumente, Analyse und Definition, Topographie, Einst.
der Parameter für die Topographie (neue Version),
- IX. Entwicklerdokumente, Analyse und Definition, Topographie, Start
und Kontrolle der Topographie (neue Version),
- IX. Entwicklerdokumente, Analyse und Definition, Man./Autom. Justage,
Probe u. Kollim. manuell einstellen (K. Bothe).
In Kürze wird sich auch das Dokument 'IX. Entwicklerdokumente, Analyse und Definition, Diffraktometrie/Reflektometrie, LineScan' anbieten, dies dann vollständig nach der neuen Gliederung.
Dokumentationskopf und Gliederung
a) Dokumentationskopf
als Beispiel siehe 'IX. Entwicklerdokumente,
Analyse und Definition, Diffraktometrie/Reflektometrie, LineScan'
im Detail:
- Funktion: wie z.B. bei der Manuellen Justage
oder
- Hauptfunktion, Teilfunktion: wie z.B. bei
der Diffraktometrie/Reflektometrie, LineScan
- Dokumentversion: 1.0, 1.1, ...; nur bei
bedeutenden Änderungen 1. -> 2. usw.
- Autor(en):
- Änderungen: kurze Beschreibung bzgl.
Vorgängerversion (2-3 Sätze). Vollständig in Pkt. 8.
- Zustand: in Bearbeitung / abgeschlossen
b) Gliederung
1. Überblick
2. Funktionale Beschreibung
3. Daten
3.1 Benutzerschnittstelle(n)
Dialogbox
3.1.1 Steuerung
3.1.2 Eingaben/Ausgaben und Prüfung
-> bei einer Benutzerschnittstelle
sollte man diese Gliederung so nehmen
-> bei mehreren Benutzerschnittstellen
sind diese unter 3.1.1 - 3.1.i zu dokumentieren
3.2 Dateien
4.1 .ini-Datei
4.2 - 4.i weitere Dateien, z.B. mak-, log-
und Messwerte-Datei
4. Fehler
5. Änderungswünsche
6. Offene Fragen
7. Verwandte Dokumente
8. Änderungen am Dokument
9. Quellen des Dokuments
10. Glossar
Bemerkungen zur Gliederung:
2. Funktionale Beschreibung
Falls ein Dokument zum Gesamtvorgang existiert, sind Redundanzen mit
der entsprechenden Dialogaufgabe des Gesamtvorganges gegeben. Die Beschreibung
hier sollte detaillierter erfolgen. Wichtig ist, daß Konsistenz
gewahrt wird, d.h., die Teilfunktionen sollten dort wie hier die gleichen
sein.
Ein Voranstellen der/des entsprechenden Dialogbox/Dialogfensters dient dem Verständins der funktionalen Beschreibung.
Bereits hier beschriebene Fehler, Wünsche und Fragen sind eindeutig
zu kennzeichnen mit:
#Fehler:
#Wunsch:
#Frage:
Diese sind zusätzlich in die Punkte 4., 5., 6. aufzunehmen.
3.1 Benutzerschnittstelle:
Zu beschreiben ist die grafische Ein/Ausgabe (Dialogboxen, Fenster
zur Anzeige von Meßergabnissen
(StepScan, AreaScan).
3.1.1 Steuerung
siehe beispielhaft: 'IX. Entwicklerdokumente, Analyse und Definition,
Diffraktometrie/Reflektometrie, LineScan'
3.1.2 Eingaben/Ausgaben und Prüfung
Zu jedem Dialogelement sind anzugeben:
4. Fehler
Alle Fehler sind tabellarisch unter 'Entwicklerdokumente, Fehler, Fehler
je Anwendungsfall' zu dokumentieren. Hier erfolgt nur ein Link dorthin.
5. Änderungswünsche
Änderungswünsche sind hier zu nennen. Bei ihrer Realisierung
sind sie hier funktional und datenmäßig zu beschreiben.
Des weiteren ist ein evtl. vorhandener Gesamtvorgang fortzuschreiben.
6. Offene Fragen
zum Dokument (zur Funktionsweise des Systems)
(Beispiele hierfür siehe: Pflichtenheft zur 'Probe und Kollimator
manuell einstellen'.)
7. Verwandte Dokumente
vorausgesetzte, weiterführende, ergänzende Dokumente
8. Änderungen am Dokument
Detaillierte Beschreibung aller Änderungen bezüglich aller
Vorversionen (Fortschreibung).
9. Quellen des Dokuments
Treffen mit Physikern: Termine und Personen
Diskussion mit ...
andere Dokumente
äußeres Verhalten
Programmquellen
...
10. Glossar
Vollständig für dieses Dokument. Ein Hochziehen aller Glossare
erfolgt unter 'Entwicklerdokumente, Analyse und Definition, Glossar'