Browse Source

Update Lerntagebuch.md

main fetched-on-2022-12-14
fdai7107 2 years ago
parent
commit
0cd50e98fd
  1. 173
      Lerntagebuch.md

173
Lerntagebuch.md

@ -1 +1,174 @@
# Woche 1
(27.10.22)
## Lernziele
- Effizient sein
- Organisiert
- Teamfähig
- git (Befehle)
- Wie legt man ein Repository an
## Das Wichtigste
- Mit `cd` (Ordner) kann man einen Ordner betreten.
- Mit `cd..` kann man einen Ordner zurück gehen.
- Mit `mkdir` erstellt man ein neues Verzeichnis.
## Erkenntnis
- Wenn man einen Code schreibt, sollte man ihn möglichst einfach halten und ordentlich schreiben. Es sollte von anderen Personen einfach zu lesen sein, sodass diese schnell und einfach damit arbeiten können.
## Für das Teamprojekt
- Wenn ich den Code für mein Projekt schreibe sollte dieser so einfach wie nur irgend möglich gehalten werden, damit meine Projektpartner einfach damit arbeiten können. Des Weiteren sollte man viel kommunizieren, um Fehler und Probleme vorne herein zu klären.
# Woche 2
(02.11.22)
## Lernziele
- Declarative Programmierung
- Funktionale Programmierung
- Prinzipien der Programmierung
- typenlose Programmiersprache
- Imperative Programmierung
- Prozeduale Programmierung
- typisierte Programmiersprache
- Objektorientierte Programmierung
## Wiederholung
- Mit `git add` werden einzelne Dateien oder einzelne Änderungen vom Working tree in das Staging aufgenommen
- Mit `git commit` werden diese Dateien oder Änderungen gespeichert
## Erkenntnis
- Wir sollten alle die gleiche Programmiersprache verwenden, um Probleme zu vermeiden
- Man sollte den Code bei Veränderungen immer prüfen, da Probleme da auftauchen können, wo es zuvor keine gab
# Woche 3
(09.11.22)
## Lernziele
- Centralized vs distributed Source Code Management
- The concept of git
- Branching
- small and clean commits
- Merge
- Rebase
## Wiederholung
- Mit `git clone`kann man ein anderes Repository klonen bzw. kopieren
- Mit `git push` kann man sein lokales Repository, beispielsweiseauf Git Hub hochladen. Man lädt es in ein Remote-Repository hoch.
-Mit `git pull` importiert man ein Remote-Repository auf sein lokales Repositor.
## Erkenntnis
- Wir sollten unseren Code jeweils so simpel wie nur irgend möglich halten, damit jeder schnell und einfach den Code versteht.
- Man sollte seine Commits auch am Besten zuerst lokal testen und schauen ob Konflikte entstehen, wenn nicht kann man es mit dem Main Branch mergen.
# Woche 4
(16.11.2022)
## Lernziele
- Syntax Highlighting
- Navigation
- Code automatisch formatieren
- Debugging
- Fehler lokalisierung
- Integrated development Environment
## Wiederholung
- Mit `git blame file` kann man die letzten Commits sehen und wer der Autor ist.
- Mit `git cherry-pick commit` kann man ein commit aus einem anderem Branch nehmen und danach auf einen anderen Branch einfügen.
- Mit `git branch` kann man Branches neu erstellen, sie abrufen, umbenennen oder löschen.
## Erkenntnis
- Man sollte seinen Code auf Tippfehler untersuchen um Probleme von vorne herein zu vermeiden.
- Des Weiteren sollte man während das Programm durchläuft drauf achten, ob die Methoden und Prozeduren des Codes ohne Probleme funktionieren und ob die Werte der variablen stimmen.
# Woche 5
(23.11.2022)
## Lernziele
- Kooperation mit Softwareentwicklung
- Softwareentwicklungsprozess
- Rolle von automatisierten Tests
- Vorgehensmodelle
## Wiederholung
- Automatisierte Tests:
- Automatisierte Tests sind praktisch, da sie wiederholbar sind und gegebenenfalls Verhalten dokumentieren.
- Des Weiteren ist die Ausführungszeit von der Arbeitszeit entkoppelt.
- Es können aber auch Laufzeitfehler erkannt werden.
- Problem bei automatisierten Tests ist jedoch, dass sie nur Abweichungen von bekannten Verhalten finden und dadurch keine neuen fachlichen fehler finden können.
## Erkenntnis
- Es ist wichtig, dass jeder aus unserem Entwicklerteam Schreibzugriff auf unser gemeinsames remote repository hat.
- Wir sollten abklären wie das finale Produkt unseres Projekts aussieht und welchen Aufgabenteil jeder erfüllen sollte, bevor jeder irgendetwas pusht.
# Woche 6
(30.11.2022)
## Lernziele
- Begriffs- und Projektmanagementgrundlagen
- Rollen im Projektmanagement
- Projektmanagement
- Aufwandsschätzung
## Wiederholung
- Was ist Projektmanagement:
- Das ist ein Prozess zur Formulierung und Erreichung von Zielen
- Welche Schritte gehören zum Projektmanagement:
- Es wird geplant, kontrolliert, organisiert, Infos gesammelt, Aufgaben aufgeteilt und durchgeführt
- Was ist das Kennzeichen des Wasserfall-Modells:
- Es ist linear und alle Prozessschritte werden ein mal durchlaufen
- Was ist das Kennzeichen agiler Management-Modelle:
- Es fixiert Aufwand und Zeit, statt den Umfang
- Die Menschen und deren Interaktionen sind wichtiger als Prozesse und Werkzeuge
- Die Dokumentation ist weniger wichtig, als eine funktionierende Software
- Vertragsverhandlung ist weniger wichtig, als die Zusammenarbeit mit dem Kunden
- Das Festhalten an einem Plan ist weniger wichtig, als das Reagieren auf Veränderung
- Warum ist es vorteilhaft, Projektdokumentation im selben SCM-Repository wie den Code zu speichern:
- Da man dadurch die Doku und den Code direkt neben einander hat und sich so einfacher und schneller den Code erklähren, was und wie dieser durchgeführt wird
## Erkenntnis
- Wir sollten möglichst viel mit einander Kommunizieren um frühstmöglich Konflikte und Probleme zu klären. Wir sollten auch darauf arbeiten, dass wir am Ende irgendwie eine fertige und funktionierende Software haben.
# Woche 7
(07.12.2022)
## Lernziele
- Grundlagen
- Motivation
- Testmethodologie
- Testprozess
- Psychologische Aspekte
## Wiederholung
- Da der Mensch nicht perfekt ist, macht er oft Fehler. Sind beim Code Fehler, können diese materiell und ideell teuer sein
- Begriffsgrundlagen sind:
- Qualitätssicherung
- Testmanagement
- Testumgebung
- Testmanagement
- Testmanagement
- prüfen
- Software
- Ereigniskette:
- Error (Person macht Codefehler)
- Defect (Fehlerstelle im Code)
- Failure (Runtime Error)
- Es gibt unterschiedliche Arten von Fehlauftreten:
- Latente (Wenn Daten nicht wie erwartet und es aber alle Tests besteht)
- Maskierte Fehler (Wird meist von anderen Fehlern entdeckt und ist erst sichtbar, wenn andere Fehler beseitigt ist, hat kein Produktfunktionalitätseinfluss)
- Kaskadierter Fehler (Folgefehler durch Fehler an anderen Stellen)
- Die Arten der Defekte sind die Folgenden:
- syntaktisch
- logisch
- semantisch
- lexigraphisch
- Design
- Arbeitsablaufs - Design
## Erkenntnis
- Wir sollten immer üner den Code des anderen schauen, um mögliche Fehler zu beseitigen. Oftmals sieht man die eigenen Fehler nicht und ist somit zum Teil auf die anderen angewiesen.
- Uns sollte bewusst sein, wenn wir testen, was das Testziel ist und wo prioritäten gesetzt sein sollten.
Loading…
Cancel
Save