‏ ‏ ‎ ‏ ‏ ‎

1. 2022-09-19

  • Einrichten von Discord

1.1. Asciidoctor

1.2. Kreativitätstechniken

  • bis inkl. Mindmap

2. 2022-09-30

2.1. Kreativitätstechniken

2.1.1. Bionik

2.1.2. Delphi-Methode

2.2. Projektantrag

2.2.1. Übung

  • Erstellen Sie einen Projektantrag in Asciidoctor - Format

  • Verwenden Sie hierzu die IntelliJ-Plugins

    • Asciidoctor

    • Plantuml

2.3. SWOT

2.4. Projektziele

effizienz vs effektivitaet
  • Effektivität: Grad der Zielerreichung

  • Effizienz: Input/Output - Relation

2.5. Asciidoctor Präambel

= Lecture Notes 22-23 / 1ahitm / SEW
Thomas W. Stütz
1.0.0, {docdate}: Softwareentwicklung
//:toc-placement!:  // prevents the generation of the doc at this position, so it can be printed afterwards
:sourcedir: ../src/main/java
:icons: font
:sectnums:    // Nummerierung der Überschriften / section numbering
:toc: left
:experimental:


//Need this blank line after ifdef, don't know why...

// print the toc here (not at the default position)
//toc::[]

== Lehrplan

3. 2022-10-07 (Fr.)

3.1. Projektziele

  • operativ

3.2. Stakeholder-Analyse

3.3. Projektauftrag

4. 2022-10-10 - Git

  • Commands

    • git add

    • git commit

    • git push

    • git clone

    • …​

  • Workflow

  • branches erstellen

  • mergen

  • auf frühere Version zurückgehen

5. 2022-10-14

5.1. Pflichtenheft

Phase Beschreibung Beispiel

Ausgangssituation

Beschreibung des Umfeldes und / oder des Unternehmens

Die HTL Leonding ist eine mittelgroße Schule im Zentralraum OÖ mit ca. 1200 Schülern

Istzustand

Beschreibung der Abteilung der Organisation bzw. des Geschäftsfalles

Die Abteilungen Informatik und Medientechnik haben einen beträchtlichen Programmieranteil

Problemstellung

Das Problem wird beschrieben OHNE die Lösung zu erwähnen

  • Neue Schülerinnen und Schüler (SuS) der 1. und 2.Jg. müssen umfangreiche Programmpakete installieren, um programmieren zu können

  • Die SuS sind angehalten, viele Beispiele zu programmieren.

  • Die einzelnen Lehrer haben Ihre eigenen Übungsbeispiele - neue Lehrer müssen sich Ihre eigenen Beispiele erarbeiten

Sollzustand / Ergebnis / Leistung / Aufgabenstellung

Welcher Zustand soll erreicht werden? Was soll zB erstellt werden?

Ein Portal ist zu erstellen in dem Schüler mit einer Online-IDE Beispiele aus einem vorhandenen Pool lösen können. Das Ergebnis dieses Projekts ist das fertige Portal.

Ziel

Leistungswirkung

Die SuS lernen einfacher eine Programmiersprache, …​

5.2. Git Branching Rules

git developer branch

6. 2022-10-17 Projektanträge durchgesehen

Table 1. Bsp für einen Projektantrag (vgl. Buch S. 45)
Kapitel Beschreibung Beispiel

Aufgabenbeschreibung

Was ist zu erstellen? Welche Funktionalität hat das zu erstellende Produkt?

Eine mobile App ist zu erstellen mit folgender Funktionalität:

  • Anlegen von ToDo-Listen

  • Abhaken von ToDo-Listen

  • Versehen von einzelnen ToDo-Einträgen mit Datum und Zeit, damit der User automatisch erinnert werden kann.

Nutzen

Welche Leistungswirkung ergibt sich?

