@ -101,15 +101,50 @@ ich würde mir wünschen, dass Sie die Vorlesungsfolien bereits vor Beginn der V
- Abschließend haben wir uns mit den Themen merge und rebase beschäftigt
# Erkenntnis:
## Erkenntnis:
Für das Gruppenprojekt kann ich commits anwenden.
Dabei ist es wichtig diese klein und sauber zu halten, da es die Fähigkeit von GIT verbessert, Konflikte automatisch zu lösen. Außerdem verbessert es meine Fähigkeit, Konflikte manuell zu lösen.
# Wiederholung:
## Wiederholung:
Begriff (merge): Mit dem Befehl git merge kann man die unabhängigen Entwicklungszweige, die mit git branch erstellt wurden, in einen einzigen Branch integrieren. Mit git merge werden mehrere Commit-Abfolgen in einen einheitlichen Verlauf zusammengeführt.
Vor allem wird git merge genutzt, um zwei Branches zu vereinen.
# Woche 5
## Lernziel:
- Kooperation im Softwareentwicklungsprozess
- Die Größe von Software-Projekten wurde definiert
- Zum oben genannten Punkt zählen Punkte, wie steigende Komplexität, mehrere Entwickler und das Zusammenführen der Einzelleistungen
- Das Zusammenführen der Einzelleistungen beruht auf Aufwand, Widerspruch Kreativität vs. Konformität, technische Konflikte, sowie persönliche Konflikte
- Vorteile von CI Systemen sind zum Beispiel automatisierte Prozesse, die den Aufwand verringern
- Ein weiterer Vorteil sind zum Beispiel formale Prozesse, die das Konfliktpotential verringern
- Bestandteile des Softwareentwicklungsprozess, wie zum Beispiel Integration und Bereitstellung
- Semantische Versionierung und die dazugehörigen Regeln
- Wir haben uns mit Source Code Management (SCM) beschäftigt
- Der build-Prozess besteht aus übersetzen, Abhängigkeiten organisieren, automatisierte Tests ausführen, Liefer-Artefakte erzeugen und Einsatz (Deployment)
- Wir sind die wesentlichen Punkte der Integration durchgegangen
- Wir sind auf die Rolle von automatisierten Tests eingegangen und haben dabei das Problem des (Continous) Integration besprochen, sind auf Vorteile automatisierter Tests aufmerksam geworden und haben uns die Grenzen automatisierter Tests angeschaut
- Abschließend haben wir Vorgehensmodelle thematisiert und haben gemeinsames remote (repository) und privater fork kennengelernt
## Erkenntnis:
Ich kann für das Gruppenprojekt ein gemeinsames remote repository anwenden, da es sehr nützlich sein kann. Zum Beispiel bringt es den Vorteil, dass jeder Entwickler Schreibzugriff hat. Außerdem hat man den Luxus, dass die Synchronisation einfach ist und die gepushten Zwischenstände für alle sichtbar sind.
## Wiederholung:
Continous Integration: In der Software-Entwicklung bezeichnet man Continuous Integration als ein Verfahren, bei der,Entwickler alle Codeänderungen regelmäßig in einem zentralen Repository zusammenführen. Diese Änderungen werden dann automatisiert erstellt und getestet. Mit der Continuous Integration wird meist die Erstellungs- oder Integrationsphase eines Software-Einführungsprozesses beschrieben und sie enthält eine automatisierte Komponente (z. B. einen CI- oder Erstellungsdienst), sowie eine menschliche Komponente.