%% LyX 1.1 created this file.  For more info, see http://www.lyx.org/.
%% Do not edit unless you really know what you are doing.
\documentclass[a4paper,austrian]{report}
\usepackage[]{fontenc}
\usepackage[latin1]{inputenc}
\usepackage{babel}
\usepackage{graphics}

\makeatletter


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% LyX specific LaTeX commands.
\providecommand{\LyX}{L\kern-.1667em\lower.25em\hbox{Y}\kern-.125emX\@}

\makeatother

\begin{document}


\title{Software Engineering PS (WS2000/2001)\\(Version 0.1)}


\author{A}


\date{16.10.2000}

\maketitle

\chapter{Inception Phase}


\section{Projektbeschreibung}


\subsection{Kernobjekte und Archäotypen\label{t_kernobj_archtyp}}


\subsubsection{Kernobjekte}

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

Diese \emph{Kernobjekte} werden nun weiter unterteilt in:

\begin{itemize}
\item Siedlungen
\item Gräber
\item Artefakte
\end{itemize}

\subsubsection{Archäotypen}

Diese Begriffe werden unter dem Begriff \emph{Archäotypen} zusammengefaßt.

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

\begin{itemize}
\item Gebäude (im weiten Sinne, so ist z.B. auch eine Grabstätte ein Gebäude)
\item Räume
\end{itemize}
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 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. \ref{p_kernobj_str} entsprechen könnte.

\begin{figure}
{\par\centering \includegraphics{kernobj_str.eps} \par}


\caption{\label{p_kernobj_str}}
\end{figure}


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


\subsection{Attribute und Rechtevergabe}

Jedem Knoten-Element der Baumstruktur, wie in Abschnitt \ref{t_kernobj_archtyp}
erläutert, wird eine Reihe von \emph{Attributen} zugewiesen, die Zusatzinformationen
zu dem jeweiligen Objekt liefern. 

Ein besonderes Attribut ist das der \emph{Rechtevergabe}. Jedes Objekt besitzt
ein solches Attribut. In diesem Attribut steht ein Bezeichner für eine \emph{Benutzergruppe},
die Zugang zu dem Objekt bzw. deren Daten haben darf. Ein derartiges Sonderattribut
wird weiters \emph{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:

\begin{itemize}
\item \texttt{Public}: Unter diesem Zugang kann auf öffentliche Daten zugegriffen
werden. Nur Lese-Rechte auf manche Attribute.
\item \texttt{Inventor}: Benutzer dieser Gruppe haben Lese- und Schreib-Rechte auf
Attribute, die die Grunddaten der Kernobjekte betreffen.
\item \texttt{Enh\_Inventor}: Hier können nun weitere Attribute bzgl. der Kernobjekte
im weiteren Sinn gesetzt bzw. editiert werden.
\item \texttt{Creator}: Benutzer dieser Gruppe erhalten alle notwendigen Attribute,
die zu erstellen eines virutellen Museums vonnöten sind.
\end{itemize}
Mein Vorschlag wäre weiters noch die Erweiterung dieser Gruppe durch eine

\begin{itemize}
\item \texttt{Super\_User}-Gruppe, 
\end{itemize}
welche Lese- und Schreib-Rechte auf alle Attribute der Kernobjekte hat. Weiters
sind alle Gruppen automatisch auch die Gruppe \texttt{Public}. Es ist noch zu
diskutieren, welche weiteren Gruppen zweckmäßig wären.\\

Bezüglich der \emph{Attribute} wurden vom Kunden derzeit nur folgende Hinweise
gegeben:

\begin{itemize}
\item Attribute, die die Grunddaten zu Kernobjekten festhalten,
\item Attribute, die weitere Querverweise, wie z.B. Interpretationen oder Publikationen
zum Artefakt etc. festlegen,
\end{itemize}
und natürlich wie bereits erwähnt und in diesem Dokument gefordert:

\begin{itemize}
\item Attribute, die den Kernobjekten bzw. den herkömmlichen Attributen selbst, Benutzergruppen
zuweist.
\end{itemize}
Es wird nun weiters notwendig sein diese Attributgruppen zu konkretisieren.
Meine Vorschläge wären:

\begin{itemize}
\item Grunddaten sind:

\begin{itemize}
\item Abbildungen
\item Name und Beschreibung
\item Datierung
\item Erfasser des Objektes
\end{itemize}
\item Als Querverweise können, außer den oben genannten, gewählt werden:

\begin{itemize}
\item Nachschlagliteratur zu verwandten Themen
\item Verweise auf mit dem Objekt thematisch in Verbindung stehende Objekte
\end{itemize}
\end{itemize}
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 \cite{SEWS2000}.


\subsection{Anwenderschnittstellen\label{t_anw_schnittst}}

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

\begin{itemize}
\item Eingabe der archäologischen Daten
\item Abrufen der Daten
\item Erstellen von virtuellen Museen
\item Besuchen dieser Museen
\end{itemize}
Es ist zu Diskutieren, ob alle Schnittstellen oder nur ein Teil davon durch
ein Web-Frontend realisiert werden soll.


\subsubsection{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 \texttt{Public} steht nur das Abrufen der Daten zur
Verfügung. Die Standartgruppe beim Starten des Frontends ist ebenfalls \texttt{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:

\begin{itemize}
\item Suchen der Daten:

\begin{itemize}
\item Eine Möglichkeit wäre die einzelnen Kernobjekte in Form einer Baumstruktur (vgl.
Abb. \ref{p_kernobj_str}) 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.
\item 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.
\end{itemize}
\item Abrufen der Daten:

\begin{itemize}
\item 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.

\item 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.
\end{itemize}
\end{itemize}

\subsubsection{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.


\subsubsection{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 Rücksprachen über
die Vorstellung von Aufwand und Kosten mit dem Kunden betrieben werden müssen.


\subsection{Datenflußdiagramm}

Es gibt nach obigen Erleuterungen nun drei zu implementierende Datenbanken:

\begin{itemize}
\item Verwaltung der Instanzen der Archäotypen
\item Verwaltung der erstellten virtuellen Museen
\item Verwaltung von vorgegebenen Schemata zum Erstellen solcher Museen
\end{itemize}
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 \cite{SEWS2000}.

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

\begin{figure}
{\par\centering \includegraphics{data_diag.eps} \par}


\caption{\label{p_data_diag}Datenfluß-Diagramm zur näheren Erleuterungen der Schnittstellen
zwischen Benutzer und der Datenbank. Das Format dieses Diagrammes wurde aus
\cite{Pomberger_Blaschek} entnommen.}
\end{figure}



\subsection{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 \ref{t_anw_schnittst}).

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 \ref{t_kernobj_archtyp}, insbesondere Abb. \ref{p_kernobj_str};
sowie Abschnitt \ref{t_anw_schnittst}, Unterpunkt \glqq{}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 \cite{SEWS2000} verweise.

\appendix


\chapter{Fragen zu einer Iteration}


\section{KW 42}

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

\begin{itemize}
\item Welche weiteren Archäotypen sind erlaubt bzw. erwünscht?
\item Welche Benutzergruppen soll es außer den vorgeschlagenen noch geben?
\item Welche Attribute werden den einzelnen Archäotypen konkret zugewiesen?
\item Welche Benutzergruppen erhalten Zugang zu welchen Attributen?
\item 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?
\item Wie sehen die konkreten Schnittstellen und Programme zum Erstellen von Katalogen
und CDROMs aus (Diskussion mit dem Kunden)?
\item Welche Wartungssoftware ergibt sich aus dem beschlossenen Anforderungkatalog
(interne Diskussion)?
\end{itemize}
\bibliographystyle{plain}
\bibliography{se}


\end{document}
