Browse Source

UebungPMfinal

main fetched-on-2023-12-11
firdaus 1 year ago
parent
commit
b4f9990c9f
  1. 2
      Lerntagebuch.md
  2. 111
      Lerntagebuch.md.save

2
Lerntagebuch.md

@ -103,7 +103,7 @@ Rebase bevorzugen, wenn man an einem unfertigen Feature arbeiten, das noch nicht
### Lernziel
- Kooperation-PM
Kooperation-PM
1. Grundlagen
2. Rollen im Projektmanagement
3. Projektmanagement

111
Lerntagebuch.md.save

@ -1,111 +0,0 @@
# Mein Lerntagebuch für Programmiermethoden und -werkzeuge
## SU 02 (31.10.2023)
### Lernziel
- Über verschiedene Programmierungen und
- Progremmmiersprachen
### Erkenntnis
Über 5 Arten der Programmierung, über 2 Arten der Programmiersprache sowie über die Prinzipien der Progrmmierung
haben wir in dieser VL einen Überblick erhalten.
1. Die imperative Programmierung ist ein Paradigma, bei dem Anweisungen angegeben werden, die Schritt für Schritt
ausgeführt werden.
2. Die deklarative Programmierung ist ein Paradigma, bei dem beschrieben wird, was das Programm erreichen soll.
3. Die prozedurale Programmierung ergänzt die imperative Programmierung, bei der Code in Funktionen oder
Prozeduren organisiert wird.
4. Die objektorientierte Programmierung basiert auf Konzepten wie Klassen, Objekten und Vererbung. Der Code
wird in wiederverwendbare Objekte organisiert und ermöglicht die Modellierung von realen Entitäten.
5. Die funktionale Programmierung ist eine Verfeinerung der deklarativen Programmierung, bei der die
Verwendung von Funktionen als grundlegende Bausteine von Programmen sind. Sie unterstützt das Konzept der
funktionalen Unveränderlichkeit und vermeidet Seiteneffekte.
6. Typisierte Progrmmiersprachen erfordern, dass Variablen und Funktionen bestimmte Datentypen haben und dass
diese Typen während der Kompilierung überprüft werden.
7. Typenlose Programmiersparchen erlauben Variablen, verschiedene Datentypen ohne explizite Deklaration zu
halten. Der Datentyp einer Variable kann hier zur Laufzeit geändern werden.
8. Die Prinzipien der Programmierung beinhalten grundlegende Konzepte, um sauberen, wartbaren und effizienten
Code zu schreiben. Zu diesen Prinzipien gehören z.B. SOLID( Separations of Concern, Open/Closed Principle,
Lislov Substitution Principle, Interface Segregation Principle, Dependency Inversion Principle), STUPID(
Singelton, Tight Coupling, Untestability, Premature Optimization, Indescriptive Naming, Duplication), KISS(
Keep It Simple, Stupid).
---
## SU 03 (07.11.2023)
### Lernziel
- Entwurfsmuster
- IDE
### Erkenntnis
Entwurfsmuster(Design Patterns) helfen, Code wiederverwendbar, flexibel und leicht verständlich
zu machen.
Es wurden 3 Kategorien von Entwurfsmustern wie Erzeugungsmuster, Strukturmuster und Verhaltensmuster
vorgestellt.
Erzeugungsmuster(Creational Patterns) beschäftigen sich mit dem Prozess der Objekterzeugung.
Strukturmuster beschäftigen sich mit der Komposition von Klassen oder Objekten.
Verhaltensmuster konzentrieren sich darauf, wie Klassen und Objekte zusammenarbeiten.
Integrated Development Environment(IDE) ist eine Softwareanwendung, die eine integrierte Umgebung für
die Softwareentwicklung bereitstellt.
Die Auswahl einer IDE hängt von der unterstützten Plattformen und Sprachen ab.
Debugging in einer IDE hilft den Entwickler, Fehler zu finden und zu beheben, wodurch die Entwicklung
und Wartung von Software beschleunigt wird.
---
## SU 04 (14.11.2023)
### Lernziel
- SCM(Source Code Management)
### Erkenntnis
Git bietet als SCM eine zuverlässige und geordnete Vorgehensweise für die Speicherung, den Zugriff,
die gemeinsame Nutzung und die Verfolgung von Änderungen am Quellcode.
Es gibt Zentralisiertes vs. Verteiltes SCM. Der Verlauf vom zentralisierten SCM existiert auf einer
zentralen Netzwerkressource. Entwickler haben nur Arbeitskopien von Dateien. Beim verteilten SCM hat
jeder Entwickler seine eigene Geschichte. Jeder trägt seine eigenen Vor- und Nachteile.
Das Konzept von Git basiert auf Änderungsmengen, nicht auf Dateien.
Wenn das komplette Projekt kompiliert ist und alle Tests bestanden wurden, kann es "commit" erfolgen.
Die Fähigkeiten, um Konflikte zu lösen, zu verbessern, werden kleine Commits bevorzugt.
Es existieren Branches wie Master, Develop, Release, Hotfix und Feature.
Mater Branch entsteht aus dem ersten Commit, hat unendliche Lebensdauer. Commits sind mit einer Versionsnummer versehen.
Develop Branch ist immer im versandfähigen Zustand. Der erste Commit ist der Beginn des Projekts, hat auch unendliche Lebensdauer.
Release Branch ist für Korrekturen, hat begrenzte Lebensdauer während des Feature Freeze. Jeder Entwickler kann Commit machen.
Hotfix Branch wird von Master erzeugt, hat kurze Lebensdauer. Jeder Entwickler kann einen Commit machen. Keine neuen Funktionen, nur Fixes.
Feature Branch entsteht aus der Entwicklung, hat begrenzte Lebensdauer, sollte auf neue Commits in Develop zusammenführen.
Jeder Entwickler kann Commits machen, aber nur zugewiesene Entwickler.
Merge bevorzugen, wenn der aktuelle Zweig Develop oder Master ist und die Historie mit der Timeline synchron bleiben soll sowie aktueller Zweig bereits zusammengeführt wurde.
Rebase bevorzugen, wenn man an einem unfertigen Feature arbeiten, das noch nicht in andere Zweige eingebunden wurde und wenn eine saubere Historie gewünscht ist.
---
## SU 05 (28.11.2023)
### Lernziel
- Kooperation-SCM
### Erkenntnis
---
## SU 06 (05.12.2023)
### Lernziel
- Kooperation-PM
### Erkenntnis
Loading…
Cancel
Save