Browse Source

UebungPM

main
firdaus 1 year ago
parent
commit
45c045bc60
  1. 52
      Lerntagebuch.md
  2. 111
      Lerntagebuch.md.save

52
Lerntagebuch.md

@ -86,3 +86,55 @@ Feature Branch entsteht aus der Entwicklung, hat begrenzte Lebensdauer, sollte a
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
1. Grundlagen
2. Rollen im Projektmanagement
3. Projektmanagement
4. Aufwandsschätzung
### Erkenntnis
1. Ein Projekt ist ein Vorhaben, das durch Start- und Endzeitpunkt, komplexe Handlungsabläufe sowie Ressourcen (personell, materiell) präzisiert wird.
Die Beispiele dafür waren Organisationsprojekte, IT-Projekte, Einarbeitung/Qualifikation von Mitarbeitern, Kundenaufträge.
Projektmanagement ist ein Prozess, um Ziele zu formulieren und zu erreichen. Das wird gängigerweise in Planung, Organisation, Durchführung und Kontrolle unterteilt.
Beim Projektmanagement geht es in erster Linie um die Zusammenarbeit von Menschen!
2. Einige gängige Rollen im Projektmanagement sind :
• Product Owner(Auftraggeber) vertritt die Stakeholder sowie für die Anforderungen des Produkts verantwortlich.
• Scrum Master(Projektleiter) ist für die Einhaltung der agilen Arbeit verantwortlich.
• Projektmitarbeiter führen die Aufgaben aus.
• Stakeholder(Betroffene) sind Personen oder Gruppen, die vom Projekt betroffen sind.
3. Es wurden folgende Projektmanagement – Modelle angeschaut:
• Wasserfallmodell hat lineare Vorgehensweise, wo jeder Schritt eins nach anderem abgeschlossen wird.
• V-Modell ist die Erweiterung des Wasserfallmodells, indem den jeweiligen Schritten Testebenen gegenüber gestellt werden.
• Agiles Modell konzentriert sich auf kontinuierliche Verbesserung und Anpassung.
Es wurden folgende Projektmanagement – Techniken angeschaut:
• Kanban-Board, wo Zustände der Aufgaben geführt werden.
• Burn-Down-Chart stellt die verbleibende Arbeit über die Zeit dar.
• Scrum ist eine agile Methodik. Es umfasst feste Veranstaltungen wie Sprint Planning, Daily Standup, Sprint Review und Sprint Retrospective.
4. Es wurden folgende Aufwandsschätzungen angeschaut:
• Drei Werte Weg
• Historischer Vergleich
• Planning Poker
### Wiederholung
Wir haben alles um Projektmanagement wiederholt und Selbstrecherche über Meilenstein, Minimum variable increment sowie zu arc42-Template gemacht.
Zuletzt haben wir eine Selbsteinschätzung zur unterschiedlichen Aufgaben bezüglich Software Änderungen durchgeführt, was ich sehr spannend fand.

111
Lerntagebuch.md.save

@ -0,0 +1,111 @@
# 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