From 774904350a92223889831130a414a221b954e5ba Mon Sep 17 00:00:00 2001 From: fdai7801 Date: Sun, 3 Dec 2023 22:18:46 +0100 Subject: [PATCH] Aktualidierung --- Lerntagebuch.md | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/Lerntagebuch.md b/Lerntagebuch.md index fc1637f..30c1384 100644 --- a/Lerntagebuch.md +++ b/Lerntagebuch.md @@ -88,3 +88,23 @@ - Konflikt : Ein Konflikt tritt auf, wenn Git die Änderungen zweier Branches nicht automatisch zusammenführen kann. Konflikte müssen manuell aufgelöst werden. +--- +## SU 05 (01.12.2023) + +### Lernziel +* Relevante Literatur für Programmiermethoden und Werkzeuge, einschließlich "Continuous Integration and Delivery" und "Programmierung und Ethik". +* Kooperation im Softwareentwicklungsprozess, einschließlich der Größe von Softwareprojekten, Zusammenführen von Einzelleistungen und Vorteile von Continuous Integration (CI)-Systemen. +* Bestandteile des Softwareentwicklungsprozesses, Abhängigkeitenverwaltung, semantische Versionierung, Source Code Management System (SCM), build-Prozess und Integration. +* Rolle von automatisierten Tests, Probleme der Continuous Integration, Vorteile automatisierter Tests und Grenzen automatisierter Tests. +* Vorgehensmodelle, darunter gemeinsames remote repository und privater fork. + +### Erkenntnis +* Integration von CI-Systemen zur Automatisierung von Prozessen. +* Verwendung von SCM-Systemen für die Sicherung von Entwicklerarbeiten und Zusammenführung von parallel geänderten Dateien. +* Anwendung der semantischen Versionierung für klare Versionierung von Softwarekomponenten. + +### Wiederholung +* Semantische Versionierung: Major für inkompatible Änderungen, Minor für zusätzliche Features bei abwärtskompatiblen Änderungen, Patch für Fehlerbehebungen bei abwärtskompatiblen Änderungen. +* Continuous Integration (CI): Automatisierte Prozesse verringern den Aufwand, formale Prozesse verringern Konfliktpotenzial, Vorstufe zu Continuous Delivery. +* Build-Prozess: Übersetzen, Abhängigkeiten organisieren, automatisierte Tests ausführen, Liefer-Artefakte erzeugen, Deployment. +* Automatisierte Tests: Dokumentieren gewünschtes Verhalten, sind wiederholbar, erkennen Laufzeitfehler, entkoppeln Ausführungszeit von Arbeitszeit.