From 45c045bc60f37422b12d862cf951031517bb3a12 Mon Sep 17 00:00:00 2001 From: firdaus Date: Sun, 10 Dec 2023 23:55:24 +0100 Subject: [PATCH] UebungPM --- Lerntagebuch.md | 52 ++++++++++++++++++++ Lerntagebuch.md.save | 111 +++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 163 insertions(+) create mode 100644 Lerntagebuch.md.save diff --git a/Lerntagebuch.md b/Lerntagebuch.md index e6e38dc..f8765d3 100644 --- a/Lerntagebuch.md +++ b/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. diff --git a/Lerntagebuch.md.save b/Lerntagebuch.md.save new file mode 100644 index 0000000..5d4395f --- /dev/null +++ b/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