Beim Einsatz im Schulunterricht:

  • Schüler vergessen keine (Haus-)Übungen und sonstiges mehr

  • Schüler lernen Zeitmanagement

Konsequenzen

Was passiert oder passiert nicht beim Fehlen des Produkts / Nichterstellen des Projekts

Die Noten von Schülern sind ev. schlechter

Pers. und finanz. Rahmenbedingungen

Was wird benötigt? Was ist ev. bereits vorhanden?

Ein Schülerteam aus ca. 4 Personen arbeitet ein Schuljahr dran.

7. 2022-11-04

7.1. Semantische Versionierung

7.2. Projektzuteilung

Projektzuteilung
png

7.3. UML

  • Was ist ein Modell?

    • Ein Modell ist ein vereinfachtes Abbild der Realität unter Berücksichtigung eines besonderen Aspektes

    • zB Datenmodell: Vereinfachte Darstellung einer Situation unter besonderer Berücksichtigung der Datenstrukturen

    • Ablaufdiagramm: Vereinfachte Darstellung einer Situation unter besonderer Berücksichtigung der Abläufe; zB Verschicken eines Pakets

7.3.1. Objektorientierter Entwurf S.274

7.3.2. Klassendiagramm

cld class

8. 2022-11-07

8.1. Klassendiagramm

  • Beziehungen

    • Assoziation

    • Aggregation

    • Komposition

    • Vererbung

    • Realisierung (Implementierung)

  • Beziehungen

    • unidirektional

    • bidirektional

  • Multiplizität

    • 1:*

    • 1:1

    • *:*

9. 2022-11-11

9.1. Notation

  • Schreib- oder Zeichenweise, wie etwas dargestellt wird. Vereinbarung, wie etwas gezeichnet oder geschrieben wird.

9.2. Klassendiagramme (Fortsetzung)

complete vs incomplete
disjoint vs overlapping
cld 1 n
cld n m var1
Figure 1. Variante 1
cld n m var2
Figure 2. Variante 2

9.2.1. Lesen von Beziehungen

lesen von beziehungen

9.3. Domain Object Model (DOM)

  • Nicht zu verwechseln mit einem Document Object Model (in einem HTML-Dokument)

  • Domain → Fachbereich (zB Autohandel, Immobilien, Medizin, …​)

  • vergleichbar mit einem ERD

  • es werden nur die Fachbereichsobjete und deren Beziehungen dargestellt und keine technischen Klassen (oder auch Interfaces)

9.4. Use-Case-Diagram (Anwendungsfalldiagramm)

  • Dient beim Erstellen der Anforderungen als Schnittstelle zwischen Kunde und Programmierer

  • Es werden Anwendungsfälle dargestellt

    • Bsp PKW

      • Transport von Personen

      • Transport von Gütern

      • ev. Statussymbol

demo5

9.5. Google Java Style Guide

code quality

10. 2022-11-14

10.1. Projektauftrag

bis Montag 21.11.2022

10.2. Repo-Strukturierung

  • README.adoc

  • asciidoc-Verzeichnis

  • backend

= Projekt XY
Projektmitglied A, ...
1.0.0, {docdate}
:icons: font
:sectnums:    // Nummerierung der Überschriften / section numbering
//:toc:
//:toclevels: 4
:experimental:
//https://gist.github.com/dcode/0cfbf2699a1fe9b46ff04c41721dda74?permalink_comment_id=3948218

== XY

TIP: Das ist ein Tipp

