Hausaufgabe: Unterschied zwischen den Versionen
Aus Das Sopra Wiki
KKeine Bearbeitungszusammenfassung |
|||
| Zeile 25: | Zeile 25: | ||
Die folgenden Dienste sollten Sie eingerichtet und getestet haben: | Die folgenden Dienste sollten Sie eingerichtet und getestet haben: | ||
* Zugang zum [[Gitea]] ihrer Gruppe auf [https://sopragit.informatik.uni-freiburg.de Sopra Git]. | * Zugang zum [[Gitea]] ihrer Gruppe auf [https://sopragit.informatik.uni-freiburg.de Sopra Git]. | ||
* [[GIT#Git für das SOPRA vorbereiten|Einrichten des Git | * [[GIT#Git für das SOPRA vorbereiten|Einrichten des Git Repository]]. | ||
* Die Gruppenmailingliste. | * Die Gruppenmailingliste. | ||
| Zeile 36: | Zeile 36: | ||
* Klicken Sie auf <code>Issues -> Labels</code>. | * Klicken Sie auf <code>Issues -> Labels</code>. | ||
* Wenn noch keine Labels eingerichtet wurden, werden Sie gefragt ob eines der vorkonfigurierten Menge von Labels verwendet werden soll. Wählen Sie hier das vorkonfigurierte Set <code>Sopra</code>. | * Wenn noch keine Labels eingerichtet wurden, werden Sie gefragt ob eines der vorkonfigurierten Menge von Labels verwendet werden soll. Wählen Sie hier das vorkonfigurierte Set <code>Sopra</code>. | ||
* Prüfen sie ob Labels für Priorität und Zeitabschätzung vorhanden sind, wie auf dem Bild zu sehen (Details können variieren). Wenn keine Labels zur Zeitabschätzung und | * Prüfen sie ob Labels für Priorität und Zeitabschätzung vorhanden sind, wie auf dem Bild zu sehen (Details können variieren). Wenn keine Labels zur Zeitabschätzung und Priorisierung vorhanden sind, löschen Sie alle Labels. Wählen Sie dann wie oben beschrieben das vorkonfigurierte Labelset für das Sopra. | ||
<br clear="all"> | <br clear="all"> | ||
| Zeile 52: | Zeile 52: | ||
* Klicken Sie auf den Reiter <code>Issues</code>. | * Klicken Sie auf den Reiter <code>Issues</code>. | ||
* Prüfen Sie ob bereits ein Item <code>Alle Studenten in der Gruppe sollen Git und Gitea bedienen können, damit sie in Zukunft produktiver arbeiten.</code> existiert und mit <code>user story</code> getaggt ist. | * Prüfen Sie ob bereits ein Item <code>Alle Studenten in der Gruppe sollen Git und Gitea bedienen können, damit sie in Zukunft produktiver arbeiten.</code> existiert und mit <code>user story</code> getaggt ist. | ||
** | ** Wenn nicht legen Sie eine entsprechende Userstory an indem Sie den weiteren Punkten folgen. | ||
* Klicken Sie <code>Neuer Issue</code>. | * Klicken Sie <code>Neuer Issue</code>. | ||
* Tragen sie als Titel <code>Alle Studenten in der Gruppe sollen Git und Gitea bedienen können, damit sie in Zukunft produktiver arbeiten.</code> ein. | * Tragen sie als Titel <code>Alle Studenten in der Gruppe sollen Git und Gitea bedienen können, damit sie in Zukunft produktiver arbeiten.</code> ein. | ||
* Weisen Sie die Label <code>user story</code> und <code>priority: high</code> zu, indem Sie auf das Zahnrad neben dem Schrifzug ''Label'' drücken und die entsprechenden Label auswählen. | * Weisen Sie die Label <code>user story</code> und <code>priority: high</code> zu, indem Sie auf das Zahnrad neben dem Schrifzug ''Label'' drücken und die entsprechenden Label auswählen. | ||
* Weisen Sie | * Weisen Sie dem Sprint (Meilenstein) ''Hausaufgabe'' zu. | ||
* | * Drücken sie auf <code>Issue Erstellen</code>. | ||
* Fügen Sie außerdem noch die beiden User Stories: | * Fügen Sie außerdem noch die beiden User Stories: | ||
** <code>Alle Studenten in der Gruppe sollen | ** <code>Alle Studenten in der Gruppe sollen die Texte verstehen, damit sie besser Spiele entwickeln können.</code> und | ||
** <code>Alle Studenten in der Gruppe sollen | ** <code>Alle Studenten in der Gruppe sollen sollen ein MonoGame Programm schreiben um zu prüfen ob alles funktioniert.</code> auf dieselbe Art hinzu. | ||
<br clear="all"> | <br clear="all"> | ||
| Zeile 78: | Zeile 78: | ||
* <code> ... 'Usability-Prinzipien beim Spieldesign' Artikel lesen</code> | * <code> ... 'Usability-Prinzipien beim Spieldesign' Artikel lesen</code> | ||
* <code> ... 'Git' und 'Git Workflow' Artikel lesen </code> | * <code> ... 'Git' und 'Git Workflow' Artikel lesen </code> | ||
* Weisen sie der User Story <code>Alle Studenten in der Gruppe sollen | * Weisen sie der User Story <code>Alle Studenten in der Gruppe sollen die Texte verstehen, damit sie besser Spiele entwickeln können.</code> alle vier Tasks als abhängigkeit zu. | ||
<br clear="all"> | <br clear="all"> | ||
| Zeile 88: | Zeile 88: | ||
Bevor Sie mit den Aufgaben beginnen, sollten Sie die entsprechenden Tasks akzeptieren. | Bevor Sie mit den Aufgaben beginnen, sollten Sie die entsprechenden Tasks akzeptieren. | ||
* Wählen Sie einen ihrer | * Wählen Sie einen ihrer Tasks aus dem Sprintbacklog (<code>Issues -> Milestones -> Hausaufgabe</code>) aus, indem Sie auf den Titel des Tasks klicken. | ||
* Weisen Sie das | * Weisen Sie das Label <code>estimate: 1</code> zu, um eine Zeitabschätzung zu geben, wie lange Sie für diese Aufgabe brauchen werden. Wenn sie vermuten, Sie benötigen mehr als eine Stunde, wählen Sie einen entsprechend höheren Wert aus. | ||
* Weisen Sie sich dem | * Weisen Sie sich dem Task zu, indem Sie auf das Zahnrad neben dem Schriftzug ''Zuständig'' klicken, und ihren Benutzernamen auswählen. | ||
Die Änderungen werden sofort gespeichert (es ist nicht nötig einen Kommentar zu schreiben). Aktzeptieren Sie so alle Tasks die sie in den vorhergehenden Aufgaben erstellt haben. | Die Änderungen werden sofort gespeichert (es ist nicht nötig einen Kommentar zu schreiben). Aktzeptieren Sie so alle Tasks die sie in den vorhergehenden Aufgaben erstellt haben. | ||
<br clear="all"> | <br clear="all"> | ||
| Zeile 98: | Zeile 98: | ||
Bevor Sie mit der Arbeit zu beginnen, prüfen Sie noch einmal ob alle Tasks und Userstories im Sprintbacklog vorhanden sind. | Bevor Sie mit der Arbeit zu beginnen, prüfen Sie noch einmal ob alle Tasks und Userstories im Sprintbacklog vorhanden sind. | ||
* Klicken sie auf den Reiter <code>Issues -> Meilensteine -> Hausaufgabe</code> | * Klicken sie auf den Reiter <code>Issues -> Meilensteine -> Hausaufgabe</code> | ||
* Schränken Sie die Anzeige auf Userstories ein, indem | * Schränken Sie die Anzeige auf Userstories ein, indem Sie den Button <code>Label ⯆</code> drücken und das Label <code>user story</code> auswählen. Prüfen Sie ob alle Userstories vorhanden sind. | ||
* Schränken Sie die Anzeige auf ihnen | * Schränken Sie die Anzeige auf ihnen zugewiesene Tasks ein, indem sie unter <code>Label ⯆</code> <code>alle Labels</code> wählen, und unter <code>Zuständig ⯆</code> ihren Usernamen. Prüfen Sie ob alle Tasks vorhanden sind. | ||
* Erstellen Sie eventuell nicht vorhandene Userstories und Tasks wie in den vorhergehenden Aufgaben beschrieben. | * Erstellen Sie eventuell nicht vorhandene Userstories und Tasks wie in den vorhergehenden Aufgaben beschrieben. | ||
| Zeile 108: | Zeile 108: | ||
* Machen Sie sich mit den anderen Funktionen von [[Gitea]] vertraut und lesen Sie den Artikel [[Scrum und Gitea]] | * Machen Sie sich mit den anderen Funktionen von [[Gitea]] vertraut und lesen Sie den Artikel [[Scrum und Gitea]] | ||
* Beschreiben Sie in einem Kommentar zu Task ''Student <username> soll 'Scrum' verstehen'' (Kommentarfeld unter <code>Issues -> Meilensteine -> Hausaufgabe -> Student <username> soll 'Scrum' verstehen</code>) kurz und prägnant wie Scrum funktioniert, und wie Scrum im SoPra auf Gitea realisiert wird. | * Beschreiben Sie in einem Kommentar zu Task ''Student <username> soll 'Scrum' verstehen'' (Kommentarfeld unter <code>Issues -> Meilensteine -> Hausaufgabe -> Student <username> soll 'Scrum' verstehen</code>) kurz und prägnant wie Scrum funktioniert, und wie Scrum im SoPra auf Gitea realisiert wird. | ||
* | * Schließen Sie danach den Task. | ||
== Aufgabe 4: Texte lesen == | == Aufgabe 4: Texte lesen == | ||
Lesen Sie sich die folgenden Artikel durch, und kommentieren Sie ihr entsprechendes Ticket: | Lesen Sie sich die folgenden Artikel durch, und kommentieren Sie ihr entsprechendes Ticket: | ||
* Lesen Sie [[CleanCode|Clean Code Development]] | * Lesen Sie [[CleanCode|Clean Code Development]] | ||
** Beschreiben Sie in einem Kommentar zum entsprechenden Task ein Cleancodeprinzip | ** Beschreiben Sie in einem Kommentar zum entsprechenden Task ein Cleancodeprinzip das noch keiner aus ihrer Gruppe beschrieben hat. | ||
* Lesen Sie [[Dokumentation]] | * Lesen Sie [[Dokumentation]] | ||
* Lesen Sie [[UsabilityForGames|Usability-Prinzipien beim Spieldesign]] | * Lesen Sie [[UsabilityForGames|Usability-Prinzipien beim Spieldesign]] | ||
** Beschreiben Sie in einem Kommentar zum entsprechenden Task ein Usabilityprinzip | ** Beschreiben Sie in einem Kommentar zum entsprechenden Task ein Usabilityprinzip das noch keiner aus ihrer Gruppe beschrieben hat. | ||
* Lesen sie die Artikel [[GIT|Git]] und [[GitWorkflow| Git Workflow]] | * Lesen sie die Artikel [[GIT|Git]] und [[GitWorkflow| Git Workflow]] | ||
** [[Git#Repository clonen| | ** [[Git#Repository clonen|Klonen]] sie das Gruppenrepository. | ||
** Schreiben | ** Schreiben Sie Ihren Namen (und falls noch nicht eingetragen den Termin für das Gruppentreffen) in die <code>README.md</code>. Verwenden Sie hierfür nicht den Editor in Gitea, sondern editieren sie die Datei in ihrem lokalen Git-Repository. | ||
** [[Git#Änderungen an einer Datei| | ** [[Git#Änderungen an einer Datei| Committen]] sie ihre Änderungen. Benutzen sie die Commitnachricht <code>Added Name to Readme.md (closes <ticketnummer>)</code> um den entsprechenden Task in Gitea [[Git#Git und Gitea | per Commitnachricht zu schließen]]. | ||
** [[Git#Änderungen in das remote Repository laden (pushen)| | ** [[Git#Änderungen in das remote Repository laden (pushen)| Synchronisieren]] sie ihre Änderungen mit dem Server. Beachten Sie dabei [[GitWorkflow#Tägliche Arbeit Synchronisieren| den vorgeschlagenen Git-Workflow]]. | ||
=== Tasks bearbeiten === | === Tasks bearbeiten === | ||
Bearbeiten sie die Tasks und tragen | Bearbeiten sie die Tasks und tragen Sie entsprechende Zeiten in den Tickets ein. Besonders bei Programmieraufgaben ist dies sinnvoll, da so eine Historie der Bearbeitung und der verbrauchten Zeit erstellt wird. Dies hilft nicht nur Ihnen bei der Planung weiterer Aufgaben und Abschätzung der dafür benötigten Zeit, sondern dient auch als Nachweis für Ihre kontinuierliche Mitarbeit (siehe [[Formalien]]). | ||
'''Achtung''': Geben Sie | '''Achtung''': Geben Sie Acht beim Zeit eintragen, da Sie die Summe nachträglich nur nach oben verändern können. | ||
=== Tasks schließen === | === Tasks schließen === | ||
Wenn Sie mit einer Aufgabe fertig sind, sollten Sie Ihren entsprechenden Task schließen. Gehen Sie ähnlich wie beim Akzeptieren eines Tasks vor und drücken Sie auf den Button '' | Wenn Sie mit einer Aufgabe fertig sind, sollten Sie Ihren entsprechenden Task schließen. Gehen Sie ähnlich wie beim Akzeptieren eines Tasks vor und drücken Sie auf den Button ''Schließen''. | ||
Vergessen Sie nicht die Zeit die Sie für den Task benötigt haben, einzutragen (falls Sie das noch nicht gemacht haben). | Vergessen Sie nicht die Zeit, die Sie für den Task benötigt haben, einzutragen (falls Sie das noch nicht gemacht haben). | ||
== Aufgabe 5: Programm schreiben == | == Aufgabe 5: Programm schreiben == | ||
| Zeile 180: | Zeile 180: | ||
=== Abgabe Finalisieren === | === Abgabe Finalisieren === | ||
{{RefImg|gitea_mergehomework.png|300px|12|Einen Pullrequest erstellen.}} | {{RefImg|gitea_mergehomework.png|300px|12|Einen Pullrequest erstellen.}} | ||
Wenn Sie in Ihrer Gruppe die Aufgaben als | Wenn Sie in Ihrer Gruppe die Aufgaben als letztes abschließen (d.h. Sie den letzten offenen Task (nicht Userstory) im Sprint schließen, müssen Sie noch folgende Schritte ausführen. | ||
* | * Schließen Sie alle Userstories für die entsprechende Tasks abgeschlossen wurden (da alle Tasks geschlossen sind, sollten das alle Userstories sein). | ||
* Erstellen sie einen [[Gitea#Pullrequest|Pullrequest]], sodass der aktuelle Stand von <code>dev</code> nach <code>master</code> gemerged wird. Gehen Sie wie | * Erstellen sie einen [[Gitea#Pullrequest|Pullrequest]], sodass der aktuelle Stand von <code>dev</code> nach <code>master</code> gemerged wird. Gehen Sie wie folgt vor: | ||
** Klicken Sie in Gitea auf den Reiter <code>Code -> Branch: dev</code>. | ** Klicken Sie in Gitea auf den Reiter <code>Code -> Branch: dev</code>. | ||
** Drücken Sie auf den | ** Drücken Sie auf den grünen Button neben dem Branch-dropdown. | ||
** Prüfen Sie im folgenden Dialog, dass als Ziel <code>master</code> und als pullen von <code>dev</code> gewählt sind. Geben Sie dem Pullrequest den Titel ''Hausaufgabe''. | ** Prüfen Sie im folgenden Dialog, dass als Ziel <code>master</code> und als pullen von <code>dev</code> gewählt sind. Geben Sie dem Pullrequest den Titel ''Hausaufgabe''. | ||
** Drücken Sie auf <code>Pullrequest Erstellen</code>. | ** Drücken Sie auf <code>Pullrequest Erstellen</code>. | ||
** Gitea wird feststellen, dass <code>dev</code> automatisch in <code>master</code> | ** Gitea wird feststellen, dass <code>dev</code> automatisch in <code>master</code> gemerged werden kann. Ein weiteres Drücken auf <code>Pull-Request Zusammenführen</code> öffnet ein Kommentarfenster, noch einmal drücken schließt den Pull-Request ab. | ||
Die Änderungen die Sie und ihre Gruppe | Die Änderungen die Sie und ihre Gruppe während des Hausaufgabensprints gemacht haben, wurden nun in den Masterbranch übertrangen. | ||
=== Hinweise === | === Hinweise === | ||
