Wiki source code of Aufgabenstellung
Version 22.1 by Pascal Meyer on 2025/07/29 00:16
Show last authors
author | version | line-number | content |
---|---|---|---|
1 | 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. | ||
2 | |||
3 | Dabei müssen neben der eigentlichen Softwareentwicklung auch eine Planung und Organisation erfolgen, die Ergebnisse dokumentiert werden und präsentiert werden. | ||
4 | |||
5 | Die Aufgabe umfasst dabei i.d.R. die Adaption eines Brettspiels. Eine Liste mit allen bisher im Softwareprojekt umgesetzten Spiele ist [[hier>>url:https://gitlab.swl.informatik.uni-oldenburg.de/SPB/softwareprojekt-wiki_all/-/wikis/Home/Historisches]] zu finden. | ||
6 | |||
7 | {{warning}} | ||
8 | **Achtung!** | ||
9 | |||
10 | Bei allen Spielen gilt: | ||
11 | |||
12 | * Keine Freigabe vom Verlag, d.h. Web-Seite mit den Inhalten schützen (Passwort) | ||
13 | * Umsetzung (von Teilen) des Basisspiels | ||
14 | * Regeln dürfen vereinfacht und angepasst werden | ||
15 | * Adaption grundsätzlich erlaubt, bedeutet aber zusätzlicher Aufwand (... ohne, dass sich das deutlich in der Bewertung bemerkbar macht. Software Projekt, nicht Spiele Projekt ;-)) | ||
16 | * KI als zusätzliches Feature | ||
17 | * Wie kann man das Brettspiel möglichst so nachbilden, dass der Spielspaß der Originalversion erhalten bleibt/verbessert wird? („Mogeln gehört nicht zum Spielspaß ;-)“) | ||
18 | * Kann man zusätzliche Dienste bieten? | ||
19 | * Müssen gewisse Aspekte angepasst werden? | ||
20 | * Sehr wichtig: Für die Mitspieler auf Nachvollziehbarkeit achten z.B. was für Aktionen hat der Gegner vorgenommen | ||
21 | {{/warning}} | ||
22 | |||
23 | = Teilaufgabe 1 - Projektmanagement organisieren = | ||
24 | |||
25 | * Organisieren Sie Ihr Projekt bzw. Team, | ||
26 | ** verteilen Sie in der zweiten Woche die [[Einzelaufgaben>>url:https://confluence.swl.informatik.uni-oldenburg.de/spaces/SWP/pages/393407/TA+1+Projektmanagement+organisieren#]], | ||
27 | ** definieren Sie eine Reihenfolge für die Übernahme der Moderation und des Protokolls (z.B. nach Alphabet) | ||
28 | ** die Tagesordnung ist vom Moderator mindestens einen Tag vorher zu erstellen (dafür ggf. die Gruppe nach weiteren TOPs fragen) | ||
29 | ** definieren Sie Standards für Dokumente (LaTeX, UTF-8, ...) | ||
30 | ** Führen Sie ein [[Projekttagebuch>>url:https://confluence.swl.informatik.uni-oldenburg.de/spaces/SWP/pages/393398/Projekttagebuch]] (als Blog im Wiki) | ||
31 | * Dokumentieren Sie immer alle Ergebnisse der Gruppe, wie | ||
32 | ** Protokolle, | ||
33 | ** Ausarbeitungen, | ||
34 | ** Präsentationen, | ||
35 | ** Software-Dokumente, etc. | ||
36 | * mit einer Zuordnung zu Personen in Confluence | ||
37 | * Geben Sie die Einzelaufgaben an | ||
38 | * 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. | ||
39 | * Ü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]]) | ||
40 | * 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]] | ||
41 | |||
42 | 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. [[Die vordefinierten Meilensteine>>url:https://confluence.swl.informatik.uni-oldenburg.de/spaces/SWP/pages/393419/Die+vordefinierten+Meilensteine]]). Verwenden Sie zur Meilensteindefinition nicht nur die Präsentationstermine! | ||
43 | |||
44 | = Teilaufgabe 2: Anforderungsanalyse (Dokumentation) = | ||
45 | |||
46 | * Was soll umgesetzt werden? Wie sieht diese Welt aus? | ||
47 | ** Wer sind die Akteure? | ||
48 | ** Welche User-Stories gibt es? | ||
49 | ** Welche nicht funktionalen Anforderungen gibt es? | ||
50 | ** Welche Objekte gibt es: Objektmodell (als Klassendiagramm) | ||
51 | ** Wie interagieren die miteinander (wichtig!): Dynamisches Modell (tyischerweise als Sequenz-, Aktivitäts- oder Zustandsdiagramm) | ||
52 | *** Sequenzdiagramm: Wenn man sehr genau weiß, wie die Abläufe sind | ||
53 | *** Aktivitätsdiagramm und Zustandsdiagramm: Kann erstmal auf einer abstrakten Ebene passieren und später verfeinert werden | ||
54 | * Dokumentation schrittweise (!) anpassen/erweitern | ||
55 | * Abgabe: | ||
56 | ** [[Zwischenpräsentation>>url:https://confluence.swl.informatik.uni-oldenburg.de/spaces/SWP/pages/393401/TA+5+Zwischenpr%C3%A4sentation]] (siehe dort) | ||
57 | ** zum Ende des Projektes finale Version | ||
58 | ** Dokumentation in einem extra Dokument (nicht auf Jira/Confluence verweisen), aber es kann ein Export aus Confluence erfolgen | ||
59 | * Beachten: [[Dokumentationsanforderungen>>url:https://confluence.swl.informatik.uni-oldenburg.de/spaces/SWP/pages/30515074/Dokumentationsanforderungen]] | ||
60 | |||
61 | {{warning}} | ||
62 | **Achtung!** | ||
63 | |||
64 | * Es ist keine gute Idee mit dem Dokumentieren bis zum Schluss zu warten [[~[~[image:https://confluence.swl.informatik.uni-oldenburg.de/s/of8lpm/9203/cnf719/_/images/icons/emoticons/wink.svg~|~|alt="(Zwinkern)"~]~]>>url:https://confluence.swl.informatik.uni-oldenburg.de/s/of8lpm/9203/cnf719/_/images/icons/emoticons/wink.svg]] Da sich Dinge aber im Laufe der Zeit noch ändern, sollte auch nicht zu viel Text schon vorher entstehen. | ||
65 | * 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!) | ||
66 | * Achtung! Wenn Sie Visual Paradigm verwenden, ändern Sie die Version nicht während des Projektes. I.d.R. sind die Modelle nicht beliebig austauschbar. | ||
67 | * Für die Erstellung von UML-Diagrammen in Confluence kann auch PlantUML verwendet werden. | ||
68 | {{/warning}} | ||
69 | |||
70 | = Teilaufgabe 3: Entwurf (Dokumentation) = | ||
71 | |||
72 | * erlegung in Teilsysteme | ||
73 | * Bildung von Modulen (Klassen zu Gruppen zusammenfassen) Kopplung und Kohäsion beachten | ||
74 | * Festlegung der Architektur | ||
75 | * Abbilden auf Hardware | ||
76 | * persistente Datenverwaltung | ||
77 | * Festlegung von Entwurfsmustern | ||
78 | * Make or Buy (Verwendung von Frameworks) | ||
79 | * Dokument: System- und Objektentwurf | ||
80 | * Abgabe: | ||
81 | ** [[Zwischenpräsentation>>url:https://confluence.swl.informatik.uni-oldenburg.de/spaces/SWP/pages/393401/TA+5+Zwischenpr%C3%A4sentation]] (siehe dort) | ||
82 | ** zum Ende des Projektes finale Version | ||
83 | ** Dokumentation in einem extra Dokument (nicht auf Jira/Confluence verweisen) | ||
84 | * Beachten: [[Dokumentationsanforderungen>>url:https://confluence.swl.informatik.uni-oldenburg.de/spaces/SWP/pages/30515074/Dokumentationsanforderungen]] | ||
85 | |||
86 | [[Springe zu TA 4>>##HTeilaufgabe4:ImplementierungundTest]] | ||
87 | |||
88 | |||
89 | |||
90 | = Teilaufgabe 4: Implementierung und Test = | ||
91 | |||
92 | * mplementieren Sie Ihr Produkt basierend auf dem Entwurf (passen Sie den Entwurf ggf. an) | ||
93 | * Projektname muss Gruppenname enthalten! | ||
94 | * ((( | ||
95 | Maven: | ||
96 | |||
97 | * Das Produkt muss sich mit Hilfe von **maven** bauen lassen. | ||
98 | * Das Bauen muss **ohne** mvn install funktionieren. | ||
99 | * Die Tests müssen über **maven** ausgeführt werden. | ||
100 | * **GUI-Tests** müssen sich ausschalten lassen. | ||
101 | * Andere Build-Tools wie Gradle sind nicht (mehr) erlaubt dürfen maximal ergänzend verwendet werden. Maven muss aber funktionsfähig vorhanden sein. | ||
102 | ))) | ||
103 | * ((( | ||
104 | 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]] | ||
105 | |||
106 | * Es gibt ein Plugin für IntelliJ, mit dem man gemeinsam am Code arbeiten kann (habe ich allerdings noch nicht getestet) | ||
107 | ** 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]]) | ||
108 | ))) | ||
109 | * Sinnvoll: längere Programmiersitzungen | ||
110 | * ((( | ||
111 | Erstellen Sie dabei die nötigen Systemunterlagen (tw. erst zum Ende des Projektes) | ||
112 | |||
113 | * Benutzerhandbuch, | ||
114 | * Testunterlagen, | ||
115 | * Installationshandbuch etc. | ||
116 | ))) | ||
117 | * ((( | ||
118 | [[Testen>>url:https://confluence.swl.informatik.uni-oldenburg.de/spaces/SWP/pages/229572624/Vorlesungsvideos]] Sie die wichtigen Klassen mit JUnit, nicht erst am ENDE! | ||
119 | |||
120 | * Hilfreich: Dependency Injection (z.B. Google Guice) | ||
121 | * TestFX kann beim Testen der GUI helfen. Wichtiger sind aber Tests der Funktionalitäten! | ||
122 | * 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. | ||
123 | * Mocken Sie Abhängigkeiten in Unit-Tests mit Mockito | ||
124 | ))) | ||
125 | * Führen Sie Integrations- und Endtests durch | ||
126 | * Führen Sie mindestens ein dokumentiertes gruppenweites Code–Review durch | ||
127 | * Nutzen Sie Tools wie FindBugs, Checkstyle oder SonarLint | ||
128 | * ((( | ||
129 | **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!)** | ||
130 | |||
131 | [[image:Warnung.png||alt="Warnung"]] | ||
132 | ))) | ||
133 | * In Scrum muss ein Produktinkrement getestet und lauffähig sein. | ||
134 | * Versuchen Sie möglichst früh und regelmäßig die aktuelle Version auch auf dem Rechner in der Arbi zu deployen. | ||
135 | * 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. | ||
136 | * Beachten Sie auch die Hinweise zur [[Verwendung von KI-Tools im SWP>>url:https://confluence.swl.informatik.uni-oldenburg.de/spaces/SWP/pages/880871007/Verwendung+von+KI-Tools+im+SWP]] | ||
137 | |||
138 | = Teilaufgabe 5: Zwischenpräsentation = | ||
139 | |||
140 | * Zeigen Sie die wesentlichen | ||
141 | ** Konzepte (statisch und dynamisch!) | ||
142 | ** Architektur | ||
143 | ** Software-Design-Entscheidungen (**es geht hier nicht um die Grafik und Optik**) und | ||
144 | ** die Zusammenhänge (statisch z.B. durch Klassendiagramme und dynamisch z.B. durch Sequenz- oder Aktivitätsdiagramme!) | ||
145 | ** Technologieentscheidungen (hier nicht die Tools wie Jira, Visual Paragdigm etc., sondern die verwendeten Frameworks!) | ||
146 | ** Grundsätzlich sollte auf die Serverkonzepte vertiefter eingegangen werden als auf Aspekte, die sich auf die GUI beziehen. | ||
147 | ** 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. | ||
148 | ** 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. | ||
149 | * Erklären (Bilder können helfen): | ||
150 | ** Warum es so ist, wie es ist und warum das gut so ist. | ||
151 | ** Wie können Erweiterungen vorgenommen werden | ||
152 | * Keine Dinge wiederholen, die in diesem Wiki stehen oder das Spiel erklären (kostet nur Zeit) | ||
153 | * Ehrlich bei Fehlern und Problemen sein | ||
154 | * „Knackige“ Online-Demonstration des aktuellen Standes (nicht optional!) | ||
155 | ** mit Moderation, | ||
156 | ** die Demonstration sollte ein Konzept und einen roten Faden haben: Nicht einfach starten und schauen, was passiert. | ||
157 | ** Cheats können helfen, sinnvolle Situationen zum Präsentieren herbeizuführen | ||
158 | ** Es ist wichtig, dass ich der Demonstration folgen kann. | ||
159 | ** Kein Video erstellen, sondern live demonstrieren. Dann kann ich auch mal eingreifen, Fragen stellen und bekomme einen "echteren" Eindruck. | ||
160 | ** Wenn der Start länger dauert (z.B. weil erst IntelliJ gestartet werden muss), bitte dies **vor der Präsentationen** machen. | ||
161 | * Einschränkungen/Anpassungen/Änderungen nennen | ||
162 | * 20-30 Minuten (sinnvoll füllen) | ||
163 | * Je nachdem, ob online oder in Präsenz (siehe dazu im Stud.IP im Wiki zur Veranstaltung) | ||
164 | ** Präsenz: Nur eine Delegation (max. 3 Personen) vor meinem Büro ([[Mein Büro>>url:https://confluence.swl.informatik.uni-oldenburg.de/spaces/SWP/pages/92930069/O115+Mein+B%C3%BCro]]). | ||
165 | *** Die Präsentation sollte aufgrund der Größe des Raumes am besten im Sitzen gehalten werden. Bei der finalen [[Präsentation>>url:https://confluence.swl.informatik.uni-oldenburg.de/spaces/SWP/pages/393400/TA+6+Abnahme]] sollte der Vortragende allerdings stehen. | ||
166 | ** Falls die Präsentation online stattfindet, | ||
167 | *** dürfen natürlich beliebig viele Personen der Gruppe teilnehmen | ||
168 | *** sollten die **Vortragenden eine Kamera** anmachen (geht z.B. auch mit dem Smartphone als Kamera) | ||
169 | * Es sollten bei jeder Präsentation andere Mitglieder der Gruppe vorstellen. Es müssen aber nicht alle da gewesen sein. | ||
170 | |||
171 | {{info}} | ||
172 | **Wichtig!** | ||
173 | |||
174 | * Keinen Ausdruck der Folien. Ich mache mir digitale Notizen. Deswegen ist es umso wichtiger: | ||
175 | * **Für jede Präsentation eine Seite im Confluence erstellen (vorher!) mit angehängten Dokumenten (aktueller Stand der Dokumentation, Modelle und Präsentation)**. Dies ist vor allem hilfreich, wenn mal Dinge vergessen werden. | ||
176 | * 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! | ||
177 | * Bitte die Präsentationen so benennen, dass die Gruppe und die Art der Präsentation klar ist. Z.B. GruppeA_ErstePräsentation.pdf. | ||
178 | {{/info}} | ||
179 | |||
180 | {{success}} | ||
181 | **Hinweise:** | ||
182 | |||
183 | * Ein HD-Fernseher (Anschlüsse HDMI und VGA) ist vorhanden. | ||
184 | * WLAN steht zur Verfügung. | ||
185 | {{/success}} | ||
186 | |||
187 | == Hinweise & Tricks zur Präsentation: == | ||
188 | |||
189 | 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. | ||
190 | |||
191 | Bemerkungen: | ||
192 | |||
193 | * Die Einbindung und Darstellung in Confluence von Präsentationen ist nicht die Beste. Die eingebundene Präsentation ist nur als Vorschau gedacht. Dort werden auch leider Folien "gefressen" und die Qualität extrem runtergeschraubt. Daher findet ihr die Präsentation unten als PDF und als PP in der Anhangsliste - diese zum Bearbeiten nutzen. | ||
194 | * 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. | ||
195 | * 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. | ||
196 | * Am Ende der Präsentation bitte eine Zusammenfassungs- und Ausblicksfolie. | ||
197 | |||
198 | = [[Teilaufgabe 6: Abnahme>>Teilaufgabe 6: Abnahme||anchor="TA6"]] = | ||
199 | |||
200 | Hier im wesentlichen die selben Dinge beachten wie [[TA 5: Zwischenpräsentation>>url:https://confluence.swl.informatik.uni-oldenburg.de/spaces/SWP/pages/393401/TA+5+Zwischenpr%C3%A4sentation]] (mit Ausnahme der letzten vier Spiegelstriche [[~[~[image:https://confluence.swl.informatik.uni-oldenburg.de/s/of8lpm/9203/cnf719/_/images/icons/emoticons/wink.svg~|~|alt="(Zwinkern)"~]~]>>url:https://confluence.swl.informatik.uni-oldenburg.de/s/of8lpm/9203/cnf719/_/images/icons/emoticons/wink.svg]] ), 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!** | ||
201 | |||
202 | Und **zusätzlich**: | ||
203 | |||
204 | * d.h. hier auch die wichtigen Konzept, Ideen und Modelle vorstellen | ||
205 | * In der Demo die Registrierung nicht mehr zeigen. | ||
206 | * Screenshots zur Erklärung der wesentlichen Komponenten (bitte hier keine Mockups mehr oder Vorher/Nachherdarstellungen) | ||
207 | * Die Qualitätssicherung: | ||
208 | ** Projektmanagement | ||
209 | ** Testen | ||
210 | * allgemeiner Rück- und Ausblick, aber bitte keinen detaillierten Rückblick auf einzelne Sprints (In Sprint 1 haben wir ... In Sprint 2 haben wir ...) | ||
211 | * Auf eine sinnvolle Auswahl und Gewichtung achten. Wenn Dinge ähnlich sind, besser zusammenfassen, dafür aber wichtige Ideen, verwendete Algorithmen und Konzept vorstellen. | ||
212 | * 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. | ||
213 | * Alle Mitglieder der Gruppe müssen da sein! Es besteht Anwesenheitspflicht. | ||
214 | |||
215 | {{success}} | ||
216 | **Hinweise:** | ||
217 | |||
218 | * 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. | ||
219 | * Ich habe eine ganze Menge an Präsentationen. Ich kann mich nicht immer an alles vorher erinnern [[~[~[image:https://confluence.swl.informatik.uni-oldenburg.de/s/of8lpm/9203/cnf719/_/images/icons/emoticons/wink.svg~|~|alt="(Zwinkern)"~]~]>>url:https://confluence.swl.informatik.uni-oldenburg.de/s/of8lpm/9203/cnf719/_/images/icons/emoticons/wink.svg]] | ||
220 | * Die Präsentierenden sollten (im Unterschied zu [[TA 5: Zwischenpräsentation>>url:https://confluence.swl.informatik.uni-oldenburg.de/spaces/SWP/pages/393401/TA+5+Zwischenpr%C3%A4sentation]]) besser vorne stehen. Dann kann ich unabhängig vom Sitzplatz sowohl die Person als auch die Folien anschauen. | ||
221 | {{/success}} | ||
222 | |||
223 | Abgabe: | ||
224 | |||
225 | * **Bitte: vor der Abnahme die Präsentation als PDF schon einmal in dem Cloud-Ordner hochladen.** | ||
226 | * Bis zur Präsentation muss nur die Präsentation fertig sein. Alle andere Dokumente können später erstellt/finalisiert werden. | ||
227 | * Dokumente (als PDF! Die wichtigen zusammen in einem Ordner und **nicht in die VM (s.u.) packen**!) | ||
228 | ** Die Dokumentation darf als Export aus dem Confluence generiert werden. | ||
229 | * Der Quellcode | ||
230 | ** braucht nicht abgegeben werden, da er ja in Bitbucket vorhanden ist. | ||
231 | ** 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) | ||
232 | ** 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! | ||
233 | ** Die Tests sollten alle ohne externe Datenbank laufen! | ||
234 | * Protokolle, Präsentationen, … | ||
235 | * zusätzlich (!) virtuelle Maschine (VMWare (mit VMWarePlayer abspielbar!) **oder** VirtualBox) | ||
236 | ** mit vollständig eingerichtetem lauffähigem Server für mich zum Testen (mit Hinweise zur Verwendung, z.B. mit Readme auf Desktop) | ||
237 | ** ohne Abhängigkeiten nach außen (E-Mail, Datenbank, etc.!). Die DB darf hauptspeicherbasiert (MainMemoryBasedUserStore) sein. | ||
238 | ** VM sollte den Gruppennamen enthalten | ||
239 | ** keine Dokumente in der VM "verstecken", d.h. die Dokumente zur Abgabe müssen extra abgegeben werden. | ||
240 | ** 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!) | ||
241 | ** Die VM sollte nicht zu groß sein! Linux statt Windows kann hier schon viel helfen [[~[~[image:https://confluence.swl.informatik.uni-oldenburg.de/s/of8lpm/9203/cnf719/_/images/icons/emoticons/wink.svg~|~|alt="(Zwinkern)"~]~]>>url:https://confluence.swl.informatik.uni-oldenburg.de/s/of8lpm/9203/cnf719/_/images/icons/emoticons/wink.svg]] (Windows ist aber erlaubt) | ||
242 | ** BITTE die VM testen. Insbesondere ob auch alles funktioniert! | ||
243 | ** Es ist erlaubt, die VM in ein Multi-Volume-Archive zu verpacken, falls es Probleme mit dem Upload gibt. | ||
244 | ** Kein Docker, da ich auch meinen Rechner vor der VM absichern muss (Sonst müsste ich einen zusätzlichen Rechner dafür nutzen ... DSGVO) | ||
245 | * **10 Minuten-Video, Format MP4** | ||
246 | ** Das Video sollte von nicht deutlich von den 10 Minuten abweichen (10% sind ok) | ||
247 | ** 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). | ||
248 | ** Das Video sollte nicht größer als **100 MB** sein, d.h. **1080p** ist vollkommen ausreichend (siehe vorherigen Kommenatar zum ggf. notwendigen Konvertieren) | ||
249 | ** mit Präsentation des Endproduktes (z.B. mit HyperCam), | ||
250 | ** bitte mit **Ton** | ||
251 | ** Fokus bitte auf das **Spiel** | ||
252 | ** Registrierung, Chat, Besonderheiten außerhalb des Spiels etc. max 1 Minute | ||
253 | ** Bitte mit mehreren Spielern spielen | ||
254 | ** Spezielle Spielsituationen (gemäß Regeln) sollten extra dargestellt werden um zu zeigen, wie die Software damit umgeht | ||
255 | ** 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. | ||
256 | ** Bitte keine **Namen oder Bilder von echten Personen** im Video verwenden. | ||
257 | |||
258 | **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. 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 werden.~*~* | ||
259 | |||
260 | [[Siehe->#TA6]] | ||
261 | |||
262 | {{success}} | ||
263 | **Hinweise:** | ||
264 | |||
265 | * Der Termin für die finale Abgabe ist immer der Tag, an dem **die letzte Präsentation der letzten Gruppe** (siehe [[Aktuelles>>url:https://confluence.swl.informatik.uni-oldenburg.de/spaces/SWP/pages/651231243/Aktuelles]]) stattfindet, es darf aber auch während der Präsentation abgegeben werden [[~[~[image:https://confluence.swl.informatik.uni-oldenburg.de/s/of8lpm/9203/cnf719/_/images/icons/emoticons/smile.svg~|~|alt="(Lächeln)"~]~]>>url:https://confluence.swl.informatik.uni-oldenburg.de/s/of8lpm/9203/cnf719/_/images/icons/emoticons/smile.svg]]. 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. | ||
266 | * Der Upload in die Cloud ist innerhalb des Uni-Netzes i.d.R. deutlich schneller. | ||
267 | * Es kann passieren, dass es deutlich länger mit dem Upload dauert, wenn alle gleichzeitig hochladen ... | ||
268 | * Falls es noch deutliche Unterschiede zwischen dem Stand der in der Präsentation vorgestellt wurde und der Abgabe gibt, bitte noch einmal explizit dokumentieren! | ||
269 | * 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. | ||
270 | * Der Upload müsste auch mit dem Nextcloud-Sync-Tool erfolgen können, falls es Probleme mit der Web-Version gibt. | ||
271 | * Änderungen am Git-Code sind nach der Abgabe natürlich ebenfalls nicht mehr zulässig. | ||
272 | {{/success}} | ||
273 | |||
274 | [[Zum Teilaufgabe 1 springen>>#hTeilaufgabe1-Projektmanagementorganisieren]] | ||
275 | |||
276 | [[Springe zur Teilaufgabe 1>>Aufgabenstellung#hTeilaufgabe1Projektmanagementorganisieren]] | ||
277 | |||
278 | [[Aufgabenstellung#hTeilaufgabe1Projektmanagementorganisieren>>Springe zur Teilaufgabe 1]] | ||
279 | |||
280 | [[#hTeilaufgabe1Projektmanagementorganisieren>>Springe zur Teilaufgabe 1]] | ||
281 | |||
282 | [[#hTeilaufgabe1Projektmanagementorganisieren>>Springe zur Teilaufgabe 1]] |