Software Engineering PS (WS2000/2001) (Version 0.1)

A

16.10.2000

Kapitel 1

Inception Phase

1.1 Projektbeschreibung

1.1.1 Kernobjekte und Archäotypen

Kernobjekte

Es soll ein Projekt zur Verwaltung, Beschreibung und Darstellung von archäologischen Daten entworfen werden. Diese archäologischen Daten stellen die Kernobjekte des Projektes dar.

Diese Kernobjekte werden nun weiter unterteilt in:

• Siedlungen

• Gräber

• Artefakte

Archäotypen

Diese Begriffe werden unter dem Begriff Archäotypen zusammengefaßt.

Es ist dringend zu diskutierend, inwieweit diese Einteilung ausreichend ist und um welche Typen die Kernobjekte ergänzt werden sollten. Meine Vorschläge wären:

• Gebäude (im weiten Sinne, so ist z.B. auch eine Grabstätte ein Gebäude)

• Räume

Aus den Bedeutungen der einzelnen Bezeichner der Archäotypen geht hervor, daß zwischen den Instanzen dieser Typen eine Beziehung derart besteht, als daß einer Instanz eines Typs, eine weiter Instanz eines (anderen) Typs als Unterbegriff (und somit als Attribut) zugewiesen werden kann. Daraus läßt sich nun leicht eine Baumstruktur festlegen, an deren Knotenpunkte jeweils eine Instanz eines Archäotypen sitzt. Weiters ist anzumerken, daß sich diese Struktur nicht allgemein festlegen läßt, sondern sich jeweils aus dem archäologischen Fundort ergibt.

Zur Erleuterung dieser Überlegungen folgt hier ein kleines Beispiel: Man nehme an, bei Ausgrabungsarbeiten stieß man auf ein kleines Dorf. Dieses

Abbildung 1.1:

Dorf bestand aus mehreren Häusern. Außerdem fand man eine Art Friedhof im Zentrum des Dorfes. Bei weiteren Arbeiten fand man nun sowohl auf dem Friedhof, als auch in den Häusern eine Reihe von Artefakten. Daraus läßt sich nun eine Baumstruktur ableiten, die der in Abb. 1.1 entsprechen könnte.

Der einzige Archäotyp dessen Instanz kein weiteres Unterobjekt haben kann sind die Artefakte. Aber auch die anderen Typen können Blätter der Baumstruktur sein (z.B. wenn in einem Raum keine Artefakte gefunden wurden).

1.1.2 Attribute und Rechtevergabe

Jedem Knoten-Element der Baumstruktur, wie in Abschnitt 1.1.1 erläutert, wird eine Reihe von Attributen zugewiesen, die Zusatzinformationen zu dem jeweiligen Objekt liefern.

Ein besonderes Attribut ist das der Rechtevergabe. Jedes Objekt besitzt ein solches Attribut. In diesem Attribut steht ein Bezeichner für eine Benutzergruppe, die Zugang zu dem Objekt bzw. deren Daten haben darf. Ein derartiges Sonderattribut wird weiters auch den anderen herkömmlichen Attributen eines Objektes zugewiesen, um die, dem Objekt zugehörigen Informationen, nur den erwünschten Benutzergruppen zugänglich zu machen.

Derzeit wird zwischen folgenden Benutzergruppen unterschieden:

• Public: Unter diesem Zugang kann auf öffentliche Daten zugegriffen werden. Nur Lese-Rechte auf manche Attribute.

• Inventor: Benutzer dieser Gruppe haben Lese- und Schreib-Rechte auf Attribute, die die Grunddaten der Kernobjekte betreffen.

• Enh Inventor: Hier können nun weitere Attribute bzgl. der Kernobjekte im weiteren Sinn gesetzt bzw. editiert werden.

• Creator: Benutzer dieser Gruppe erhalten alle notwendigen Attribute, die zu erstellen eines virutellen Museums vonnöten sind.

Mein Vorschlag wäre weiters noch die Erweiterung dieser Gruppe durch eine

   • Super User-Gruppe,

welche Lese- und Schreib-Rechte auf alle Attribute der Kernobjekte hat. Weiters sind alle Gruppen automatisch auch die Gruppe Public. Es ist noch zu diskutieren, welche weiteren Gruppen zweckmäßig wären.

Bezüglich der Attribute wurden vom Kunden derzeit nur folgende Hinweise gegeben:

• Attribute, die die Grunddaten zu Kernobjekten festhalten,

• Attribute, die weitere Querverweise, wie z.B. Interpretationen oder Publikationen zum Artefakt etc. festlegen,

und natürlich wie bereits erwähnt und in diesem Dokument gefordert:

• Attribute, die den Kernobjekten bzw. den herkömmlichen Attributen selbst, Benutzergruppen zuweist.

Es wird nun weiters notwendig sein diese Attributgruppen zu konkretisieren. Meine Vorschläge wären:

• Grunddaten sind:

– Abbildungen

– Name und Beschreibung

– Datierung

– Erfasser des Objektes

• Als Querverweise können, außer den oben genannten, gewählt werden:

– Nachschlagliteratur zu verwandten Themen

– Verweise auf mit dem Objekt thematisch in Verbindung stehende Objekte

Abschließend muß noch konkret festgelegt werden, welche Benutzergruppen Zugang zu welchen Attributen haben. Da die Benutzergruppen und die Attribute bezüglich der einzelnen Kernobjekte noch durch eine interne Gruppendiskussion festzulegen sind, verweise ich im Falle der Realisierung meines Konzeptes auf [?].

1.1.3 Anwenderschnittstellen

Derzeit werden vom Kunden drei Anwenderschnittstellen zu den Kernobjekten gefordert, welche zumindestens teilweise über ein Web-Frontend erfolgt:

• Eingabe der archäologischen Daten

• Abrufen der Daten

• Erstellen von virtuellen Museen

• Besuchen dieser Museen

Es ist zu Diskutieren, ob alle Schnittstellen oder nur ein Teil davon durch ein Web-Frontend realisiert werden soll.

Eingabe der Daten und Abrufen der Daten

Mein Vorschlag wäre diese Funktionen in einem einzigen Web-Frontend zur Verfügung zu stellen. Die Funktionalität des Frontends hängt von der eingeloggten Benutzergruppe ab. Für die Benutzergruppe Public steht nur das Abrufen der Daten zur Verfügung. Die Standartgruppe beim Starten des Frontends ist ebenfalls Public. Für andere Benutzergruppen muß das Frontend mit einem speziellen Zugangscode gestartet werden.

Für das Abrufen der Daten muß folgende Mindestfunktionalität vorhanden sein:

• Suchen der Daten:

– Eine Möglichkeit wäre die einzelnen Kernobjekte in Form einer Baumstruktur (vgl. Abb. 1.1) graphisch entsprechend darzustellen. Durch Öffnen bzw. Schließen der einzelnen Äste dieser Struktur kann sich der Interessent bequem durch die einzelnen Siedlungen, Gebäude etc. bis zu den Artefakten bewegen.

– Eine zusätliche Implementation des Suchens wäre ein spezieller Suchdialog, mithilfe dessen man Objekte, die gewissen Suchkriterien genügen, als Suchergebnisse geliefert bekommt. Suchkriterien sind alle Attribute die der aktuellen Benutzergruppe zur Verfügung stehen, plus den Archäotyp selbst. Der Umfang des Suchdialog soll generisch, abhängig vom eingeloggten Benutzer, erstellt und übersichtlich dargestellt werden.

• Abrufen der Daten:

– Die Selektion der Daten soll abhängig von den oben erklärten Suchmodi erfolgen. Wählt man die erstere Möglichkeit, so kann ein Objekt durch direktes Anwählen in der Baumstruktur (z.B. durch einen Mausklick) selektiert bzw. markiert werden können. Es sollen weiter auch mehrer Objekte gleichzeitig markiert werden können. Wählt man die zweite Möglichkeit, so bekommt man anhand den Suchkriterien eine Liste entsprechender Objekte. Aus dieser Liste kann man nun weiters ein oder mehrere Objekte auswählen.

– Die selektierten Objekte werden nun angezeigt. Der Umfang der angezeigten Daten ergibt sich wiederum, anhand des eingeloggten Benutzers, aus den Attributen des jeweiligen Objektes. Die graphische Darstellung der Attribute soll ebenfalls generisch erzeugt werden, wobei Verweise als Link darzustellen sind.

Erstellen von virtuellen Museen

Aus den einzelnen verwalteten Objekten soll nun ein virtuelles Museum zusammengestellt werden können. Grundlage dieser Museen ist wiedereinmal eine (diesmal) fixe Baumstruktur. Auf oberster Ebene stehen die virtuellen Museen, die jeweils zu einem bestimmten Thema, welches dem Museum als Attribut zugewiesen wird, in Bezug stehen. Jedes Museum besitzt weitere virtuelle Räume zu entsprechenden Unterthemen. Und schließlich können in einem Raum virtuelle Vitrinen aufgestellt werden, denen ein archäologisches Objekt (ich schlage vor, dies auf Artefakte zu beschränken) zugewiesen wird.

Alle Komponenten (Museen, Räume, Vitrinen) sollen zusätzliche Attribute bezüglich ihres graphischen Erscheinungsbildes besitzen. Eine Reihe von vorgearbeiteten Schemata für jede Art von Komponente soll vom Benutzer anwählbar sein. Ob der Benutzer auch noch eigene Schemata etwickeln kann, ist zu diskutieren.

Der Zugriff auf archäologische Daten und deren Attribute soll sich wiederum von der Benutzergruppe ableiten, die auch bei diesem Frontend angegeben werden muß. Der Benutzer kann nun eine Teilmenge, der ihm zugänglichen Attribute, von einem archäologischen Objekt (bevorzugt Artefakte) einer bestimmten Vitrine zuordnen. Als weitere Einschränkung dieser Zuweisung gilt, daß Vitrinen prinzipiell nur gewisse Attribute zugewiesen werden können. Bei Bedarf, kann ein Teil, des Objektes zugrundeliegenden Strukturastes weiterverarbeitet werden, um Angaben zum Fundort näher zu erleutern, falls dies nicht schon in den Attributen des betreffenden Objekts angegeben sind.