.Programmablaufplan
[%collapsible]
====
image::https://www.plantuml.com/plantuml/png/ZPBDZjCm4CVlVefXJwq4PVb0GYsBjeYFtGj2eENkn9DajCuuiiTKubauyWnxufONmoIjoQgYuMZD__VxZpI-3AAznDQg1vtNTQiX1loANgZKzhe2nsf8gFMxDTIuexAHpVZm3aF0ZQ8A5aLBy0gUl5ozM88qoB0G7t6f0DPfz5aBSGqNS7R3WdwlETiej07_uazdu8_Ejzh-YtvsVfhkVnIv-Z5yylrFRQXpWKI7OzdCAjkCmk8zYbYaWkfR95d21wyDN1yfdv__jt8q71IZuFL5CYHg5XivDbGf5NOaPRF8m5AL-ezmUePXa-qQRhe0Z-0B8JIwG8PfPhNPW_a4KpBrIhI47XzE-1oz9pXrXOFlodMTjlhUDbCk3OmESDlVCGj2qTybCx91pZNpzpcKRPCmShql2yG6gWoiu6qoxCYRkPPHcgrNP2jCpZT8S9o2jlyL0l9GQJnndRomIm699-nPFt25rx5iaiHWHKn2to2uoda194Q6hVykoPNCuozGGLodBjCxjlOt[]
====
XY
ACHTUNG

11. 2022-11-18

11.1. CLD Kinokette besprochen

11.2. Projektablauf

projekt leitfaden

12. 2022-11-21

12.1. Anforderungen an das Projekt-Repository

12.2. Wireframe vs Mockup vs Prototyp

13. 2022-11-25

13.1. Teststoff besprochen

14. 2022-11-28

14.1. Pflichtenheft

14.2. Git - Collaborator vs. Pull Request

14.3. V-Modell

v modell

15. 2022-12-05

Mitschrift: Ruep Michael

Was

  • Pflichtenheft

    • ein Pflichtenheft zeigt nicht wie man was macht

Wie

  • Problemvereinfachung durch Problemzerkleinerung:

    • Man nimmt die Probleme, unterteilt sie immer weiter in kleinere Probleme bis diese schaffbar sind.

  • Grobentwurf

    • Schnittstellen zwischen Komponenten definieren

      • Komponentendiagramm (UML)

      • Verteilungsdiagramm (UML)

    • Wichtig für die Zusammenarbeit (collaboration der Programmierer)

      • Damit die verschiedenen Teile miteinander funktionieren.

      • Mocken (=vortäuschen)

        • beispielsweise eine Datenbank vortäuschen wobei diese nur 3 Einträge enthält.

    • Bsp:

grobentwurf
  • Feinentwurf

    • Klassendiagramm (UML)

    • Zustandsdiagramm (UML)

    • Objektdiagramm (UML)

    • ..

    • Bsp:

feinentwurf
  • Implementierung

    • Durchführung (programmieren)

    • Das Ergebnis der Implementierung ist dann der Code

16. 2022-12-09

16.1. Anforderungsanalyse

Erhebung der Anforderungen für den Kunden

Mitschrift: Ruep Michael

  • Aufgabe: Kapitel Anforderungsanalyse lesen (S.235 ff)

16.1.1. Interview

Wird am häufigsten als Ist-Aufnahmetechnik eingesetzt

  • Standardisiert (fixe fragen)

  • Halbstandardisiert (teilweise fix)

  • Nicht-Standardisiert (benötigt gute Interviewer)

Offene Frage: Bsp: Wie geht es Ihnen?

Geschlossene Frage: antwort: ja nein Bsp: Hast du einen Führerschein?

Indirekte Frage: Hast du den Autoführerschein (um das ungefähre alter eingrenzen zu können).

Direkte Frage: Direkt das fragen, was man erfahren will.

  • Interviewvorbereitung (interview preparation)

  • Interviewdurchführung (interview session)

  • Interviewauswertung (interview follow up) Bsp: Das Erfahrene niederschreiben

Vorteile:

  • Möglichkeit zur vertiefung der Befragung durch Zusatzfragen und Verständnisfragen

  • Möglichkeit zur steigerung der Motivation des Befragten

Nachteile:

  • Zeitaufwand

  • Anforderung and die Fähigkeiten der Interviewer

  • Störung des Interviewten bei der Aufgaben erfüllung

