Software-Projekt

Themen

Themeneinteilung
Tinf
In diesem Semester wird das Software-Projekt für die technischen Informatiker (TInf) von Thorsten Behrens betreut werden. Das Projekt wird im Umfeld der Robotik durchgeführt werden. Nähere Informationen gibt es bei Torsten Behrens.
Inf, WInf, MInf
Für die übrigen Studiengänge wird ein zusammenhängendes Themengebiet bearbeitet werden, und zwar ein Suchmaschinen-System.
Architektur
Zu einem Suchmaschinen-System gehören mehrere Komponenten.
Crawler
Es wird ein Crawler benötigt, der eine Menge von Dokumenten, üblicherweise aus dem Web, auswählt, die wichtige Information extrahiert und die Textteile und Dokumentbeschreibung an einen Indexierer weiter gibt.
Indexierer und Suche
Die zweite Komponente ist ein Indexierer. Dieser baut aus den vom Crawler aufbereiteten Dokumenten einen invertierten Index und eine Tabelle mit Dokumentbeschreibungen auf. Des weiteren stellt er eine Anfragesprache zur Verfügung, mit der aus dem Index bestimmte Teile ausgewält werden können.
Index
Für das Indexieren und Suchen wird eine Datenstruktur benötigt für eine Tabelle (Map), in der Wörtern die Vorkommen in den Dokumenten zugeordnet sind. Diese Datenstruktur muss einmal auf Speicherplatz optimiert sein, außerdem muss sie flexibel und schnell durchsuchbar sein. Der Index muß Präfix-Suche und unscharfe Suche gut unterstützen.
Suchfrontend
Zu jeder Suchmaschine gehört ein Suchfrontend, häufig ein Webserver, der mit einem Standard-Browser als Präsentationsoberfläche kommuniziert. Das Frontend muss also die als Text repräsentierten Anfragen parsen und daraus eine Suchanfrage aufbauen. Die Suchergebnisse müssen aufbereitet und über HTML/JSON an den Browser gesendet werden.
Teilaufgaben
Die oben beschriebenen Komponenten werden als Teilthemen in 2-er-Gruppen zu bearbeiten sein. Dabei können Komponenten durchaus auf unterschiedliche Weise und auswechselbar realisiert werden. Die einzelnen Teilaufgaben und deren Zusammenspiel werden in der Vorbesprechung vorgestellt werden. Erst nach dieser Vorstellung werden die Themen vergeben.
Eine Fallstudie aus der Veranstaltung Software-Design kann einen ersten Eindruck über die Aufgaben und einen Teil des Funktionsumfangs geben.