Wiki source code of Aufgabenstellung

Version 48.1 by mgrawunder on 2025/09/24 09:00

Hide last authors
Marco Grawunder 40.1 1 [[image:Main.Organisatorisches.WebHome@softwareprojekt_logo_transparent.png||alt="SoftwareprojektLogo.png" data-xwiki-image-style-alignment="end" height="136" width="309"]]
Marco Grawunder 38.1 2
Pascal Meyer 28.1 3 {{toc/}}
4
Pascal Meyer 1.1 5 Im Software Projekt soll ein Verständnis für die Probleme und Herausforderungen bei der Entwicklung großer Software Systeme entwickelt werden. Aus diesem Grund wird im Laufe des Jahres ein komplexes Softwaresystem in mehreren vollständigen Phasen (sog. Sprints) erstellt.
6
7 Dabei müssen neben der eigentlichen Softwareentwicklung auch eine Planung und Organisation erfolgen, die Ergebnisse dokumentiert werden und präsentiert werden.
8
Pascal Meyer 35.1 9 Die Aufgabe umfasst dabei i.d.R. die Adaption eines Brettspiels. Eine Liste mit allen bisher im Softwareprojekt umgesetzten Spiele ist [[hier>>doc:Main.Historisches.WebHome||anchor="HSpieleimSoftwareprojekt"]] zu finden.
Pascal Meyer 1.1 10
Pascal Meyer 1.3 11 {{warning}}
Pascal Meyer 2.2 12 **Achtung!**
Pascal Meyer 1.1 13
14 Bei allen Spielen gilt:
15
16 * Keine Freigabe vom Verlag, d.h. Web-Seite mit den Inhalten schützen (Passwort)
17 * Umsetzung (von Teilen) des Basisspiels
18 * Regeln dürfen vereinfacht und angepasst werden
19 * Adaption grundsätzlich erlaubt, bedeutet aber zusätzlicher Aufwand (... ohne, dass sich das deutlich in der Bewertung bemerkbar macht. Software Projekt, nicht Spiele Projekt ;-))
20 * KI als zusätzliches Feature
21 * Wie kann man das Brettspiel möglichst so nachbilden, dass der Spielspaß der Originalversion erhalten bleibt/verbessert wird? („Mogeln gehört nicht zum Spielspaß ;-)“)
22 * Kann man zusätzliche Dienste bieten?
23 * Müssen gewisse Aspekte angepasst werden?
24 * Sehr wichtig: Für die Mitspieler auf Nachvollziehbarkeit achten z.B. was für Aktionen hat der Gegner vorgenommen
Pascal Meyer 1.3 25 {{/warning}}
Pascal Meyer 1.1 26
Pascal Meyer 10.1 27 = Teilaufgabe 1 - Projektmanagement organisieren =
Pascal Meyer 1.1 28
29 * Organisieren Sie Ihr Projekt bzw. Team,
Pascal Meyer 35.1 30 ** verteilen Sie in der zweiten Woche die [[Einzelaufgaben>>doc:Main.Anforderungen Gruppen.WebHome||anchor="HAnforderungen:EinzelleistungenundEinzelaufgaben"]],
Pascal Meyer 1.1 31 ** definieren Sie eine Reihenfolge für die Übernahme der Moderation und des Protokolls (z.B. nach Alphabet)
32 ** die Tagesordnung ist vom Moderator mindestens einen Tag vorher zu erstellen (dafür ggf. die Gruppe nach weiteren TOPs fragen)
33 ** definieren Sie Standards für Dokumente (LaTeX, UTF-8, ...)
Pascal Meyer 35.1 34 ** Führen Sie ein [[Projekttagebuch>>doc:Main.Anforderungen Gruppen.WebHome||anchor="HProjekttagebuch"]] (als Blog im Wiki)
Pascal Meyer 1.1 35 * Dokumentieren Sie immer alle Ergebnisse der Gruppe, wie
36 ** Protokolle,
37 ** Ausarbeitungen,
38 ** Präsentationen,
39 ** Software-Dokumente, etc.
mgrawunder 46.1 40 * mit einer Zuordnung zu Personen in GitLab. **Verwenden Sie dafür die Wiki-Funktion von Gitlab** ([[https:~~/~~/docs.gitlab.com/user/project/wiki/>>https://docs.gitlab.com/user/project/wiki/]]).
Pascal Meyer 1.1 41 * Geben Sie die Einzelaufgaben an
42 * Stellen Sie ein Gruppenbild (mit Namen) ein! Ideal ist es für mich und die Tutoren, wenn in dem Bild die Namen direkt als Text enthalten sind.
43 * Überlegen Sie sich für Ihre Aufgaben eine "Definition of Ready" und eine "Definition of Done", d.h. was muss für eine Aufgabe erledigt sein, bevor sie als erledigt angesehen werden kann. (siehe z.B. [[https:~~/~~/www.scrum-events.de/was-ist-die-definition-of-done-dod.html>>url:https://www.scrum-events.de/was-ist-die-definition-of-done-dod.html]])
44 * Erstellen Sie basierend auf den Vorgaben der Veranstaltung eine Produktvision. (vgl. z.B. [[https:~~/~~/www.wibas.com/scrum/product-vision/de)>>url:https://www.wibas.com/scrum/product-vision/de]]
45
mgrawunder 46.1 46 Scrum hat den Nachteil, dass man lange "vor sich hin iterieren" kann. Definieren Sie zusätzliche **Meilensteine **zu denen bestimmte Funktionen fertig sein sollen. Einige sind vorgegeben (vgl. [[Meilensteine>>doc:Main.Anforderungen Software.WebHome||anchor="HAnforderungen:DievordefiniertenMeilensteine"]]). Verwenden Sie zur Meilensteindefinition nicht nur die Präsentationstermine!
Pascal Meyer 1.1 47
48 = Teilaufgabe 2: Anforderungsanalyse (Dokumentation) =
49
50 * Was soll umgesetzt werden? Wie sieht diese Welt aus?
51 ** Wer sind die Akteure?
52 ** Welche User-Stories gibt es?
53 ** Welche nicht funktionalen Anforderungen gibt es?
54 ** Welche Objekte gibt es: Objektmodell (als Klassendiagramm)
55 ** Wie interagieren die miteinander (wichtig!): Dynamisches Modell (tyischerweise als Sequenz-, Aktivitäts- oder Zustandsdiagramm)
56 *** Sequenzdiagramm: Wenn man sehr genau weiß, wie die Abläufe sind
57 *** Aktivitätsdiagramm und Zustandsdiagramm: Kann erstmal auf einer abstrakten Ebene passieren und später verfeinert werden
58 * Dokumentation schrittweise (!) anpassen/erweitern
59 * Abgabe:
Pascal Meyer 35.1 60 ** [[Zwischenpräsentation>>doc:Main.Aufgabenstellung.WebHome||anchor="HTeilaufgabe5:ZwischenprE4sentation"]] (siehe dort)
Pascal Meyer 1.1 61 ** zum Ende des Projektes finale Version
pmeyer 41.2 62 ** Dokumentation in einem extra Dokument (nicht auf GitLab verweisen).
Pascal Meyer 35.1 63 * Beachten: [[Anforderungen Dokumentation>>doc:Main.Anforderungen Software.WebHome||anchor="HAnforderungen:Dokumentation"]]
mgrawunder 47.1 64 * In Gitlab steht draw.io zur Verfügung. Damit können Diagramme gezeichnet werden. [[https:~~/~~/www.drawio.com/blog/gitlab-wiki-integration>>https://www.drawio.com/blog/gitlab-wiki-integration]]
mgrawunder 48.1 65 * Es gibt in Gitlab auch die Möglichkeit, Diagramme textuell zu beschreiben (Mermaid oder PlantUML) und dann generieren zu lassen: [[https:~~/~~/docs.gitlab.com/user/markdown/#mermaid>>https://docs.gitlab.com/user/markdown/#mermaid]], gerade bei Sequenzdiagrammen kann dies die Erstellung deutlich vereinfachen. Weitere Infos unter: [[https:~~/~~/docs.gitlab.com/user/markdown/#diagrams-and-flowcharts>>https://docs.gitlab.com/user/markdown/#diagrams-and-flowcharts]]
Pascal Meyer 1.1 66
Pascal Meyer 1.3 67 {{warning}}
Pascal Meyer 2.2 68 **Achtung!**
Pascal Meyer 1.1 69
Pascal Meyer 35.1 70 * Es ist keine gute Idee mit dem Dokumentieren bis zum Schluss zu warten. Da sich Dinge aber im Laufe der Zeit noch ändern, sollte auch nicht zu viel Text schon vorher entstehen.
Pascal Meyer 1.1 71 * Diagramme können zwar durch Reengineering gewonnen werden, es ist aber zu Präsentationszwecken keine gute Idee. Dann lieber die Strukturen abstrakter darstellen (nicht jede Methode, jede Klasse und jedes Attribut ist relevant!)
72 * Achtung! Wenn Sie Visual Paradigm verwenden, ändern Sie die Version nicht während des Projektes. I.d.R. sind die Modelle nicht beliebig austauschbar.
Pascal Meyer 1.3 73 {{/warning}}
Pascal Meyer 1.1 74
75 = Teilaufgabe 3: Entwurf (Dokumentation) =
76
Pascal Meyer 35.1 77 * Zerlegung in Teilsysteme
Pascal Meyer 1.1 78 * Bildung von Modulen (Klassen zu Gruppen zusammenfassen) Kopplung und Kohäsion beachten
79 * Festlegung der Architektur
80 * Abbilden auf Hardware
81 * persistente Datenverwaltung
82 * Festlegung von Entwurfsmustern
83 * Make or Buy (Verwendung von Frameworks)
84 * Dokument: System- und Objektentwurf
85 * Abgabe:
Pascal Meyer 35.1 86 ** [[Zwischenpräsentation>>doc:Main.Aufgabenstellung.WebHome||anchor="HTeilaufgabe5:ZwischenprE4sentation"]] (siehe dort)
Pascal Meyer 1.1 87 ** zum Ende des Projektes finale Version
Pascal Meyer 35.1 88 ** Dokumentation in einem extra Dokument (nicht auf GitLab verweisen)
89 * Beachten: [[Anforderungen Dokumentation>>doc:Main.Anforderungen Software.WebHome||anchor="HAnforderungen:Dokumentation"]]
Pascal Meyer 1.1 90
91 = Teilaufgabe 4: Implementierung und Test =
92
Pascal Meyer 35.1 93 * Implementieren Sie Ihr Produkt basierend auf dem Entwurf (passen Sie den Entwurf ggf. an)
Pascal Meyer 1.1 94 * Projektname muss Gruppenname enthalten!
95 * (((
96 Maven:
97
98 * Das Produkt muss sich mit Hilfe von **maven** bauen lassen.
99 * Das Bauen muss **ohne** mvn install funktionieren.
100 * Die Tests müssen über **maven** ausgeführt werden.
101 * **GUI-Tests** müssen sich ausschalten lassen.
102 * Andere Build-Tools wie Gradle sind nicht (mehr) erlaubt dürfen maximal ergänzend verwendet werden. Maven muss aber funktionsfähig vorhanden sein.
103 )))
104 * (((
105 Sinnvoll: (echtes) Pairprogramming (mit Tauschen der Rollen!): [[Hinweise zum Pairprogramming>>url:https://developer.atlassian.com/blog/2015/05/try-pair-programming/?utm_source=facebook&utm_medium=social&utm_campaign=atlassian_try-pair-programming]]
106
107 * Es gibt ein Plugin für IntelliJ, mit dem man gemeinsam am Code arbeiten kann (habe ich allerdings noch nicht getestet) 
108 ** Code With Me: "Das kostenlose Plug-in lässt sich direkt aus der Entwicklungsumgebung heraus über Preferences / Settings | Plugins | Marketplace installieren" ([[https:~~/~~/www.heise.de/news/Entwicklungsumgebung-JetBrains-veroeffentlicht-Plug-in-fuer-Pair-Programming-4915934.html>>url:https://www.heise.de/news/Entwicklungsumgebung-JetBrains-veroeffentlicht-Plug-in-fuer-Pair-Programming-4915934.html?wt_mc=nl.red.ho.ho-nl-daily.2020-10-01.link.link]])
109 )))
110 * Sinnvoll: längere Programmiersitzungen
111 * (((
112 Erstellen Sie dabei die nötigen Systemunterlagen (tw. erst zum Ende des Projektes)
113
114 * Benutzerhandbuch,
115 * Testunterlagen,
116 * Installationshandbuch etc.
117 )))
118 * (((
Pascal Meyer 35.1 119 [[Vorlesungsvideos u.a. zu Testen>>doc:Main.Organisatorisches.WebHome||anchor="HVorlesungsvideos"]]. Testen Sie die wichtigen Klassen mit JUnit, nicht erst am ENDE!
Pascal Meyer 1.1 120
121 * Hilfreich: Dependency Injection (z.B. Google Guice)
122 * TestFX kann beim Testen der GUI helfen. Wichtiger sind aber Tests der Funktionalitäten!
123 * Beachten Sie, dass die GUI-Tests normalerweise nicht mit ausgeführt werden sollen, damit die Tests problemlos auch auf einem Build-Server (wie bamboo) ausgeführt werden können.
124 * Mocken Sie Abhängigkeiten in Unit-Tests mit Mockito
125 )))
126 * Führen Sie Integrations- und Endtests durch
127 * Führen Sie mindestens ein dokumentiertes gruppenweites Code–Review durch
128 * Nutzen Sie Tools wie FindBugs, Checkstyle oder SonarLint
129 * (((
130 **Es ist grundsätzlich nicht erlaubt, Warnungen zu unterdrücken (Wenn Warnungen unterdrückt werden, dann muss es einen sehr guten Grund geben! Jede zusätzliche Warnung muss dokumentiert und begründet sein!)**
131
Pascal Meyer 2.2 132 [[image:Warnung.png||alt="Warnung"]]
Pascal Meyer 1.1 133 )))
134 * In Scrum muss ein Produktinkrement getestet und lauffähig sein.
135 * Versuchen Sie möglichst früh und regelmäßig die aktuelle Version auch auf dem Rechner in der Arbi zu deployen.
136 * Das MVP sollte "von Hand" erstellt werden und sich nicht auf Tools wie AfterburnerFX abstützen. Die Erfahrung zeigt, dass dies sonst im Laufe der Zeit viele Dinge (insbesondere Tests) unnötig verkompliziert.
Pascal Meyer 35.1 137 * Beachten Sie auch die Hinweise zur [[Verwendung von KI>>doc:Main.Anforderungen Software.WebHome||anchor="HAnforderungen:NutzungvonKITools"]]
Pascal Meyer 1.1 138
139 = Teilaufgabe 5: Zwischenpräsentation =
140
141 * Zeigen Sie die wesentlichen
142 ** Konzepte (statisch und dynamisch!)
143 ** Architektur
144 ** Software-Design-Entscheidungen (**es geht hier nicht um die Grafik und Optik**) und
145 ** die Zusammenhänge (statisch z.B. durch Klassendiagramme und dynamisch z.B. durch Sequenz- oder Aktivitätsdiagramme!)
Pascal Meyer 36.1 146 ** Technologieentscheidungen (hier nicht die Tools wie GitLab, Visual Paragdigm etc., sondern die verwendeten Frameworks!)
Pascal Meyer 1.1 147 ** Grundsätzlich sollte auf die Serverkonzepte vertiefter eingegangen werden als auf Aspekte, die sich auf die GUI beziehen.
148 ** I.d.R. ist es keine gute Idee, einfach UML-Diagramme, die für die Dokumentation gedacht sind, unverändert in die Folien zu packen, so sollten i.d.R. Klassendiagramme vereinfacht werden.
149 ** Quellcode kann hin und wieder hilfreich sein, i.d.R. ist es aber besser, die Konzepte auf einer abstrakteren Ebene mit **Hilfe von UML** darzustellen.
150 * Erklären (Bilder können helfen):
151 ** Warum es so ist, wie es ist und warum das gut so ist.
152 ** Wie können Erweiterungen vorgenommen werden
153 * Keine Dinge wiederholen, die in diesem Wiki stehen oder das Spiel erklären (kostet nur Zeit)
154 * Ehrlich bei Fehlern und Problemen sein
155 * „Knackige“ Online-Demonstration des aktuellen Standes (nicht optional!)
156 ** mit Moderation,
157 ** die Demonstration sollte ein Konzept und einen roten Faden haben: Nicht einfach starten und schauen, was passiert.
158 ** Cheats können helfen, sinnvolle Situationen zum Präsentieren herbeizuführen
159 ** Es ist wichtig, dass ich der Demonstration folgen kann.
160 ** Kein Video erstellen, sondern live demonstrieren. Dann kann ich auch mal eingreifen, Fragen stellen und bekomme einen "echteren" Eindruck.
161 ** Wenn der Start länger dauert (z.B. weil erst IntelliJ gestartet werden muss), bitte dies **vor der Präsentationen** machen.
162 * Einschränkungen/Anpassungen/Änderungen nennen
163 * 20-30 Minuten (sinnvoll füllen)
164 * Je nachdem, ob online oder in Präsenz (siehe dazu im Stud.IP im Wiki zur Veranstaltung)
Pascal Meyer 35.1 165 ** Präsenz: Nur eine Delegation (max. 3 Personen)
166 *** Bei der finalen [[Präsentaiton>>doc:Main.Aufgabenstellung.WebHome||anchor="HTeilaufgabe6:Abnahme"]] sollte der Vortragende allerdings stehen.
Pascal Meyer 1.1 167 ** Falls die Präsentation online stattfindet,
168 *** dürfen natürlich beliebig viele Personen der Gruppe teilnehmen
169 *** sollten die **Vortragenden eine Kamera** anmachen (geht z.B. auch mit dem Smartphone als Kamera)
170 * Es sollten bei jeder Präsentation andere Mitglieder der Gruppe vorstellen. Es müssen aber nicht alle da gewesen sein.
171
Pascal Meyer 2.3 172 {{info}}
173 **Wichtig!**
Pascal Meyer 1.1 174
175 * Keinen Ausdruck der Folien. Ich mache mir digitale Notizen. Deswegen ist es umso wichtiger:
Pascal Meyer 35.1 176 * **Für jede Präsentation eine Seite im GitLab erstellen (vorher!) mit angehängten Dokumenten (aktueller Stand der Dokumentation, Modelle und Präsentation)**. Dies ist vor allem hilfreich, wenn mal Dinge vergessen werden.
Pascal Meyer 1.1 177 * Für die Präsentationen sollen zwar stets Motivationsfolien erarbeitet werden, jedoch sollen diese in der Präsentation aus zeitlichen und repetitiven Gründen nicht vorgestellt werden!
178 * Bitte die Präsentationen so benennen, dass die Gruppe und die Art der Präsentation klar ist. Z.B. GruppeA_ErstePräsentation.pdf.
Pascal Meyer 2.3 179 {{/info}}
Pascal Meyer 1.1 180
Pascal Meyer 2.3 181 {{success}}
182 **Hinweise:**
183
184 * Ein HD-Fernseher (Anschlüsse HDMI und VGA) ist vorhanden.
185 * WLAN steht zur Verfügung.
186 {{/success}}
187
Pascal Meyer 1.1 188 == Hinweise & Tricks zur Präsentation: ==
189
190 Um die Qualität der Zwischen- und Abschlusspräsentationen zu erhöhen, wurde zusätzlich zu den o.g. Informationen eine Präsentation erstellt. Diese soll euch ein paar weitere Hinweise und Tricks zur Erstellung geben.
191
192 Bemerkungen:
193
pmeyer 43.1 194 [[Hinweise und Tricks für Präsentationen>>attach:SWP_Hinweise&Tricks.pdf]]
pmeyer 41.2 195
Pascal Meyer 1.1 196 * WICHTIG: Vor dem Erstellen von Schaubildern, solltet ihr euch immer fragen, ob dieses einen Mehrwert bietet. Es gibt Fälle wo eine einfache Informationsdarstellung in Textform passender ist.
197 * SEHR WICHTIG: Schaubilder sind KEIN Ersatz für Diagramme. Schaubilder werden nicht dafür genutzt um statische & dynamische Modelle zu ersetzen. Sequenz-, Aktivitäts-, Zustands- und Klassendiagramme müssen so erstellt werden, wie in Software Technik gelehrt.
198 * Am Ende der Präsentation bitte eine Zusammenfassungs- und Ausblicksfolie.
199
Pascal Meyer 33.1 200 = Teilaufgabe 6: Abnahme =
Pascal Meyer 1.1 201
Pascal Meyer 35.1 202 Hier im wesentlichen die selben Dinge beachten wie [[in der Zwischenpräsentation>>doc:Main.Aufgabenstellung.WebHome||anchor="HTeilaufgabe5:ZwischenprE4sentation"]] (mit Ausnahme der letzten vier Spiegelstriche, aber die Darstellung sollte auf das ganze Jahr bezogen sein, d.h. nicht nur zurück bis zur letzten Präsentation, d.h. sollte u.U. auch Dinge enthalten, die bereits in einer der Zwischenpräsentationen gesagt wurden. **Es ist auf jeden Fall eine Demo notwendig!**
Pascal Meyer 1.1 203
204 Und **zusätzlich**:
205
206 * d.h. hier auch die wichtigen Konzept, Ideen und Modelle vorstellen
207 * In der Demo die Registrierung nicht mehr zeigen.
208 * Screenshots zur Erklärung der wesentlichen Komponenten (bitte hier keine Mockups mehr oder Vorher/Nachherdarstellungen)
209 * Die Qualitätssicherung:
210 ** Projektmanagement
211 ** Testen
212 * allgemeiner Rück- und Ausblick, aber bitte keinen detaillierten Rückblick auf einzelne Sprints (In Sprint 1 haben wir ... In Sprint 2 haben wir ...)
213 * Auf eine sinnvolle Auswahl und Gewichtung achten. Wenn Dinge ähnlich sind, besser zusammenfassen, dafür aber wichtige Ideen, verwendete Algorithmen und Konzept vorstellen.
214 * 60-90 Minuten, typischerweise im OFFIS, falls die Präsentation online stattfinden muss, ist es besser, wenn die Präsentation eher 60 als 90 Minuten ist.
215 * Alle Mitglieder der Gruppe müssen da sein! Es besteht Anwesenheitspflicht.
216
Pascal Meyer 2.4 217 {{success}}
218 **Hinweise:**
Pascal Meyer 1.1 219
220 * Die Demo sollte i.d.R. mit dem Server auf einem Rechner in der ARBI (z.B. Dümmer) erfolgen. Ausnahmsweise (unter Angaben von Gründen) kann der Server auch auf einem anderen Server laufen. Einen Server auf einem Rechner zu starten, der auch an der Präsentation teilnimmt ist nicht erlaubt, insbesondere auch, da die OFFIS-Infrastruktur so etwas u.U. nicht erlaubt und außerdem soll man sich einmal mit dem Server-Deployment-Problem befassen.
Pascal Meyer 35.1 221 * Ich habe eine ganze Menge an Präsentationen. Ich kann mich nicht immer an alles vorher erinnern
222 * Die Präsentierenden sollten (im Unterschied zu [[Zwischenpräsentation>>doc:Main.Aufgabenstellung.WebHome||anchor="HTeilaufgabe5:ZwischenprE4sentation"]]) besser vorne stehen. Dann kann ich unabhängig vom Sitzplatz sowohl die Person als auch die Folien anschauen.
Pascal Meyer 2.4 223 {{/success}}
Pascal Meyer 1.1 224
225 Abgabe:
226
227 * **Bitte: vor der Abnahme die Präsentation als PDF schon einmal in dem Cloud-Ordner hochladen.**
228 * Bis zur Präsentation muss nur die Präsentation fertig sein. Alle andere Dokumente können später erstellt/finalisiert werden.
229 * Dokumente (als PDF!  Die wichtigen zusammen in einem Ordner und **nicht in die VM (s.u.) packen**!)
230 * Der Quellcode
231 ** braucht nicht abgegeben werden, da er ja in Bitbucket vorhanden ist.
232 ** muss sich mit Maven automatisiert bauen lassen! Auch die Tests müssen darüber ausführbar sein. Es muss EIN zentrales Maven-Script geben, welches andere verwendet. (Also so, wie es aktuell im Basisprojekt umgesetzt ist. Bei Änderungen muss hier ggf. eine Anpassung erfolgen)
233 ** Wichtig! Ich schaue mir nur den Quellcode im **MASTER-Branch** an, ggf. also auf jeden Fall vor der Abgabe noch einmal in den Master mergen!
234 ** Die Tests sollten alle ohne externe Datenbank laufen!
235 * Protokolle, Präsentationen, …
236 * zusätzlich (!) virtuelle Maschine (VMWare (mit VMWarePlayer abspielbar!) **oder** VirtualBox)
237 ** mit vollständig eingerichtetem lauffähigem Server für mich zum Testen (mit Hinweise zur Verwendung, z.B. mit Readme auf Desktop)
238 ** ohne Abhängigkeiten nach außen (E-Mail, Datenbank, etc.!). Die DB darf hauptspeicherbasiert (MainMemoryBasedUserStore) sein.
239 ** VM sollte den Gruppennamen enthalten
240 ** keine Dokumente in der VM "verstecken", d.h. die Dokumente zur Abgabe müssen extra abgegeben werden.
241 ** Es sollte direkt in der VM spielbar sein. (Falls die Umsetzung web-basiert ist muss also auch ein Browser installiert sein (aktuell i.d.R. nicht). Keinen Zugriff mit einem externen Browser!)
Pascal Meyer 35.1 242 ** Die VM sollte nicht zu groß sein! Linux statt Windows kann hier schon viel helfen (Windows ist aber erlaubt)
Pascal Meyer 1.1 243 ** BITTE die VM testen. Insbesondere ob auch alles funktioniert!
244 ** Es ist erlaubt, die VM in ein Multi-Volume-Archive zu verpacken, falls es Probleme mit dem Upload gibt.
245 ** Kein Docker, da ich auch meinen Rechner vor der VM absichern muss (Sonst müsste ich einen zusätzlichen Rechner dafür nutzen ... DSGVO)
246 * **10 Minuten-Video, Format MP4**
247 ** Das Video sollte von nicht deutlich von den 10 Minuten abweichen (10% sind ok)
248 ** Das Video sollte im **MP4-Format** vorliegen (falls die Aufnahme z.B. als MOV gemacht worden ist, kann man mit Handbrake ([[https:~~/~~/handbrake.fr/>>url:https://handbrake.fr/]]) oder auch VLC ([[https:~~/~~/www.videolan.org/vlc/>>url:https://www.videolan.org/vlc/]]) eine Konvertierung machen).
Pascal Meyer 35.1 249 ** Das Video sollte nicht größer als **100 MB** sein, d.h. **1080p** ist vollkommen ausreichend (siehe vorherigen Kommentar zum ggf. notwendigen Konvertieren)
Pascal Meyer 1.1 250 ** mit Präsentation des Endproduktes (z.B. mit HyperCam),
251 ** bitte mit **Ton**
252 ** Fokus bitte auf das **Spiel**
253 ** Registrierung, Chat, Besonderheiten außerhalb des Spiels etc. max 1 Minute
254 ** Bitte mit mehreren Spielern spielen
255 ** Spezielle Spielsituationen (gemäß Regeln) sollten extra dargestellt werden um zu zeigen, wie die Software damit umgeht
256 ** Damit auch andere Gruppen sehen können, was in den anderen Gruppen gemacht worden ist (auch für die kommenden Gruppen) werden die Videos im Anschluss aller Präsentationen veröffentlicht.
257 ** Bitte keine **Namen oder Bilder von echten Personen** im Video verwenden.
258
mgrawunder 41.1 259 **Verwendung der Uni-Cloud (**[[**https:~~/~~/cloud.uol.de).**>>url:https://cloud.uol.de/]] Dort bitte alles  zur Verfügung stellen. Dafür haben Sie von mir eine Freigabe erhalten (im internen Wiki). Bitte die Dateien möglichst nicht komprimieren aber möglichst insgesamt nicht mehr als 15 GB verwenden. Bei Problemen mit dem Upload darf die VM auch aufgeteilt (s.o.)
Pascal Meyer 1.1 260
Pascal Meyer 3.1 261 {{success}}
262 **Hinweise:**
Pascal Meyer 2.4 263
Marco Grawunder 37.1 264 * Der Termin für die finale Abgabe ist immer der Tag, an dem **die letzte Präsentation der letzten Gruppe** stattfindet, es darf aber auch während der Präsentation abgegeben werden. Die von mir versendeten Shares verfallen aus Gründen der Gerechtigkeit um 0:00 Uhr am Tag nach der letzten Präsentation der letzten Gruppe. Also am besten nicht bis zur letzten Minute warten.
Pascal Meyer 1.1 265 * Der Upload in die Cloud ist innerhalb des Uni-Netzes i.d.R. deutlich schneller.
266 * Es kann passieren, dass es deutlich länger mit dem Upload dauert, wenn alle gleichzeitig hochladen ...
267 * Falls es noch deutliche Unterschiede zwischen dem Stand der in der Präsentation vorgestellt wurde und der Abgabe gibt, bitte noch einmal explizit dokumentieren!
268 * Es sollte in der Gruppe immer jemand danach die Zeit ansprechbar sein und ggf. Dokumente, bei denen es Probleme mit dem Upload gegeben hat, hochladen können.
269 * Der Upload müsste auch mit dem Nextcloud-Sync-Tool erfolgen können, falls es Probleme mit der Web-Version gibt.
270 * Änderungen am Git-Code sind nach der Abgabe natürlich ebenfalls nicht mehr zulässig.
Pascal Meyer 3.1 271 {{/success}}