16.1.2. Fragebogen

  • quantitativ: Zahlen

  • qualitativ: Meinungsbilder (wie geht es jemanden damit)

Es gibt Individual und Gruppenfragebögen

Vorteile:

  • schriftliche Ergebnisse

  • Anwendung der Wahrscheinlichkeitsrechnung

  • geringe Kosten

Nachteile:

  • geringe Antwortquote

  • Missverständnisse möglich

  • aufwendige Auswertung bei freien Fragen

16.1.3. Beobachtung

Direkte Erfassungsmethode, sinnliche Wahrnehmungen des Planers für zusätzliche Informationen.

  • Man fragt nicht nur

    • was gewollt ist, was das Problem ist was gemeint ist (was mann bekommt) man sagt auch

    • das und das eben nicht (was man nicht bekommt), somit fallen Missverständnisse auf.

  • Formen:*

    • offene oder verdeckte Beobachtung

    • strukturierte oder unstrukturierte Beobachtung

    • aktiv teilnehmende oder passive Beobachtung

    • Dauerbeobachtung oder unterbrochene Beobachtung

  • Multimomentaufnahme: Stichprobenartig (nicht nur genau an einem Zeitpunkt, immer wieder, um eine Übersicht über die vom Mitarbeiter durchgeführten Tätigkeiten zu bekommen)

16.1.4. Selbstaufschreibung

Strukturierte Aufzeichnung relevanter Ereignisse und Handlungen

Vorgehensrahmen:

  • Aufnahmenfestlegung

  • Aufnahmenvorbereitung

  • Mitarbeiterinformation

  • Durchführung

  • Auswertung

Vorteile:

  • mögliche Totalaufnahme

  • Entlastung des Systemplaners

Nachteile:

  • bewusste Fälschung

17. 2022-12-16

Mitschrift: Adelwöhrer Leonie

17.1. Git-Flow

  • Branches

    • Main Branch

      • Lauffähige Version

      • releases V.1.0

      • commits

    • Development Branch

      • Development Umgebung

      • cherry-picking

    • Feature Branch

      • Neue Funktionen

      • Bugfixes

      • Hotfix …​. muss schnell passieren

git overview2

17.2. V-Modell

  • Validierung = Lösen wir das Problem?

  • Grobentwurf = Datenbank, Backend, Frontend

  • Feinentwurf = Bis zum Klassendiagramm

  • Unterschied Entwurf und Design = Gibt keinen!

  • V-Modell (Vorgehensmodell…​ Wie erstelle ich es?) = alles in einem,

    • Wasserfallmodel (Grundlegende Prozessmodelle)

      • Analyse, Anforderungsanalyse, Design, Realisierung, Test, Einsatz und Wartung

    • iterative Prozesse (iterative Prozessmodelle)

    • XP (Agile Prozessmodelle)

Scrum (Haufen ⇒ agil heißt flink, beweglich)

  • kleine Einheiten

  • umfangreiche Dokumentation (im Code bspw. AsciiDoc)

  • Verträge

  • Fokus, Leistung

  • Verlauf:

    • Product Backlog (User-story, Sachlich)

    • Sprint Backlog (Zeitlich)

    • Sprint (Bis wann?)

    • lauffähige inkrementell verbesserte Software

  • Warum Domainmodell und kein Klassendiagramm? Da wir keine technischen Daten Benötigen!

Git

  • Versionierungssoftware

  • Architektur…​ Local Repo, Remote Repo

17.3. Dokumentenauswertung

Leicht verfügbare Informationsquelle. Auswertung der verfügbaren und relevanten Dokumente (heute meist elektronisch). Damit man weiß welche daten man hat.

  • Dokumentation des Systems

  • Studien über das System

  • Belege und Formulare

17.4. Weitere Methoden

  • Snowcards (Anforderungskarten)

  • Problem-Frames

  • QFD - Quality Function Deployment

  • Anforderungs Workshop

18. 2022-12-19

Mitschrift: Nico Wakolbinger

18.1. Scrum

  • Scrum Aktivitäten:

    • Anforderungsanalyse

    • Sprint Planning

  • Product Backlog

    • User Stories

    • Was bekomme ich? (sachliche Komponente)

    • Eine User Story oder Anwendererzählung ist eine kurze Beschreibung (Story) dessen, was ein Benutzer (User) will. Eine User Story besteht aus ein paar Sätzen, in denen beschrieben wird, was der Benutzer des Produkts machen will bzw. muss. Sie ist im Regelfall wenig detailliert und sollte auf ein post-it passen. (source: https://scrumguide.de/user-story/)

  • Sprint Backlog

    • User Stories werden in Task zerlegt (verfeinert)

    • Wie bekomme ich etwas?

  • Sprint: wann bekomme ich etwas?

  • Sprintdauer: in real-world Projekten ca. 30 Tage; in Schule ca 14 Tage

Inkrementieren → um 1 erhöhen, um ein Stück erhöhen, …​

Nach jedem Sprint ist das Produkt lauffähig → dieser Stand des Produkts wird "increment" genannt

18.1.1. Rollen im Scrum

  • Scrum Team)

    • Product Owner

      • vertritt die Interessen des Auftraggebers

    • Scrum Master

      • Kümmerer (sorgt für Softwarelizenzen, passende Hardware, …​)

    • Developers

      • Programmierer

      • maximal 8 Personen pro Team

  • Users

    • Softwarenutzer

  • Stakeholder

    • Betroffene des Projekts, sind involviert, arbeiten aber nicht mit der erstellten Software

18.2. User Story

Unterteilung in Tasks

→ Sprint Backlog

18.3. Burndown Chart

Ermöglicht den Fortschritt eines Sprints grafisch darzustellen.

19. 2022-12-23 Docker

Mitschrift: Nico Wakolbinger

Derivat: Abkömmling

Bekanntestes Linux Derivat ⇒ Ubuntu

Betriebssystem, Kernel

Packetmanager: z.B. apt, …​

20. 2023-01-09

21. 2023-01-XX

  • Fehlende UML Diagramme erarbeiten

    • Zustandsdiagramm

    • Aktivitätsdiagramm

22. 2023-02-17

  • Bis nach den Semesterferien

    • Cld fertigstellen

    • in Java programmieren

      • Entities

      • Repositories

    • Use-Cases mit assertj-db testen

    • Konfigurieren einer gh-page im Repo laut Angabe

Für die einzelnen Aktivitäten im youtrack User Stories und tasks anlegen und bei den Commits deren Id in der Commit-Message eintragen

23. 2023-02-27

23.1. Docker

  • Docker ist leichtgewichtige Virtualiserung.

23.1.1. Warum Docker?

works on my machine
  • Man braucht eine Laufzeitumgebung, die genau definiert ist

    • Java hatte früher den Slogan "Write once, runs anywhere" (WORA)

    • Heutzutage eher "Write once, run predictable" (WORP)

  • Unterschied Developer - Operator

    • Developer: programmiert Applikationen

    • Operator: ist im Rechenzentrum; kümmert sich um das Hosting der Anwendungen, Sicherungen, etc.

    • Es gab immer Konflikte zwischen Devs und Operators

    • → jetzt gibt es DevOps

Fragen:

  • Unterschiede Developer - Operator - DevOps

  • Aufgaben des DevOps

    • Was kommt zum Programmieren noch dazu?

  • Warum gibt es DevOps?

  • Aufgaben des Operators

  • …​

24. 2023-03-10

scrum und v modell

24.1. Testen

  • jUnit

unit tests
  • Test-Matcher

    • ein aktueller Wert wird mit einem vorgegebenen Wert verglichen.

    • in jUnit sind solche Matcher bereits eingebaut

      • assertEquals

      • assertTrue

      • assertXXX

    • Es gibt aber auch alternative Matcher

    • Vorteile von alternativen Matcher

