Abschlussprojekte

Der MME-Kurs wird durch die Bearbeitung eines Abschlussprojekts abgeschlossen. Im Rahmen dieses Projektes entwerfen und implementieren Sie eine browserbasierte Webanwendung. Dazu nutzen Sie die im Kurs erworbenen Kompetenzen. Das Abschlussprojekt wird in der Regel als Gruppenarbeit in kleinen Teams von nicht mehr als drei Teilnehmern absolviert. Jeder der Teilnehmer muss gleichberechtigt an denjenigen Projektbereichen arbeiten, die durch die Kursinhalte vorbereitet wurden. Dazu gehören insbesondere die Generierung hochwertigen Quellcodes und die kollaborative Verwaltung und Dokumentation der gemeinsamen Codebase mittels git.

Projektabgabe

Die Projekte müssen für das Sommersemester bis zum 30. September und für das Wintersemester bis zum 31. März abgegeben werden. Bewertet wird jeweils der letzte Commit des Abgabetags in den Master-Branch.

Anforderung

Durch die erfolgreiche Bearbeitung des Projektes weisen Sie nach, dass Sie in der Lage sind, eine überschaubare Problemstellung zu analysieren und eine passende benutzerfreundliche Lösung auf der Basis von Webtechnologien zu entwickeln.

Ihr Projekt muss ein klar definier- und beschreibbares Problem lösen. Durch die Implementierung schaffen Sie einen messbaren Mehrwert für die angesprochene Zielgruppe. Bei der Umsetzung steht die Generierung lauffähiger, fehlerfreier Software im Vordergrund. Forschungsarbeiten oder Prototypen sind keine akzeptablen Gegenstände der Projektarbeit. Die implementierte Lösung soll dabei Werkzeugcharakter haben und in den Bereich der Anwendungen fallen; Spiele werden im MME-Kurs nicht entwickelt.

Achten Sie darauf, ein überschaubares Problem zu bearbeiten. Implementieren Sie wenige Features, entwickeln Sie diese aber bis zur höchst möglichen Güte. Achten Sie auch auf die Gestaltung der Benutzeroberfläche, insbesondere auf grundlegende ästhetische Prinzipien und Ihnen bekannte Faktoren guter Usability. Ihre Anwendung sollte am Ende eine in sich geschlossene, voll funktionstüchtige, sorgfältig getestete und gut dokumentierte Lösung für das zu Beginn ausgewählte Problem darstellen.

Ihre Anwendung wird auf Basis von Javascript, HTML- und CSS entwickelt. An entsprechenden Stellen können und sollen Sie auf Bibliotheken und Frameworks zurückgreifen. Die Architektur der Anwendung und der Hauptteil des Codes müssen aber von Ihnen selbst entworfen und implementiert werden.

Die von Ihnen implementierte Anwendung wird nach Abgabe anhand dieser Kriterien bewertet:

Ihr Repository besteht während der Entwicklung aus mindestens zwei Branches: Einem master-Branch der stets die aktuell lauffähige, fehlerfreie Version Ihrer Software beinhaltet und die Release-Geschichte Ihres Projekts repräsentiert, sowie einen dev-Branch in dem die eigentliche Entwicklung der Anwendung voran getrieben wird. An geeigneten Zeitpunkten werden die Ergebnisse aus dem dev-Branch in den Master übertragen. Weitere formale Kriterien zur Nutzung finden Sie nach Generierung der Repositorys in einer entsprechenden vorgegebenen Datei.

Ablauf

Im Rahmen der letzten beiden Vorlesungswochen werden die Projekt vorbereitet. Die Implementierung findet in der vorlesungsfreien Zeit statt. Im Anschluss and die Zusammenstellung der Teams und der Themenvergabe gliedert sich der restliche Projektablauf wie folgt:

Ende der Vorlesungszeit: Im Rahmen eines Workshops wird eine erste Projektskizze vorbereitet und diskutiert. Zusätzlich werden die Github-Repositorys für die Arbeit an den Projekten angelegt und vorbereitet. Die Themenvergabe erfolgt online über den GRIPS-Kurs.

Beginn der vorlesungsfreien Zeit: Im Anschluss wird von jedem Team jeweils eine konkrete Liste mit Anforderungen sowie den technischen Rahmenbedingungen für die Umsetzung erstellt. Beide Dokumente werden im Rahmen von Projektsprechstunden in der ersten Woche der vorlesungsfreien Zeit diskutiert und finalisiert. Der hier ausgemachte Funktionsumfang der Anwendung muss am Ende der Bearbeitungszeit nachgewiesen werden können.

Vorlesungsfreie Zeit: Nach der Festlegung der Features sowie des technischen Rahmens übertragen Sie die Anforderungen in Form von User Stories in den Issue Tracker oder ein Project Board Ihres Github-Repository. Anschließend arbeiten Sie selbstständig an der Umsetzung Ihres Projektes. Nutzen Sie dabei konsequent die Möglichkeiten von git bzw. Github um Ihre Arbeit zu organisieren und zu dokumentieren. Melden Sie sich bei Problemen rechtzeitig und proaktiv. Während der Bearbeitungszeit können Sie per Mail (alexander.bazo@ur.de) oder im Rahmen individueller Sprechstunden Kontakt aufnehmen.

Minimum viable product: Bis spätestens vier Wochen vor Abgabe der Projekte müssen Sie ein minimum viable product, also eine lauffähige Version Ihrer Anwendung mit minimalen Funktionsumfang zur Demonstration der Projektidee vorweisen können. Erstellen Sie dazu auf Basis des erreichten Standes ein Release. Sie erhalten auf Basis dieses Releases Feedback zum aktuellen Stand Ihres Projektes.

Abgabe: Das fertige Projekt wird am Ende der Bearbeitungszeit eingereicht. Dazu wird der letzte Commit in den master-Branch berücksichtigt, den Sie am Abgabetag vornehmen.

Zeitlicher Aufwand

Für den Abschluss des Moduls MEI-BA-M07: Multimedia Engineering erhalten Sie insgesamt sechs Leistungspunkte. Für diese Punkte sollten Sie insgesamt 180 Stunden Arbeit in den Kurs investieren. Während der Vorlesungszeit erarbeiten Sie dazu die folgenden Leistungen:

Mit dem Ende der Vorlesungszeit sind daher bereits mindestens 114 Stunden Aufwand erbracht worden. Im Rahmen der Gruppen- und Themenfindung und der Projektvorbereitung fallen inklusive der Besprechungen weitere 6 Stunden Arbeitslast an. Für den eigentlichen Entwurf und die Umsetzung Ihres Projektes verbleiben pro Teilnehmer 60 Stunden, was in etwa 1,5 vollen Arbeitswochen entspricht. Versuchen Sie Ihr Projekt innerhalb dieses Zeitrahmens zu absolvieren. Am Ende muss Ihre Software einen Zustand erreicht haben, der diesen Aufwand angemessen repräsentiert. Im Rahmen der Anforderungserhebung werden wir versuchen, einen Funktionsumfang festzulegen, der innerhalb dieser Zeit gut umsetzbar ist. Unverhältnismäßiger Mehraufwand bei der Umsetzung des Projekts wird von Ihnen nicht verlangt.

Um den verfügbaren Zeitraum optimal zu nutzen und Ihnen während der vorlesungsfreien Zeit Raum für andere Projekte oder Aktivitäten zu ermöglichen, beachten Sie bitte die folgenden Hinweise:

Abgabe

Am Abgabetag muss Ihr Repository die folgenden Inhalte vorweisen: