Semesterprojekt Semantic Text Browsing
Professor Ulf Leser, Philippe Thomas
GeneView ist eine semantische Suchmaschine für biomedizinische Texte. Sie erkennt Objekte verschiedener Klassen in Texten (Gene, Krankheiten, Mutationen, Spezies etc.), visualisiert diese im Fließtext, und erlaubt gezielte Suche nach Objekten. Basis von GeneView ist eine komplexe Text Mining Pipeline, die in einer relationalen Datenbank aller gefundenen Objekte sowie der Fundstellen und Beziehungen untereinander mündet. GeneView ist öffentlich verfügbar unter http://bc3.informatik.hu-berlin.de/.
In diesem Semesterprojekt soll ein graphisches Werkzeug zum Browsing von GeneView erstellt werden. Benutzer sollen Objekte auswählen können, die dann mit ihren Beziehungen als Graph repräsentiert werden, der eine interaktive Exploration erlaubt. Dazu sind Teilprojekte im Bereich der Datenbankentwicklung, der Middleware, und des graphischen Clients zu bearbeiten.
Der Einführungstermin ist am Dienstag, den 15.10.13, von 9-11 Uhr.
Voraussetzungen
Voraussetzung für den Besuch sind gute Kenntnisse in der Softwareentwicklung mit Java und, je nach gewähltem Teilprojekt, gute Kenntnisse in Datenbanken, Softwarearchitekturen, oder der Entwicklung graphischer Webseiten.
Anrechenbarkeit
Die Veranstaltung ist nur für den Monobachelor Informatik anrechenbar
Struktur des Projekts
Das Projekt wird in drei Teilprojekte zerlegt. Eine Gruppe von Studierenden entwickelt eine Schnittstelle zur GeneView Datenbank, eine Gruppe entwickelt eine web-basierte Benutzerschnittstelle, und eine Gruppe entwickelt eine Middleware zur Kommunikation zwischen Benutzerschnittstelle und Datenbank. Daneben wird es eine technische Projektleitung geben. Die Entwicklung wird professionelle Werkzeuge wie SVN und einen Bugtracker benutzen.Die Betreuer übernehmen in gewisser Weise die Rolle eines fiktiven Kunden, der eine Software in Auftrag gibt und vorgibt, wie das Endprodukt aussehen soll, aber nicht, wie man das am besten erreicht - das sollen die Studierenden im Projekt gemeinsame selber erarbeiten.
Die Gruppen organisieren sich dazu in regelmäßigen Treffen selber und nehmen an moderierten, gruppenübergreifenden Treffen zur Absprache des Designs und der Schnittstellen teil. Am Ende des Semesters ist von allen gemeinsam eine lauffähige, modulare und dokumentierte Software zu erstellen. Jede Gruppe präsentiert ihre Ergebnisse in Form eines Vortrags und eines Posters.
Begleitprogramm
Das Projekt wird durch ein Begleitprogramm begleitet. Geplant sind Kurzvorlesungen unter Anderem zu den folgenden Themen:- Grundlagen von Suchmaschinen und semantische Suchmaschinen (Leser)
- Biomedizinisches Text Mining (Leser)
- Webprogrammierung (Starlinger)
- GeneView - Architektur und Komponenten (Thomas)
- Benutzung von SVN und TRACK (Thomas)
Material und Zeitplanung
15.10. | Folien der Einführungsveranstaltung |
Bis 22.10. | Todo (alle): Informieren über div. Technologien: MVC, OR-Mapper, Servlets, Java ServerFaces, SVG, Hybernate, JSP |
22.10. | Einführung Versionsverwaltung und TRAC (Thomas) Kundenpräsentation: Anforderungen an das System (Leser, Thomas) |
Bis 28.10., 10.00 Uhr | Todo (alle): Abgabe (*ein* Bericht) Projektstruktur (Teilprojekte), Zuordnung Studierende - Teilprojekte, Charakterisierung der Teilprojekte, Informelle Beschreibung von 5 Use Cases, Auswahl Projektmanagementtools (Versionsverwaltung, Projektplanung) |
29.10. | Einführung in die Webentwicklung (Folien) Einführung in die Webentwicklung (Code) br> Präsentation und Review der letzten Abgabe (alle) br> GeneView Entity Relationship Diagram |
Bis 4.11., 10.00 Uhr | Todo (alle): Abgabe (*ein* Bericht) Projektstruktur revision 2, Projektplan (Arbeitspakete, Meilensteine), Style Guide (PL), Technologieauswahl je Teilprojekt |
5.11. |
Einführung Test-Driven Development (Döhling, 45min) Java-Beispiele Review der letzten Abgabe (alle) |
5.11. | Erster Meilenstein: Projektplan, Projektstruktur, Grobspezifikation, Funktionalität |
12.11. | Vortrag: Semantische Suche Kein Review, keine Abgabe |
19.11. | Vortrag: GeneView Todo (Projektleitung): Vorstellen der Abgabe (Vortrag) Review |
25.11., 10:00 | Todo (alle): Abgabe
|
26.11. |
Vortrag:Objekt-Relationales Mapping mit Hibernate Vortrag:Beispielcode Todo (Projektleitung): Vorstellen der Abgabe (Vortrag) Review |
2.12., 10.00 Uhr | Todo (alle): Abgabe
|
10.12. | Diskussion/Zwischenreview Implementierung
|
20.12. | Fertigstellung der Teilprojekte und erste Integrationstests |
7.1. | Erneuerter Zeitplan |
Bis Fr. 17.1. | Lauffähige Version zum Test durch den Kunden
|
21.1 | Life Code-Review: Wir wählen 2-3 Entwickler zufällig
aus, die sollen uns durch ihren Code führen
|
Bis Fr. 24.1 | Erste Version Poster und Abschlusspräsentation |
4.2 | Präsentation, Komplettversion, Abnahme
|
11.2 | Nacharbeiten, Feedback, Abschluss |
Grober Fahrplan (alt)
Das Projekt wird in Phasen laufen; die genauen Zeitpunkte und Meilensteine werden noch festgelegt. Ein grober Überblick ist der folgende- Anforderungsaufnahme mit den Kunden; festhalten in informellen Beschreibungen und Use Cases
- Festlegung Projektgrobstruktur und Verantwortungsbereiche; Definition der Schnittstellen
- Modellieren der einzelnen Teilprojekte; Definition von Testfällen; Festlegung Code-Styleguides; Festlegen Verantwortlichkeiten in den Teilprojekten
- Implementierungsphase mit wechselseitigen Code-Reviews und Testen; fortlaufende Dokumentation
- Softwareabnahme; Aufnahme und Abarbeitung von Nachbesserungsbedarf
- Präsentation und Poster