24.2. Activity Diagrams

24.3. Zustandsdiagramme

25. 2023-03-13

25.1. Forstsetzung Docker

25.1.1. Registry

  • zB hub.docker.com

25.1.2. Bind Mounts vs Volumes

25.1.3. Hausübung

  • Erstellen eines Container mit MariaDb

    • In einem bind mount sollen die Datenbank-Files gespeichert werden (db-Verzeichnis)

    • Das docker run - Kommando soll in einem shell-script create-db-container.sh gespeichert werden.

    • Nach Ausführen des Scripts soll der Container erstellt werden.

    • Erstellung eines Script stop-db-container.sh (der Container muss automatisch gelöscht werden)

    • Nach einem neuerlichen Start müssen die Daten wieder vorhanden sein

    • Erstellen Sie in IntelliJ eine Datenbank-Connection zu Ihrer Maria-Db

26. 2023-03-24

26.1. Docker

  • Docker ist eine leichtgewichtige Virtualisierung

26.1.1. Komponenten

  • Container

  • Image

  • Netzwerk

  • ev. Volume oder Bind Mount

26.1.2. Image

  • Image ist immtable und kann daher von mehreren Containern benutzt werden.

  • Woher bekommt man ein Image?

    • Pullen von der Docker Registry

    • build mit einem Dockerfile (auch hier wird meist ein grundlegendes Image von einer Registry geholt)

  • Welche Registries gibt es?

    • Große öffentlich wie zB

      • hub.docker.com

      • quay.io

      • ghcr.io (Docker Registry von github)

      • …​

    • Man kann eine eigene Registry hosten

  • Dockerfile

    • vglbar mit einem Kochrezept oder einem shell-script

    • Die Befehle werden sequentiell abgearbeitet

FROM debian:bullseye-slim

LABEL maintainer="NGINX Docker Maintainers <docker-maint@nginx.com>"

ENV NGINX_VERSION   1.23.3
ENV NJS_VERSION     0.7.9
ENV PKG_RELEASE     1~bullseye

