From 86883221898730ba0714bcbbe44fb4130dbc33cd Mon Sep 17 00:00:00 2001 From: Simernjeet Singh Date: Wed, 7 Dec 2022 16:07:50 +0100 Subject: [PATCH] Lerntagebuch layout ueberpruft --- Lerntagebuch.md | 323 +++++++++++++++++++++++++++++++----------------- 1 file changed, 211 insertions(+), 112 deletions(-) diff --git a/Lerntagebuch.md b/Lerntagebuch.md index da05273..7f8b0c1 100644 --- a/Lerntagebuch.md +++ b/Lerntagebuch.md @@ -1,169 +1,268 @@ ## Lerntagebuch -### Übung 1 2.11.2022 -### Lernziel + # Mein Lerntagebuch für Programmiermethoden und -werkzeuge + Das ist ein Beispiel wie ein Lerntagebuch aussehen könnte. + + ## SU 01(21.10.2021) + ### Lernziel + - Organisatorisches + - Versionskontrollsysteme allgemein + - git + - Vorteile + - wie lege ich ein Repository an + - vim (ein paar alltägliche Befehle) + + ### Erkenntnis + Versionskontrolle werden wir im Projekt einsetzen, um + zu jeder Zeit den Entwicklungsstand einzusehen und paralleles Arbeiten an Dateien zu ermöglichen. Sollten Probleme an der Software auftreten, können wir zu einem funktionierenden Stand wechseln und durch das Commit-Log die Ursache ausfindig machen. + Außerdem kann ich als Developer mit den gelernten vim-Befehlen vor den anderen flexen. + + ### Kritik + `git status` zeigt mir einen groben Zustand meines Git-Repositorys an. Manchmal werden Dateien oder Verzeichnisse dort rot oder grün angezeigt. Die grünen + Dateien verschwinden von der Ausgabe, wenn ich `git commit` + ausführe. Rote Dateien werden mit `git add` grün. + + ### Mitteilung + an die Dozierenden Da dieser Punkt optional ist, lasse ich ihn + weg. Aber wenn mich irgendwas stört oder begeistert, kann ich es + hier anmerken. + + ## Uebung 01 (27.10.2022) + ### Lernziel + - SSH-Zugriff-zum-git-server-konfigurieren + - SSH key pair generieren + - oeffentlichen SSH key im Repository eintragen + - Lokale Kopie auf SSh-Zugriff umstellen + - Neue lokale Repositories + + ### Erkenntnis + - einen ssh-key erstellt + - öffentlichen Schlüssel zu gogs hinzugefügt + - Master Branch erstellt + + ### kritik + man muss die git-Konfigurationsdatei überprüfen und den url-Link in gitea/gogs SSH-Remote-Repository-Link ändern. + + ### Mitteilung + + -#### Übung 2 7.11.2022 + ## Übung 02 (2.11.2022) + ### Lernziel + - legen Sie in Ihrem Repository die Datei Programmierparadigmen.md an. + - Analysieren Sie die Programmiersprachen Java,C,Python,go,JavaScript und TypeScript hinsichtlich der in der Vorlesung genannten Kriterien und Schreiben sie ihre Analyse in Stichpunkten in die neu erstellte datei. + - Suchen Sie im Internet nach weiteren Programmierprinzipien und dokumentieren sie diese (Acronym, Langbezeichnung, Beschreibung) in der Obigen Datei. + + ### Erkenntnis + Ein neu Datei als Programmierparadigmen.md an Gitea hochgeladet. -einen ssh-key erstellt -öffentlichen Schlüssel zu gogs hinzugefügt -Branch erstellt + ### Kritik + Programmierprinzipien + - SOLID + - STUPID + - KISS (Keep It Simple & Stupid) + - FCoH (Favor Composition over Inheritance) + - YAGNI (You Ain't Gonna Need It) + - IOC (Inversion Of Control) + - DI (Dependency Injection) + - DRY (Don't Repeat Yourself) + - DYC (Document Your Code) + - Clean Code at All Cost -### Übung Debugging 16.11.2022 -#### Übung 3 + ### Mitteilung -clone link https://gogs.informatik.hs-fulda.de/Programmiermethoden_und_werkzeuge-public/UebungDebugging.git -**Task 1 Uebung 1** -- Nachdem Aktivieren Sie die Zeilen 36 bis 38 durch entfernen der beiden *slashes*. -**Ausgaben sind:** -enter an integer number: 5 -- input: 5, Schleifenvariable: 2, Ergebnis 1 -- input: 5, Schleifenvariable: 3, Ergebnis 2 -- input: 5, Schleifenvariable: 4, Ergebnis 1 -- number 5 passed check: true% + ## SU 1(datum) + ### Lernziel -enter an integer number: 34 -- input: 34, Schleifenvariable: 2, Ergebnis 0 -- number 34 passed check: false% + ### Erkenntnis + ### Kritik -enter an integer number: 89 -- nachdem schleifen es gibt -- number 89 passed check: true% + ### Mitteilung -Nachdem einen Breakpoint an ziele 35 und zahl 45 eingeben es gibt -- die Inhalte der Variablen sind nextInt: 45, i:2, ergebnis:1 + ## Übung 3 (16.11.2022) -Nochmal lauft das Programm im Debug-modes und eingeben zahl ist 47 -- die Inhalte der Variablen sind nextInt: 47, i:2, ergebnis:1 dann nextInt: 47, i:3, ergebnis:2 -- am ende nextInt: 47, i:46 Ergebnis:1 check: true + clone link https://gogs.informatik.hs-fulda.de/Programmiermethoden_und_werkzeuge-public/UebungDebugging.git -**Task 2 Uebung 2** + ### Lernziel + - Führen Sie die Übung entsprechend den Anweisungen in der README.md-Datei aus. + - Debugging + + ### Erkenntnis + **Task 1 Uebung 1** + - Nachdem Aktivieren Sie die Zeilen 36 bis 38 durch entfernen der beiden *slashes*. + **Ausgaben sind:** + enter an integer number: 5 + - input: 5, Schleifenvariable: 2, Ergebnis 1 + - input: 5, Schleifenvariable: 3, Ergebnis 2 + - input: 5, Schleifenvariable: 4, Ergebnis 1 + - number 5 passed check: true% -Öffnen Sie das programm `Uebung2.java` im Editor -- Starten Sie das Programm mehrfach (*"run as Java Application"*) und geben Sie verschiedenen natürliche Zahlen ein. + enter an integer number: 34 + - input: 34, Schleifenvariable: 2, Ergebnis 0 + - number 34 passed check: false% - - **natürliche zahlen sind 45, 14, 89 ergebnis sind False ingesamt** + enter an integer number: 89 + - nachdem schleifen es gibt + - number 89 passed check: true% + Nachdem einen Breakpoint an ziele 35 und zahl 45 eingeben es gibt + - die Inhalte der Variablen sind nextInt: 45, i:2, ergebnis:1 -- setzen Sie einen BreakPoint in Zeile 40 -- Starten Sie das Programm wie bisher -- Starten Sie das Programm im Debug-Modus und geben Sie die Zahl 45 ein -- Notieren Sie die Inhalte der Variablen (this) nextInt: 23 - - this: **Uebung2@8** - - count: **3** -- Notieren Sie die Anzahl der Einträge in der *Debug View* (this): **this, count, in, out in total 4 mit Zwischenüberschritt** + Nochmal lauft das Programm im Debug-modes und eingeben zahl ist 47 + - die Inhalte der Variablen sind nextInt: 47, i:2, ergebnis:1 dann nextInt: 47, i:3, ergebnis:2 + - am ende nextInt: 47, i:46 Ergebnis:1 check: true -- in welcher Zeile steht der Debugger? 34->36 -- Notieren Sie die Anzahl der Einträge in der *Debug View* (this) - - nextInt: **45**, count: **2** + **Task 2 Uebung 2** + Öffnen Sie das programm `Uebung2.java` im Editor + - Starten Sie das Programm mehrfach (*"run as Java Application"*) und geben Sie verschiedenen natürliche Zahlen ein. -- in welcher Zeile steht der Debugger? **40** -- Notieren Sie die Anzahl der Einträge in der *Debug View* (this) false - - nextInt: **16**, count: **4** ergebnis: **false** + - **natürliche zahlen sind 45, 14, 89 ergebnis sind False ingesamt** -**Beenden Sie den Debugger (*"Terminate"*)** -### Uebung 4 23.11.2022 + - setzen Sie einen BreakPoint in Zeile 40 + - Starten Sie das Programm wie bisher + - Starten Sie das Programm im Debug-Modus und geben Sie die Zahl 45 ein + - Notieren Sie die Inhalte der Variablen (this) nextInt: 23 + - this: **Uebung2@8** + - count: **3** + - Notieren Sie die Anzahl der Einträge in der *Debug View* (this): **this, count, in, out in total 4 mit Zwischenüberschritt** -#### Source Code Management (SCM) + - in welcher Zeile steht der Debugger? 34->36 + - Notieren Sie die Anzahl der Einträge in der *Debug View* (this) + - nextInt: **45**, count: **2** + - in welcher Zeile steht der Debugger? **40** + - Notieren Sie die Anzahl der Einträge in der *Debug View* (this) false + - nextInt: **16**, count: **4** ergebnis: **false** -**Lokale Respository** -1.1 Stage und Historic -1.2 Merge -1.3 rebase + **Beenden Sie den Debugger (*"Terminate"*)** + ### Kritik + ### Mitteilung -**Git Respositoty changes** -#### Vorlesung 07.12.2022 -##### Test -**Testmethodoligie - Bestandteile eine Tests** + ### Uebung 4 23.11.2022 -- Stichprobe - - Testfälle - - Testdaten -- Testobekt -- Testumgebung -- Testziel -- Soll-/Ist- Wertvergliech + #### Source Code Management (SCM) -**Testziele** + **Lokale Respository** + 1.1 Stage und Historic + 1.2 Merge + 1.3 rebase -- Fehler aufzeigen -- Qualität erfassen -- Vertrauen erhöhen -- Grenzen ermitteln - **Testebenen** - - Anwendung/System - - Teilsystem/Modul - - Codeebene/Unit + **Git Respositoty changes** -**Testpyramide** -- GUI Tests (end to end tests) -business logik überprufen, functions und kommiunikation mit anderen components überprufen. -- Integration tests -- Component / Contract Tests -- Unit Tests + ### Erkenntnis -**Testnamen** + ### kritik -Test werden benannt nach: -- Ziel (Integration Test, Lasttest) -- Methode (Regressionstest) -- Testgegenstand (UI-test, Module-test, Unit-test) -- Level (Systemtest) -- Personen (Entwicklertest, Anwendertest) -- Testabdeckung (Komplettest, partieller Test) + ### Mitteilung -**Qualitätskosten** -- High Cost -> Poor Quality -> Failure Costs -- High Cost -> Exceptional Quality -> Sweet Spot (prevention & Appraisal Cost) -- Low Cost -> Exceptional Quality -> prevention & Appraisal Cost + ## SU 07 (07.12.2022) -**Testprozess** + ### Lernziel + - Relvante Literatur + - Motivation + - Grundlagen + - Testmethodologie + - TestProzess + - Psychologische Aspekte + + ### Erkenntnis + **Testmethodoligie - Bestandteile eine Tests** -**Testprozess - Ablauf** + - Stichprobe + - Testfälle + - Testdaten + - Testobekt + - Testumgebung + - Testziel + - Soll-/Ist- Wertvergliech + **Testziele** -**Testprozess - Plannung** + - Fehler aufzeigen + - Qualität erfassen + - Vertrauen erhöhen + - Grenzen ermitteln -**Testprozess - Analyse & design** + **Testebenen** -- basiert auf Anforderungsdokumentation -- Testspezifikation - - Testfaelle - - Kritikalitaet - - Testdaten - - Testumgebung - - Ausfuehrungsreihenfolge - - Infrastruktur - - Testkriterium + - Anwendung/System + - Teilsystem/Modul + - Codeebene/Unit + + **Testpyramide** + + - GUI Tests (end to end tests) + business logik überprufen, functions und kommiunikation mit anderen components überprufen. + - Integration tests + + - Component / Contract Tests + - Unit Tests + + **Testnamen** + + Test werden benannt nach: + - Ziel (Integration Test, Lasttest) + - Methode (Regressionstest) + - Testgegenstand (UI-test, Module-test, Unit-test) + - Level (Systemtest) + - Personen (Entwicklertest, Anwendertest) + - Testabdeckung (Komplettest, partieller Test) + + **Qualitätskosten** + + - High Cost -> Poor Quality -> Failure Costs + - High Cost -> Exceptional Quality -> Sweet Spot (prevention & Appraisal Cost) + - Low Cost -> Exceptional Quality -> prevention & Appraisal Cost + + + **Testprozess** + + **Testprozess - Ablauf** -**Testprozess - Testausfuerung** -Testlog -- aufgetretenes Fehlverhalten -- Fehlerkategorie (high/medium/low) + **Testprozess - Plannung** + **Testprozess - Analyse & design** -**Testprozess - Testnachbereitung** + - basiert auf Anforderungsdokumentation + - Testspezifikation + - Testfaelle + - Kritikalitaet + - Testdaten + - Testumgebung + - Ausfuehrungsreihenfolge + - Infrastruktur + - Testkriterium -- Testreport -- Zusammenfassung Testausfuehrungen -- Vergleich mit frueheren Testlaeufen -- Entscheidung ueber Lieferfaehigkeit + **Testprozess - Testausfuerung** + Testlog + - aufgetretenes Fehlverhalten + - Fehlerkategorie (high/medium/low) + + **Testprozess - Testnachbereitung** + + - Testreport + - Zusammenfassung Testausfuehrungen + - Vergleich mit frueheren Testlaeufen + - Entscheidung ueber Lieferfaehigkeit + + ### kritik + + ### Mitteilung \ No newline at end of file