You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 

6.1 KiB

Lerntagebuch

SU 01 (2022-10-26)

Lernziele

  • Organiesatorisches
  • Einführung
  • Softwarefehler der Geschichte

Erkenntnis

  • Ich habe gelernt mit einem Gitsyste umzugehen

Wiederholung

  • Commit: Ein Commit beschreibt die bestätigende Freischaltung einer Änderung. Er bezeichnet den Vorgang des Einspielens von neuen oder geänderten Quelltexten und anderen Datein.

SU 02 (2022-11-02)

Lernziele

  • Imperative Programmierung
  • Declarative Programmierung
  • Prozedurale Programmierung
  • Objektorientierte Programmierung
  • Funktionale Programmierung
  • typisierte und typenlose Programmierung
  • Prinzipien der Programmierung

Erkenntnis

  • Ich habe die verschiedenen Arten der Programmierung gelernt und welche Programmiersprachen dazu gehören, sowie die do's und dont's.

Wiederholung

  • fail fast: Fail fast ist eine Eigenschaft eines Systems, welche Fehler frühzeitig erkennt. Ein solches Fail-Fast-System erkennt Fehler oder Zustände, die zu Fehlern führen, an seinen Schnittstellen und zeigt sie auf.

Kritik

  • Ich fand es ein wenig unvorteilhaft, dass der Professor keine Beispiele vorbereitet hatte, sondern spontan versucht hat sich an eines zu erinnern und letzten endes keines nennen konnte.
  • Die Folien hätten, meiner Meinung nach, auch hochgestellt werden sollen, damit man während der Vorlesung ordentlich und strukturiert mitschreiben hätte können.

SU 03 (2022-11-09 )

Lernziele

  • Geschichte der Programmierwerkzeuge
  • Integrated Development Environment
  • Entwurfsmuster

Erkenntnis

  • Ich habe Erzeugungs-, Struktur- und Verhaltensmuster kennengelern. Außerdem habe ich gelernt, etwas mit Eclipse umzugehen.

Wiederholung

  • Singleton: Ein Singleton ist ein Entwurfsmuster, welches sicher stellt, dass von einer Klasse genau ein Objekt exestiert.

Kritik

  • Die Folien hätten, meiner Meinung nach, auch hochgestellt werden sollen, damit man während der Vorlesung ordentlich und strukturiert mitschreiben hätte können.
  • Die Folien der Präsentation Integrated Development Environment wären meiner Meinungen nach eine bessere Anfangspräsentation gewesen, um als Anfänger die Grundlagen und die nachfolgenden Präsentation besser zu verstehen.

SU 04 (2022-11-16)

Lernziele

  • Warum git
  • Branching
  • Merge or Rebase

Erkenntnis

  • Ich habe etwas über das Konzept von git gelernt. Ebenso über das etwas größere Thema Branching.

Wiederholung

  • Ein Branching-hotfix hat eine kurze Lebensdauer, jeder Entwickler kann commiten und der "build server" sollte Verzweigungen wieder zusammenführen können, um zu entwickeln und zu veröffentlichen.

Kritik

  • Ich fand es gut, dass sie diesmal die Folien vorher hochgelanden haben. Es war jedoch ein weinig umständlich das es auf englisch war, jedoch haben Sie ja dies vorher erwähnt und auch gesagt warum dies so ist.

SU 05 (2022-11-23)

Lernziele

  • Kooperationene im Softwareentwicklungsprozess
  • Softwareentwicklungsprozess
  • Rolle von automatisierten Tests
  • Vorgehensmodelle

Erkenntnis

  • Ich habe gelernt was Softwareentwicklungsprozesse sind und welche Rolle automatisierte Tests haben

Wiederholung

  • Automatisierte test : sie führen Programme aus und dokumentieren gewünschtegewünschtes Verhalten. Sie können Laufzeitfehler erkennen mit Ausnahmen der Unit Tests.

SU 06 (2022-11-30)

Lernziele

  • Grundlagen Projektmanagement
  • Rollen im Projektmanagement
  • Projektmanagement
  • Aufwandsschätzung

Erkenntnis

  • Ich habe gelernt worum es beim Projektmanagement geht und auf was ich beachten muss, auc wie wichtig die Aufwandsschätzung ist.

Wiederholung

  • Wasserfall Modell: Es ist ein lineares Vorgehensmodell, welches in aufeinanderfolgenden Projektphasen organiesiert ist und insbesondere für die Softwareentwicklung verwenfet wird.

SU 07 (2022-12-07)

Lernziele

  • Motivation
  • Grundlagen
  • Testmethodologie
  • Testprozess
  • Psychologische Aspekte

Erkenntnis

  • Menschen machen Fehler was okay ist.

Wiederholung

  • Maskierte Fehler: Sie werden von anderen Fehlern überdeckt meistens von latenten Fehlern. Sie sind erst auffindbar, wenn der maskierte Fehler beseitigt wird. Er hat kein Einfluss auf Funktionalität ddes Produnkts.

SU 8 (2022-12-14)

Lernziele

  • Motivation
  • Grundlagen
  • UnitTests
  • Anforderungen an zu testenden Code

Erkenntnis

  • Ich habe den Unterschied zwischen Application/Module-Tests und UnitTests gelernt. Außerdem habe ich gelernt, was UnitTests machen.

Wiederholung

  • Applications und Module Test werden erst spät im Entwicklungsprozess ausgeführt, haben komplexe Testwerkzeuge und sind aufwendig zu warten. Sie zeigen zwar das ein Fehler existiert, aber zeigen nicht wo.

SU 9 (2022-12-21)

Lernziele

  • Relevante Literatur
  • Motivation
  • Grundlagen
  • Beispiel Skart-Spiel

Erkenntnis

  • Ich habe die Grundlagen von Test Driven Development gelernt.

Wiederholung

  • Testabdeckung: sie wird oft als key performance indicator (KPI) missbracht und ist wichtig für die Beurteilung der Vertrauenswürdigkeit des Testhareness. TDD führt zu hoher Testabdeckung, aber nicht zu 100%, jedoch führt TDD zu 100% Anforderungsabdeckung.

SU 10 (2023-01-11)

Lernziele

  • Bedeutung von CI im Softwareentwicklungsprozess
  • Aufbau eines CI/CD-Systems
  • Ablauf des CI-Prozesses
  • Rolle von automatisierten Tests

Erkenntnis

  • Ich habe etwas über die Bedeutung von Continous Integration im Softwareentwicklungsprozess gelernt sowei deren Aufbau und Ablauf.

Wiederholung

  • Abhänigkeitenverwaltung: Sie ist nicht selbst im Build-Lauf erzeugt und wird zentral Bereitgestellt innerhalb der Organisation. Außerdem hat man Zugriff auf einzelne Versionen.

SU 11 (2023-01-18)

Lernziele

  • Motivation
  • Klassen
  • Vererbung
  • OOP Algorithmen

Erkenntnis

  • Ich habe etwas über die Klassen, die Vererbung und die Algorithmen der Objektorientierten Programme gelernt. Außerdem, dass OOP ein eigenständiger Ansatz der Problemlösung ist, welche eine andere Denkweise erfordert.

Wiederholung

  • Vererbung: abgeleitete Klassen erweitern Basisklassen und modellieren eine "ist ein" Beziehung. Sie zeigen geändertes Verhalten.