RUN set -x \
# create nginx user/group first, to be consistent throughout docker variants
    && addgroup --system --gid 101 nginx \
    && adduser --system --disabled-login --ingroup nginx --no-create-home --home /nonexistent --gecos "nginx user" --shell /bin/false --uid 101 nginx \
    && apt-get update \
    && apt-get install --no-install-recommends --no-install-suggests -y gnupg1 ca-certificates \
    && \
    NGINX_GPGKEY=573BFD6B3D8FBC641079A6ABABF5BD827BD9BF62; \
    found=''; \
    for server in \
        hkp://keyserver.ubuntu.com:80 \
        pgp.mit.edu \
    ; do \
        echo "Fetching GPG key $NGINX_GPGKEY from $server"; \
        apt-key adv --keyserver "$server" --keyserver-options timeout=10 --recv-keys "$NGINX_GPGKEY" && found=yes && break; \
    done; \
    test -z "$found" && echo >&2 "error: failed to fetch GPG key $NGINX_GPGKEY" && exit 1; \
    apt-get remove --purge --auto-remove -y gnupg1 && rm -rf /var/lib/apt/lists/* \
    && dpkgArch="$(dpkg --print-architecture)" \
    && nginxPackages=" \
        nginx=${NGINX_VERSION}-${PKG_RELEASE} \
        nginx-module-xslt=${NGINX_VERSION}-${PKG_RELEASE} \
        nginx-module-geoip=${NGINX_VERSION}-${PKG_RELEASE} \
        nginx-module-image-filter=${NGINX_VERSION}-${PKG_RELEASE} \
        nginx-module-njs=${NGINX_VERSION}+${NJS_VERSION}-${PKG_RELEASE} \
    " \
    && case "$dpkgArch" in \
        amd64|arm64) \
  • Die Statements (einzelnen Befehle) werden oft mit einem && verbunden, dh sie werden nacheinander ausgeführt

  • Dies ist wichtig, da Docker für jedes einzelne Kommando eine eigene Schicht erstellt.

  • Mit && können mehrere Befehle zu einer Schicht (Layer) zusammengefasst werden.

27. 2023-03-31

27.1. Docker-Netzwerk

28. 2023-04-14

28.1. Testrückgabe test03w

28.2. Dockerfile wiederholt

28.3. Git - Fork

28.4. Git - Templates

28.5. Testen

28.5.1. Was testet man?

Teststrategien
  • bei Datenbanken

    • CRUD-Funktionalität

      • CREATE - Erstellen eines Datensatzen einer Entity Klasse in der Entity-Table

      • READ - Lesen eines Datensatzes und erstellen des zugehörigen Java - Objekts

      • UPDATE - Ändern eines Java - Objekts und diese Änderungen werden in der zugehörigen DB-Tabelle gespeichert

      • DELETE - Löschen eines Java - Objekts mit dazugehörogem Löschen in der Datenbank

        Man beginnt mit den Stammdaten (ohne Abhängigkeiten zu anderen Tabelle)
      • Bsp:

        • Nicht Zimmer, sondern Hotel als erste Klasse testen

    • Transaktionen nicht vergessen

  • User Stories (Use-Cases, Anwendungsfälle) testen

    • zB Reise buchen

    • zB Reise stornieren

  • Grenzwertanalyse - Grenzwerte werden getestet

    • zB Alter von 450 Jahen bei Personen - wie reagiert das System

    • Alter von -10 Jahren

  • Äquivalenzklassenanalyse → Äquivalenzklassen identifizieren und aus jeder Klasse einen Wert testen und die Grenzen dieser Klasse

    • Bsp: Eintrittspeise: Kinder frei, Jugendliche 5 €, Erwachsene 50 €, Pensionisten 20€

      • Sind drei Äquivalenzklassen (alle Eingabewerte innerhalb einer solchen Klasse ergebn des selben Ausgabewert)

      • Bsp: Kind mit 3J → gratis

      • Kind mit 5 J → gratis

  • Exceptions testen

28.5.2. Naming der Tests

The name of your test should consist of three parts:

  • The name of the method being tested.

  • The scenario under which it’s being tested.

  • The expected behavior when the scenario is invoked

29. 2023-04-17

29.1. assertj-Tipps

assertj using recursive comparison
assertj satiesfies

29.2. Übung Dockerfile

29.3. Übung Youtrack für das eigene Projekt

  • Erstellen Sie im Product-Backlog mehrere UserStories und Tasks für eine, max. 2 User Stories

  • Verschieben Sie diese 2 User Stories mit ihren Tasks in das Sprint-Backlog

  • Führen Sie nun die in den Tasks angeführten Aufgaben durch und "verbinden" sie die Commits mit den jeweiligen Tasks (Issues)

30. 2023-04-24

= Überschrift
vn nn
1.0.0, {docdate}
:icons: font
:sectnums:    // Nummerierung der Überschriften / section numbering
// :toc:
// :toclevels: 1
:experimental:
//https://gist.github.com/dcode/0cfbf2699a1fe9b46ff04c41721dda74?permalink_comment_id=3948218

[discrete]
== Themenschwerpunkte

31. 2023-04-28

31.1. Wdhlg Docker

31.2. docker-compose

32. 2023-05-05

33. 2023-05-15

  • Wiederholung Docker

  • Wiederholung docker-compose

33.1. Übung docker-compose

34. 2023-05-22

34.1. Commits

35. 2023-06-16

35.1. 4. Leistungsfeststellung Wiederholungstermin

35.2. Lernstrategien

lernstrategie1
lernstrategie2

35.3. Iteration in der Projektarbeit

iteration