Der Benutzer kann nun analog zur oben definierten Baumstruktur eine Reihe von virtuellen Museen erstellen. Wie Räume einem Musseum bzw. Vitrinen einem Raum konkret zugeordet werden können ist zu diskutieren. Mein Vorschlag bzgl. der Räume wäre eine graphische Implementierung der Struktur wie z.B. beim Windows-Explorer; währenddessen die Vitrinen in einem bestimmten Raum durch eine zweidimensionale Darstellung des Raumes bequem plaziert werden können. Die Zuweisung der Attribute erfolgt durch graphisches Anwählen (z.B. durch rechten Mausklick) des jeweiligen Objektes in der jeweiligen Darstellungsform.

Besuchen von virtuellen Museen

In dieser Projekt-Phase ist diese Realisierung sicher der am schwersten festzulegende Punkt. Sicher ist, daß alle Komponenten welche durch jene Art, welche im vorigen Abstatz beschrieben wurde, entworfen und strukturiert worden sind, in einer, dieser Struktur entsprechenden Weise dargestellt werden sollen. Der Aufwand (z.B. zweidimensionale oder dreidimensionale Realisierung) der betrieben werden soll, ist vor allem eine Kostenfrage, weswegen noch intensive Abbildung 1.2: Datenfluß-Diagramm zur näheren Erleuterungen der Schnittstellen zwischen Benutzer und der Datenbank. Das Format dieses Diagrammes wurde aus [?] entnommen.

Rücksprachen über die Vorstellung von Aufwand und Kosten mit dem Kunden betrieben werden müssen.

1.1.4 Datenflußdiagramm

Es gibt nach obigen Erleuterungen nun drei zu implementierende Datenbanken:

• Verwaltung der Instanzen der Archäotypen

• Verwaltung der erstellten virtuellen Museen

• Verwaltung von vorgegebenen Schemata zum Erstellen solcher Museen

Da noch nicht alle Attribute zu den einzelnen Entitäten der Datenbanken festgelegt worden sind, verweise ich wegen der Darstellung dieser Datenbanken in z.B. einem Entity-Relationship-Diagramm auf [?].

Aus diesen drei Datenbanken und den oben angeführten Benutzer, die Zugriff auf diese Datenbanken haben ergibt sich ein Datenflußdiagramm wie in Abb. 1.2 dargestellt.

1.1.5 Sonstiges

Hier werden noch kurz der Einsatz von XML in Bezugnahme auf das Erstellen von CD-ROMs und Katalogen erwähnt. Diese letzte Applikation ist ebenfalls stark von tatsächlichen Realisierung der in den vorigen Kapiteln beschriebenen Punkte abhängig. Hier werden die oben erwähnten Datenstrukturen in ein XML-konformes Format umgewandelt, um anschließend auf Interaktiven CD-ROMs gespeichert bzw. zum Drucken von Katalogen verwendet wird.

Insbesondere bei dem Programm für die interaktive CD-ROM können starke Anleihen bei das für die Darstellung des virtuellen Museums verantwortliche Web-Frontend genommen werden (siehe Abschnitt 1.1.3).

Bei den Katalogen können prinzipiell für die Kapitelführung der Kataloge die Datenstrukturen (Strukturbäume) zur Einteilung der archäologischen Objekte (siehe dazu die Abschnitte 1.1.1, insbesondere Abb. 1.1; sowie Abschnitt 1.1.3, Unterpunkt ”Erstellen von virtuellen Museen”). Ähnlich wie bei dem Erstellen von virtuellen Museen, können nun auch hier Einteilungen getroffen und Attribute zu Anzeige ausgewählt werden.

Da sie der Kunde weiters eine zentrale Datenhaltung erwartet und nur übers Internet mit dem ASP (Application Service Provider) kommuniziert, müssen zur Wartung weitere Programme entwickelt werden. Diese sind aber wiederum extrem von der beschlossenen Realisierung der obigen Abschnitte abhängig, weswegen ich auf eine spätere Version diese Dokuments bzw. auf [?] verweise.

Anhang A

Fragen zu einer Iteration

A.1 KW 42

Folgende Fragen sind innerhalb der Gruppe bzw. mit dem LV-Leiter zu diskutieren:

• Welche weiteren Archäotypen sind erlaubt bzw. erwünscht?

• Welche Benutzergruppen soll es außer den vorgeschlagenen noch geben?

• Welche Attribute werden den einzelnen Archäotypen konkret zugewiesen?

• Welche Benutzergruppen erhalten Zugang zu welchen Attributen?

• Wie konkret soll die Darstellung der graphischen Komponenten in einem virtuellen Museum aussehen? Soll weiters diese Darstellungsformen fix vorgegeben werden, oder können selbige durch den Benutzer erstellt bzw. erweitert werden können?

• Wie sehen die konkreten Schnittstellen und Programme zum Erstellen von Katalogen und CDROMs aus (Diskussion mit dem Kunden)?

• Welche Wartungssoftware ergibt sich aus dem beschlossenen Anforderungkatalog (interne Diskussion)?