Der Prozeß des Reengineering am Beispiel eines
Studenten-Informationssystems
Diplomarbeit
zur Erlangung des akademischen G...
Eidesstattliche Erklärung
„Ich erkläre an Eides Statt, daß ich die Diplomarbeit mit dem Titel „Der Pro-
zeß des Reengineer...
Inhaltsverzeichnis
Inhaltsverzeichnis
I. Einleitung ____________________________________________1
I.1 Problemstellung_____...
Inhaltsverzeichnis
III.6.3 Test und Installation __________________________________35
IV. Benutzerdokumentation __________...
Inhaltsverzeichnis
IV.3.8.4 Der Befehl Externe Ergebnisliste drucken __________66
IV.3.8.5 Der Befehl Scheine verwalten __...
Inhaltsverzeichnis
V.2.4 Das Layout Dummy-Statistik ____________________________87
V.2.4.1 Das Skript btnDetail___________...
Inhaltsverzeichnis
V.3.2.1 Übersicht____________________________________110
V.3.2.2 Die Layoutprozedur LVA-Anmeldung______...
Abbildungsverzeichnis
Abbildungsverzeichnis
Abbildung II-1: Der Zusammenhang der Begriffe _______________________3
Abbildu...
Abbildungsverzeichnis
Abbildung IV-22: Die Verwaltung von Lehrveranstaltungstypen __________59
Abbildung IV-23: Das Menue ...
Tabellenverzeichnis
Tabellenverzeichnis
Tabelle II-1: Ein Vergleich von CARE-Tools _________________________17
Tabelle III...
Einleitung 1
I. Einleitung
I.1 Problemstellung
Die hohe und noch immer steigende Nachfrage nach Anwendungssystemen zur
Bef...
Einleitung 2
I.3 Fallstudie
Am Institut für Wirtschaftsinformatik/IE der Johannes-Kepler-Universität Linz
war seit 1989 ei...
Grundlagen des Reengineering 3
II. Grundlagen des Reengineering
II.1 Begriffsbestimmungen
Das Schlagwort des Reenginering ...
Grundlagen des Reengineering 4
II.1.1 Reengineering
„Ziel des Reengineering ist es, Wirksamkeit und Wirtschaftlichkeit ein...
Grundlagen des Reengineering 5
II.2 Der Prozeß des Reengineering
Ausgangspunkt aller Betrachtungen in Hinblick auf den Pro...
Grundlagen des Reengineering 6
verschiedene Ebenen. Komplexere Reengineering-Prozesse kombinieren meist
Tätigkeiten der Re...
Grundlagen des Reengineering 7
Technologische
Lücke
Technologieschub
Reengineering
Risiko
Implementierung
Wartung
Entwurf
...
Grundlagen des Reengineering 8
Die wichtigsten Inhalte und Methoden der Programmanalyse lassen sich fol-
gendermaßen zusam...
Grundlagen des Reengineering 9
II.5 Restrukturierung
Primäres Ziel der Restrukturierung ist eine Erhöhung der Wartungsprod...
Grundlagen des Reengineering 10
In Anlehnung an die Komponenten eines Anwendungssystems lassen sich fol-
gende Objekte ein...
Grundlagen des Reengineering 11
dar. Der Übergang von der Unterstützung einzelner Aufgaben hin zu einem ge-
schäftsfallori...
Grundlagen des Reengineering 12
Komponenten-
struktur
Programme,
Dokumentationen
Abstraktionsebenen
Forward-Engineering
Re...
Grundlagen des Reengineering 13
Beim Reverse-Engineering von Daten kommt es zu einer Übertragung tech-
nisch orientierter ...
Grundlagen des Reengineering 14
Für jedes ökonomisch motivierte Vorgehen muß eine klare Ziel-Ergebnis-
Vorgehensweise-Stru...
Grundlagen des Reengineering 15
Ausgehend von diesen Grundgedanken leitet Kaufmann folgende Schritte einer
Basisvorgehensw...
Grundlagen des Reengineering 16
II.8 CARE - Computer Aided Reengineering
Ansätze zum computerunterstützten Reengineering l...
Grundlagen des Reengineering 17
Tabelle II-1 enthält einen exemplarischen Vergleich dreier willkürlich gewähl-
ter CARE-To...
Fallstudie 18
III. Fallstudie
III.1 Die Spezifikation des Zielmodells
Zu Beginn des Projekts wurden vom Auftraggeber - in ...
Fallstudie 19
• Flexibel konfigurierbare Anmeldungserfassung
• Automatisches Aufnahmeverfahren
• Verwaltung von Scheinen
•...
Fallstudie 20
eventuell wiederverwendbare Komponenten und zukünftige Entwicklungspo-
tentiale zu gewinnen.
III.2.1 Datenan...
Fallstudie 21
re und der teilweise völlig neuartigen Anforderungen ein komplettes
Reengineering der Funktionsstruktur nich...
Fallstudie 22
zur Eingabe von Scheinen ist - die interessierende Lehrveranstaltung bereits
feststeht.
SUCHE([Anmeldung];[A...
Fallstudie 23
nen Problemen - auf Version 3.0 adaptiert hätte werden müssen, um anschlie-
ßend unter Verwendung des sogena...
Fallstudie 24
Abbildung III-2: Die Erfassung von Anmeldungen
Alle weiteren Menuebefehle führten entweder zu Fehlermeldunge...
Fallstudie 25
Abbildung III-3: Die Verwaltung von Lehrveranstaltungen
Die Attributnamen wurden aus den physischen Dateibes...
Fallstudie 26
(siehe Abbildung III-5), und das obwohl - wie in Abbildung III-6 - an anderer
Stelle sogar eine weit bequeme...
Fallstudie 27
III.3 Die Spezifikation der Erfassungstransformation
Wie obigen Ausführungen zu entnehmen ist, war im Rahmen...
Fallstudie 28
Diplomprü-
fungsergebnis
Diplomprüfung
Einstiegsklau-
surergebnis
erreicht betrifft
Student
n
1
nn
erreicht
...
Fallstudie 29
Die korrespondierenden Strukturen konnten dann direkt den logischen Daten-
modellen entnommen werden.
Ausgan...
Fallstudie 30
III.5 Die Spezifikation der Realisierungstransformation
Zur Umsetzung der ermittelten Modelltransformationen...
Fallstudie 31
Das Konvertierungsprogramm bildete intern die relevanten Teile der beiden Da-
tenmodelle ab. Nach der Import...
Fallstudie 32
LVA
Surrogat Ganzzahl
Nummer Alpha 6
Semester Alpha 5
Typ Alpha 20
Kürzel Alpha 2
Bezeichnung Alpha 40
Leite...
Fallstudie 33
Personal
Surrogat Ganzzahl
Titel Alpha 30
Vorname Alpha 20
Nachname Alpha 30
Straße Alpha 40
PLZ Alpha 4
Ort...
Fallstudie 34
III.6.1.2 Der Entwurf der Benutzerschnittstelle
Nicht zuletzt aufgrund der diesbezüglichen Schwächen des Alt...
Fallstudie 35
den erörterten Reengineering-Maßnahmen führte dies zu einer weiteren Vernet-
zung von Analyse-, Entwurfs- un...
Benutzerdokumentation 36
IV. Benutzerdokumentation
Die vorliegende Benutzerdokumentation soll eine Hilfestellung für den E...
Benutzerdokumentation 37
Sollte 4th Dimension (wie angekündigt) in näherer Zukunft für IBM-kompatible
PCs verfügbar werden...
Benutzerdokumentation 38
IV.3 Bedienungsanleitung
Zweck dieser Bedienungsanleitung ist die Beschreibung der angebotenen Fu...
Benutzerdokumentation 39
Abbildung IV-2: Die Benutzeroberfläche
IV.3.2 Das Menue Ablage
Das Menue Ablage enthält Befehle z...
Benutzerdokumentation 40
Abbildung IV-3: Das Menue Ablage
IV.3.2.1 Der Befehl Über F.I.S.H...
Nach Aufruf dieses Befehls e...
Benutzerdokumentation 41
Abbildung IV-4: Die Verwaltung des Logbuchs
Nach Auswahl eines Logbucheintrages können über zwei ...
Benutzerdokumentation 42
IV.3.2.4 Der Befehl Systemvariablen
Systemvariablen dienen der Festlegung verschiedener Einstellu...
Benutzerdokumentation 43
Die Systemvariablen können nur von Mitgliedern des Design-Teams verändert
werden.
IV.3.2.5 Der Be...
Benutzerdokumentation 44
gebnisse dann bei jedem weiteren Aufruf der Statistik sofort verfügbar. Auch
eine Druckausgabe is...
Benutzerdokumentation 45
IV.3.4 Das Menue Institut
Unter diesem Punkt sind Befehle zur Verwaltung des Personals und zu Ers...
Benutzerdokumentation 46
Abbildung IV-8: Die Verwaltung von Institutspersonal
Sind bereits Personal-Datensätze vorhanden, ...
Benutzerdokumentation 47
Suchdialog öffnen
Zum vorherigen Datensatz blättern
Zum ersten Datensatz blättern
Aktuellen Daten...
Benutzerdokumentation 48
Abbildung IV-10: Die Markierung von Institutspersonal
Dies erfolgt einfach durch Aktivierung eine...
Benutzerdokumentation 49
Abbildung IV-11: Die Verwaltung von Semesterplänen
Gibt es für das angegebene Semester noch keine...
Benutzerdokumentation 50
Abbildung IV-12: Die Bearbeitung von Semesterplänen
Durch Schließen des Fensters wird der Semeste...
Benutzerdokumentation 51
IV.3.5 Das Menue Student
Hier können Daten über Studenten und Studienrichtungen verwaltet werden....
Benutzerdokumentation 52
Die Angabe einer Matrikelnummer ist zwingend, die Studienkennzahl kann über
ein Popup aus den vor...
Benutzerdokumentation 53
Abbildung IV-16: Die Markierung von Studenten
Um einen direkten Zugriff auf die Masse an gespeich...
Benutzerdokumentation 54
Abbildung IV-17: Die Auswahl von Lehrveranstaltungen
Ähnliche Popups treten v.a. im Zusammenhang ...
Benutzerdokumentation 55
Abbildung IV-18: Die Auswahl von Drucklayouts
IV.3.5.3 Der Befehl Studienrichtungen verwalten
Die...
Benutzerdokumentation 56
IV.3.6 Das Menue Lehrveranstaltung
Dieses Menue enthält alle nötigen Funktionen rund um die Lehrv...
Benutzerdokumentation 57
Abbildung IV-21: Die Verwaltung von Lehrveranstaltungen
Auch für Lehrveranstaltungen wird ein ein...
Benutzerdokumentation 58
IV.3.6.2 Der Befehl LVA-Daten drucken
Ähnlich wie bei den Studenten- und Personaldaten lassen sic...
Benutzerdokumentation 59
Abbildung IV-22: Die Verwaltung von Lehrveranstaltungstypen
Die Bezeichnung des Lehrveranstaltung...
Benutzerdokumentation 60
IV.3.7 Das Menue Anmeldung
Dieses Menue stellt Befehle zur Konfiguration des Anmeldungsmodus, zur...
Benutzerdokumentation 61
Abbildung IV-24: Die Erfassung von Anmeldungen
Zur Bestimmung eines Studenten muß zunächst die Ma...
Benutzerdokumentation 62
IV.3.7.3 Der Befehl Anmeldungen verwalten
Die Verwaltung von Anmeldungen bezieht sich im Gegensat...
Benutzerdokumentation 63
genommen wurde. Diese beiden Sachverhalte lassen sich entweder manuell ein-
geben oder per Klick ...
Benutzerdokumentation 64
IV.3.8 Das Menue Prüfung
Das Menue Prüfung umfaßt Befehle zur Verwaltung von Einstiegsklausuren,
...
Benutzerdokumentation 65
Abbildung IV-27: Die Verwaltung von Einstiegsklausuren
Die möglichen Werte für den Lehrveranstalt...
Benutzerdokumentation 66
IV.3.8.3 Der Befehl Interne Ergebnisliste drucken
Interne Ergebnislisten sind für die Ablage am I...
Benutzerdokumentation 67
Abbildung IV-28: Die Verwaltung von Scheinen
Die Verwaltung der Scheine funktioniert analog zu je...
Benutzerdokumentation 68
Desweiteren erfolgt nach jeder Eingabe eines Scheins die Kontrolle, ob der Stu-
dent Lehrveransta...
Benutzerdokumentation 69
IV.3.8.8 Der Befehl Sammelzeugnis drucken
Auch hier sind zunächst Lehrveranstaltung und Prüfungsd...
Benutzerdokumentation 70
Die Diplomprüfungstermine müssen nicht extra angelegt werden, da automa-
tisch eine entsprechende...
Systemdokumentation 71
V. Systemdokumentation
Die Systemdokumentation hat eine Schlüsselrolle in Hinblick auf das Verständ...
Systemdokumentation 72
V.1 Struktur
V.1.1 Übersicht
EinstklsrErgeb
Student
LVA
ScheinAnmeldung LVATyp
LVAKürzel
LVA-
Vorau...
Systemdokumentation 73
V.1.2 Die Datei Anmeldung
Anmeldung
LVA Ganzzahl Indiziert; Eingabe zwingend; Eingebbar; Änderbar
M...
Systemdokumentation 74
V.1.6 Die Datei Einstklsr
Einstklsr
Surrogat Ganzzahl Indiziert; Einmalig; Eingabe zwingend
LVATyp ...
Systemdokumentation 75
V.1.10 Die Datei Logbuch
Logbuch
Datum Datum Indiziert; Eingebbar; Änderbar
Zeit Uhrzeit Indiziert;...
Diplomarbeit: Software Reengineering (1995)
Diplomarbeit: Software Reengineering (1995)
Diplomarbeit: Software Reengineering (1995)
Diplomarbeit: Software Reengineering (1995)
Diplomarbeit: Software Reengineering (1995)
Diplomarbeit: Software Reengineering (1995)
Diplomarbeit: Software Reengineering (1995)
Diplomarbeit: Software Reengineering (1995)
Diplomarbeit: Software Reengineering (1995)
Diplomarbeit: Software Reengineering (1995)
Diplomarbeit: Software Reengineering (1995)
Diplomarbeit: Software Reengineering (1995)
Diplomarbeit: Software Reengineering (1995)
Diplomarbeit: Software Reengineering (1995)
Diplomarbeit: Software Reengineering (1995)
Diplomarbeit: Software Reengineering (1995)
Diplomarbeit: Software Reengineering (1995)
Diplomarbeit: Software Reengineering (1995)
Diplomarbeit: Software Reengineering (1995)
Diplomarbeit: Software Reengineering (1995)
Diplomarbeit: Software Reengineering (1995)
Diplomarbeit: Software Reengineering (1995)
Diplomarbeit: Software Reengineering (1995)
Diplomarbeit: Software Reengineering (1995)
Diplomarbeit: Software Reengineering (1995)
Diplomarbeit: Software Reengineering (1995)
Diplomarbeit: Software Reengineering (1995)
Diplomarbeit: Software Reengineering (1995)
Diplomarbeit: Software Reengineering (1995)
Diplomarbeit: Software Reengineering (1995)
Diplomarbeit: Software Reengineering (1995)
Diplomarbeit: Software Reengineering (1995)
Diplomarbeit: Software Reengineering (1995)
Diplomarbeit: Software Reengineering (1995)
Diplomarbeit: Software Reengineering (1995)
Diplomarbeit: Software Reengineering (1995)
Diplomarbeit: Software Reengineering (1995)
Diplomarbeit: Software Reengineering (1995)
Diplomarbeit: Software Reengineering (1995)
Diplomarbeit: Software Reengineering (1995)
Nächste SlideShare
Wird geladen in …5
×

Diplomarbeit: Software Reengineering (1995)

575 Aufrufe

Veröffentlicht am

Software Reengineering

Veröffentlicht in: Software
0 Kommentare
0 Gefällt mir
Statistik
Notizen
  • Als Erste(r) kommentieren

  • Gehören Sie zu den Ersten, denen das gefällt!

Keine Downloads
Aufrufe
Aufrufe insgesamt
575
Auf SlideShare
0
Aus Einbettungen
0
Anzahl an Einbettungen
30
Aktionen
Geteilt
0
Downloads
0
Kommentare
0
Gefällt mir
0
Einbettungen 0
Keine Einbettungen

Keine Notizen für die Folie

Diplomarbeit: Software Reengineering (1995)

  1. 1. Der Prozeß des Reengineering am Beispiel eines Studenten-Informationssystems Diplomarbeit zur Erlangung des akademischen Grades eines Magisters der Sozial- und Wirtschaftswissenschaften eingereicht beim IWI - Institut für Wirtschaftsinformatik Forschungsschwerpunkt Information Engineering Betreuer: o. Univ.-Prof. Dipl.-Ing. Dr. L. J. Heinrich von cand. rer. soc. oec. Arno Hütter Matrikelnummer: 9055520 Adresse: J. W. Kleinstraße 46, 4040 Linz Linz, den 22. Februar 1995
  2. 2. Eidesstattliche Erklärung „Ich erkläre an Eides Statt, daß ich die Diplomarbeit mit dem Titel „Der Pro- zeß des Reengineering am Beispiel eines Studenten-Informationssystems“ selbständig und ohne fremde Hilfe verfaßt, andere als die angegebenen Quellen und Hilfsmittel nicht benutzt und alle den benutzten Quellen wörtlich oder sinngemäß entnommenen Stellen als solche kenntlich gemacht habe.“ 22. Februar 1995 (Arno Hütter)
  3. 3. Inhaltsverzeichnis Inhaltsverzeichnis I. Einleitung ____________________________________________1 I.1 Problemstellung_____________________________________________1 I.2 Reengineering ______________________________________________1 I.3 Fallstudie __________________________________________________2 I.4 Gliederung der Diplomarbeit___________________________________2 II. Grundlagen des Reengineering __________________________3 II.1 Begriffsbestimmungen _______________________________________3 II.1.1 Reengineering ________________________________________4 II.1.2 Reverse-Engineering ___________________________________4 II.1.3 Restrukturierung_______________________________________4 II.2 Der Prozeß des Reengineering _________________________________5 II.3 Die technologische Lücke im Software-Lebenszyklus_______________6 II.4 Die Analyse bestehender Anwendungssysteme ____________________7 II.5 Restrukturierung____________________________________________9 II.6 Reverse-Engineering _______________________________________11 II.7 Allgemeines Vorgehensmodell zum Reengineering________________13 II.8 CARE - Computer Aided Reengineering ________________________16 III. Fallstudie __________________________________________18 III.1 Die Spezifikation des Zielmodells ____________________________18 III.1.1 Datenanforderungen __________________________________18 III.1.2 Funktionsanforderungen_______________________________18 III.1.3 Benutzerschnittstellenanforderungen _____________________19 III.1.4 Technikanalyse ______________________________________19 III.2 Die Spezifikation des Ausgangsmodells________________________19 III.2.1 Datenanalyse________________________________________20 III.2.2 Funktionsanalyse ____________________________________20 III.2.2.1 Die alte Prozedur Anmeld->Prüf__________________21 III.2.2.2 Das neue Skript btnAnmÜbern ___________________21 III.2.3 Benutzerschnittstellenanalyse___________________________23 III.3 Die Spezifikation der Erfassungstransformation__________________27 III.4 Die Spezifikation der Modelltransformation_____________________27 III.5 Die Spezifikation der Realisierungstransformation _______________30 III.6 Forward-Engineering ______________________________________33 III.6.1 Entwurf ____________________________________________33 III.6.1.1 Der Entwurf der Systemarchitektur________________33 III.6.1.2 Der Entwurf der Benutzerschnittstelle _____________34 III.6.2 Implementierung_____________________________________34
  4. 4. Inhaltsverzeichnis III.6.3 Test und Installation __________________________________35 IV. Benutzerdokumentation ______________________________36 IV.1 Systembeschreibung _______________________________________36 IV.1.1 Einsatzbereich_______________________________________36 IV.1.2 Benötigte Hard- und Softwareressourcen__________________36 IV.2 Installationsanleitung ______________________________________37 IV.3 Bedienungsanleitung_______________________________________38 IV.3.1 Programmstart_______________________________________38 IV.3.2 Das Menue Ablage ___________________________________39 IV.3.2.1 Der Befehl Über F.I.S.H..._______________________40 IV.3.2.2 Der Befehl Logbuch ___________________________40 IV.3.2.3 Der Befehl Fehlerprotokoll______________________41 IV.3.2.4 Der Befehl Systemvariablen _____________________42 IV.3.2.5 Der Befehl Statistik ____________________________43 IV.3.2.6 Der Befehl Beenden____________________________44 IV.3.3 Das Menue Bearbeiten ________________________________44 IV.3.4 Das Menue Institut ___________________________________45 IV.3.4.1 Der Befehl Personal verwalten ___________________45 IV.3.4.2 Der Befehl Personaldaten drucken ________________47 IV.3.4.3 Der Befehl Semesterplan verwalten _______________48 IV.3.4.4 Der Befehl Semesterplan drucken_________________50 IV.3.5 Das Menue Student___________________________________51 IV.3.5.1 Der Befehl Studenten verwalten __________________51 IV.3.5.2 Der Befehl Studentendaten drucken _______________52 IV.3.5.3 Der Befehl Studienrichtungen verwalten ___________55 IV.3.6 Das Menue Lehrveranstaltung __________________________56 IV.3.6.1 Der Befehl LVA verwalten_______________________56 IV.3.6.2 Der Befehl LVA-Daten drucken __________________58 IV.3.6.3 Der Befehl Anwesenheitsliste drucken _____________58 IV.3.6.4 Der Befehl LVA-Typen verwalten _________________58 IV.3.7 Das Menue Anmeldung________________________________60 IV.3.7.1 Der Befehl Anmeldungsmodus konfigurieren ________60 IV.3.7.2 Der Befehl Anmeldungen erfassen ________________60 IV.3.7.3 Der Befehl Anmeldungen verwalten _______________62 IV.3.7.4 Der Befehl Anmeldeformular drucken _____________63 IV.3.7.5 Der Befehl Anmeldeliste drucken _________________63 IV.3.7.6 Der Befehl Aufnahmeliste drucken ________________63 IV.3.8 Das Menue Prüfung __________________________________64 IV.3.8.1 Der Befehl Einstiegsklausuren verwalten ___________64 IV.3.8.2 Der Befehl Anmeldeformular drucken _____________65 IV.3.8.3 Der Befehl Interne Ergebnisliste drucken___________66
  5. 5. Inhaltsverzeichnis IV.3.8.4 Der Befehl Externe Ergebnisliste drucken __________66 IV.3.8.5 Der Befehl Scheine verwalten ____________________66 IV.3.8.6 Der Befehl Interne Ergebnisliste drucken___________68 IV.3.8.7 Der Befehl Externe Ergebnisliste drucken __________68 IV.3.8.8 Der Befehl Sammelzeugnis drucken _______________69 IV.3.8.9 Der Befehl Diplomprüfungen verwalten ____________69 IV.3.8.10 Der Befehl Informationsliste drucken_____________70 IV.3.8.11 Der Befehl Ergebnisliste drucken ________________70 V. Systemdokumentation ________________________________71 V.1 Struktur__________________________________________________72 V.1.1 Übersicht ___________________________________________72 V.1.2 Die Datei Anmeldung__________________________________73 V.1.3 Die Datei Diplomprüfung_______________________________73 V.1.4 Die Datei DiplprfgErgeb _______________________________73 V.1.5 Die Datei Dummy_____________________________________73 V.1.6 Die Datei Einstklsr____________________________________74 V.1.7 Die Datei EinstklsrErgeb _______________________________74 V.1.8 Die Datei Fehler______________________________________74 V.1.9 Die Datei Fehlerprotokoll ______________________________74 V.1.10 Die Datei Logbuch ___________________________________75 V.1.11 Die Datei LVA ______________________________________75 V.1.12 Die Datei LVAKürzel _________________________________75 V.1.13 Die Datei LVAPlan___________________________________76 V.1.14 Die Datei LVATyp ___________________________________76 V.1.15 Die Datei LVAVoraussetzng____________________________77 V.1.16 Die Datei Personal___________________________________77 V.1.17 Die Datei Schein_____________________________________77 V.1.18 Die Datei Semester___________________________________78 V.1.19 Die Datei Semesterplan _______________________________78 V.1.20 Die Datei Student ____________________________________78 V.1.21 Die Datei Studienrichtung _____________________________79 V.1.22 Die Datei SystemVar _________________________________79 V.1.23 Die Datei Termin ____________________________________79 V.1.24 Die Datei Zeittafel ___________________________________80 V.2 Layouts__________________________________________________81 V.2.1 Übersicht ___________________________________________81 V.2.2 Das Layout Anmeldung-Erfassung _______________________84 V.2.2.1 Das Skript btnSpeicher__________________________84 V.2.3 Das Layout Diplomprüfung-Eingabe______________________86 V.2.3.1 Das Skript btnVrschlgS__________________________86
  6. 6. Inhaltsverzeichnis V.2.4 Das Layout Dummy-Statistik ____________________________87 V.2.4.1 Das Skript btnDetail____________________________87 V.2.5 Das Layout LVA-Anmeldung ____________________________88 V.2.5.1 Das Skript btnAufnahme_________________________88 V.2.6 Das Layout Schein-EingebdLVA _________________________91 V.2.6.1 Das Skript NoteGesamt__________________________91 V.2.6.2 Das Skript Prüfungsdatum _______________________92 V.2.7 Das Layout Semesterplan-Spezifizierung___________________92 V.2.7.1 Das Skript btnEdit _____________________________92 V.2.8 Das Layout Student-Eingabe ____________________________96 V.2.8.1 Das Skript btnAbbreche _________________________96 V.2.8.2 Das Skript btnErster____________________________96 V.2.8.3 Das Skript btnLetzter ___________________________96 V.2.8.4 Das Skript btnLöschen __________________________96 V.2.8.5 Das Skript btnNächster__________________________96 V.2.8.6 Das Skript btnNeu______________________________97 V.2.8.7 Das Skript btnSpeicher__________________________97 V.2.8.8 Das Skript btnSuchen ___________________________97 V.2.8.9 Das Skript btnVorherig__________________________97 V.2.8.10 Das Skript vKennzahl __________________________97 V.2.9 Das Layout Student-Suche ______________________________98 V.2.9.1 Das Skript btnSuchen ___________________________98 V.3 Prozeduren _______________________________________________99 V.3.1 Globale Prozeduren ___________________________________99 V.3.1.1 Übersicht_____________________________________99 V.3.1.2 Die globale Prozedur AktLayVwlAnmldg ___________101 V.3.1.3 Die globale Prozedur Auswahl ___________________101 V.3.1.4 Die globale Prozedur DruckeStudent ______________102 V.3.1.5 Die globale Prozedur ErzgLogEintrag _____________102 V.3.1.6 Die globale Prozedur FiltereEreignis______________103 V.3.1.7 Die globale Prozedur FiltereFehler _______________103 V.3.1.8 Die globale Prozedur KonfigAnmeldung ___________103 V.3.1.9 Die globale Prozedur LVASpezifiziert _____________104 V.3.1.10 Die globale Prozedur ÖffneFenster ______________105 V.3.1.11 Die globale Prozedur PrüfeBenutzer _____________105 V.3.1.12 Die globale Prozedur PrüfeTerminKoll ___________105 V.3.1.13 Die globale Prozedur SetzeSystemVar ____________107 V.3.1.14 Die globale Prozedur SichereStudent _____________107 V.3.1.15 Die globale Prozedur StartUp___________________108 V.3.1.16 Die globale Prozedur VerwltStudent______________109 V.3.2 Layoutprozeduren ___________________________________110
  7. 7. Inhaltsverzeichnis V.3.2.1 Übersicht____________________________________110 V.3.2.2 Die Layoutprozedur LVA-Anmeldung______________111 V.3.2.3 Die Layoutprozedur LVA-SammelzgnDrk __________112 V.3.3 Dateiprozeduren_____________________________________113 V.3.3.1 Übersicht____________________________________113 V.3.3.2 Die Dateiprozedur Anmeldung ___________________113 V.4 Menues_________________________________________________114 V.5 Kennwörter______________________________________________114
  8. 8. Abbildungsverzeichnis Abbildungsverzeichnis Abbildung II-1: Der Zusammenhang der Begriffe _______________________3 Abbildung II-2: Das klassische Software-Lebenszyklus-Modell ____________5 Abbildung II-3: Der Prozeß des Reengineering _________________________6 Abbildung II-4: Die technologische Lücke im Software-Lebenszyklus _______7 Abbildung II-5: Die Vorgehensweise zur Restrukturierung ________________9 Abbildung II-6: Die Vorgehensweise zum Reverse-Engineering (beispielhaft)12 Abbildung II-7: Beispiele für Ziele, Ergebnisse und Vorgehensweisen zum Reengineering _____________________________________14 Abbildung II-8: Die Architektur von CARE-Werkzeugen ________________16 Abbildung III-1: Die Benutzeroberfläche des alten Informationssystems ____23 Abbildung III-2: Die Erfassung von Anmeldungen _____________________24 Abbildung III-3: Die Verwaltung von Lehrveranstaltungen_______________25 Abbildung III-4: Die Ausführung von Prozeduren ______________________25 Abbildung III-5: Die Auswahl von Lehrveranstaltungen (1) ______________26 Abbildung III-6: Die Auswahl von Lehrveranstaltungen (2) ______________26 Abbildung III-7: Das logische Datenmodell des alten Informationssystems __27 Abbildung III-8: Das logische Datenmodell des neuen Informationssystems _28 Abbildung III-9: Die Benutzeroberfläche des Konvertierungsprogramms____30 Abbildung IV-1: Die Benutzeridentifikation __________________________38 Abbildung IV-2: Die Benutzeroberfläche_____________________________39 Abbildung IV-3: Das Menue Ablage ________________________________40 Abbildung IV-4: Die Verwaltung des Logbuchs _______________________41 Abbildung IV-5: Die Statistik______________________________________43 Abbildung IV-6: Das Menue Bearbeiten _____________________________44 Abbildung IV-7: Das Menue Institut ________________________________45 Abbildung IV-8: Die Verwaltung von Institutspersonal__________________46 Abbildung IV-9: Die Standard-Buttons ______________________________47 Abbildung IV-10: Die Markierung von Institutspersonal_________________48 Abbildung IV-11: Die Verwaltung von Semesterplänen _________________49 Abbildung IV-12: Die Bearbeitung von Semesterplänen _________________50 Abbildung IV-13: Das Menue Student _______________________________51 Abbildung IV-14: Die Verwaltung von Studenten ______________________51 Abbildung IV-15: Die Suche nach Studenten__________________________52 Abbildung IV-16: Die Markierung von Studenten ______________________53 Abbildung IV-17: Die Auswahl von Lehrveranstaltungen ________________54 Abbildung IV-18: Die Auswahl von Drucklayouts______________________55 Abbildung IV-19: Die Verwaltung von Studienrichtungen _______________55 Abbildung IV-20: Das Menue Lehrveranstaltung ______________________56 Abbildung IV-21: Die Verwaltung von Lehrveranstaltungen______________57
  9. 9. Abbildungsverzeichnis Abbildung IV-22: Die Verwaltung von Lehrveranstaltungstypen __________59 Abbildung IV-23: Das Menue Anmeldung ____________________________60 Abbildung IV-24: Die Erfassung von Anmeldungen ____________________61 Abbildung IV-25: Die Verwaltung von Anmeldungen___________________62 Abbildung IV-26: Das Menue Prüfung_______________________________64 Abbildung IV-27: Die Verwaltung von Einstiegsklausuren _______________65 Abbildung IV-28: Die Verwaltung von Scheinen_______________________67 Abbildung IV-29: Die Bestimmung von Lehrveranstaltung, Fachrichtung und Prüfungsdatum ___________________________________68 Abbildung IV-30: Die Verwaltung von Diplomprüfungen________________69 Abbildung V-1: Das physische Datenmodell __________________________72
  10. 10. Tabellenverzeichnis Tabellenverzeichnis Tabelle II-1: Ein Vergleich von CARE-Tools _________________________17 Tabelle III-1: Die relevanten Modelltransformationen ___________________29 Tabelle III-2: Die alte Datei LVA_Jahr_______________________________31 Tabelle III-3: Die neue Datei LVA __________________________________32 Tabelle III-4: Die neue Datei LVATyp _______________________________32 Tabelle III-5: Die neue Datei Personal_______________________________33 Tabelle IV-1: Die Systemvariablen__________________________________42 Tabelle V-1: Die Datei Anmeldung__________________________________73 Tabelle V-2: Die Datei Diplomprüfung ______________________________73 Tabelle V-3: Die Datei DiplprfgErgeb _______________________________73 Tabelle V-4: Die Datei Dummy_____________________________________73 Tabelle V-5: Die Datei Einstklsr____________________________________74 Tabelle V-6: Die Datei EinstklsrErgeb_______________________________74 Tabelle V-7: Die Datei Fehler _____________________________________74 Tabelle V-8: Die Datei Fehlerprotokoll ______________________________74 Tabelle V-9: Die Datei Logbuch____________________________________75 Tabelle V-10: Die Datei LVA ______________________________________75 Tabelle V-11: Die Datei LVAKürzel _________________________________75 Tabelle V-12: Die Datei LVAPlan __________________________________76 Tabelle V-13: Die Datei LVATyp ___________________________________76 Tabelle V-14: Die Datei LVAVoraussetzng ___________________________77 Tabelle V-15: Die Datei Personal___________________________________77 Tabelle V-16: Die Datei Schein ____________________________________77 Tabelle V-17: Die Datei Semester___________________________________78 Tabelle V-18: Die Datei Semesterplan _______________________________78 Tabelle V-19: Die Datei Student____________________________________78 Tabelle V-20: Die Datei Studienrichtung _____________________________79 Tabelle V-21: Die Datei SystemVar _________________________________79 Tabelle V-22: Die Datei Termin ____________________________________79 Tabelle V-23: Die Datei Zeittafel ___________________________________80 Tabelle V-24: Layouts (Übersicht) __________________________________84 Tabelle V-25: Globale Prozeduren (Übersicht) _______________________101 Tabelle V-26: Layoutprozeduren (Übersicht)_________________________111 Tabelle V-27: Dateiprozeduren (Übersicht) __________________________113 Tabelle V-28: Menueleisten ______________________________________114
  11. 11. Einleitung 1 I. Einleitung I.1 Problemstellung Die hohe und noch immer steigende Nachfrage nach Anwendungssystemen zur Befriedigung betrieblicher Informationsbedarfe verlangt nach allgemein ein- setzbaren Lösungsansätzen im Bereich der Programmentwicklung und - wartung. Schlagworte wie Anwendungsstau, Altlasten und Wiederverwend- barkeit prägen die gegenwärtige Diskussion um die software-technischen Pro- bleme in der Praxis. Für den Fall eines vollständigen System-Neuentwurfs exi- stieren eine Reihe von theoretisch ausgiebig fundierten Konzepten, an deren Umsetzung in die betriebliche Realität im Moment mit Nachdruck gearbeitet wird. Im Gegensatz dazu gestaltet sich die Software-Wartung um einiges schwieriger, nicht zuletzt dadurch, daß die rasant fortschreitende technologische Entwicklung zu einer ebenso raschen Veralterung bestehender Systeme führt.1 Konkrete Anlässe für das Notwendigwerden einer grundlegenden Überarbei- tung können u.a. sein:2 • Unstrukturierter Code • Fehlende Dokumentation • Unvollständige Funktionalität • Abhängigkeit von der Umgebung I.2 Reengineering Ausgehend von der geschilderten Problemstellung ist die Zielsetzung des Reengineering in seiner weitesten Definition die Untersuchung, Analyse und Veränderung eines Systems, um es in neuer Form und/oder Umgebung wieder zu implementieren. Dies beinhaltet:3 • Die Darstellung des Systems auf höherer Abstraktionsebene • Die technische Optimierung auf gleicher Stufe • Die Beschreibung der Komponenten und deren Beziehungen • Einen erneuten Entwicklungsprozeß 1 Vgl. Kaufmann, A.: „Software-Reengineering“, S. 1 2 Vgl. Bischoff, Krallmann: „Reengineering“, S. 125 3 Vgl. ebenda
  12. 12. Einleitung 2 I.3 Fallstudie Am Institut für Wirtschaftsinformatik/IE der Johannes-Kepler-Universität Linz war seit 1989 ein Informationssystem im Einsatz, mit dessen Hilfe die wichtig- sten Daten rund um das Studentenwesen verwaltet werden konnten. Diese An- wendung wurde unter anderen Planungsprämissen implementiert und vermochte die heutigen Anforderungen nicht mehr adäquat zu erfüllen. Zahlreiche an sich automatisierbare Tätigkeiten mußten weiterhin manuell durchgeführt werden. Besonders die in vielerlei Hinsicht mangelnde Flexibilität der Datenbank fiel dabei negativ ins Gewicht. Desweiteren erschien auch eine komplette Überar- beitung der Benutzerschnittstelle wünschenswert. In Zusammenarbeit mit den späteren Benutzern (das waren im gegebenen Fall v.a. Lehrveranstaltungsleiter und Sekretariat des Instituts) wurden die Erwart- ungen an das zu schaffende Informationssystem präzisiert und untereinander abgestimmt. Mittels einer eingehenden Untersuchung der existierenden Appli- kation konnten Stärken und Schwächen des Istzustandes sowie bestehende Sy- stemgrenzen erfaßt werden. Auf diese Weise waren auch Rückschlüsse auf eine mögliche Wiederverwendbarkeit von Daten und Programmteilen der alten Ver- sion möglich. Anschließend erfolgte der Neuentwurf von Datenmodell und Sy- stemarchitektur. Nach abgeschlossener Implementierung sowie der Durchfüh- rung von Komponenten- und Systemtests, wurden die vorhandenen Daten kon- vertiert und notwendig gewordene Abschlußarbeiten vorgenommen. I.4 Gliederung der Diplomarbeit In Kapitel II werden Begriffsbestimmungen und -abgrenzungen vorgenommen, die Grundlagen des Reengineering behandelt sowie ein allgemein anwendbares Vorgehensmodell vorgestellt. Darauf aufbauend erläutert Kapitel III die Gege- benheiten des konkreten Fallbeispiels und die entsprechend angepaßte Vorge- hensweise. In Kapitel IV wird das Endprodukt des Reengineering-Prozesses aus Benutzersicht beschrieben, während Kapitel V eine Dokumentation des Soft- ware-Systems beinhaltet, welche die Grundlage für zukünftige Wartungs- und Weiterentwicklungstätigkeiten bildet.
  13. 13. Grundlagen des Reengineering 3 II. Grundlagen des Reengineering II.1 Begriffsbestimmungen Das Schlagwort des Reenginering kursierte erstmals Anfang der siebziger Jah- re als mögliche Antwort auf das sich ständige verschärfende Problem der Soft- ware-Wartung. In diesem relativ diffusen Terminus spiegelten sich Hoffnungen und Wünsche der DV-Anwender wie potentielle Marktchancen für Anbieter aus diesem Bereich gleichermaßen wider. In verschiedenen Veröffentlichungen neueren Datums wird Reengineering zunehmend als generalisierender Oberbeg- riff verwendet. Abbildung II-1 verdeutlicht die Zusammenhänge zwischen den oft recht widersprüchlich verwendeten Vokabeln rund um das Reengineering. Integration Adaption Extraktion Abstraktion RE-USE (umfassend) RE-USE (eingeschränkt) RE-ENGINEERING Restrukturierung und Redesign Neue SW-Systeme Existierende SW-SystemeREVERSE ENGINEERING Wiederbenut. Komponenten Identifikation Selektion Inte- gra- tion Resultierende SW-Systeme Repositorium Abbildung II-1: Der Zusammenhang der Begriffe4 4 Vgl. Richter, L.: „Wiederbenutzbarkeit und Restrukturierung oder Reuse, Reengineering und Reverse Engineering“, S. 128
  14. 14. Grundlagen des Reengineering 4 II.1.1 Reengineering „Ziel des Reengineering ist es, Wirksamkeit und Wirtschaftlichkeit einer be- stehenden Informationsinfrastruktur durch den Einsatz qualitativ besserer Kon- zepte und Technologien zu erhöhen.“5 Es wird nicht nur versucht, bestehende in verbesserte physische Anwendungssysteme zu überführen, sondern auch kon- zeptuelle Modelle aus vorhandenen Realisierungen abzuleiten.6 Reengineering umfaßt sowohl die Beseitigung noch vorhandener Fehler in frühen Betriebspha- sen als auch die nachträgliche Anpassung an erweiterte oder geänderte funktio- nale und qualitative Anforderungen. II.1.2 Reverse-Engineering Als Reverse-Engineering wird der Prozeß der Analyse eines installierten Sy- stems bezeichnet, der das Ziel hat, die Grundlagen für den Entwurf dieses Sy- stems wiederzubeschaffen.7 Dies geschieht üblicherweise auf Basis vorhandener Quellcodes. Die so ermittelten Kontroll- und Datenstrukturinformationen wer- den in einem Repositorium abgelegt, einem Datenkatalog-System, das die spä- tere Wiederverwendung einzelner Komponenten ermöglicht.8 II.1.3 Restrukturierung Von Restrukturierung spricht man, wenn qualitätsverbessernde Maßnahmen hinsichtlich der Systemstruktur ohne Tangierung der bestehenden Funktionalität des Software-Produkts oder eine Anpassung an neue Basistechnologien im Vordergrund stehen.9 5 Reindl, M.: „Re-Engineering des Datenmodells“, S. 282 6 Vgl. ebenda 7 Vgl. Heinrich, Roithmayer: „Wirtschaftsinformatik-Lexikon“, S. 446 8 Vgl. Richter, a.a.O, S. 128 9 Vgl. Frazer, A.: „Reverse-Engineering - hype, hope or here?“, S. 215
  15. 15. Grundlagen des Reengineering 5 II.2 Der Prozeß des Reengineering Ausgangspunkt aller Betrachtungen in Hinblick auf den Prozeß des Reengineering ist - unabhängig von den verschiedenen Ansätzen wie Wasser- fallmodell, Spiralmodell, usw. - der Software-Lebenszyklus. Hier stellt sich die Frage, inwieweit sich Reengineering auf derselben methodischen Basis definie- ren läßt oder sogar Bestandteil des Software-Entwicklungsprozesses ist.10 Problemstellung Problemanalyse Systemspezifikation System- und Komponentenentwurf Betrieb und Wartung Systemtest Implementierung und Komponententest Datenmodell, Systemarchitektur, algorithmische Struktur der Systemkomponenten Benutzerwünsche Pflichtenheft, (Systemspezifikation) Projektideeneue Anforderungen Endprodukt Programme, Dokumentation Abbildung II-2: Das klassische Software-Lebenszyklus-Modell11 Reengineering-Projekte können auf jeder der dargestellten Abstraktionsebenen ansetzen, um eine alte in eine neue Systemrepräsentation der selben oder einer anderen Ebene zu überführen. Eine Restrukturierung betrifft die Anpassung existierender Strukturen an neue Gegebenheiten oder Bedürfnisse, bei der eine Migration eines Ausgangs- in ein Zielsystem auf gleicher Ebene stattfindet. Reverse-Engineering bzw. Redesign beziehen sich dagegen immer auf zwei 10 Vgl. Kaufmann, A.: a.a.O, S. 10 11 Pomberger, Blascheck: „Software Engineering“, S. 18
  16. 16. Grundlagen des Reengineering 6 verschiedene Ebenen. Komplexere Reengineering-Prozesse kombinieren meist Tätigkeiten der Restrukturierung, des Reverse-Engineering und auch solche, die bei einer Systemneuentwicklung anfallen würden (Forward-Engineering).12 Pflichtenheft Systemarchitektur, Datenmodell Komponenten- struktur Programme, Dokumentationen Restruk- turierung Abstraktionsebenen Forward-Engineering Reverse-Engineering Systementwurf Redesign Restruk- turierung Komponentenentwurf Redesign Restruk- turierung Implementierung Redesign Restruk- turierung ÜberführungSystemspezifikation Abbildung II-3: Der Prozeß des Reengineering13 II.3 Die technologische Lücke im Software-Lebenszyklus Das aus allen Wirtschaftszweigen bekannte Phänomen des Technologie-Gaps tritt in der Software-Entwicklung aufgrund starken Innovationsdrucks und ver- kürzter Lebenszyklen im Technikbereich verschärft zu Tage. Software-Produkte hingegen verbleiben meist auf dem Stand ihrer Erstentwicklung und leben deut- lich länger als die Technologie, auf der sie basieren.14 12 Vgl. Kaufmann, A.: a.a.O, S. 8f 13 Vgl. ebenda, S. 10 14 Vgl. Thurner, R.: „ReEngineering und Innovation in der Anwendungsentwick- lung“, S. 39f
  17. 17. Grundlagen des Reengineering 7 Technologische Lücke Technologieschub Reengineering Risiko Implementierung Wartung Entwurf Technologieschub Technologie Software-Produkt Abbildung II-4: Die technologische Lücke im Software-Lebenszyklus15 Mit fortschreitender Lebensdauer wird die Notwendigkeit des Reengineering als Maßnahme der Anhebung des software-technischen Levels zur Schließung der Lücke immer offensichtlicher. II.4 Die Analyse bestehender Anwendungssysteme Die Analyse bestehender Anwendungssysteme ist die Grundlage jedes Reengineering-Vorhabens. Prinzipiell können sämtliche Software- Qualitätsmerkmale wie Korrektheit, Zuverlässigkeit oder Benutzbarkeit Gegen- stand einer derartigen Untersuchung sein, aus einleuchtenden Gründen stehen aber zumeist die Kriterien der Wartbarkeit und Übertragbarkeit im Mittel- punkt des Interesses. Diesbezüglich sind v.a. die Vollständigkeit der vorhande- nen Systeminformationen und deren Repräsentationseignung im Hinblick auf die jeweilige Wartungsaufgabe von entscheidender Bedeutung. So wie Reengineering-Maßnahmen unterschiedliche Aspekte eine Softwaresystems be- treffen können, existiert auch eine Vielzahl von Analysemöglichkeiten. 15 Vgl. Thurner, R.: a.a.O, S. 40
  18. 18. Grundlagen des Reengineering 8 Die wichtigsten Inhalte und Methoden der Programmanalyse lassen sich fol- gendermaßen zusammenfassen:16 • Vollständigkeitsanalyse • Konsistenzanalyse • Zweckanalyse • Bestandteilsanalyse • Operationsanalyse • Stilanalyse • Komplexitätsanalyse Im Rahmen einer Vollständigkeitsanalyse wird untersucht, inwieweit Entwick- lungs-, Benutzungs- und Wartungsdokumente für das Softwaresystem in ausrei- chendem Maße vorliegen oder ohne nennenswerten zeitlichen und finanziellen Aufwand erzeugt werden können. Die Konsistenzanalyse soll Aufschlüsse in Hinblick auf die Widerspruchsfreiheit der Systembeschreibungen zulassen. Ein in der Praxis häufig anzutreffendes Problem ist dabei die mangelhafte Abstim- mung zwischen Systemrepräsentationen verschiedener Abstraktionsebenen. Die Zielsetzung der Zweckanalyse ist die Ableitung der spezifischen Zweckbe- stimmung einzelner Programmkomponenten. In der Bestandteilsanalyse wer- den besonders relevante Teilsysteme aus einer bisher gesamtheitlichen Betrach- tung herausgelöst und näher untersucht. Gegenstand der Operationsanalyse ist die Offenlegung der Arbeitsweise einzelner Systembereiche. Die Stilanalyse dient der Überprüfung auf eine konsequente Anwendung von Programmierstan- dards und der Konsistenz des Stils. In der Komplexitätsanalyse wird die logi- sche Kompliziertheit der Programmstrukturen untersucht. 16 Vgl. Kaufmann, A.: a.a.O, S. 24ff
  19. 19. Grundlagen des Reengineering 9 II.5 Restrukturierung Primäres Ziel der Restrukturierung ist eine Erhöhung der Wartungsproduktivi- tät, indem die Verständlichkeit der Systemstrukturen durch Transformation von Beschreibungsarten und -formen verbessert wird. Dabei kommen grundsätzlich zwei verschiedene Vorgehensweisen in Frage:17 • Direkte Umsetzung (Translation und Optimierung) • Mittelbare Umsetzung (Abstraktion und Reimplementierung) Logische Ebene Physische Ebene ReimplementierungAbstraktion Translation OptimierungAusgangs- system Zielsystem Zwischen- code Abstraktes Modell Abbildung II-5: Die Vorgehensweise zur Restrukturierung18 Bei der direkten Umsetzung wird jedes Element des Ausgangssystems (ggf. unter Verwendung eines Zwischenmodells) in ein entsprechendes Zielstruktur- element ohne Kontextbezug eins zu eins übertragen. Die mittelbare Umset- zung hingegen verlangt in einem ersten Schritt die globale Analyse des Aus- gangssystems um zu einer abstrakten Beschreibung ohne Berücksichtigung syn- taktischer Gegebenheiten zu gelangen. Diese Beschreibung kann dann in die Strukturen des Zielmodells transformiert werden. 17 Vgl. ebenda, S. 32f 18 Ebenda, S. 33
  20. 20. Grundlagen des Reengineering 10 In Anlehnung an die Komponenten eines Anwendungssystems lassen sich fol- gende Objekte einer möglichen Restrukturierung anführen:19 • Restrukturierung von Code • Restrukturierung von Programm- und Systemstrukturen • Restrukturierung von Daten • Restrukturierung von Benutzeroberflächen • Restrukturierung von Anwendungsfunktionen • Restrukturierung von Plattformen Restrukturierung von Code ist ein in der Regel recht aufwendiger Vorgang, selbst bei einer Migration zwischen zwei verschiedenen Standards ein und der- selben Programmiersprache. In den meisten Fällen soll jedoch Code mit hohem Technikbezug in Code mit hohem Anwendungsbezug umgesetzt, also eine Übertragung einer Sprache einer niedrigen in eine höhere Generation vollzogen werden. Neben diesen Sprachumsetzern sind auch Restrukturierungswerkzeuge, die beispielsweise die Eliminierung von GOTO-Anweisungen vornehmen, im Einsatz. Bei der Restrukturierung von Programm- und Systemstrukturen wird ver- sucht, die Systemarchitektur unter Beibehaltung der Anwendungsfunktionalität zu verändern. Die Restrukturierung von Daten hat die Gewinnung des Datenmodells aus bestehenden Datendefinitionen zum Inhalt, um dieses ebenso wie Datenhal- tungssystem und Anwendungssystem bereinigen zu können. Der Ansatz der Restrukturierung von Benutzeroberflächen besteht darin, durch Frontending bestehende Anwendungen mit einer neuen Benutzeroberf- läche zu versehen, um damit die Funktionalität technisch ansonsten brauchbarer Systeme leichter zugänglich zu machen. Charakteristisch dafür ist heute die Migration zeichen- oder blockorientierter Benutzerschnittstellen zentraler Ar- beitsrechner zu graphisch orientierten Oberflächen. Eine Restrukturierung von Anwendungsfunktionen stellt meist eine sehr an- spruchsvolle Architekturaufgabe, aber auch eine im Vergleich zu Neuentwick- lungs-Großprojekten sinnvolle und mit weniger Risiken behaftete Alternative 19 Vgl. Thurner, R.:a.a.O, S. 45ff
  21. 21. Grundlagen des Reengineering 11 dar. Der Übergang von der Unterstützung einzelner Aufgaben hin zu einem ge- schäftsfallorientierten System wäre ein Beispiel dafür. Bei der Restrukturierung von Plattformen - man spricht in diesem Zusammenhang auch von Portierung - wird ein koordinierter Übergang von einer bestehenden auf eine Zielplattform (sei es nun bezüglich Rechnerarchitek- tur oder Betriebssystem, etc.) angestrebt. Das Ergebnis dieses Prozesses kann entweder in einem ebensowenig portablen System auf neuer Plattform liegen (für diesen Fall sind umfangreiche Praxiserfahrungen vorhanden), oder aber - wenngleich mit erheblichen Mehraufwand verbunden - in einem nunmehr por- tablen System. Ein weiteres Teilgebiet der Restrukturierung ist die Redokumentation von Programmen. Eine vollständige und konsistente Dokumentation ist eine der wesentlichsten Voraussetzungen für die Effizienz von Wartungsarbeiten. Dabei lassen sich folgende Vorgehensweisen unterscheiden:20 • Transformation in eine andere Darstellungsweise • Generierung nicht vorhandener Dokumentationen • Extrahierung und Aufbereitung von Teilsichten (Program-Slicing) II.6 Reverse-Engineering „Reverse-Engineering dient der Steigerung der Wartungsproduktivität, indem die Verständlichkeit der Programme durch Extraktion der Systembeschreibun- gen konzeptionell höherliegender Abstraktionsebenen aus den Strukturen einer tieferen, meist technologisch beeinflußten Ebene verbessert wird.“21 Somit er- möglichen diese Darstellungen eine wesentliche Aufwandsminderung bei der Neuentwicklung existierender Systeme, wenn mit Hilfe geeigneter Methoden und Werkzeuge auf den Strukturbeschreibungen des Altsystems aufgebaut wird oder brauchbare Teile direkt übernommen werden können. 20 Vgl. Kaufmann, A.: a.a.O, S. 34f 21 Ebenda, S. 45
  22. 22. Grundlagen des Reengineering 12 Komponenten- struktur Programme, Dokumentationen Abstraktionsebenen Forward-Engineering Reverse-Engineering Redesign Zwischen- modell Überführung Ziel- system Ausgangs- system Implementierung Abbildung II-6: Die Vorgehensweise zum Reverse-Engineering (beispielhaft)22 Reverse-Engineering bezieht sich immer auf verschiedene Abstraktionsebenen, während die dabei extrahierten Systembeschreibungen normalerweise nicht ebenenübergreifend sind. So werden etwa auf Spezifikationsebene Daten mit Hilfe von Entity-Relationship-Diagrammen und Funktionen durch hierarchische Dekomposition dargestellt, wohingegen auf Implementierungsebene Dateibe- schreibungen und Programmiersprachen zum Einsatz kommen. Die besondere Problematik liegt darin, daß bestimmte - etwa im Rahmen der Anforderungsana- lyse erhobene - Sachverhalte im Laufe der Gesamtentwicklung verlorengegan- gen sind oder strukturell so verändert wurden, daß eine Rückabbildung nicht mehr möglich ist. In so einem Fall müssen zusätzliche Informationen beschafft werden, um eindeutige Rückschlüsse zuzulassen. Zwei Teilbereiche des Reverse-Engineering können unterschieden werden:23 • Reverse-Engineering von Daten • Reverse-Engineering von Funktionen 22 Vgl. ebenda, S. 34 23 Vgl. ebenda, S. 45f
  23. 23. Grundlagen des Reengineering 13 Beim Reverse-Engineering von Daten kommt es zu einer Übertragung tech- nisch orientierter Datenstrukturen auf höhere Ebene, beispielsweise von hierar- chischen Dateibeschreibungen auf eine konzeptionelle Datenmodellebene. De- rartige Vorgehensweisen sind schon seit längerem Gegenstand der wissen- schaftlichen Diskussion und auch in der Praxis im Einsatz. Das Reverse-Engineering von Funktionen gestaltet sich durch einen oftmals eklatanten Strukturbruch zwischen Programmquellen und Architektur- bzw. Komponentendesign ungleich schwieriger. So finden sich auch in der Literatur nur wenige Ansätze zum Reverse-Engineering von Funktionen der über dem Programmdesign liegenden Abstraktionsebenen. II.7 Allgemeines Vorgehensmodell zum Reengineering Bei der Entwicklung einer universell einsetzbaren Verfahrensweise muß - ange- sichts der Vielfalt obig beschriebener Reengineering-Maßnahmen - eine Ab- straktion von konkreten Gegebenheiten vorgenommen und auf Komponenten und Strukturen aufgebaut werden, die allen Reengineering-Konzepten gemein- sam sind.
  24. 24. Grundlagen des Reengineering 14 Für jedes ökonomisch motivierte Vorgehen muß eine klare Ziel-Ergebnis- Vorgehensweise-Struktur formuliert werden. Ziel Ergebnis Vorgehen Hoher Wartbarkeitsgrad Lesbare Programmquellen Vollständige Dokumentation Strukturierte Kontrollelemente Verfahren von Mills Fachliches Datenmodell Verfahren von Navathe Abbildung II-7: Beispiele für Ziele, Ergebnisse und Vorgehensweisen zum Reengineering24 Ein Ziel kann durch ggf. unterschiedliche Ergebnisse erreicht werden; die Er- gebnisse resultieren wiederum aus verschiedenen Vorgehensweisen. Die Palette an potentiellen Vorgehensweisen wird durch die jeweiligen situationsspezifi- schen Rahmenbedingungen eingeschränkt. Im Falle von Reengineering- Vorhaben sind dies v.a. die Informationsbestände in Form von Altsystemen.25 24 Vgl. ebenda, S. 81 25 Vgl. ebenda, S. 78ff
  25. 25. Grundlagen des Reengineering 15 Ausgehend von diesen Grundgedanken leitet Kaufmann folgende Schritte einer Basisvorgehensweise ab:26 • Spezifikation des Zielmodells • Spezifikation des Ausgangsmodells • Spezifikation der Erfassungstransformation • Spezifikation der Modelltransformation • Spezifikation der Realisierungstransformation Die Spezifikation des Zielmodells erfolgt durch eine Untersuchung der rele- vanten Elemente und Beziehungen und deren Darstellung in geeigneter Form. Bei der Spezifikation des Ausgangsmodells sind eine zielmodellorientierte (Bewertung von Komponenten und Strukturen des Ausgangssystems hinsicht- lich der Relevanz für jedes einzelne Informationsobjekt und jede Beziehung des Zielmodells) und eine zielmodellneutrale Vorgehensweise (Erkennung von Komponenten und Strukturen des Ausgangssystems unabhängig von speziellen Zielmodellen) denkbar. Unter der Spezifikation der Erfassungstransformati- on wird die Identifizierung und Integrierung von Bestandteilen des Ausgangs- systems zu Objekten des Ausgangsmodells verstanden. Um aus den Informatio- nen des Ausgangsmodells Zielmodellinhalte generieren zu können, sind im Rahmen der Spezifikation der Modelltransformation die relevanten Trans- formationsprozesse zu ermitteln. Die Spezifikation der Realisierungstrans- formation ist eine in der Regel schablonenartige Umsetzung der Modelltrans- formationen, u.U. können aber auch wesentlich verkomplizierte Transformati- onsalgorithmen entstehen. 26 Vgl. ebenda, S. 82ff
  26. 26. Grundlagen des Reengineering 16 II.8 CARE - Computer Aided Reengineering Ansätze zum computerunterstützten Reengineering lassen sich erstmals bei ei- nigen Mitte der siebziger Jahre erschienenen Restrukturierungswerkzeugen er- kennen. Das Programm Structure Engine etwa eliminierte GOTO- Anweisungen aus unstrukturierten FORTRAN-Programmen und ersetzte diese durch standardisierte Prozeduraufrufe. Die seither entwickelten Werkzeuge er- möglichen sowohl die Überarbeitung kommerzieller Anwenderprogramme als auch spezifischer Systemsoftware. Ihnen allen ist gemeinsam, daß sie zwar for- male Neugestaltungen eigenständig durchführen, jedoch keinerlei funktionale Änderungen oder Erweiterungen vornehmen können. Es erfolgt lediglich eine Transformation eines Ausgangssystems, das auf alten Technologien aufbaut oder aus überholten Strukturen besteht, in ein neues, äquivalentes System.27 Parser, Semant. Analysator Datenbasis View-Composer An- wen- dungs- system Produkt Neue Darstellungsformen oder Produktsichten (Views) · Format · Grafik · Dokumentation · Metrik · Reports Abbildung II-8: Die Architektur von CARE-Werkzeugen28 27 Vgl. Heinrich, Lehner, Roithmayr: „Informations- und Kommunikationstech- nik“, S. 334 28 Ebenda
  27. 27. Grundlagen des Reengineering 17 Tabelle II-1 enthält einen exemplarischen Vergleich dreier willkürlich gewähl- ter CARE-Tools. INNOVATOR SE/ Design Recovery ROCHADE Allgemeines Anzahl Installationen 1660 780 Entwicklungssprache C C, ORIF, RSI C Oberfläche MS Windows MS Windows MS Windows Zielsprachen C, PASCAL, FORTRAN, PL/M COBOL zielsprachenunabhän- gig Stärken • Client-Server- Konzept • Standardmethoden (SA/RT, SD, IM) • Kontextsensitive Menueführung • Verwendungs- nachweis von Da- tenelementen • Erkennen poten- tieller Synonyme • Erzeugung der Modulaufrufhierar -chie • Absolut flexibles Werkzeug, das sich den Bedürf- nissen des jeweili- gen Unternehmens anpaßt Unterstützung Beschreibungsmittel SA/RT, SD, IM, ER methodenneutral, für alle gängigen Metho- den konfigurierbar Redokumentation nein ja ja Restrukturierung ja ja nein Reengineering ja ja ja Überarbeitung Systemarchitektur nein ja ja Prozeduren/Module ja ja ja Programmsteuerung ja ja ja Datenzugriffe nein ja ja Präsentationsschicht nein ja ja Benutzeroberfläche nein ja ja Tabelle II-1: Ein Vergleich von CARE-Tools29 29 Vgl. Krallmann, Wöhrle: „Marktübersicht CARE-Tools“, S. 183ff
  28. 28. Fallstudie 18 III. Fallstudie III.1 Die Spezifikation des Zielmodells Zu Beginn des Projekts wurden vom Auftraggeber - in Kenntnis der Schwächen der bestehenden Applikation - erste globale Anforderungen an das zu schaffen- de Informationssystem formuliert. Diese beinhalteten v.a. den Wunsch nach mehr Flexibilität und einer Ausweitung des Funktions- und Datenangebots rund um das Studentenwesen. Die Spezifizierung des Sollzustandes erfolgte bereits in diesem Stadium in gewissem Rahmen unter Berücksichtigung der besonderen Gegebenheiten des Istzustandes. In weiterer Folge konnten in einem zyklischen Prozeß zusammen mit Assisten- ten und Sekretariat des Instituts die geäußerten Erwartungen näher präzisiert werden. Einige neue Anforderungen wurden auch erst später nach dem Vorlie- gen eine ersten Prototypen im Wissen um deren technische Machbarkeit artiku- liert. III.1.1 Datenanforderungen Als wichtigste Objekttypen des zukünftigen Datensystems wurden identifiziert: • Studenten • Lehrveranstaltungen • Personal • Anmeldungen • Einstiegsklausuren • Scheine • Diplomprüfungen III.1.2 Funktionsanforderungen Das ursprünglich vorgesehene Funktionsgerüst umfaßte die Punkte • Verwaltung von Studenten • Verwaltung von Lehrveranstaltungen • Verwaltung von Lehrveranstaltungsleitern • Verwaltung von Einstiegsklausuren
  29. 29. Fallstudie 19 • Flexibel konfigurierbare Anmeldungserfassung • Automatisches Aufnahmeverfahren • Verwaltung von Scheinen • Verwaltung von Diplomprüfungen • Erstellung von Notenvorschlägen für Diplomprüfungen • Druck von Stammdaten • Druck von Anmeldelisten • Druck von Ergebnislisten • Druck von Informationslisten Später traten noch weitere Anforderungen hinzu: • Generierung von Semesterplänen • Statistische Datenauswertung • Führung eines Logbuchs • Führung eines Fehlerprotokolls III.1.3 Benutzerschnittstellenanforderungen Die Gestaltung der Benutzerschnittstelle sollte nach ergonomischen Erkenntnis- sen erfolgen und in sich konsistent sein. Diesbezüglich konnte relativ rasch ein Prototyp vorgestellt und für geeignet befunden werden. III.1.4 Technikanalyse Die Wahl der Implementierungsumgebung war nicht nur durch das Altsystem, sondern allein schon aufgrund der hard- und softwaretechnischen Ressourcen am Institut für Wirtschaftsinformatik praktisch vorweggenommen. Es handelte sich dabei um das Viert-Generationswerkzeug 4th Dimension, das zu Projekt- beginn in der Version 3.0 vorlag. III.2 Die Spezifikation des Ausgangsmodells Ziel der Analyse des bis dato im Einsatz befindlichen Informationssystems war die Aufdeckung der spezifischen Stärken und Schwächen, um Rückschlüsse auf
  30. 30. Fallstudie 20 eventuell wiederverwendbare Komponenten und zukünftige Entwicklungspo- tentiale zu gewinnen. III.2.1 Datenanalyse Das Altsystem beinhaltete folgende Daten-Objekttypen: • Studenten • Lehrveranstaltungen • Einstiegsklausuren • Anmeldungen • Scheine Unangenehm bemerkbar machten sich dabei einige kleinere Redundanzen und daraus resultierende Inkonsistenzen. Das Volumen des Datenbestandes war trotz der wenigen Dateien im Laufe der Zeit erheblich angewachsen (mehrere MegaByte), sodaß die Notwendigkeit einer Datenkonvertierung - verbunden mit einer kompletten Restrukturierung - von vornherein feststand. III.2.2 Funktionsanalyse Nachstehende Funktionen wurden (teilweise auf Umwegen - siehe weiter unten) durch das bestehenden Informationssystem bereitgestellt: • Verwaltung von Studenten • Verwaltung von Lehrveranstaltungen • Verwaltung von Einstiegsklausuren • Verwaltung von Scheinen • Erfassung von Anmeldungen • Druck von Anmeldelisten • Druck von Sammelzeugnissen Programmarchitektur und -komponenten konnten als einwandfrei strukturiert bezeichnet werden, dennoch wurde bereits frühzeitig deutlich, daß aufgrund der Weiterentwicklung der Implementierungssprache innerhalb der letzten fünf Jah-
  31. 31. Fallstudie 21 re und der teilweise völlig neuartigen Anforderungen ein komplettes Reengineering der Funktionsstruktur nicht zweckmäßig war. Auch die Restrukturierung wenig komplexer Systemkomponenten gestaltete sich problematisch. Dieser Umstand soll beispielhaft anhand der Prozedur An- meld->Prüf und deren „Nachfolger“ im neuen Informationssystem deutlich ge- macht werden. III.2.2.1 Die alte Prozedur Anmeld->Prüf Besagte Prozedur übernahm vorhandene Anmeldungen einer noch vom Benut- zer zu spezifizierenden Lehrveranstaltung und transformierte diese in Scheine, wodurch unnötiger Erfassungsaufwand vermieden werden konnte. $LVA:=Num(Request("Eingabe: Surrogat für die LVA")) SEARCH BY INDEX([LVA_Jahr]Sur_LVA=$LVA) If (Records in selection([LVA_Jahr])=1) CONFIRM("Teilnehmerliste für die LVA "+[LVA_Jahr]LVA_Name+", "+ [LVA_Jahr]Sem_Jahr+", "+[LVA_Jahr]LVA_Leiter+ ", LVA-Nr: "+[LVA_Jahr]LVA_Nr) If (OK=0) ABORT End if Else ALERT("Diese LVA existiert nicht") ABORT End if DEFAULT FILE([Anmeldung_Neu]) FIRST RECORD While (Not(End selection)) SEARCH BY INDEX([Prüfungen]Matr_Nr=[Anmeldung_Neu]Matr_Nr) SEARCH SELECTION([Prüfungen];[Prüfungen]Sur_LVA=$LVA) If (Records in selection([Prüfungen])=0) CREATE RECORD([Prüfungen]) [Prüfungen]Matr_Nr:=[Anmeldung_Neu]Matr_Nr [Prüfungen]Sur_LVA:=$LVA [Prüfungen]Note:=0 [Prüfungen]Gruppe:=0 [Prüfungen]Studenten_Name:=[Anmeldung_Neu]Studenten_Name ACTIVATE LINK([Prüfungen]Matr_Nr) ACTIVATE LINK([Prüfungen]Sur_LVA) SAVE RECORD([Prüfungen]) End if NEXT RECORD End while III.2.2.2 Das neue Skript btnAnmÜbern Dieses Skript erfüllt eine ganz ähnliche Aufgabe wie obige Prozedur, mit dem kleinen Unterschied daß hier - nachdem der betreffende Button Teil des Layouts
  32. 32. Fallstudie 22 zur Eingabe von Scheinen ist - die interessierende Lehrveranstaltung bereits feststeht. SUCHE([Anmeldung];[Anmeldung]LVA=[LVA]Surrogat;*) SUCHE([Anmeldung]; & [Anmeldung]Aufgenommen=Wahr) Wenn (Datensätze in Auswahl([Anmeldung])>0) Solange (Nicht(Nach der Auswahl([Anmeldung]))) SUCHE([Schein];[Schein]LVA=[LVA]Surrogat;*) SUCHE([Schein]; & [Schein]MatrikelNr=[Anmeldung]MatrikelNr) Wenn (Datensätze in Auswahl([Schein])=0) ERZEUGE DATENSATZ([Schein]) [Schein]LVA:=[LVA]Surrogat [Schein]MatrikelNr:=[Anmeldung]MatrikelNr SICHERE DATENSATZ([Schein]) ErzgLogEintrag ("Schein gespeichert: LVA-Surrogat: "+ String([Schein]LVA)+", Matrikel-Nr: "+[Schein]MatrikelNr+ ", Note: "+String([Schein]NoteGesamt)) eWenn NÄCHSTER DATENSATZ([Anmeldung]) eSolange eWenn Beim Vergleich der beiden Quellcodes fällt neben den strukturellen Ähnlichkei- ten die unterschiedliche Implementierungssprache auf. Dies ist darauf zurückzu- führen, daß 4th Dimension verschiedene Ländereinstellungen unterstützt und der Sprachstandard von der jeweiligen Installierung abhängt. Ein simples Co- py/Paste war damit allerdings ausgeschlossen. Als problematisch stellten sich auch die zahlreichen Änderungen des Befehls- vorrats, nachdem zwischen den beiden Versionen immerhin zwei Generations- sprünge lagen. Anweisungen der Art SEARCH BY INDEX([Prüfungen]Matr_Nr=[Anmeldung_Neu]Matr_Nr) SEARCH SELECTION([Prüfungen];[Prüfungen]Sur_LVA=$LVA) waren nunmehr obsolet, nachdem die Suchfunktion etwaige Indizierungen automatisch berücksichtigt. Die Befehlsfolge SUCHE([Schein];[Schein]LVA=[LVA]Surrogat;*) SUCHE([Schein]; & [Schein]MatrikelNr=[Anmeldung]MatrikelNr) liefert das gleiche Ergebnis. Zur Umgehung derartiger Schwierigkeiten ist im Programmpaket von 4th Di- mension das Werkzeug 4D Converter enthalten mit dessen Hilfe das Altsystem zunächst auf den Stand der Version 2.0, und danach - mit allen damit verbunde-
  33. 33. Fallstudie 23 nen Problemen - auf Version 3.0 adaptiert hätte werden müssen, um anschlie- ßend unter Verwendung des sogenannten 4D Movers Komponente für Kompo- nente in das neue Informationssystem zu transferieren. Die Unzulänglichkeiten eines derartigen Vorgehens sind offensichtlich, speziell nachdem ohnehin nur die wenigsten Programmbestandteile für eine Wiederverwendung in Frage ka- men. III.2.3 Benutzerschnittstellenanalyse Nach dem Programmstart gelangte der Anwender in die nachfolgend abgebilde- te Benutzeroberfläche. Abbildung III-1: Die Benutzeroberfläche des alten Informationssystems Die angebotenen Menues waren nur recht spärlich mit Befehlen ausgestattet, welche wiederum lediglich zu einem Teil auch wirklich Verwendung fanden. Hauptsächlich wurden hier - mittels des Dialogfelds aus Abbildung III-2 - An- meldungen zu Lehrveranstaltungen erfaßt.
  34. 34. Fallstudie 24 Abbildung III-2: Die Erfassung von Anmeldungen Alle weiteren Menuebefehle führten entweder zu Fehlermeldungen oder liefer- ten vom Benutzer nicht mehr nachvollziehbare Ergebnisse. Aus diesem Grund wurden alle anderen Aktionen - sei es nun die Stammdatenverwaltung oder die Druckausgabe - auf indirektem Wege über den Benutzermodus von 4th Dimen- sion durchgeführt. Dieser Benutzermodus ermöglicht einfache Operationen wie das Anlegen, Än- dern, Löschen, Suchen oder Drucken von Datensätzen unter der Restriktion ei- nes doch erheblich eingeschränkten Bedienungskomforts. Dies soll beispielhaft anhand des Vorgehens zur Erzeugung einer neuen Lehrveranstaltung dargelegt werden werden. Zunächst war die in Betracht kommende Datei - ebenso wie das gewünschte Eingabelayout - aus einer Liste auszuwählen. Anschließend mußte der Menue- befehl zum Anlegen eines neuen Datensatzes aufgerufen werden, worauf fol- gendes Dialogfeld erschien.
  35. 35. Fallstudie 25 Abbildung III-3: Die Verwaltung von Lehrveranstaltungen Die Attributnamen wurden aus den physischen Dateibeschreibungen übernom- men. Ein eindeutiges Surrogat war selbst zu vergeben, wie die Eingaben für das Semester auszusehen haben wurde an dieser Stelle ebenfalls nicht klar. Mögli- che Lehrveranstaltungsbezeichnungen, -leiter und -typen wurden in Popups an- gezeigt und konnten dort auch modifiziert werden. Andere als die ohnehin von 4th Dimension vorgesehenen Standardfunktionen konnten vom Benutzer nur bei Kenntnis des entsprechenden Prozedurnamens eingesetzt werden. Abbildung III-4: Die Ausführung von Prozeduren Nach dem Aufruf der bereits bekannten Prozedur Anmeld->Prüf etwa mußte die gewünschte Lehrveranstaltung erst über deren Surrogat spezifiziert werden
  36. 36. Fallstudie 26 (siehe Abbildung III-5), und das obwohl - wie in Abbildung III-6 - an anderer Stelle sogar eine weit bequemere Auswahlliste implementiert worden war. Abbildung III-5: Die Auswahl von Lehrveranstaltungen (1) Abbildung III-6: Die Auswahl von Lehrveranstaltungen (2) Die Analyse der Benutzerschnittstelle machte die Notwendigkeit einer völligen Überarbeitung deutlich. Die bestehenden Layouts waren fast ausschließlich von 4th Dimension generiert und ohne jede Anpassung übernommen worden, sodaß deren Brauchbarkeit für eine mögliche Wiederverwendung angezweifelt werden mußte.
  37. 37. Fallstudie 27 III.3 Die Spezifikation der Erfassungstransformation Wie obigen Ausführungen zu entnehmen ist, war im Rahmen der Reengineering-Konzeption die Übertragung der vorhandenen Datenbestände von zentralem Interesse. Das logische Datenmodell des Altsystems bildete dabei den Ausgangspunkt der weiteren Vorgehensweise. Student LVA ScheinAnmeldung schreibttätigt betrifft betrifft erhält Einstiegsklausur n 1 11 nn n n 1 1 Abbildung III-7: Das logische Datenmodell des alten Informationssystems Die Entitäten und Beziehungen des logischen Datenmodells ließen sich relativ einfach aus den physischen Dateibeschreibungen ableiten. III.4 Die Spezifikation der Modelltransformation Um die relevanten Transformationsprozesse zwischen Ausgangs- und Zielmo- dell identifizieren zu können, mußte eine Angleichung des Abstraktionsniveaus der beiden Systembeschreibungen vorgenommen werden.
  38. 38. Fallstudie 28 Diplomprü- fungsergebnis Diplomprüfung Einstiegsklau- surergebnis erreicht betrifft Student n 1 nn erreicht 1 1 Einstiegsklausur betrifft n 1 ScheinAnmeldung erhält n 1 n tätigt 1 betrifft Lehrveran- staltung n 1 n betrifft 1 Semesterplan Lehrveranstal- tungstyp hat 1 n Termin hat 1 n Lehrveranstal- tungsleiter leitet 1nEingangs- voraussetzung hat n 1 hat n 1 1 n hat Abbildung III-8: Das logische Datenmodell des neuen Informationssystems
  39. 39. Fallstudie 29 Die korrespondierenden Strukturen konnten dann direkt den logischen Daten- modellen entnommen werden. Ausgangsmodell Zielmodell Student schreibt Einstiegsklausur n 1 Einstiegsklau- surergebnis Student 1 n erreicht Einstiegsklausur betrifft n 1 Lehrveranstal- tungstyp 1 n hat Student LVA Anmeldung tätigt betrifft 1 n n 1 Student Anmeldung 1 n tätigt Lehrveran- staltung 1 n betrifft 1 Lehrveranstal- tungstyp Lehrveranstal- tungsleiter leitet 1n hat n 1 Student LVA Schein betrifft erhält 1 n n 1 Student Schein erhält n 1 betrifft Lehrveran- staltung n 1 Lehrveranstal- tungstyp Lehrveranstal- tungsleiter leitet 1n hat n 1 Tabelle III-1: Die relevanten Modelltransformationen
  40. 40. Fallstudie 30 III.5 Die Spezifikation der Realisierungstransformation Zur Umsetzung der ermittelten Modelltransformationen wurde ein eigenes Konvertierungsprogramm implementiert. Diese Maßnahme war angesichts der Komplexität der Transformationsalgorithmen notwendig geworden und hatte außerdem den Vorteil, daß jederzeit - praktisch auf Knopfdruck - die gesamten während der Entwicklung des neuen Informationssystems in der bestehenden Applikation weitergeführten Daten übernommen werden konnten. Abbildung III-9: Die Benutzeroberfläche des Konvertierungsprogramms
  41. 41. Fallstudie 31 Das Konvertierungsprogramm bildete intern die relevanten Teile der beiden Da- tenmodelle ab. Nach der Importierung der alten Datenbestände wurde der Transformationsprozeß gestartet, der folgende Umformungen beinhaltete: • Erzeugung von Surrogat-Nummern, beispielsweise für Einstiegsklausuren • Zusammenfassung von Attributen, etwa von Vorwahl und lokaler Telefon- nummer zu einer Nummer • Generierung neuer Attribute, z.B. Erst- und Letztkontakte der Studenten aus Infomationen gespeicherter Einstiegsklausuren, Anmeldungen und Scheine • Aufspaltung von Dateien, wie die Trennung von Lehrveranstaltungen, Lehrveranstaltungstypen und Lehrveranstaltungsleitern Letztgenannte Teiltransformation soll im folgenden Abschnitt beispielhaft er- läutert werden. LVA_Jahr Sur_LVA Ganzzahl LVA_Nr Alpha 10 Sem_Jahr Alpha 4 LVA_Leiter Alpha 40 LVA_Name Alpha 80 LVA_Typ Alpha 2 Stunden Ganzzahl LVA_Name2 Alpha 40 Tabelle III-2: Die alte Datei LVA_Jahr Die meisten Merkmale der alten Lehrveranstaltungsdatei wurden einer gründli- chen Restrukturierung unterzogen. Das Semesterattribut mußte umgeformt wer- den um eine bessere Verarbeitung zu ermöglichen, daneben wurde der Lehrve- ranstaltungstyp in eine eigene Relation ausgegliedert und erhielt eine neue Be- deutung im Zusammenhang mit den Eingangsvoraussetzungen zu Lehrveran- staltungen.
  42. 42. Fallstudie 32 LVA Surrogat Ganzzahl Nummer Alpha 6 Semester Alpha 5 Typ Alpha 20 Kürzel Alpha 2 Bezeichnung Alpha 40 Leiter Ganzzahl Stunden Ganzzahl MaxTeilnehmer Ganzzahl Kommentar Alpha 30 MarkiertAlt Boolean MarkiertDrk Boolean Tabelle III-3: Die neue Datei LVA LVATyp Bezeichnung Alpha 20 LVAKürzel Alpha 2 DPVoraussetzung Boolean EKVoraussetzung Boolean DPTeilnote Boolean Tabelle III-4: Die neue Datei LVATyp Als problematisch stellte sich die Behandlung der Lehrveranstaltungsleiterdaten heraus, welche in etwas redundanter Form in einem Attribut der alten Lehrve- ranstaltungsdatei vorlagen. Die Extrahierung dieser Informationen gestaltete sich deshalb so schwierig, weil die Personen teilweise mit vollem Namen und akademischen Titel, teilweise nur mit Nachnamen, etc. abgespeichert worden waren. Das bewußte Attribut mußte daher für jeden Datensatz zerlegt und näher analysiert werden, um letztendlich den tatsächlichen Personenbezug herstellen zu können. Den Lehrveranstaltungsleitern wurden daraufhin eigene Surrogate zugeteilt, über die von nun an die Verknüpfung der beiden Dateien hergestellt werden konnte.
  43. 43. Fallstudie 33 Personal Surrogat Ganzzahl Titel Alpha 30 Vorname Alpha 20 Nachname Alpha 30 Straße Alpha 40 PLZ Alpha 4 Ort Alpha 30 Telefon Alpha 20 UniDurchwahl Ganzzahl Lehrbefugnis Boolean SozialVersNr Alpha 10 Markiert Boolean Tabelle III-5: Die neue Datei Personal III.6 Forward-Engineering III.6.1 Entwurf Die weiteren Entwurfsschritte waren durch das logische Datenmodell, welches relativ rasch konkrete Formen angenommen hatte, geprägt. Als ausschlagge- bend dafür zeigte sich nicht zuletzt die starke Datenorientierung von 4th Di- mension selbst, die sich erheblich in der Systemarchitektur widerspiegelt. Die Kenntnis um die besonderen Gegebenheiten und Möglichkeiten der Entwick- lungsumgebung hatte hier - anders als dies möglicherweise bei einer prozedura- len Programmiersprache der Fall gewesen wäre - entscheidenden Einfluß auf etliche noch zu treffende Entwurfsentscheidungen. III.6.1.1 Der Entwurf der Systemarchitektur Eine möglichst problemadäquate Zerlegung des Gesamtsystems in Teilsysteme und Komponenten mußte aus erwähnten Ursachen hochgradig an den zugrunde- liegenden Datenstrukturen angepaßt erfolgen. 4th Dimension unterstützt nur ein äußerst rudimentäres Modularisierungskonzept. Dabei wird zwischen globalen, Datei- und Layoutprozeduren sowie Skripts, welche die Funktionalität hinter einzelnen Benutzerschnittstellenelementen repräsentieren, unterschieden. Layouts und Skripts stehen wiederum in engem Zusammenhang mit bestimmten Dateien. Schon allein daraus wird die Notwendigkeit einer ausgeprägten Daten- orientierung des Architekturentwurfs offenkundig.
  44. 44. Fallstudie 34 III.6.1.2 Der Entwurf der Benutzerschnittstelle Nicht zuletzt aufgrund der diesbezüglichen Schwächen des Altsystems wurde von vornherein auf den Einsatz des integrierten Formulargenerators verzichtet. Stattdessen wurde ein eigenes Benutzerschnittstellenparadigma entworfen, das auch die Zustimmung der zukünftigen Anwender fand. Der dadurch entstandene Mehraufwand konnte durch die Wiederverwendung von Dialogkomponenten einigermaßen in Grenzen gehalten werden. Nähere Informationen zu diesem Thema sind Kapitel IV - Benutzerdokumentation zu entnehmen. III.6.2 Implementierung Die Umsetzung des logischen in das physische Datenmodell erfolgte mit Hilfe des graphischen Entity-Relationship-Editors von 4th Dimension. Dieses Werkzeug ermöglicht die Definition von Objekttypen einschließlich deren Be- ziehungen untereinander ebenso wie die Formulierung verschiedener Integri- tätsbedingungen. Auch nachträgliche Veränderungen an den Datenstrukturen konnten hier relativ problemlos vorgenommen werden. Besonderer Wert wurde auf ein angemessenes Design der Bildschirm- und Drucklayouts gelegt. Der integrierte Screen-Painter offeriert eine mit einem Zeichenprogramm vergleichbare Handhabung der Benutzerschnittstellengestal- tung. Desweiteren kann hier auf vorgefertigte Standard-Transaktionen (wie et- wa das Speichern oder Löschen von Datensätzen über bestimmte Buttons) zu- rückgegriffen werden. Von dieser Möglichkeit wurde jedoch kaum Gebrauch gemacht, da die genannten Manipulationen meist in einem komplexeren Ge- samtzusammenhang standen (beispielsweise aufgrund einer notwendig gewor- denen Aktualisierung der Bildschirmanzeige oder der Erzeugung eines Log- bucheintrags). Die prozedurale Programmiersprache von 4th Dimension beinhaltet mächti- ge Konstrukte, die weit über bloße Zugriffsfunktionen auf die Datenbasis hinausgehen. So konnten auch diffizilere Problemlösungen realisiert werden, wie etwa das automatische Aufnahmeverfahren zu Lehrveranstaltungen. Nach- teilig fiel hingegen die etwas mangelhafte Unterstützung einer strukturierten Programmierweise auf. Aufgrund der geschilderten Leistungsmerkmale der Entwicklungsumgebung erschien eine Strategie des evolutionären Prototypings zweckmäßig. Neben
  45. 45. Fallstudie 35 den erörterten Reengineering-Maßnahmen führte dies zu einer weiteren Vernet- zung von Analyse-, Entwurfs- und Implementierungsarbeiten. III.6.3 Test und Installation Einzelne Komponententests konnten projektbegleitend bereits in den frühen Implementierungsphasen durchgeführt werden. Daß dabei von Beginn an Pra- xisdaten verfügbar waren, ermöglichte die rasche Aufdeckung von Fehlern, die andernfalls erst zu einem späteren Zeitpunkt oder unter realen Einsatzbedin- gungen zutage getreten und dementsprechend schwieriger zu beheben gewesen wären. Auch erste Architekturtests wurden parallel zur Systementwicklung ab- gewickelt. Nach der Installierung einer Vollversion - die aktuellen Datenbestände wurden mittels des Konvertierungsprogramms aus dem Altsystem übernommen - erfolg- te eine Überprüfung des Informationssystems in realer Anwendungsumgebung. Die dabei auftretenden Anpassungserfordernisse waren nur mehr minimal und konnten aufgrund der strikten Trennung von Programm- und Datenstrukturen in 4th Dimension parallel zum Systembetrieb vorgenommen werden.
  46. 46. Benutzerdokumentation 36 IV. Benutzerdokumentation Die vorliegende Benutzerdokumentation soll eine Hilfestellung für den Einsatz des Informationssystems in der Praxis bieten. Sie enthält eine überblicksmäßige Darlegung der potentiellen Einsatzbereiche der Anwendung, eine Auflistung benötigter Ressourcen sowie eine Einführung in die standardmäßige Benutzung des Programms. IV.1 Systembeschreibung IV.1.1 Einsatzbereich Das primäre Anwendungsgebiet des Informationssystems liegt sicherlich im institutsinternen Gebrauch. Rund um den ursprünglichen Zweck, die Verwal- tung von Studentendaten, wird eine Vielzahl von Diensten zur Verfügung ge- stellt, welche sich an dieser Stelle nur querschnittsartig darstellen lassen: • Führung von Studenten-, Lehrveranstaltungs- und Personaldaten • Flexibel konfigurierbares Anmeldewesen mit automatischem Aufnahmever- fahren • Scheinausstellung, Einstiegsklausur- und Diplomprüfungsverwaltung • Generierung von Semesterplänen • Umfangreiches Angebot an Drucklayouts • Statistische Datenauswertung • Logbuch, Fehlerprotokoll IV.1.2 Benötigte Hard- und Softwareressourcen Für die sinnvollen Nutzung der Applikation sollten zumindest folgende Sy- stemvoraussetzungen gegeben sein: • Macintosh Computer (mit der Leistungsfähigkeit eines eines LCs oder bes- ser) • 2MB RAM (4MB empfehlenswert) • Betriebssystem-Software 6.0.2 (oder eine neuere Version)
  47. 47. Benutzerdokumentation 37 Sollte 4th Dimension (wie angekündigt) in näherer Zukunft für IBM-kompatible PCs verfügbar werden, so steht einem Einsatz auch auf dieser Hardware- Plattform nichts mehr im Wege. Das Informationssystem liegt in Ermangelung eines Compilers zum gegenwär- tigen Zeitpunkt nur in einer Runtime-Fassung vor. Grundvoraussetzung für die Lauffähigkeit ist somit die Bereitstellung von 4th Dimension 3.0.5 (oder einer neueren Version). Desweiteren sollten für eine korrekte Bildschirmdarstellung und Druckausgabe die beiden Zeichensätze • Chicago und • Times New Roman vorhanden sein. Die Gestaltung der Benutzeroberfläche wurde an eine Bildschirmdarstellung von 640• 480 Bildpunkten bei 256 Farben ausgerichtet. Bei einer geringerer Auf- lösung bzw. Farbleistung ist u.U. mit kleinen Einschränkungen der Benutzbar- keit zu rechnen. IV.2 Installationsanleitung Zur Programminstallation genügt es, die Datei Fish in ein beliebiges Verzeich- nis auf der Festplatte zu kopieren. Desweiteren wird noch ein gleichnamiges File mit der Extension .data benötigt, welches die Datenbasis enthält. Ist eine derartige Datei nicht vorhanden, so wird sie von 4th Dimension zu Beginn automatisch angelegt und ist dann selbstverständlich leer.
  48. 48. Benutzerdokumentation 38 IV.3 Bedienungsanleitung Zweck dieser Bedienungsanleitung ist die Beschreibung der angebotenen Funk- tionalität und des zugrundliegenden Benutzerschnittstellenparadigmas des In- formationssystems. Grundkenntnisse im Umgang mit mausgesteuerten Bedie- nungsumgebungen können vorausgesetzt werden, wie auch auf eine allzu re- dundante Darstellung sich wiederholender Sachverhalte verzichtet werden soll. IV.3.1 Programmstart Nach dem Aufruf der Anwendung erscheint ein Dialogfeld zwecks Identifikati- on des Benutzers. Abbildung IV-1: Die Benutzeridentifikation Je nach Zugehörigkeit zu einer bestimmten Benutzergruppe sind die späteren Handlungsmöglichkeiten mehr oder weniger durch die angebotenen Menuebe- fehle vorgegeben. So dürfen etwa Studenten lediglich Anmeldungen zu Lehr- veranstaltungen vornehmen, wohingegen Institutsangehörige oder Mitglieder des Design-Teams den vollen Funktionsumfang nutzen können; für Letztge- nannte stellt sich die Benutzeroberfläche wie in Abbildung IV-2 dar.
  49. 49. Benutzerdokumentation 39 Abbildung IV-2: Die Benutzeroberfläche IV.3.2 Das Menue Ablage Das Menue Ablage enthält Befehle zur Anzeige allgemeiner Programminforma- tionen, zur Einstellung von Systemvariablen, der Führung eines Logbuchs und eines Fehlerprotokolls sowie der Statistikerstellung.
  50. 50. Benutzerdokumentation 40 Abbildung IV-3: Das Menue Ablage IV.3.2.1 Der Befehl Über F.I.S.H... Nach Aufruf dieses Befehls erscheint ein Dialogfeld mit allgemeinen Informa- tionen über Programmversion, Autor, Einsatzbereich, etc. IV.3.2.2 Der Befehl Logbuch Das Informationssystem zeichnet in einem sog. Logbuch laufend die wichtig- sten Datenbanktransaktionen mit und ermöglicht so eine Rekonstruktion des Datenbestandes nach etwaigen Fehlleistungen von Mensch oder Maschine.
  51. 51. Benutzerdokumentation 41 Abbildung IV-4: Die Verwaltung des Logbuchs Nach Auswahl eines Logbucheintrages können über zwei Buttons alle vorheri- gen Aufzeichnungen gelöscht bzw. alle nachfolgenden ausgedruckt werden. IV.3.2.3 Der Befehl Fehlerprotokoll Das Fehlerprotokoll erfüllt eine vergleichbare Funktion wie das Logbuch, nur daß hier sämtliche aufgetretenen Fehler samt Beschreibung der näheren Um- stände abgelegt werden. Diese Beschreibung kann der Benutzer sofort nach Zutagetreten eines Fehlers in einem eigenen Dialogfeld (das auch über mögli- che Ursachen und Hinweise zur Behebung informiert) eingegeben werden. Ähn- lich wie bei der Verwaltung des Logbuchs besteht auch die Gelegenheit, Einträ- ge zu löschen oder auszudrucken.
  52. 52. Benutzerdokumentation 42 IV.3.2.4 Der Befehl Systemvariablen Systemvariablen dienen der Festlegung verschiedener Einstellungen an zentra- ler Stelle und ermöglichen damit eine höhere Flexibilität des Gesamtsystems. Tabelle IV-1 veranschaulicht deren Bedeutung. Systemvariable Standard Bedeutung AnmeldungDurchStudent Wahr Soll die Anmeldung durch die Studenten selbst erfolgen? BenutzernameStudent Student Reservierter Benutzername für die Studenten BesteNote 1 Beste erreichbare Note DetailstatistikBerechnet Falsch Wurde die Detailstatistik schon einmal be- rechnet? DiagrammTyp 4 Typ des Statistik-Diagramms DiplomprüfungTermin[1] Jänner Bezeichnung des ersten Diplomprüfungster- mins des Jahres DiplomprüfungTermin[2] März Bezeichnung des zweiten Diplomprüfungs- termins des Jahres DiplomprüfungTermin[3] Juni Bezeichnung des dritten Diplomprüfungs- termins des Jahres DiplomprüfungTermin[4] Oktober Bezeichnung des vierten Diplomprüfungs- termins des Jahres FensterPositionX 4 Horizontale Standard-Position von Fenstern FensterPositionY 42 Vertikale Standard-Position von Fenstern JahreInStatistik 8 Anzahl der Jahre, die in die Statistik einge- hen sollen MaxNegativeScheine 3 Maximale Anzahl an negativen Scheinen eines Studenten in einem Lehrveranstaltungs- typ MinAlternativeAnmeldungen 2 Minimale Anzahl von Prioritäten, die ein Student bei der Anmeldung angeben muß MinJahreAbwesenheit 3 Anzahl der Jahre, die ein Student abwesend sein muß, um für die Statistik als abgeschlos- sen zu gelten Rollbalkenbreite 16 Breite des Fenster-Rollbalkens SchlechtesteNote 5 Schlechteste erreichbare Note StandardFensterTyp 8 Typ der Standard-Fenster StartJahr 1985 Erstes Jahr für Diplomprüfungs- und Seme- sterliste StatistikBerechnet Falsch Wurde die Statistik schon einmal berechnet? Tabelle IV-1: Die Systemvariablen
  53. 53. Benutzerdokumentation 43 Die Systemvariablen können nur von Mitgliedern des Design-Teams verändert werden. IV.3.2.5 Der Befehl Statistik Das Informationssystem bietet umfangreiche statistische Auswertungsmöglich- keiten. Neben einfachen Kennzahlen wie der Anzahl der gespeicherten Studen- ten, Lehrveranstaltungen, Anmeldungen, Scheine, etc. können hier auch komp- lexere Tatbestände - etwa die durchschnittliche Dauer von der ersten Kontakt- aufnahme bis zum Abschluß von Studenten und die Entwicklung der Neuzu- gänge im Zeitablauf - abgelesen werden. Abbildung IV-5: Die Statistik Nach Aufruf des Befehls werden zunächst die elementaren und relativ rasch zu berechnenden Werte ermittelt. Der rechte Teil der Statistik bleibt hingegen vo- rerst leer. Durch Klick auf den Button Detail können auch die aufwendigeren Evaluierungen gestartet werden, die je nach Rechnerleistung und Umfang der Daten ein bis mehrere Minuten in Anspruch nehmen können. Dafür sind die Er-
  54. 54. Benutzerdokumentation 44 gebnisse dann bei jedem weiteren Aufruf der Statistik sofort verfügbar. Auch eine Druckausgabe ist vorgesehen. IV.3.2.6 Der Befehl Beenden Dieser Befehl beendet die aktuelle Sitzung sofern der Benutzer den Gruppen Design oder Institut angehört. Studenten hingegen können ohne Angabe eines entsprechenden Passworts nicht ohne weiteres aus der Anwendung aussteigen. IV.3.3 Das Menue Bearbeiten Das Menue Bearbeiten wird standardmäßig vom Macintosh-Betriebssystem zur Verfügung gestellt und muß daher an dieser Stelle nicht mehr näher erläutert werden. Abbildung IV-6: Das Menue Bearbeiten
  55. 55. Benutzerdokumentation 45 IV.3.4 Das Menue Institut Unter diesem Punkt sind Befehle zur Verwaltung des Personals und zu Erstel- lung von Semesterplänen zusammengefaßt. Abbildung IV-7: Das Menue Institut IV.3.4.1 Der Befehl Personal verwalten Zum Institutspersonal können neben den Lehrveranstaltungsleitern auch Sekre- tärin, Techniker, Tutoren, etc. gezählt werden.
  56. 56. Benutzerdokumentation 46 Abbildung IV-8: Die Verwaltung von Institutspersonal Sind bereits Personal-Datensätze vorhanden, so wird zu Beginn der erste gefun- dene angezeigt, andernfalls gleich ein neuer angelegt. Das Surrogat ist eine ein- deutige Nummer, die intern vergeben wird und danach nicht mehr verändert werden kann. Alle anderen Felder sind frei editierbar; erwähnenswert scheint noch das Optionsfeld Lbf, das darüber Auskunft gibt, ob die Person auch die Befugnis zur Leitung von Lehrveranstaltung hat. Nur dann kann sie eine Lehr- veranstaltung zugeteilt werden (diese Zuordnungen werden darunter in Listen- form angezeigt). Im unteren Teil befinden sich verschiedene Buttons, die in mehr oder weniger variierender Form auch in den meisten anderen Dialogfeldern auftreten und deshalb an dieser Stelle einmal ausführlich erläutert werden sollen.
  57. 57. Benutzerdokumentation 47 Suchdialog öffnen Zum vorherigen Datensatz blättern Zum ersten Datensatz blättern Aktuellen Datensatz speichern Neuen Datensatz anlegen Zum nächsten Datensatz blättern Zum letzten Datensatz blättern Aktuellen Datensatz löschen Bearbeitung abbrechen Abbildung IV-9: Die Standard-Buttons Über den Button Neu wird ein neuer Datensatz erzeugt. Der Button Speichern dient der expliziten Sicherung der getätigten Eingaben - diese erfolgt allerdings auch bei allen anderen Aktionen außer natürlich beim Löschen und beim Ab- brechen der Aktion. Mit Hilfe der kleineren Buttons daneben ist ein beliebiges Blättern zwischen den Datensätzen bzw. zum jeweils ersten und letzten mög- lich. Nicht überall vorgesehen (da nicht immer sinnvoll) wurde der Button Su- chen - er öffnet einen Dialog zur Suche nach Datensätzen anhand verschiedener Kriterien. Durch einen Klick auf Löschen wird der aktuelle Satz unwiderruflich aus der Datenbasis entfernt - allerdings erst nach Bestätigung einer Sicherheits- abfrage. Der Button Abbrechen dient der Beendigung der Bearbeitung ohne Be- rücksichtigung der zuletzt getätigten Änderungen. Eine Statuszeile informiert außerdem laufend über die gerade durchgeführten Transaktionen. IV.3.4.2 Der Befehl Personaldaten drucken Die wichtigsten Stammdaten des Institutspersonals können listenweise ausge- geben werden. Zu diesem Zweck ist es allerdings zunächst notwendig, die ent- sprechenden Personen auszuwählen.
  58. 58. Benutzerdokumentation 48 Abbildung IV-10: Die Markierung von Institutspersonal Dies erfolgt einfach durch Aktivierung eines Optionsfelds neben den jeweiligen Einträgen. Desweiteren erlauben zwei Buttons die Markierung bzw. Demarkie- rung aller angezeigten Datensätze. IV.3.4.3 Der Befehl Semesterplan verwalten Semesterpläne ermöglichen eine übersichtliche Darstellung des Lehrveranstal- tungsangebots des Instituts. Zur Spezifizierung genügt die Auswahl eines Se- mesters, da dazu jeweils nur ein Plan existieren kann.
  59. 59. Benutzerdokumentation 49 Abbildung IV-11: Die Verwaltung von Semesterplänen Gibt es für das angegebene Semester noch keinen Semesterplan, so wird dieser auf Wunsch angelegt, indem vorhandene Lehrveranstaltungen eingetragen und eine Kalenderleiste erzeugt wird. Eine besondere Option ist dabei die Verwen- dung von bereits existierenden Semesterplänen als Vorlage, wodurch umständ- liche Mehrfacheingaben vermieden werden können. Stattdessen werden in den alten Plänen äquivalente Lehrveranstaltungen gesucht und deren Termine und Lerneinheiten einfach an das aktuelle Semester angepaßt. Daraufhin erscheint ein neues Fenster, in dem der so erzeugte Semesterplan nachbearbeitet werden kann.
  60. 60. Benutzerdokumentation 50 Abbildung IV-12: Die Bearbeitung von Semesterplänen Durch Schließen des Fensters wird der Semesterplan automatisch gesichert. IV.3.4.4 Der Befehl Semesterplan drucken Zum Druck eines Semesterplans genügt wiederum die Bestimmung des ge- wünschten Semesters (es werden von vornherein nur diejenigen Semester ange- zeigt, für welche auch wirklich Pläne vorliegen).
  61. 61. Benutzerdokumentation 51 IV.3.5 Das Menue Student Hier können Daten über Studenten und Studienrichtungen verwaltet werden. Abbildung IV-13: Das Menue Student IV.3.5.1 Der Befehl Studenten verwalten Über diesen Befehl wird die eigentliche Studentenverwaltung aufgerufen. Abbildung IV-14: Die Verwaltung von Studenten
  62. 62. Benutzerdokumentation 52 Die Angabe einer Matrikelnummer ist zwingend, die Studienkennzahl kann über ein Popup aus den vorhandenen Studienrichtungen ausgewählt werden. Die Felder Erstellt und Geändert geben Auskunft darüber, wann der Student zuerst und zuletzt mit dem Institut in Kontakt getreten ist. Die Erfassung des Datums der ersten Diplomprüfung kann von Bedeutung sein, wenn diese eine Eingangs- voraussetzung für bestimmte Lehrveranstaltungen darstellt. Daneben werden die für den Studenten ausgestellten Scheine angezeigt; diese Anzeige hat reinen Informationscharakter und ist nicht editierbar. Anders als beim Institutspersonal, bei dem sich das Datenvolumen in Grenzen hält, kann anhand verschiedener Merkmale nach Studenten gesucht werden. Abbildung IV-15: Die Suche nach Studenten Bei den Suchkriterien genügen auch bruchstückhafte Angaben, wobei etwa im gegebenen Beispiel alle Studenten, die 1995 das Studium der Wirtschaftsinfor- matik immatrikuliert haben, gesucht und gefunden werden. Das Suchergebnis wird dann mitsamt der Anzahl der gefundenen Datensätze im Verwaltungsdia- log angezeigt und steht zu einer Weiterverarbeitung zur Verfügung. Klickt man hingegen auf den Button Alle, so gelangen sämtliche vorhandenen Studenten in die Auswahl zurück. IV.3.5.2 Der Befehl Studentendaten drucken Ähnlich wie beim Institutspersonal besteht auch hier die Möglichkeit, bestimm- te Studentendaten auf dem Drucker auszugeben. Abermals müssen zu diesem Zweck die Datensätze, die von Interesse sind, markiert werden.
  63. 63. Benutzerdokumentation 53 Abbildung IV-16: Die Markierung von Studenten Um einen direkten Zugriff auf die Masse an gespeicherten Studenten zu ermög- lichen, kann auch wieder der bereits bekannte Suchdialog aufgerufen werden. Zusätzlich ist auch noch ein Button vorgesehen, über den alle für eine bestimm- te Lehrveranstaltung angemeldeten Studenten angezeigt und dann direkt in die Druckauswahl übernommen werden können. Dazu muß nur die jeweilige Lehr- veranstaltung mit Hilfe eines Popups spezifiziert werden.
  64. 64. Benutzerdokumentation 54 Abbildung IV-17: Die Auswahl von Lehrveranstaltungen Ähnliche Popups treten v.a. im Zusammenhang mit der Verwaltung von An- meldungen und Scheinen desöfteren auf. Sie erlauben eine rasche und komfor- table Bestimmung einer Lehrveranstaltung. Hier werden von vornherein nur diejenigen Lehrveranstaltungen zur Auswahl gestellt, für die Anmeldungen vor- liegen. Für die Druckausgabe stehen zwei verschiedene Layouts zur Verfügung, die aus einer Liste selektiert werden können.
  65. 65. Benutzerdokumentation 55 Abbildung IV-18: Die Auswahl von Drucklayouts IV.3.5.3 Der Befehl Studienrichtungen verwalten Die Führung der verschiedenen Studienrichtungen ist nötig, um den Studenten Studienkennzahlen zuordnen und eine Differenzierung zwischen den Fachrich- tungen Systemplanung und Informationswirtschaft vornehmen zu können. Abbildung IV-19: Die Verwaltung von Studienrichtungen Die Verwaltung erfolgt hier ganz ähnlich wie bei beim Institutspersonal oder den Studenten selbst.
  66. 66. Benutzerdokumentation 56 IV.3.6 Das Menue Lehrveranstaltung Dieses Menue enthält alle nötigen Funktionen rund um die Lehrveranstaltungs- Stammdatenpflege. Abbildung IV-20: Das Menue Lehrveranstaltung IV.3.6.1 Der Befehl LVA verwalten Die Verwaltung der Lehrveranstaltungen ist eine zentrale Aufgabe des Informa- tionssystems, da diese Daten die Basis für die Nutzung der meisten anderen Funktionen darstellen.
  67. 67. Benutzerdokumentation 57 Abbildung IV-21: Die Verwaltung von Lehrveranstaltungen Auch für Lehrveranstaltungen wird ein eindeutiges Surrogat angelegt, da sich die Lehrveranstaltungsnummern über die Jahre hinweg wiederholen können. Wichtig für die weitere Verarbeitung sind auch die Angabe des Semesters und des Lehrveranstaltungstyps, die ebenso wie die verschiedenen Lehrveranstal- tungsleiter über Popups ausgewählt werden können. Will man die automatische Lehrveranstaltungsaufnahmefunktion nutzen, so sollte die Teilnehmerzahl be- schränkt werden. Der Kommentar hilft den Studenten bei der Anmeldung zur Unterscheidung der angebotenen Lehrveranstaltungen. Für jede Lehrveranstaltung können auch ein oder mehrere Termine erzeugt wer- den; zum Anlegen und Löschen einzelner Termineinträge dienen die beiden kleinen Buttons neben der Terminliste. Gleichzeitig erfolgt eine Überprüfung auf mögliche personelle oder räumliche Kollisionen mit anderen Lehrveranstal- tungen. Wird eine derartige Unvereinbarkeit festgestellt, so wird der Benutzer über eine entsprechende Meldung informiert. Die Angabe von Terminen ist auch notwendig, um später adäquate Anwesenheitlisten erstellen zu können.
  68. 68. Benutzerdokumentation 58 IV.3.6.2 Der Befehl LVA-Daten drucken Ähnlich wie bei den Studenten- und Personaldaten lassen sich auch Informatio- nen über bestimmte Lehrveranstaltungen listenweise auf dem Drucker ausge- ben. Wiederum müssen diese zuvor markiert werden. IV.3.6.3 Der Befehl Anwesenheitsliste drucken Eine Anwesenheitsliste kann für jede Lehrveranstaltung erstellt werden, der Anmeldungen zugewiesen worden sind. Die Bestimmung der Lehrveranstaltung erfolgt über das an anderer Stelle bereits erläuterte Popup. Die angemeldeten Studenten werden zeilenweise nach Nachnamen sortiert ausgedruckt, in den Spalten stehen die für die Lehrveranstaltung existierenden Termine. IV.3.6.4 Der Befehl LVA-Typen verwalten Lehrveranstaltungstypen dienen der Klassifikation von Lehrveranstaltungen; diese ist notwendig, um angemeldete Studenten auf die Erfüllung der Aufnah- mevoraussetzungen hin überprüfen sowie schriftliche Diplomprüfungsergebnis- se berechnen zu können.
  69. 69. Benutzerdokumentation 59 Abbildung IV-22: Die Verwaltung von Lehrveranstaltungstypen Die Bezeichnung des Lehrveranstaltungstyps muß eindeutig sein; jedem Typ kann ein Kürzel zugeordnet werden (so haben etwa die beiden Typen 1. Übung SP und 2. Übung SP das Kürzel ÜB). Die Aufnahmevoraussetzungen können sich auf eine positive abgeschlossene Einstiegsklausur, die Ablegung der ersten Diplomprüfung oder die Erlangung verschiedener Scheine beziehen. In obigem Beispiel muß der Student für die Aufnahme zu einem Seminar aus SP sowohl den ersten Studienabschluß been- det, als auch zumindest einen der Scheine Übung / Vorlesung SP1 respektive Übung / Vorlesung SP2 abgelegt haben. Wichtig sind hierbei die beiden Opera- toren Und bzw. Oder. Sie geben jeweils Auskunft darüber, ob es sich um ein Mußkriterium handelt, oder ob die Erfüllung einer der Voraussetzungen zur Aufnahme genügt. Desweiteren kann noch per Optionsfeld angegeben werden, ob Lehrveranstaltungen dieses Typs in die Berechnung der schriftlichen Dip- lomprüfungsergebnisse miteinzubeziehen sind.
  70. 70. Benutzerdokumentation 60 IV.3.7 Das Menue Anmeldung Dieses Menue stellt Befehle zur Konfiguration des Anmeldungsmodus, zur Er- fassung und Verwaltung von Anmeldungen und zum Druck verschiedener An- meldelisten zu Verfügung. Abbildung IV-23: Das Menue Anmeldung IV.3.7.1 Der Befehl Anmeldungsmodus konfigurieren Der Befehl Anmeldungsmodus konfigurieren sollte vor der Erfassung von An- meldung ausgeführt werden. Hier kann angegeben werden, ob die Anmeldung über das Sekretariat oder durch die Studenten selbst erfolgen soll, weiters wel- che Lehrveranstaltungen zur Auswahl stehen und wie viele Prioritäten der Stu- dent dabei mindestens zu vergeben hat. IV.3.7.2 Der Befehl Anmeldungen erfassen Die Erfassung von Anmeldungen über diesen Menuepunkt ist primär für die ei- genständige Durchführung der Anmeldung seitens der Studenten vorgesehen. Wurde zuvor ein derartiger Anmeldungsmodus bestimmt, so erscheint hier zu- nächst eine Aufforderung an den Benutzer, sich als Student zu identifizieren. Danach wird die Menueleiste angepaßt, um einen Zugriff auf andere Befehle als den der Anmeldungserfassung zu verhindern. Genausogut kann die Anmeldung aber auch durch das Institutssekretariat vorgenommen werden - die zur Verfü- gung stehende Funktionalität bleibt dann natürlich unverändert.
  71. 71. Benutzerdokumentation 61 Abbildung IV-24: Die Erfassung von Anmeldungen Zur Bestimmung eines Studenten muß zunächst die Matrikelnummer eingege- ben werden. Ist dieser Student bereits gespeichert, so werden dessen Stammda- ten angezeigt, andernfalls wird ein neuer Datensatz erzeugt. Sollten sich in- zwischen Änderungen etwa bezüglich Adresse oder Telefonnummer ergeben haben, so können diese gleich hier berücksichtigt werden. Die in den Popups angezeigten Lehrveranstaltungen sind genau jene, die zuvor im Rahmen der Konfiguration des Anmeldungsmodus als Anmeldungsalternativen gekenn- zeichnet wurden; bis zu drei Prioritäten können angegeben werden. Desweiteren wird auch noch ein kontextbezogenes Hilfemenue angeboten, falls dem Studen- ten die Handhabung der Anmeldungserfassung nicht ganz klar sein sollte.
  72. 72. Benutzerdokumentation 62 IV.3.7.3 Der Befehl Anmeldungen verwalten Die Verwaltung von Anmeldungen bezieht sich im Gegensatz zur obig erläuter- ten Erfassung auf alle möglichen und nicht bloß auf die als Alternativen defi- nierten Lehrveranstaltungen; hier können sowohl abgeschlossene Anmeldevor- gänge nachbearbeitet als auch Neuanmeldungen erfaßt werden. Abbildung IV-25: Die Verwaltung von Anmeldungen Die verschiedenen Lehrveranstaltungen können direkt über das bereits bekannte Popup bzw. durch Vor- und Zurückblättern oder eine Suchaktion angesprochen werden. In der Liste finden sich dann alle Anmeldungen wieder, die für die Lehrveranstaltung vorhanden sind. Auch das direkte Hinzufügen und Löschen von Anmeldungen ist möglich. Nach Eingabe einer Matrikelnummer wird der Studentenname sofort angezeigt oder es erfolgt ein Aufruf der Studentenverwal- tung, damit ein entsprechender Datensatz angelegt werden kann. Die beiden Optionsfelder geben für jede Anmeldung Auskunft darüber, ob der Student die Eingangsvoraussetzungen erfüllt und letztendlich in die Lehrveranstaltung auf-
  73. 73. Benutzerdokumentation 63 genommen wurde. Diese beiden Sachverhalte lassen sich entweder manuell ein- geben oder per Klick auf den Button Aufnahme automatisch überprüfen. Ist die aktuelle Lehrveranstaltung als Anmeldungsalternative markiert, so wird das Aufnahmeverfahren auch für alle weiteren Alternativen durchlaufen. IV.3.7.4 Der Befehl Anmeldeformular drucken Ein Anmeldeformular beinhaltet nähere Angaben zu einer Lehrveranstaltung und eine Liste, in die sich die Studenten zwecks Anmeldung eintragen können. Zu diesem Zweck ist zuvor die gewünschte Lehrveranstaltung abermals per Po- pup zu spezifizieren. IV.3.7.5 Der Befehl Anmeldeliste drucken Anmeldelisten sind für den internen Gebrauch gedacht. Sie enthalten grundsätz- lich ähnliche Informationen wie sie bei der Verwaltung von Anmeldungen auf dem Bildschirm erscheinen, also alle Anmeldungen samt Matrikelnummer und Name sowie Angaben über die Erfüllung von Eingangsvoraussetzungen und die letztendliche Aufnahme. IV.3.7.6 Der Befehl Aufnahmeliste drucken Aufnahmelisten hingegen können am schwarzen Brett zur Bekanntmachung ausgehängt werden; sie enthalten deshalb keine derart detaillierten Informatio- nen, sondern lediglich die Matrikelnummern jener Studenten, die tatsächlich in die Lehrveranstaltung aufgenommen wurden.
  74. 74. Benutzerdokumentation 64 IV.3.8 Das Menue Prüfung Das Menue Prüfung umfaßt Befehle zur Verwaltung von Einstiegsklausuren, Scheinen und Diplomprüfungen sowie zum Druck verschiedener Ergebnislisten. Abbildung IV-26: Das Menue Prüfung IV.3.8.1 Der Befehl Einstiegsklausuren verwalten Einstiegsklausuren werden in der Regel einmal pro Semester für bestimmte Lehrveranstaltungstypen durchgeführt. Der positive Abschluß die Vorausset- zung für die Aufnahme zu Lehrveranstaltungen dieses Typs.
  75. 75. Benutzerdokumentation 65 Abbildung IV-27: Die Verwaltung von Einstiegsklausuren Die möglichen Werte für den Lehrveranstaltungstyp und das Semester sind durch Popups vorgegeben. Nach der Eingabe einer Mindestpunktezahl werden sofort jene Studenten bestimmt, welche die Einstiegsklausur positiv abgeschlos- sen haben. Ähnlich wie bei der Verwaltung von Anmeldungen können die ein- zelnen Ergebnisse in einer Liste angelegt und auch wieder gelöscht werden. Das Vorhandensein der Studenten in der Datenbasis wird wie gehabt über deren Matrikelnummer nachgeprüft - sie sind ggf. erst neu anzulegen. IV.3.8.2 Der Befehl Anmeldeformular drucken Anmeldeformulare für Einstiegsklausuren sind grundsätzlich ähnlich aufgebaut wie jene für Lehrveranstaltungen.
  76. 76. Benutzerdokumentation 66 IV.3.8.3 Der Befehl Interne Ergebnisliste drucken Interne Ergebnislisten sind für die Ablage am Institut vorgesehen. Sie schließen alle verfügbaren Informationen zu den Einzelresultaten mit ein, so wie sie auch bei der Verwaltung der Einstiegsklausuren auf dem Bildschirm erscheinen. Die auszudruckende Einstiegsklausur kann aus einer Liste selektiert werden. IV.3.8.4 Der Befehl Externe Ergebnisliste drucken Aus Datenschutzgründen weichen die Informationen auf den Aushängen erheb- lichen von jenen der internen Ergebnislisten ab. Externe Ergebnislisten dürfen nur Matrikelnummern und Namen jener Studenten aufweisen, welche die Ein- stiegsklausur positiv abgeschlossen haben. IV.3.8.5 Der Befehl Scheine verwalten Scheine sind ähnlich wie Anmeldungen ein Bindeglied zwischen Lehrveranstal- tungen und Studenten. Durch ihre Führung in der Datenbank können Ergebnis- listen ausgedruckt und der Belegfluß zur Prüfungsabteilung verbessert werden. Außerdem wird dadurch die automatische Aufnahme von Studenten zu Lehr- veranstaltungen und die Berechnung schriftlicher Diplomprüfungsergebnisse erst möglich.
  77. 77. Benutzerdokumentation 67 Abbildung IV-28: Die Verwaltung von Scheinen Die Verwaltung der Scheine funktioniert analog zu jener der Anmeldungen. Die Auswahl einer Lehrveranstaltung erfolgt über ein Popup, die Studenten sind daraufhin listenweise dazu einzugeben. Um unnötigen Erfassungsaufwand zu vermeiden, können über einen Button vorhandene Anmeldungen direkt in die Scheinliste übernommen werden (allerdings nur die jener Studenten, welche auch tatsächlich aufgenommen wurden). Das Prüfungsdatum kann nicht für jede Lehrveranstaltung global festgelegt werden, da - etwa im Falle von Nachklausuren oder externen Seminaren - dies- bezüglich unterschiedliche Werte möglich sind, sondern ist für jeden Eintrag einzeln zu bestimmen. Indes muß ein und dasselbe Datum nicht jedesmal erneut eingegeben werden - es genügt dessen Bestimmung zum Schluß, worauf alle Scheine ohne Datumsangabe auf Wunsch daran angepaßt werden.
  78. 78. Benutzerdokumentation 68 Desweiteren erfolgt nach jeder Eingabe eines Scheins die Kontrolle, ob der Stu- dent Lehrveranstaltungen des gleichen Typs nicht schon öfters negativ abge- schlossen hat - ist dies der Fall, so wird darauf entsprechend hingewiesen. IV.3.8.6 Der Befehl Interne Ergebnisliste drucken Zur Spezifikation zusammengehörender Scheine müssen Lehrveranstaltung und Prüfungsdatum per Popup sowie ggf. Fachrichtung (Systemplanung bzw. In- formationswirtschaft) mittels Radio-Button selektiert werden. Abbildung IV-29: Die Bestimmung von Lehrveranstaltung, Fachrichtung und Prüfungsdatum Zu einer Lehrveranstaltung kann es mehrere Prüfungstermine geben, wenn eine Nachklausur oder externe Seminararbeiten angeboten wurden. Die Unterschei- dung zwischen Systemplanungs- und Informationswirtschafts-Studenten ist notwendig, wenn der Ausdruck nur für eine der beiden Fachrichtungen erfolgen soll. Ansonsten gilt das im Zusammenhang mit dem Druck interner Einstiegs- klausur-Ergebnislisten Gesagte. IV.3.8.7 Der Befehl Externe Ergebnisliste drucken Dieser Befehl funktioniert äquivalent zu obigem.
  79. 79. Benutzerdokumentation 69 IV.3.8.8 Der Befehl Sammelzeugnis drucken Auch hier sind zunächst Lehrveranstaltung und Prüfungsdatum anzugeben. Das Layout der Sammelzeugnisse wurde gemäß den Vorgaben der Prüfungsabtei- lung gestaltet. IV.3.8.9 Der Befehl Diplomprüfungen verwalten Die Verwaltung von Diplomprüfungen ist nicht reiner Selbstzweck. So lassen sich etwa schriftliche Ergebnisse als Notendurchschnitt bestimmter Lehrveran- staltungstypen ermitteln. Abgespeicherte Diplomprüfungsergebnisse sind außerdem eine wichtige Berechnungsbasis für die Statistikerstellung. Abbildung IV-30: Die Verwaltung von Diplomprüfungen
  80. 80. Benutzerdokumentation 70 Die Diplomprüfungstermine müssen nicht extra angelegt werden, da automa- tisch eine entsprechende Terminliste angeboten werden kann. Die Bezeichnung der einzelnen Termine läßt sich einfach über die Systemvariablen abändern. Die Ergebnisse werden wie gewohnt erzeugt und auch wieder entfernt. Die Festlegung der schriftlichen, mündlichen und Gesamtnoten kann für jeden Ein- trag gesondert oder durch einen vom Informationssystem selbst erstellten Vor- schlag erfolgen. Dieser Vorschlag wird für das schriftliche Ergebnis als Mittel- wert der miteinzubeziehenden Scheine (welche das sind wird über die Lehrve- ranstaltungstypen festgelegt) ermittelt. Das Gesamtresultat setzt sich dagegen einfach zu gleichen Teilen aus schriftlicher und mündlicher Teilnote zusammen. IV.3.8.10 Der Befehl Informationsliste drucken Informationslisten liefern eine Aufstellung über alle zu einem bestimmten Dip- lomprüfungstermin angemeldeten Studenten, eine Auflistung der von ihnen ab- gelegten Lehrveranstaltungen sowie einen eventuell erstellten Vorschlag für die schriftliche Note. IV.3.8.11 Der Befehl Ergebnisliste drucken Nach abgeschlossener Diplomprüfung können die einzelnen Ergebnisse in einer Liste zusammenfassend ausgedruckt werden.
  81. 81. Systemdokumentation 71 V. Systemdokumentation Die Systemdokumentation hat eine Schlüsselrolle in Hinblick auf das Verständ- nis des internen Aufbaus des Informationssystems. Sie bildet die Grundlage für zukünftige Wartungs- und Weiterentwicklungsvorhaben und soll diesem Tatbe- stand durch ein entsprechendes Maß an Detailliertheit Rechnung tragen, ohne daß dabei der Überblick über die Gesamtzusammenhänge verloren geht. 4th Dimension sieht eine Klassifikation der Systemkomponenten in • (Daten-) Struktur • Layouts • Prozeduren • Menues • Kennwörter • Auswahllisten und • Prozesse vor. Aus Gründen der Vereinheitlichung wurde diese Gliederung auch in die Systemdokumentation übernommen. Die eingehende Erörterung jeder einzelnen Komponente würde allerdings nicht nur den Rahmen dieser Arbeit sprengen, sondern wäre durch die Berücksichtigung teilweise trivialer Algorithmen gleichsam unzweckmäßig in Hinblick auf Anwendbarkeit und Akzeptanz der Dokumentation. Infolgedessen wurde der Schwerpunkt der ausführlicheren Er- läuterungen auf komplexe und wartungsintensive Teilbereiche gelegt.
  82. 82. Systemdokumentation 72 V.1 Struktur V.1.1 Übersicht EinstklsrErgeb Student LVA ScheinAnmeldung LVATyp LVAKürzel LVA- Vorausstzng Personal LVAPlan Einstklsr Semesterplan Zeittafel Semester Fehler FehlerprotokollStudienrichtungDiplomprüfung DiplprfgErgeb Logbuch Termin DummySystemVar Kontrolle beim Löschen: Keine Kontrolle Lösche verknüpfte Datensätze Nicht löschen, wenn verknüpfte Datensätze vorhanden Abbildung V-1: Das physische Datenmodell
  83. 83. Systemdokumentation 73 V.1.2 Die Datei Anmeldung Anmeldung LVA Ganzzahl Indiziert; Eingabe zwingend; Eingebbar; Änderbar MatrikelNr Alpha 7 Indiziert; Eingabe zwingend; Eingebbar; Änderbar Priorität Ganzzahl Eingebbar; Änderbar VorstzgErfüllt Boolean Eingebbar; Änderbar Aufgenommen Boolean Eingebbar; Änderbar Tabelle V-1: Die Datei Anmeldung V.1.3 Die Datei Diplomprüfung Diplomprüfung Termin Alpha 20 Indiziert; Einmalig; Eingabe zwingend; Eingebbar Tabelle V-2: Die Datei Diplomprüfung V.1.4 Die Datei DiplprfgErgeb DiplprfgErgeb Termin Alpha 20 Indiziert; Eingabe zwingend; Eingebbar; Änderbar Datum Datum Indiziert; Eingabe zwingend; Eingebbar; Änderbar Zeit Uhrzeit Indiziert; Eingebbar; Änderbar MatrikelNr Alpha 7 Indiziert; Eingabe zwingend; Eingebbar; Änderbar NoteSchriftlich Ganzzahl Eingebbar; Änderbar NoteMündlich Ganzzahl Eingebbar; Änderbar NoteGesamt Ganzzahl Eingebbar; Änderbar Tabelle V-3: Die Datei DiplprfgErgeb V.1.5 Die Datei Dummy Dummy Tabelle V-4: Die Datei Dummy
  84. 84. Systemdokumentation 74 V.1.6 Die Datei Einstklsr Einstklsr Surrogat Ganzzahl Indiziert; Einmalig; Eingabe zwingend LVATyp Alpha 20 Indiziert; Eingabe zwingend; Eingebbar; Änderbar Semester Alpha 5 Indiziert; Eingabe zwingend; Eingebbar; Änderbar MinPunkte Ganzzahl Eingebbar; Änderbar Tabelle V-5: Die Datei Einstklsr V.1.7 Die Datei EinstklsrErgeb EinstklsrErgeb Einstklsr Ganzzahl Indiziert; Eingabe zwingend; Eingebbar; Änderbar MatrikelNr Alpha 7 Indiziert; Eingabe zwingend; Eingebbar; Änderbar Punkte Ganzzahl Eingebbar; Änderbar Aufgenommen Boolean Eingebbar; Änderbar Kommentar Text Eingebbar; Änderbar Tabelle V-6: Die Datei EinstklsrErgeb V.1.8 Die Datei Fehler Fehler Code Ganzzahl Indiziert; Einmalig; Eingabe zwingend; Eingebbar Beschreibung Text Eingebbar; Änderbar Behebung Text Eingebbar; Änderbar Tabelle V-7: Die Datei Fehler V.1.9 Die Datei Fehlerprotokoll Fehlerprotokoll Fehler Ganzzahl Indiziert; Eingabe zwingend; Eingebbar; Änderbar Datum Datum Eingebbar; Änderbar Zeit Uhrzeit Eingebbar; Änderbar Protokoll Text Eingebbar; Änderbar Tabelle V-8: Die Datei Fehlerprotokoll
  85. 85. Systemdokumentation 75 V.1.10 Die Datei Logbuch Logbuch Datum Datum Indiziert; Eingebbar; Änderbar Zeit Uhrzeit Indiziert; Eingebbar; Änderbar Transaktion Alpha 80 Eingebbar; Änderbar Tabelle V-9: Die Datei Logbuch V.1.11 Die Datei LVA LVA Surrogat Ganzzahl Indiziert; Einmalig; Eingabe zwingend Nummer Alpha 6 Indiziert; Eingabe zwingend; Eingebbar; Änderbar Semester Alpha 5 Indiziert; Eingebbar; Änderbar Typ Alpha 20 Indiziert; Eingebbar; Änderbar Kürzel Alpha 2 Indiziert; Eingebbar; Änderbar Bezeichnung Alpha 40 Indiziert; Eingabe zwingend; Eingebbar; Änderbar Leiter Ganzzahl Indiziert; Eingebbar; Änderbar Stunden Ganzzahl Indiziert; Eingebbar; Änderbar MaxTeilnehmer Ganzzahl Eingebbar; Änderbar Kommentar Alpha 30 Eingebbar; Änderbar MarkiertAlt Boolean Indiziert; Eingebbar; Änderbar MarkiertDrk Boolean Indiziert; Eingebbar; Änderbar Tabelle V-10: Die Datei LVA V.1.12 Die Datei LVAKürzel LVAKürzel Bezeichnung Alpha 2 Indiziert; Einmalig; Eingabe zwingend; Eingebbar Tabelle V-11: Die Datei LVAKürzel

×