GithubHelp home page GithubHelp logo

gso-sw / bft31multitool Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 16.0 6.14 MB

Ein Multitool um naturwissenschaftliche Fragen zu beantworten.

Dockerfile 1.93% C# 98.07%
console-application multitool student-project

bft31multitool's Introduction

  1. Aufteilung
  2. Anforderungen
  3. Richtlinien
  4. Mergekonflikte
  5. Organisation

MultiTool

Die Schüler des Bildungsganges Berufsfachschule wurden damit beauftragt eine Multi-Tool Software zu erstellen, welche allen kommenden Berufsfachschülern aus dem Bereich Technik als Hilfsmittel dienen soll, um ihren Schulabschluss erfolgreich zu meistern. Hierbei sollen wiederkehrende oder besonders aufwendige Aufgaben aus dem schulischen Kontext erleichtert oder gelöst werden. Diese Aufgaben ergeben sich aus den Problemstellungen der Unterrichtseinheiten der Berufsfachschule für Technik.

Das Projekt ist in die Bereiche Mathematik, Elektrotechnik… aufgeteilt. Diese Bereiche orientieren Sich an den Naturwissenschaftlichen Unterrichtsfächern der Berufsfachschule. Die nachfolgende Tabelle zeigt welche Features in den einzelnen Bereichen umgesetzt werden.

Die Teamkoordinatoren können direkt in die jeweilige Entwicklungs-Branch schreiben. Die Entwickler müssen ein Pull-Request bei den jeweiligen Koodrinatoren stellen


Anforderungen

Die Einhaltung der Anforderungen wird bei der Bewertung der Teilprogramme geprüft.

Framework Anforderungen Anforderungen an die Benutzerfreundlichkeit Externe Anforderungen
Programmiert in C# Programm und einzelne Optionen sind beliebig oft wiederholbar. Alle gesetzlichen vorgaben werden eingehalten.
Konsolenanwendung Eine Fehleingabe führt zu einer erneuten Eingabeaufforderung. Moralische und ethische Grundsätze sind einzuhalten.
.NET 6 Eingabeaufforderungen können ohne gültige Eingabe verlassen werden. -
Alle Features und Menüs sind in der Klassenbibliothek zu erstellen Das Programm kann in jederzeit beendet werden. -
- Alle Eingaben werden über die Tastatur gemacht. -
- Die Konsole wird beim Verlassen des aktuellen Moduls gelöscht. -

Projekt und Branchaufteilung

Alle Teilnehmer die noch kein Feature eingereicht haben, sind dazu angehalten, zeitnah eins vorzuschlagen.

Die Teamkoordinatoren können direkt in die jeweilige Entwicklungs-Branch schreiben. Die Entwickler müssen ein Pull-Request bei den jeweiligen Koordinatoren stellen

Bereich Feature Rolle Username Branch
Administration Release Administrator @AI-Assistant Release, main
Elektrotechnik Menü ET/Spannungsfall Teamkoordinator @Timsolo0408 ETEntwicklung,Feature1
Leitungsquerschnittberechnen Entwickler @Ilkan827 Feature2
Widerstand/Spule Entwickler @Dokihappy Feature3
Kondensator/Ohmsches/Gesetz​/Leistungsgesetz Entwickler @Salaabbad Feature4
Entwickler Feature5
Physik Menü PY6 Volumen Von Würfeln, Kugeln, Pyramiden, und Prismen Teamkoordinator @anastasiiakhalaim PHEntwicklung ,Feature6
Gewicht auf anderen Planeten Berechnen Entwickler @Alexknoppik Feature7
Infos zur aufbau und struktur der Materie Entwickler @yagmurergin Feature8
Gravitation und Winkel berechnung Entwickler @EnderK58 Feature9
Vorsätze Für Maßeinheiten umwandeln SI-Einheiten umrechnen Entwickler @Jason22669 Feature10
Informatik Menü IT ,Zahlengenerator Teamkoordinator @zhiqiangc67 ITEntwicklung,Feature11
Password Checker Entwickler @Timon06er Feature12
Entwickler @Speed-king Feature13
Entwickler @LucMey Feature14
Entwickler Feature15
Wirtschaft Menü WI,Nebenkostenrechner Teamkoordinator @Amannat01 WIEntwicklung,Feature16
Zinsrechner Entwickler @MuhammedTR38 Feature17
Kreditrechner Entwickler @brianbmc16 Feature18
Aktien Spiel Entwickler @Mamedderficker Feature19
Bestellverwaltungssymstem Entwickler @Salemweeyo Feature20
Mathematik Menü MT Teamkoordinator @can827 MAEntwicklung,Feature21
Linare Funktion Entwickler @aliaaalmustafa Feature22
Einfache Statistik Entwickler @shabub1 Feature23
Casino Entwickler @yazilim12 Feature24
Rechner Entwickler @musabhox Feature25

Richtlinien

Die Richtlinien dienen dazu, die Zusammenarbeit geordnet und übersichtlich zu gestalten.

Es ist von höchster Wichtigkeit, dass sich alle an diese Richtlinien halten, ansonsten kann es zu schweren Problemen bei der Zusammenführung der Bereiche kommen.

Mergekonflikte vermeiden

Default Projekte nicht verändern!!
⚠️ MultiTool
⚠️ KonsolenExtrasBibliothek

Einstellungen oder Dateien dieser bereits in den Branches existierenden Projekte dürfen von keinem geändert werden. Eine Missachtung kann dazu führen das

  1. Der Teamkoordinator euren Pull-Request nicht merged (Code des Entwicklers wird nicht in das Projekt eingebunden).
  2. Der Admin euren Team-Pull-Request nicht merged (Code des Teams wird nicht in das Projekt eingebunden).

@GSO-SW/teamkoordinatorenbft12 achtet darauf das die Richtlinien eingehalten werden. 🦅

Organisation

Alle Teamkoordinatoren müssen eine neue Klassenbibliothek für ihren Bereich erstellen. Um das Untermenü aufzurufen wird eine .cs Datei erstell welche Bereichsspezifisch benannt wird. Das Untermenü soll anschließend in einer Methode realisiert werden.

Bereich Name der Klassenbibliothek Untermenü Klassenname/Dateiname Methodenbezeichnung
Elektrotechnik ETKlassenBibliothek ETMenue/ETMenue.cs ETSubMenue
Informatik ITKlassenBibliothek ITMenue/ITMenue.cs ITSubMenue
Mathematik MAKlassenBibliothek MAMenue.cs/MAMenue MASubMenue
Physik PHKlassenBibliothek PHMenue/PHMenue.cs PHSubMenue
Wirtschaft WIKlassenBibliothek WIMenue/WIMenue.cs WISubMenue

Die jeweiligen Bereiche und Ihre Mitglieder erstellen und verändern nur Dateien in ihren eigenen Klassenbibliotheken. ⚠️

Branches

Jedes Projektmitglied sollte eine Branch erstellen in der das Feature Programmiert wird. In der Projektübersicht können die dafür zu verwendenden Branch-Bezeichnungen entnommen werden.

Wenn Branches gepusht werden, die selber erstellt worden sind, sind diese nicht schreibgeschützt. Aus diesem Grund ist darauf zu achten das nur in der eigenen Branch programmiert wird.

bft31multitool's People

Contributors

ai-assistant avatar alexknoppik avatar amannat01 avatar timsolo0408 avatar zhiqiangc67 avatar can827 avatar aliaaalmustafa avatar

Watchers

Thomas Sauerwald avatar

bft31multitool's Issues

5. FeatureBranch

Durchführung: Teamkoordinator/Entwickler

Zeitangabe: 15min


Beschreibung:

Jedes Feature wird in einer separaten Branch erstellt. Dies ermöglicht es, dass die Erstellung der Features in einem abgegrenzten Bereich vorgenommen werden kann.


Vorgehen:

In der Bereichsbranch die HTTPS-URL kopieren

Visual Studio Code öffnen und aktuellen Ordner schließen. Vergewissern Sie sich zuerst ob sie bei Microsoft und GitHub angemeldet sind (Accounts). Nun können Sie über Source Control -> Repository Klonen die HTTPS-URL einfügen und über den "Klonen"-Button bestätigen.

  • 2. Auf Basis der Bereichsbranch eine neue Branch erstellen

Zunächst Klicken Sie auf main und anschließend auf Ihre Bereichsbranch z.B. MAEntwicklung, ITEntwicklung ...
Unten links sehen Sie ob sie erfolgreich in Ihre Bereichsbranch ausgecheckt sind. Im folgenden Bild sehen Sie ein Beispiel mit der Bereichsbranch MAEntwicklung .

Neue Featurebranch

  • Zunächst Klicken Sie auf main oder ihre Bereichsbranch und anschließend auf Create new Branch from.. /
  • Wählen Sie Ihre Bereichsbranch aus aus der Sie eine neue Featurebranch erstellen wollen.
  • Geben Sie den korrekten Namen Ihrer Featurebranch in die obere Zeile ein. Entnehmen Sie die Bezeichnung aus der Tabelle unter dem Feld "Branch". Achten Sie darauf ,dass die neue Featurebranch auf ihrer Bereichsbranch basiert. Erstellen Sie die Branch mit der "Enter Taste".

  • 3. Branch pushen

Ihre Featurebranch existiert jetzt lokal auf ihrem Computer. Damit die Branch nun auch im Remote-Repository online zu sehen ist, müssen Sie diese noch veröffentlichen. Achten Sie dabei darauf, dass sie in ihrer Featurebranch ausgecheckt sind. Das erkennen Sie daran, dass unten statt main oder MAEntwicklung nun der Name Ihrer Featurebranch (z.B. Feature1) zu sehen ist.

Um die Branch zu veröffentlichen, navigieren sie zu Source Control. Es fällt auf, dass die Erstellung der Branch kein Commit verursacht hat. Dennoch können Sie die Branch mit einem Klick auf Publish Branch pushen.

Alternativ können Sie die branch auch im Browser erstellen und anschließend in Visual Studio abrufen. Eine Anleitung dazu finden Sie hier.

3. KlassenBibliothek erstellen

Durchführung: Teamkoordinator

Zeitangabe: 10min


Beschreibung:

Die einzelnen Bereiche werden in Klassenbibliotheken realisiert. Diese müssen von den Teamkoordinatoren in den einzelnen Bereichsbranches erstellt und verwaltet werden. Weitere Informationen zu Klassenbibliotheken in C# finden Sie hier.


Vorgehen:

  • 1. Klassenbibliothek erstellen
  • Achten Sie darauf das Ihre Bereichsbranch ausgewählt ist, bevor Sie die Klassenbibliothek erstellen
  • In der Bereichsbranch mit einem Rechtsklick auf die Projektmappe eine neue Klassenbibliothek erstellen
  • Mit vorgegebenen Namen benennen (die entsprechenden Namen finden Sie in den Richtlinien).

Öffnen Sie über Ansicht/Terminal ein neues Terminal. Gehen Sie sicher das Sie sich im richtigen Verzeichnis befinden z.B. PS C:\Users\kande\source\repos\MultiTool>. Geben Sie nun folgenden dotnet Befehl ein:

dotnet new classlib -n NameDerBibliothek -lang C# --framework net6.0

Die erstellt Klassenbibliothek muss nun dem Gesamtprojekt hinzugefügt werden:

dotnet sln MultiTool.sln add NameDerBibliothek\NameDerBibliothek.csproj 

  • 2. Committen und pushen
  • Unter Source Control einen Text in die Commitbox einfügen und alle Änderungen hinzufügen
  • Als nächstes die Änderungen pushen.

❗❗ Wichtig: Die Bezeichnung der Klassenbibliothek muss exakt der Vorgabe in den Richtlinien entsprechen, sonst wird die Bereichsbranch nicht auf main gemerget.

Quellcode Teamkoordinator

Durchführung: Entwickler / Teamkoordinator

Vorgehen

  1. Realisieren Sie das Programm in ihrer dafür erstellten .cs Datei.
  2. Pushen sie den Code auf Ihre Branch

Quellcode Entwickler 1

Durchführung: Entwickler / Teamkoordinator

Vorgehen

  1. Realisieren Sie das Programm in ihrer dafür erstellten .cs Datei.
  2. Pushen sie den Code auf Ihre Branch
  3. Erstellen Sie einen Pull-Request

❗ ❗ Wichtig: Achten Sie darauf den Pull-Request von Ihrer Branch auf die Ihrer Bereichsbranch zu erstellen.

Quellcode Entwickler 2

Durchführung: Entwickler / Teamkoordinator

Vorgehen

  1. Realisieren Sie das Programm in ihrer dafür erstellten .cs Datei.
  2. Pushen sie den Code auf Ihre Branch
  3. Erstellen Sie einen Pull-Request

❗ ❗ Wichtig: Achten Sie darauf den Pull-Request von Ihrer Branch auf die Ihrer Bereichsbranch zu erstellen.

Bereichte Fetigstellen Ganzes Team

Durchführung: Entwickler / Teamkoordinator

Vorgehen

  1. Vorlage und Anforderungen runterladen
  2. Bericht anfertigen
  3. Auf Rechtschreibfehler prüfen
  4. Bei Teams hochladen

❗ ❗ Wichtig: Achten Sie darauf die Frist einzuhalten. Bei verspäteter Abgabe gilt die Abgabe als 6.

Quellcode Entwickler 4

Durchführung: Entwickler / Teamkoordinator

Vorgehen

  1. Realisieren Sie das Programm in ihrer dafür erstellten .cs Datei.
  2. Pushen sie den Code auf Ihre Branch
  3. Erstellen Sie einen Pull-Request

❗ ❗ Wichtig: Achten Sie darauf den Pull-Request von Ihrer Branch auf die Ihrer Bereichsbranch zu erstellen.

4. Submenü erstellen

Durchführung: Teamkoordinator

Zeitangabe: 45min


Beschreibung:

Es wird deutlich, dass die bereits erstellten Klassenbibliotheken nur in den jeweiligen Bereichsbranches existieren. Die einzelnen Bereichsfeatures sollen über ein Submenü aufgerufen werden, welches wiederum vom Hauptmenü aufgerufen wird. Diese Submenüs werden in den zuvor erstellten Klassenbibliotheken erzeugt.


Vorgehen:

  • 1. cs-Datei umbenennen
  • Nennen Sie die Class1.cs-Datei in Ihrer KlassenBibliothek um, beachten Sie dabei die Vorgabe aus den Richtlinien.
  • Achten Sie darauf, dass die Klasse in Ihrer Menü-Datei auch entsprechend geändert wurde.

Beispiel:

namespace MAKlassenBibliothek;
public class MAMenue
{

}
  • 2. Methode erstellen
    Damit Ihr Submenü aufgerufen werden kann, muss eine öffentliche (public) statische (static) Methode ohne Rückgabewert (void) erstellt werden. Die Methodenbezeichnung können Sie vom Klassennamen abwandeln.

Beispiel:

namespace MAKlassenBibliothek;
public class MAMenue
{
    public static void MA_Menue()
    {

    }
}
  • 3. Submenü einfügen
    Unter MultiTool -> Hauptmenue.cs -> HauptmenueAufruf() finden Sie die Methode des Hauptmenüs. Sie können dieses kopieren und in die von Ihnen erstellte Methode einfügt werden. Achten Sie darauf nur den Körper der Methode zu kopieren.

  • 4. Verweise hinzufügen & Pakete installieren
    Nun müssten Ihnen folgende Fehler angezeigt werden.

Fehler 1: Der Name "FiggleFonts" ist im aktuellen Kontext nicht vorhanden.
Fehler 2: Der Name "KonsolenExtrasBibliothek" ist im aktuellen Kontext nicht vorhanden.

Lösung Fehler 1:

  • Installieren Sie das NuGet-Paket "Figgle" in die von Ihnen erstellte KlassenBibliothek.

Navigieren Sie hierfür in die von Ihnen erstellte Klassenbibliothek indem sie den Befehl cd nutzen. Das folgende Beispiel demonstriert einen solchen Pfadwechsel:

PS C:\Users\kande\source\repos\MultiTool> cd .\MAKlassenBibliothek
PS C:\Users\kande\source\repos\MultiTool\MAKlassenBibliothek> 

Beispiel. Passen Sie entsprechend an

Installieren Sie nun das 'Figgle'-Paket indem Sie folgenden Befehl verwenden:

dotnet add package Figgle --version 0.5.1 
  • Binden Sie das Paket in Ihre Submenü-Datei ein.

Beispiel:

using Figgle;
namespace MAKlassenBibliothek;

public class MAMenue
{
  ...

Lösung Fehler 2:
Die Projekte in einer Projektmappe bilden voneinander getrennte Namensräume. Um auf Klassen und Methoden anderer Projekte zugreifen zu können, müssen diese über einen Projektverweis eingebunden werden.

Sie können dies tun, indem Sie Ihrer Klassenbibliothek die Bibliothek KonsolenExtrasBibliothek als Verweis hinzufügen.

Navigieren Sie in das root Verzeichnis
Mit dem Befehl cd .. navigieren Sie in das Übergeordnete Verzeichnis

PS C:\Users\kande\source\repos\MultiTool\MAKlassenBibliothek> cd ..
PS C:\Users\kande\source\repos\MultiTool> 

Fügen Sie den Verweis hinzu
Folgender Befehl zeigt beispielhaft wie dies umgesetzt werden kann:

PS C:\Users\kande\source\repos\MultiTool> dotnet add MAKlassenBibliothek\MAKlassenBibliothek.csproj reference KonsolenExtrasBibliothek\KonsolenExtrasBibliothek.csproj

Gehen Sie vom root Verzeichnis aus und passen Sie den Befehl entsprechend an

Da sie vom Hauptprojekt 'MultiTool' Ihre Bibliothek aufrufen möchten, müssen sie dem Hauptprojekt Ihre Bibliothek als Verweis hinzufügen. Hier wieder beispielhaft gezeigt:

PS C:\Users\kande\source\repos\MultiTool> dotnet add MultiTool\MultiTool.csproj reference MAKlassenBibliothek\MAKlassenBibliothek.csproj
  • 5. Aufruf des Submenüs
  • Binden Sie die neue KlassenBibliothek in das Projekt MultiTool ein
  • Rufen Sie Ihr Submenü an der richtigen Stelle im Hauptmenü (Hauptmenue.cs) auf

Beispiel:

case "m":
    Console.Clear();
    //Hier das Mathematikmenü aufrufen
    MAKlassenBibliothek.MAMenue.MA_Menue();
    break;
  • 6. Das Submenü anpassen

  • Passen Sie alle Informationen im Submenü an Ihren Bereich an

  • Fügen Sie den Befehl "subexit" in ihr Submenü mit ein. Mit diesem Befehl soll es möglich sein ins Hauptmenü zu gelangen

  • 7. Branch pushen
    Um die Branch zu pushen öffnen sie Source Control und Schreiben Sie eine passende Beschreibung in die Commitbox. Fügen Sie die Änderungen hinzu und Pushen Sie.

Achten Sie darauf das sie in der richtigen Branch arbeiten


❗❗ Wichtig: Wenn Sie mit den nächsten Punkten weiter machen bevor Ihr Submenü funktional ist, vervielfältigen Sie die Fehler durch das erstellen der Featurebranches.

4. Submenü erstellen

Durchführung: Teamkoordinator

Zeitangabe: 45min


Beschreibung:

Es wird deutlich, dass die bereits erstellten Klassenbibliotheken nur in den jeweiligen Bereichsbranches existieren. Die einzelnen Bereichsfeatures sollen über ein Submenü aufgerufen werden, welches wiederum vom Hauptmenü aufgerufen wird. Diese Submenüs werden in den zuvor erstellten Klassenbibliotheken erzeugt.


Vorgehen:

  • 1. cs-Datei umbenennen
  • Nennen Sie die Class1.cs-Datei in Ihrer KlassenBibliothek um, beachten Sie dabei die Vorgabe aus den Richtlinien.
  • Achten Sie darauf, dass die Klasse in Ihrer Menü-Datei auch entsprechend geändert wurde.

Beispiel:

namespace MAKlassenBibliothek;
public class MAMenue
{

}
  • 2. Methode erstellen
    Damit Ihr Submenü aufgerufen werden kann, muss eine öffentliche (public) statische (static) Methode ohne Rückgabewert (void) erstellt werden. Die Methodenbezeichnung können Sie vom Klassennamen abwandeln.

Beispiel:

namespace MAKlassenBibliothek;
public class MAMenue
{
    public static void MA_Menue()
    {

    }
}
  • 3. Submenü einfügen
    Unter MultiTool -> Hauptmenue.cs -> HauptmenueAufruf() finden Sie die Methode des Hauptmenüs. Sie können dieses kopieren und in die von Ihnen erstellte Methode einfügt werden. Achten Sie darauf nur den Körper der Methode zu kopieren.

  • 4. Verweise hinzufügen & Pakete installieren
    Nun müssten Ihnen folgende Fehler angezeigt werden.

Fehler 1: Der Name "FiggleFonts" ist im aktuellen Kontext nicht vorhanden.
Fehler 2: Der Name "KonsolenExtrasBibliothek" ist im aktuellen Kontext nicht vorhanden.

Lösung Fehler 1:

  • Installieren Sie das NuGet-Paket "Figgle" in die von Ihnen erstellte KlassenBibliothek.

Navigieren Sie hierfür in die von Ihnen erstellte Klassenbibliothek indem sie den Befehl cd nutzen. Das folgende Beispiel demonstriert einen solchen Pfadwechsel:

PS C:\Users\kande\source\repos\MultiTool> cd .\MAKlassenBibliothek
PS C:\Users\kande\source\repos\MultiTool\MAKlassenBibliothek> 

Beispiel. Passen Sie entsprechend an

Installieren Sie nun das 'Figgle'-Paket indem Sie folgenden Befehl verwenden:

dotnet add package Figgle --version 0.5.1 
  • Binden Sie das Paket in Ihre Submenü-Datei ein.

Beispiel:

using Figgle;
namespace MAKlassenBibliothek;

public class MAMenue
{
  ...

Lösung Fehler 2:
Die Projekte in einer Projektmappe bilden voneinander getrennte Namensräume. Um auf Klassen und Methoden anderer Projekte zugreifen zu können, müssen diese über einen Projektverweis eingebunden werden.

Sie können dies tun, indem Sie Ihrer Klassenbibliothek die Bibliothek KonsolenExtrasBibliothek als Verweis hinzufügen.

Navigieren Sie in das root Verzeichnis
Mit dem Befehl cd .. navigieren Sie in das Übergeordnete Verzeichnis

PS C:\Users\kande\source\repos\MultiTool\MAKlassenBibliothek> cd ..
PS C:\Users\kande\source\repos\MultiTool> 

Fügen Sie den Verweis hinzu
Folgender Befehl zeigt beispielhaft wie dies umgesetzt werden kann:

PS C:\Users\kande\source\repos\MultiTool> dotnet add MAKlassenBibliothek\MAKlassenBibliothek.csproj reference KonsolenExtrasBibliothek\KonsolenExtrasBibliothek.csproj

Gehen Sie vom root Verzeichnis aus und passen Sie den Befehl entsprechend an

Da sie vom Hauptprojekt 'MultiTool' Ihre Bibliothek aufrufen möchten, müssen sie dem Hauptprojekt Ihre Bibliothek als Verweis hinzufügen. Hier wieder beispielhaft gezeigt:

PS C:\Users\kande\source\repos\MultiTool> dotnet add MultiTool\MultiTool.csproj reference MAKlassenBibliothek\MAKlassenBibliothek.csproj
  • 5. Aufruf des Submenüs
  • Binden Sie die neue KlassenBibliothek in das Projekt MultiTool ein
  • Rufen Sie Ihr Submenü an der richtigen Stelle im Hauptmenü (Hauptmenue.cs) auf

Beispiel:

case "m":
    Console.Clear();
    //Hier das Mathematikmenü aufrufen
    MAKlassenBibliothek.MAMenue.MA_Menue();
    break;
  • 6. Das Submenü anpassen

  • Passen Sie alle Informationen im Submenü an Ihren Bereich an

  • Fügen Sie den Befehl "subexit" in ihr Submenü mit ein. Mit diesem Befehl soll es möglich sein ins Hauptmenü zu gelangen

  • 7. Branch pushen
    Um die Branch zu pushen öffnen sie Source Control und Schreiben Sie eine passende Beschreibung in die Commitbox. Fügen Sie die Änderungen hinzu und Pushen Sie.

Achten Sie darauf das sie in der richtigen Branch arbeiten


❗❗ Wichtig: Wenn Sie mit den nächsten Punkten weiter machen bevor Ihr Submenü funktional ist, vervielfältigen Sie die Fehler durch das erstellen der Featurebranches.

Quellcode Entwickler 2

Durchführung: Entwickler / Teamkoordinator

Vorgehen

  1. Realisieren Sie das Programm in ihrer dafür erstellten .cs Datei.
  2. Pushen sie den Code auf Ihre Branch
  3. Erstellen Sie einen Pull-Request

❗ ❗ Wichtig: Achten Sie darauf den Pull-Request von Ihrer Branch auf die Ihrer Bereichsbranch zu erstellen.

Quellcode Entwickler 1

Durchführung: Entwickler / Teamkoordinator

Vorgehen

  1. Realisieren Sie das Programm in ihrer dafür erstellten .cs Datei.
  2. Pushen sie den Code auf Ihre Branch
  3. Erstellen Sie einen Pull-Request

❗ ❗ Wichtig: Achten Sie darauf den Pull-Request von Ihrer Branch auf die Ihrer Bereichsbranch zu erstellen.

Quellcode Entwickler 4

Durchführung: Entwickler / Teamkoordinator

Vorgehen

  1. Realisieren Sie das Programm in ihrer dafür erstellten .cs Datei.
  2. Pushen sie den Code auf Ihre Branch
  3. Erstellen Sie einen Pull-Request

❗ ❗ Wichtig: Achten Sie darauf den Pull-Request von Ihrer Branch auf die Ihrer Bereichsbranch zu erstellen.

Bereichte Fetigstellen Ganzes Team

Durchführung: Entwickler / Teamkoordinator

Vorgehen

  1. Vorlage und Anforderungen runterladen
  2. Bericht anfertigen
  3. Auf Rechtschreibfehler prüfen
  4. Bei Teams hochladen

❗ ❗ Wichtig: Achten Sie darauf die Frist einzuhalten. Bei verspäteter Abgabe gilt die Abgabe als 6.

5. FeatureBranch

Durchführung: Teamkoordinator/Entwickler

Zeitangabe: 15min


Beschreibung:

Jedes Feature wird in einer separaten Branch erstellt. Dies ermöglicht es, dass die Erstellung der Features in einem abgegrenzten Bereich vorgenommen werden kann.


Vorgehen:

In der Bereichsbranch die HTTPS-URL kopieren

Visual Studio Code öffnen und aktuellen Ordner schließen. Vergewissern Sie sich zuerst ob sie bei Microsoft und GitHub angemeldet sind (Accounts). Nun können Sie über Source Control -> Repository Klonen die HTTPS-URL einfügen und über den "Klonen"-Button bestätigen.

  • 2. Auf Basis der Bereichsbranch eine neue Branch erstellen

Zunächst Klicken Sie auf main und anschließend auf Ihre Bereichsbranch z.B. MAEntwicklung, ITEntwicklung ...
Unten links sehen Sie ob sie erfolgreich in Ihre Bereichsbranch ausgecheckt sind. Im folgenden Bild sehen Sie ein Beispiel mit der Bereichsbranch MAEntwicklung .

Neue Featurebranch

  • Zunächst Klicken Sie auf main oder ihre Bereichsbranch und anschließend auf Create new Branch from.. /
  • Wählen Sie Ihre Bereichsbranch aus aus der Sie eine neue Featurebranch erstellen wollen.
  • Geben Sie den korrekten Namen Ihrer Featurebranch in die obere Zeile ein. Entnehmen Sie die Bezeichnung aus der Tabelle unter dem Feld "Branch". Achten Sie darauf ,dass die neue Featurebranch auf ihrer Bereichsbranch basiert. Erstellen Sie die Branch mit der "Enter Taste".

  • 3. Branch pushen

Ihre Featurebranch existiert jetzt lokal auf ihrem Computer. Damit die Branch nun auch im Remote-Repository online zu sehen ist, müssen Sie diese noch veröffentlichen. Achten Sie dabei darauf, dass sie in ihrer Featurebranch ausgecheckt sind. Das erkennen Sie daran, dass unten statt main oder MAEntwicklung nun der Name Ihrer Featurebranch (z.B. Feature1) zu sehen ist.

Um die Branch zu veröffentlichen, navigieren sie zu Source Control. Es fällt auf, dass die Erstellung der Branch kein Commit verursacht hat. Dennoch können Sie die Branch mit einem Klick auf Publish Branch pushen.

Alternativ können Sie die branch auch im Browser erstellen und anschließend in Visual Studio abrufen. Eine Anleitung dazu finden Sie hier.

3. KlassenBibliothek erstellen

Durchführung: Teamkoordinator

Zeitangabe: 10min


Beschreibung:

Die einzelnen Bereiche werden in Klassenbibliotheken realisiert. Diese müssen von den Teamkoordinatoren in den einzelnen Bereichsbranches erstellt und verwaltet werden. Weitere Informationen zu Klassenbibliotheken in C# finden Sie hier.


Vorgehen:

  • 1. Klassenbibliothek erstellen
  • Achten Sie darauf das Ihre Bereichsbranch ausgewählt ist, bevor Sie die Klassenbibliothek erstellen
  • In der Bereichsbranch mit einem Rechtsklick auf die Projektmappe eine neue Klassenbibliothek erstellen
  • Mit vorgegebenen Namen benennen (die entsprechenden Namen finden Sie in den Richtlinien).

Öffnen Sie über Ansicht/Terminal ein neues Terminal. Gehen Sie sicher das Sie sich im richtigen Verzeichnis befinden z.B. PS C:\Users\kande\source\repos\MultiTool>. Geben Sie nun folgenden dotnet Befehl ein:

dotnet new classlib -n NameDerBibliothek -lang C# --framework net6.0

Die erstellt Klassenbibliothek muss nun dem Gesamtprojekt hinzugefügt werden:

dotnet sln MultiTool.sln add NameDerBibliothek\NameDerBibliothek.csproj 

  • 2. Committen und pushen
  • Unter Source Control einen Text in die Commitbox einfügen und alle Änderungen hinzufügen
  • Als nächstes die Änderungen pushen.

❗❗ Wichtig: Die Bezeichnung der Klassenbibliothek muss exakt der Vorgabe in den Richtlinien entsprechen, sonst wird die Bereichsbranch nicht auf main gemerget.

4. Submenü erstellen

Durchführung: Teamkoordinator

Zeitangabe: 45min


Beschreibung:

Es wird deutlich, dass die bereits erstellten Klassenbibliotheken nur in den jeweiligen Bereichsbranches existieren. Die einzelnen Bereichsfeatures sollen über ein Submenü aufgerufen werden, welches wiederum vom Hauptmenü aufgerufen wird. Diese Submenüs werden in den zuvor erstellten Klassenbibliotheken erzeugt.


Vorgehen:

  • 1. cs-Datei umbenennen
  • Nennen Sie die Class1.cs-Datei in Ihrer KlassenBibliothek um, beachten Sie dabei die Vorgabe aus den Richtlinien.
  • Achten Sie darauf, dass die Klasse in Ihrer Menü-Datei auch entsprechend geändert wurde.

Beispiel:

namespace MAKlassenBibliothek;
public class MAMenue
{

}
  • 2. Methode erstellen
    Damit Ihr Submenü aufgerufen werden kann, muss eine öffentliche (public) statische (static) Methode ohne Rückgabewert (void) erstellt werden. Die Methodenbezeichnung können Sie vom Klassennamen abwandeln.

Beispiel:

namespace MAKlassenBibliothek;
public class MAMenue
{
    public static void MA_Menue()
    {

    }
}
  • 3. Submenü einfügen
    Unter MultiTool -> Hauptmenue.cs -> HauptmenueAufruf() finden Sie die Methode des Hauptmenüs. Sie können dieses kopieren und in die von Ihnen erstellte Methode einfügt werden. Achten Sie darauf nur den Körper der Methode zu kopieren.

  • 4. Verweise hinzufügen & Pakete installieren
    Nun müssten Ihnen folgende Fehler angezeigt werden.

Fehler 1: Der Name "FiggleFonts" ist im aktuellen Kontext nicht vorhanden.
Fehler 2: Der Name "KonsolenExtrasBibliothek" ist im aktuellen Kontext nicht vorhanden.

Lösung Fehler 1:

  • Installieren Sie das NuGet-Paket "Figgle" in die von Ihnen erstellte KlassenBibliothek.

Navigieren Sie hierfür in die von Ihnen erstellte Klassenbibliothek indem sie den Befehl cd nutzen. Das folgende Beispiel demonstriert einen solchen Pfadwechsel:

PS C:\Users\kande\source\repos\MultiTool> cd .\MAKlassenBibliothek
PS C:\Users\kande\source\repos\MultiTool\MAKlassenBibliothek> 

Beispiel. Passen Sie entsprechend an

Installieren Sie nun das 'Figgle'-Paket indem Sie folgenden Befehl verwenden:

dotnet add package Figgle --version 0.5.1 
  • Binden Sie das Paket in Ihre Submenü-Datei ein.

Beispiel:

using Figgle;
namespace MAKlassenBibliothek;

public class MAMenue
{
  ...

Lösung Fehler 2:
Die Projekte in einer Projektmappe bilden voneinander getrennte Namensräume. Um auf Klassen und Methoden anderer Projekte zugreifen zu können, müssen diese über einen Projektverweis eingebunden werden.

Sie können dies tun, indem Sie Ihrer Klassenbibliothek die Bibliothek KonsolenExtrasBibliothek als Verweis hinzufügen.

Navigieren Sie in das root Verzeichnis
Mit dem Befehl cd .. navigieren Sie in das Übergeordnete Verzeichnis

PS C:\Users\kande\source\repos\MultiTool\MAKlassenBibliothek> cd ..
PS C:\Users\kande\source\repos\MultiTool> 

Fügen Sie den Verweis hinzu
Folgender Befehl zeigt beispielhaft wie dies umgesetzt werden kann:

PS C:\Users\kande\source\repos\MultiTool> dotnet add MAKlassenBibliothek\MAKlassenBibliothek.csproj reference KonsolenExtrasBibliothek\KonsolenExtrasBibliothek.csproj

Gehen Sie vom root Verzeichnis aus und passen Sie den Befehl entsprechend an

Da sie vom Hauptprojekt 'MultiTool' Ihre Bibliothek aufrufen möchten, müssen sie dem Hauptprojekt Ihre Bibliothek als Verweis hinzufügen. Hier wieder beispielhaft gezeigt:

PS C:\Users\kande\source\repos\MultiTool> dotnet add MultiTool\MultiTool.csproj reference MAKlassenBibliothek\MAKlassenBibliothek.csproj
  • 5. Aufruf des Submenüs
  • Binden Sie die neue KlassenBibliothek in das Projekt MultiTool ein
  • Rufen Sie Ihr Submenü an der richtigen Stelle im Hauptmenü (Hauptmenue.cs) auf

Beispiel:

case "m":
    Console.Clear();
    //Hier das Mathematikmenü aufrufen
    MAKlassenBibliothek.MAMenue.MA_Menue();
    break;
  • 6. Das Submenü anpassen

  • Passen Sie alle Informationen im Submenü an Ihren Bereich an

  • Fügen Sie den Befehl "subexit" in ihr Submenü mit ein. Mit diesem Befehl soll es möglich sein ins Hauptmenü zu gelangen

  • 7. Branch pushen
    Um die Branch zu pushen öffnen sie Source Control und Schreiben Sie eine passende Beschreibung in die Commitbox. Fügen Sie die Änderungen hinzu und Pushen Sie.

Achten Sie darauf das sie in der richtigen Branch arbeiten


❗❗ Wichtig: Wenn Sie mit den nächsten Punkten weiter machen bevor Ihr Submenü funktional ist, vervielfältigen Sie die Fehler durch das erstellen der Featurebranches.

Features festgelegt und in die Tabelle eingetragen

Durchführung: Teamkoordinator/ alle Entwickler

Zeitangabe: 90min


Beschreibung:

Es ist wichtig, dass jeder ein Feature für sich festlegt und in der Tabelle
an der korrekten Stelle einträgt. Sie können sich ein eigenes Feature überlegen, das zu Ihrem Bereich passt. Sie können aber auch ein Feature aus der Liste der Themenvorschläge auswählen.


Vorgehen:

  • 1. Brainstorming welches Feature jedes Teammitglied umsetzt
  • 2. Die Tabelle der main-Branch aufrufen
  • 3. Das ReadMe mit Klick auf den Bleistift bearbeiten

  • 4. Das Thema in unter dem Feld "Feature" eintragen. Die Teamkoordinatoren tragen Ihr Feature neben das jeweilige Menü ein (z.B. WI Menü / Einkommenssteuer-Rechner)
  • 5. Den Usernamen unter dem Feld "Username" eintragen (z.B. AI-Assistant)
  • 6. Nach den Änderungen unten den Commit beschriften und ggf. zusätzliche Informationen hinzufügen. Mit einem Klick auf "Propose changes" den Pull-Request abschicken. (Die Änderungen werden erst übernommen wenn der Admin den Pull-Request bestätigt)


Wichtig ❗ ❗
Dieses Issue darf erst geschlossen werden, wenn alle Teammitglieder ein ein Feature eingetragen haben.

1. Bereichsbranch erstellen

Durchführung: Teamkoordinator

Zeitangabe: 15min


Beschreibung:

Jeder Bereich hat seine eigene Branch und wird von den Teamkoordinatoren erstellt und verwaltet.
Weitere Informationen zu Branches finden Sie hier.


Vorgehen:

  • 1. Das MultiTool mit der main-Branch wird geklont

Das MutliTool-Projekt mit der main Branch aufrufen und die HTTPS-URL kopieren

Visual Studio Code öffnen und aktuellen Ordner schließen. Vergewissern Sie sich zuerst ob sie bei Microsoft und GitHub angemeldet sind (Accounts). Nun können Sie über Source Control -> Repository Klonen die HTTPS-URL einfügen und über den "Klonen"-Button bestätigen.

  • 2. Auf Basis von main eine neue Branch erstellen

Zunächst Klicken Sie auf main und anschließend auf Create new Branch from.. / main

Geben Sie den korrekten Namen Ihrer Bereichsbranch in die obere Zeile ein. Entnehmen Sie die Bezeichnung aus der Tabelle unter dem Feld "Branch". Achten Sie darauf ,dass die neue Bereichsbranch auf main basiert. Erstellen Sie die Branch mit der "Enter Taste".

  • 3. Branch pushen

Ihre Bereichsbranch existiert jetzt lokal auf ihrem Computer. Damit die Branch nun auch im Remote-Repository online zu sehen ist, müssen Sie diese noch veröffentlichen. Achten Sie dabei darauf, dass sie in ihre Bereichsbranch ausgecheckt sind. Das erkennen Sie daran, dass unten statt main nun der Name Ihrer Bereichsbranch zu sehen ist.

Um die Branch zu veröffentlichen, navigieren sie zu Source Control. Es fällt auf, dass die Erstellung der Branch kein Commit verursacht hat. Dennoch können Sie die Branch mit einem Klick auf Publish Branch pushen.

Alternativ können Sie die branch auch im Browser erstellen und anschließend in Visual Studio abrufen. Eine Anleitung dazu finden Sie hier.

Quellcode Entwickler 3

Durchführung: Entwickler / Teamkoordinator

Vorgehen

  1. Realisieren Sie das Programm in ihrer dafür erstellten .cs Datei.
  2. Pushen sie den Code auf Ihre Branch
  3. Erstellen Sie einen Pull-Request

❗ ❗ Wichtig: Achten Sie darauf den Pull-Request von Ihrer Branch auf die Ihrer Bereichsbranch zu erstellen.

1. Bereichsbranch erstellen

Durchführung: Teamkoordinator

Zeitangabe: 15min


Beschreibung:

Jeder Bereich hat seine eigene Branch und wird von den Teamkoordinatoren erstellt und verwaltet.
Weitere Informationen zu Branches finden Sie hier.


Vorgehen:

  • 1. Das MultiTool mit der main-Branch wird geklont

Das MutliTool-Projekt mit der main Branch aufrufen und die HTTPS-URL kopieren

Visual Studio Code öffnen und aktuellen Ordner schließen. Vergewissern Sie sich zuerst ob sie bei Microsoft und GitHub angemeldet sind (Accounts). Nun können Sie über Source Control -> Repository Klonen die HTTPS-URL einfügen und über den "Klonen"-Button bestätigen.

  • 2. Auf Basis von main eine neue Branch erstellen

Zunächst Klicken Sie auf main und anschließend auf Create new Branch from.. / main

Geben Sie den korrekten Namen Ihrer Bereichsbranch in die obere Zeile ein. Entnehmen Sie die Bezeichnung aus der Tabelle unter dem Feld "Branch". Achten Sie darauf ,dass die neue Bereichsbranch auf main basiert. Erstellen Sie die Branch mit der "Enter Taste".

  • 3. Branch pushen

Ihre Bereichsbranch existiert jetzt lokal auf ihrem Computer. Damit die Branch nun auch im Remote-Repository online zu sehen ist, müssen Sie diese noch veröffentlichen. Achten Sie dabei darauf, dass sie in ihre Bereichsbranch ausgecheckt sind. Das erkennen Sie daran, dass unten statt main nun der Name Ihrer Bereichsbranch zu sehen ist.

Um die Branch zu veröffentlichen, navigieren sie zu Source Control. Es fällt auf, dass die Erstellung der Branch kein Commit verursacht hat. Dennoch können Sie die Branch mit einem Klick auf Publish Branch pushen.

Alternativ können Sie die branch auch im Browser erstellen und anschließend in Visual Studio abrufen. Eine Anleitung dazu finden Sie hier.

Quellcode Entwickler 4

Durchführung: Entwickler / Teamkoordinator

Vorgehen

  1. Realisieren Sie das Programm in ihrer dafür erstellten .cs Datei.
  2. Pushen sie den Code auf Ihre Branch
  3. Erstellen Sie einen Pull-Request

❗ ❗ Wichtig: Achten Sie darauf den Pull-Request von Ihrer Branch auf die Ihrer Bereichsbranch zu erstellen.

Quellcode Teamkoordinator

Durchführung: Entwickler / Teamkoordinator

Vorgehen

  1. Realisieren Sie das Programm in ihrer dafür erstellten .cs Datei.
  2. Pushen sie den Code auf Ihre Branch
  3. Erstellen Sie einen Pull-Request

❗ ❗ Wichtig: Achten Sie darauf den Pull-Request von Ihrer Branch auf die Ihrer Bereichsbranch zu erstellen.

Quellcode Teamkoordinator

Durchführung: Entwickler / Teamkoordinator

Vorgehen

  1. Realisieren Sie das Programm in ihrer dafür erstellten .cs Datei.
  2. Pushen sie den Code auf Ihre Branch
  3. Erstellen Sie einen Pull-Request

❗ ❗ Wichtig: Achten Sie darauf den Pull-Request von Ihrer Branch auf die Ihrer Bereichsbranch zu erstellen.

5. FeatureBranch

Durchführung: Teamkoordinator/Entwickler

Zeitangabe: 15min


Beschreibung:

Jedes Feature wird in einer separaten Branch erstellt. Dies ermöglicht es, dass die Erstellung der Features in einem abgegrenzten Bereich vorgenommen werden kann.


Vorgehen:

In der Bereichsbranch die HTTPS-URL kopieren

Visual Studio Code öffnen und aktuellen Ordner schließen. Vergewissern Sie sich zuerst ob sie bei Microsoft und GitHub angemeldet sind (Accounts). Nun können Sie über Source Control -> Repository Klonen die HTTPS-URL einfügen und über den "Klonen"-Button bestätigen.

  • 2. Auf Basis der Bereichsbranch eine neue Branch erstellen

Zunächst Klicken Sie auf main und anschließend auf Ihre Bereichsbranch z.B. MAEntwicklung, ITEntwicklung ...
Unten links sehen Sie ob sie erfolgreich in Ihre Bereichsbranch ausgecheckt sind. Im folgenden Bild sehen Sie ein Beispiel mit der Bereichsbranch MAEntwicklung .

Neue Featurebranch

  • Zunächst Klicken Sie auf main oder ihre Bereichsbranch und anschließend auf Create new Branch from.. /
  • Wählen Sie Ihre Bereichsbranch aus aus der Sie eine neue Featurebranch erstellen wollen.
  • Geben Sie den korrekten Namen Ihrer Featurebranch in die obere Zeile ein. Entnehmen Sie die Bezeichnung aus der Tabelle unter dem Feld "Branch". Achten Sie darauf ,dass die neue Featurebranch auf ihrer Bereichsbranch basiert. Erstellen Sie die Branch mit der "Enter Taste".

  • 3. Branch pushen

Ihre Featurebranch existiert jetzt lokal auf ihrem Computer. Damit die Branch nun auch im Remote-Repository online zu sehen ist, müssen Sie diese noch veröffentlichen. Achten Sie dabei darauf, dass sie in ihrer Featurebranch ausgecheckt sind. Das erkennen Sie daran, dass unten statt main oder MAEntwicklung nun der Name Ihrer Featurebranch (z.B. Feature1) zu sehen ist.

Um die Branch zu veröffentlichen, navigieren sie zu Source Control. Es fällt auf, dass die Erstellung der Branch kein Commit verursacht hat. Dennoch können Sie die Branch mit einem Klick auf Publish Branch pushen.

Alternativ können Sie die branch auch im Browser erstellen und anschließend in Visual Studio abrufen. Eine Anleitung dazu finden Sie hier.

5. FeatureBranch

Durchführung: Teamkoordinator/Entwickler

Zeitangabe: 15min


Beschreibung:

Jedes Feature wird in einer separaten Branch erstellt. Dies ermöglicht es, dass die Erstellung der Features in einem abgegrenzten Bereich vorgenommen werden kann.


Vorgehen:

In der Bereichsbranch die HTTPS-URL kopieren

Visual Studio Code öffnen und aktuellen Ordner schließen. Vergewissern Sie sich zuerst ob sie bei Microsoft und GitHub angemeldet sind (Accounts). Nun können Sie über Source Control -> Repository Klonen die HTTPS-URL einfügen und über den "Klonen"-Button bestätigen.

  • 2. Auf Basis der Bereichsbranch eine neue Branch erstellen

Zunächst Klicken Sie auf main und anschließend auf Ihre Bereichsbranch z.B. MAEntwicklung, ITEntwicklung ...
Unten links sehen Sie ob sie erfolgreich in Ihre Bereichsbranch ausgecheckt sind. Im folgenden Bild sehen Sie ein Beispiel mit der Bereichsbranch MAEntwicklung .

Neue Featurebranch

  • Zunächst Klicken Sie auf main oder ihre Bereichsbranch und anschließend auf Create new Branch from.. /
  • Wählen Sie Ihre Bereichsbranch aus aus der Sie eine neue Featurebranch erstellen wollen.
  • Geben Sie den korrekten Namen Ihrer Featurebranch in die obere Zeile ein. Entnehmen Sie die Bezeichnung aus der Tabelle unter dem Feld "Branch". Achten Sie darauf ,dass die neue Featurebranch auf ihrer Bereichsbranch basiert. Erstellen Sie die Branch mit der "Enter Taste".

  • 3. Branch pushen

Ihre Featurebranch existiert jetzt lokal auf ihrem Computer. Damit die Branch nun auch im Remote-Repository online zu sehen ist, müssen Sie diese noch veröffentlichen. Achten Sie dabei darauf, dass sie in ihrer Featurebranch ausgecheckt sind. Das erkennen Sie daran, dass unten statt main oder MAEntwicklung nun der Name Ihrer Featurebranch (z.B. Feature1) zu sehen ist.

Um die Branch zu veröffentlichen, navigieren sie zu Source Control. Es fällt auf, dass die Erstellung der Branch kein Commit verursacht hat. Dennoch können Sie die Branch mit einem Klick auf Publish Branch pushen.

Alternativ können Sie die branch auch im Browser erstellen und anschließend in Visual Studio abrufen. Eine Anleitung dazu finden Sie hier.

6. Klassen und Methoden

Durchführung: Teamkoordinator/Entwickler

Zeitangabe: 15min


Beschreibung:

Sie haben nun ihre persönliche Featurebranch erstellt. Nun müssen Sie eine neue cs-Datei erstellen, welche Ihren Quellcode enthält.


Vorgehen:

  • 1. cs-Datei in der Bereichs-Klassenbibliothek erstellen
  • Öffnen Sie Visual Studio Code und wählen Sie Ihre Featurebranch.
  • Erstellen Sie in der Bereichs-Klassenbibliothek eine neue Klasse
  • Der Name der Klasse entspricht dem Namen Ihrer Featurebranch und kann aus der Tabelle entnommen werden (Feature1 nur ein Beispiel).

  • 2. Methode in der Feature-Klasse erstellen
    Damit Ihr Feature vom Submenü aufgerufen werden kann, muss eine interne (internal) statische (static) Methode ohne Rückgabewert (void) erstellt werden. Die Methodenbezeichnung können Sie vom Klassennamen abwandeln. Weitere Informationen zu Zugriffsmodifizierern finden Sie hier.

Beispiel:

namespace MAKlassenBibliothek;

internal class Feature1
{
    internal static void Feature_1()
    {
        Console.WriteLine("Test Feature 1"); 
        //Diese Ausgabe hilft Ihnen zu erkennen ob der Aufruf funktioniert.
    }
}
  • 4. Feature über das Submenü aufrufen
    Rufen Sie Ihr Feature an der richtigen Stelle im Submenü (MAMenue.cs, ITMenue.cs, ...) auf. Wenn in Ihrem Submenü Ihr Feature in der Auswahl 1 hinterlegt werden soll, könnte die Einbindung folgendermaßen aussehen.

Beispiel:

case "1":
   Console.Clear();
   //Hier Feature1 aufrufen
   Feature1.Feature_1();
   break;

**Testen Sie ob der Aufruf erfolgreich ist ** ❗

  • 3. Branch pushen

Ihre Änderungen existiert jetzt lokal auf ihrem Computer. Damit die Branch nun auch im Remote-Repository online zu sehen ist, müssen Sie diese noch veröffentlichen. Achten Sie dabei darauf, dass sie in ihrer Featurebranch ausgecheckt sind. Das erkennen Sie daran, dass unten statt main oder MAEntwicklung nun der Name Ihrer Featurebranch (z.B. Feature1) zu sehen ist.

Um die Änderungen zu pushen, schreiben Sie eine Beschreibung der Änderungen in die Commitbox.
Fügen Sie die Änderungen hinzu und klicken Sie auf Commit.
Pushen Sie nun die Änderungen auf den Server.


Wichtig ❗ ❗
Die Vorgegebenen Namen der Klassen müssen eingehalten werden.

Bereichte Fetigstellen Ganzes Team

Durchführung: Entwickler / Teamkoordinator

Vorgehen

  1. Vorlage und Anforderungen runterladen
  2. Bericht anfertigen
  3. Auf Rechtschreibfehler prüfen
  4. Bei Teams hochladen

❗ ❗ Wichtig: Achten Sie darauf die Frist einzuhalten. Bei verspäteter Abgabe gilt die Abgabe als 6.

6. Klassen und Methoden

Durchführung: Teamkoordinator/Entwickler

Zeitangabe: 15min


Beschreibung:

Sie haben nun ihre persönliche Featurebranch erstellt. Nun müssen Sie eine neue cs-Datei erstellen, welche Ihren Quellcode enthält.


Vorgehen:

  • 1. cs-Datei in der Bereichs-Klassenbibliothek erstellen
  • Öffnen Sie Visual Studio Code und wählen Sie Ihre Featurebranch.
  • Erstellen Sie in der Bereichs-Klassenbibliothek eine neue Klasse
  • Der Name der Klasse entspricht dem Namen Ihrer Featurebranch und kann aus der Tabelle entnommen werden (Feature1 nur ein Beispiel).

  • 2. Methode in der Feature-Klasse erstellen
    Damit Ihr Feature vom Submenü aufgerufen werden kann, muss eine interne (internal) statische (static) Methode ohne Rückgabewert (void) erstellt werden. Die Methodenbezeichnung können Sie vom Klassennamen abwandeln. Weitere Informationen zu Zugriffsmodifizierern finden Sie hier.

Beispiel:

namespace MAKlassenBibliothek;

internal class Feature1
{
    internal static void Feature_1()
    {
        Console.WriteLine("Test Feature 1"); 
        //Diese Ausgabe hilft Ihnen zu erkennen ob der Aufruf funktioniert.
    }
}
  • 4. Feature über das Submenü aufrufen
    Rufen Sie Ihr Feature an der richtigen Stelle im Submenü (MAMenue.cs, ITMenue.cs, ...) auf. Wenn in Ihrem Submenü Ihr Feature in der Auswahl 1 hinterlegt werden soll, könnte die Einbindung folgendermaßen aussehen.

Beispiel:

case "1":
   Console.Clear();
   //Hier Feature1 aufrufen
   Feature1.Feature_1();
   break;

**Testen Sie ob der Aufruf erfolgreich ist ** ❗

  • 3. Branch pushen

Ihre Änderungen existiert jetzt lokal auf ihrem Computer. Damit die Branch nun auch im Remote-Repository online zu sehen ist, müssen Sie diese noch veröffentlichen. Achten Sie dabei darauf, dass sie in ihrer Featurebranch ausgecheckt sind. Das erkennen Sie daran, dass unten statt main oder MAEntwicklung nun der Name Ihrer Featurebranch (z.B. Feature1) zu sehen ist.

Um die Änderungen zu pushen, schreiben Sie eine Beschreibung der Änderungen in die Commitbox.
Fügen Sie die Änderungen hinzu und klicken Sie auf Commit.
Pushen Sie nun die Änderungen auf den Server.


Wichtig ❗ ❗
Die Vorgegebenen Namen der Klassen müssen eingehalten werden.

1. Bereichsbranch erstellen

Durchführung: Teamkoordinator

Zeitangabe: 15min


Beschreibung:

Jeder Bereich hat seine eigene Branch und wird von den Teamkoordinatoren erstellt und verwaltet.
Weitere Informationen zu Branches finden Sie hier.


Vorgehen:

  • 1. Das MultiTool mit der main-Branch wird geklont

Das MutliTool-Projekt mit der main Branch aufrufen und die HTTPS-URL kopieren

Visual Studio Code öffnen und aktuellen Ordner schließen. Vergewissern Sie sich zuerst ob sie bei Microsoft und GitHub angemeldet sind (Accounts). Nun können Sie über Source Control -> Repository Klonen die HTTPS-URL einfügen und über den "Klonen"-Button bestätigen.

  • 2. Auf Basis von main eine neue Branch erstellen

Zunächst Klicken Sie auf main und anschließend auf Create new Branch from.. / main

Geben Sie den korrekten Namen Ihrer Bereichsbranch in die obere Zeile ein. Entnehmen Sie die Bezeichnung aus der Tabelle unter dem Feld "Branch". Achten Sie darauf ,dass die neue Bereichsbranch auf main basiert. Erstellen Sie die Branch mit der "Enter Taste".

  • 3. Branch pushen

Ihre Bereichsbranch existiert jetzt lokal auf ihrem Computer. Damit die Branch nun auch im Remote-Repository online zu sehen ist, müssen Sie diese noch veröffentlichen. Achten Sie dabei darauf, dass sie in ihre Bereichsbranch ausgecheckt sind. Das erkennen Sie daran, dass unten statt main nun der Name Ihrer Bereichsbranch zu sehen ist.

Um die Branch zu veröffentlichen, navigieren sie zu Source Control. Es fällt auf, dass die Erstellung der Branch kein Commit verursacht hat. Dennoch können Sie die Branch mit einem Klick auf Publish Branch pushen.

Alternativ können Sie die branch auch im Browser erstellen und anschließend in Visual Studio abrufen. Eine Anleitung dazu finden Sie hier.

Quellcode Entwickler 4

Durchführung: Entwickler / Teamkoordinator

Vorgehen

  1. Realisieren Sie das Programm in ihrer dafür erstellten .cs Datei.
  2. Pushen sie den Code auf Ihre Branch
  3. Erstellen Sie einen Pull-Request

❗ ❗ Wichtig: Achten Sie darauf den Pull-Request von Ihrer Branch auf die Ihrer Bereichsbranch zu erstellen.

3. KlassenBibliothek erstellen

Durchführung: Teamkoordinator

Zeitangabe: 10min


Beschreibung:

Die einzelnen Bereiche werden in Klassenbibliotheken realisiert. Diese müssen von den Teamkoordinatoren in den einzelnen Bereichsbranches erstellt und verwaltet werden. Weitere Informationen zu Klassenbibliotheken in C# finden Sie hier.


Vorgehen:

  • 1. Klassenbibliothek erstellen
  • Achten Sie darauf das Ihre Bereichsbranch ausgewählt ist, bevor Sie die Klassenbibliothek erstellen
  • In der Bereichsbranch mit einem Rechtsklick auf die Projektmappe eine neue Klassenbibliothek erstellen
  • Mit vorgegebenen Namen benennen (die entsprechenden Namen finden Sie in den Richtlinien).

Öffnen Sie über Ansicht/Terminal ein neues Terminal. Gehen Sie sicher das Sie sich im richtigen Verzeichnis befinden z.B. PS C:\Users\kande\source\repos\MultiTool>. Geben Sie nun folgenden dotnet Befehl ein:

dotnet new classlib -n NameDerBibliothek -lang C# --framework net6.0

Die erstellt Klassenbibliothek muss nun dem Gesamtprojekt hinzugefügt werden:

dotnet sln MultiTool.sln add NameDerBibliothek\NameDerBibliothek.csproj 

  • 2. Committen und pushen
  • Unter Source Control einen Text in die Commitbox einfügen und alle Änderungen hinzufügen
  • Als nächstes die Änderungen pushen.

❗❗ Wichtig: Die Bezeichnung der Klassenbibliothek muss exakt der Vorgabe in den Richtlinien entsprechen, sonst wird die Bereichsbranch nicht auf main gemerget.

Quellcode Entwickler 3

Durchführung: Entwickler / Teamkoordinator

Vorgehen

  1. Realisieren Sie das Programm in ihrer dafür erstellten .cs Datei.
  2. Pushen sie den Code auf Ihre Branch
  3. Erstellen Sie einen Pull-Request

❗ ❗ Wichtig: Achten Sie darauf den Pull-Request von Ihrer Branch auf die Ihrer Bereichsbranch zu erstellen.

4. Submenü erstellen

Durchführung: Teamkoordinator

Zeitangabe: 45min


Beschreibung:

Es wird deutlich, dass die bereits erstellten Klassenbibliotheken nur in den jeweiligen Bereichsbranches existieren. Die einzelnen Bereichsfeatures sollen über ein Submenü aufgerufen werden, welches wiederum vom Hauptmenü aufgerufen wird. Diese Submenüs werden in den zuvor erstellten Klassenbibliotheken erzeugt.


Vorgehen:

  • 1. cs-Datei umbenennen
  • Nennen Sie die Class1.cs-Datei in Ihrer KlassenBibliothek um, beachten Sie dabei die Vorgabe aus den Richtlinien.
  • Achten Sie darauf, dass die Klasse in Ihrer Menü-Datei auch entsprechend geändert wurde.

Beispiel:

namespace MAKlassenBibliothek;
public class MAMenue
{

}
  • 2. Methode erstellen
    Damit Ihr Submenü aufgerufen werden kann, muss eine öffentliche (public) statische (static) Methode ohne Rückgabewert (void) erstellt werden. Die Methodenbezeichnung können Sie vom Klassennamen abwandeln.

Beispiel:

namespace MAKlassenBibliothek;
public class MAMenue
{
    public static void MA_Menue()
    {

    }
}
  • 3. Submenü einfügen
    Unter MultiTool -> Hauptmenue.cs -> HauptmenueAufruf() finden Sie die Methode des Hauptmenüs. Sie können dieses kopieren und in die von Ihnen erstellte Methode einfügt werden. Achten Sie darauf nur den Körper der Methode zu kopieren.

  • 4. Verweise hinzufügen & Pakete installieren
    Nun müssten Ihnen folgende Fehler angezeigt werden.

Fehler 1: Der Name "FiggleFonts" ist im aktuellen Kontext nicht vorhanden.
Fehler 2: Der Name "KonsolenExtrasBibliothek" ist im aktuellen Kontext nicht vorhanden.

Lösung Fehler 1:

  • Installieren Sie das NuGet-Paket "Figgle" in die von Ihnen erstellte KlassenBibliothek.

Navigieren Sie hierfür in die von Ihnen erstellte Klassenbibliothek indem sie den Befehl cd nutzen. Das folgende Beispiel demonstriert einen solchen Pfadwechsel:

PS C:\Users\kande\source\repos\MultiTool> cd .\MAKlassenBibliothek
PS C:\Users\kande\source\repos\MultiTool\MAKlassenBibliothek> 

Beispiel. Passen Sie entsprechend an

Installieren Sie nun das 'Figgle'-Paket indem Sie folgenden Befehl verwenden:

dotnet add package Figgle --version 0.5.1 
  • Binden Sie das Paket in Ihre Submenü-Datei ein.

Beispiel:

using Figgle;
namespace MAKlassenBibliothek;

public class MAMenue
{
  ...

Lösung Fehler 2:
Die Projekte in einer Projektmappe bilden voneinander getrennte Namensräume. Um auf Klassen und Methoden anderer Projekte zugreifen zu können, müssen diese über einen Projektverweis eingebunden werden.

Sie können dies tun, indem Sie Ihrer Klassenbibliothek die Bibliothek KonsolenExtrasBibliothek als Verweis hinzufügen.

Navigieren Sie in das root Verzeichnis
Mit dem Befehl cd .. navigieren Sie in das Übergeordnete Verzeichnis

PS C:\Users\kande\source\repos\MultiTool\MAKlassenBibliothek> cd ..
PS C:\Users\kande\source\repos\MultiTool> 

Fügen Sie den Verweis hinzu
Folgender Befehl zeigt beispielhaft wie dies umgesetzt werden kann:

PS C:\Users\kande\source\repos\MultiTool> dotnet add MAKlassenBibliothek\MAKlassenBibliothek.csproj reference KonsolenExtrasBibliothek\KonsolenExtrasBibliothek.csproj

Gehen Sie vom root Verzeichnis aus und passen Sie den Befehl entsprechend an

Da sie vom Hauptprojekt 'MultiTool' Ihre Bibliothek aufrufen möchten, müssen sie dem Hauptprojekt Ihre Bibliothek als Verweis hinzufügen. Hier wieder beispielhaft gezeigt:

PS C:\Users\kande\source\repos\MultiTool> dotnet add MultiTool\MultiTool.csproj reference MAKlassenBibliothek\MAKlassenBibliothek.csproj
  • 5. Aufruf des Submenüs
  • Binden Sie die neue KlassenBibliothek in das Projekt MultiTool ein
  • Rufen Sie Ihr Submenü an der richtigen Stelle im Hauptmenü (Hauptmenue.cs) auf

Beispiel:

case "m":
    Console.Clear();
    //Hier das Mathematikmenü aufrufen
    MAKlassenBibliothek.MAMenue.MA_Menue();
    break;
  • 6. Das Submenü anpassen

  • Passen Sie alle Informationen im Submenü an Ihren Bereich an

  • Fügen Sie den Befehl "subexit" in ihr Submenü mit ein. Mit diesem Befehl soll es möglich sein ins Hauptmenü zu gelangen

  • 7. Branch pushen
    Um die Branch zu pushen öffnen sie Source Control und Schreiben Sie eine passende Beschreibung in die Commitbox. Fügen Sie die Änderungen hinzu und Pushen Sie.

Achten Sie darauf das sie in der richtigen Branch arbeiten


❗❗ Wichtig: Wenn Sie mit den nächsten Punkten weiter machen bevor Ihr Submenü funktional ist, vervielfältigen Sie die Fehler durch das erstellen der Featurebranches.

1. Bereichsbranch erstellen

Durchführung: Teamkoordinator

Zeitangabe: 15min


Beschreibung:

Jeder Bereich hat seine eigene Branch und wird von den Teamkoordinatoren erstellt und verwaltet.
Weitere Informationen zu Branches finden Sie hier.


Vorgehen:

  • 1. Das MultiTool mit der main-Branch wird geklont

Das MutliTool-Projekt mit der main Branch aufrufen und die HTTPS-URL kopieren

Visual Studio Code öffnen und aktuellen Ordner schließen. Vergewissern Sie sich zuerst ob sie bei Microsoft und GitHub angemeldet sind (Accounts). Nun können Sie über Source Control -> Repository Klonen die HTTPS-URL einfügen und über den "Klonen"-Button bestätigen.

  • 2. Auf Basis von main eine neue Branch erstellen

Zunächst Klicken Sie auf main und anschließend auf Create new Branch from.. / main

Geben Sie den korrekten Namen Ihrer Bereichsbranch in die obere Zeile ein. Entnehmen Sie die Bezeichnung aus der Tabelle unter dem Feld "Branch". Achten Sie darauf ,dass die neue Bereichsbranch auf main basiert. Erstellen Sie die Branch mit der "Enter Taste".

  • 3. Branch pushen

Ihre Bereichsbranch existiert jetzt lokal auf ihrem Computer. Damit die Branch nun auch im Remote-Repository online zu sehen ist, müssen Sie diese noch veröffentlichen. Achten Sie dabei darauf, dass sie in ihre Bereichsbranch ausgecheckt sind. Das erkennen Sie daran, dass unten statt main nun der Name Ihrer Bereichsbranch zu sehen ist.

Um die Branch zu veröffentlichen, navigieren sie zu Source Control. Es fällt auf, dass die Erstellung der Branch kein Commit verursacht hat. Dennoch können Sie die Branch mit einem Klick auf Publish Branch pushen.

Alternativ können Sie die branch auch im Browser erstellen und anschließend in Visual Studio abrufen. Eine Anleitung dazu finden Sie hier.

6. Klassen und Methoden

Durchführung: Teamkoordinator/Entwickler

Zeitangabe: 15min


Beschreibung:

Sie haben nun ihre persönliche Featurebranch erstellt. Nun müssen Sie eine neue cs-Datei erstellen, welche Ihren Quellcode enthält.


Vorgehen:

  • 1. cs-Datei in der Bereichs-Klassenbibliothek erstellen
  • Öffnen Sie Visual Studio Code und wählen Sie Ihre Featurebranch.
  • Erstellen Sie in der Bereichs-Klassenbibliothek eine neue Klasse
  • Der Name der Klasse entspricht dem Namen Ihrer Featurebranch und kann aus der Tabelle entnommen werden (Feature1 nur ein Beispiel).

  • 2. Methode in der Feature-Klasse erstellen
    Damit Ihr Feature vom Submenü aufgerufen werden kann, muss eine interne (internal) statische (static) Methode ohne Rückgabewert (void) erstellt werden. Die Methodenbezeichnung können Sie vom Klassennamen abwandeln. Weitere Informationen zu Zugriffsmodifizierern finden Sie hier.

Beispiel:

namespace MAKlassenBibliothek;

internal class Feature1
{
    internal static void Feature_1()
    {
        Console.WriteLine("Test Feature 1"); 
        //Diese Ausgabe hilft Ihnen zu erkennen ob der Aufruf funktioniert.
    }
}
  • 4. Feature über das Submenü aufrufen
    Rufen Sie Ihr Feature an der richtigen Stelle im Submenü (MAMenue.cs, ITMenue.cs, ...) auf. Wenn in Ihrem Submenü Ihr Feature in der Auswahl 1 hinterlegt werden soll, könnte die Einbindung folgendermaßen aussehen.

Beispiel:

case "1":
   Console.Clear();
   //Hier Feature1 aufrufen
   Feature1.Feature_1();
   break;

**Testen Sie ob der Aufruf erfolgreich ist ** ❗

  • 3. Branch pushen

Ihre Änderungen existiert jetzt lokal auf ihrem Computer. Damit die Branch nun auch im Remote-Repository online zu sehen ist, müssen Sie diese noch veröffentlichen. Achten Sie dabei darauf, dass sie in ihrer Featurebranch ausgecheckt sind. Das erkennen Sie daran, dass unten statt main oder MAEntwicklung nun der Name Ihrer Featurebranch (z.B. Feature1) zu sehen ist.

Um die Änderungen zu pushen, schreiben Sie eine Beschreibung der Änderungen in die Commitbox.
Fügen Sie die Änderungen hinzu und klicken Sie auf Commit.
Pushen Sie nun die Änderungen auf den Server.


Wichtig ❗ ❗
Die Vorgegebenen Namen der Klassen müssen eingehalten werden.

Quellcode Entwickler 1

Durchführung: Entwickler / Teamkoordinator

Vorgehen

  1. Realisieren Sie das Programm in ihrer dafür erstellten .cs Datei.
  2. Pushen sie den Code auf Ihre Branch
  3. Erstellen Sie einen Pull-Request

❗ ❗ Wichtig: Achten Sie darauf den Pull-Request von Ihrer Branch auf die Ihrer Bereichsbranch zu erstellen.

Quellcode Entwickler 1

Durchführung: Entwickler / Teamkoordinator

Vorgehen

  1. Realisieren Sie das Programm in ihrer dafür erstellten .cs Datei.
  2. Pushen sie den Code auf Ihre Branch
  3. Erstellen Sie einen Pull-Request

❗ ❗ Wichtig: Achten Sie darauf den Pull-Request von Ihrer Branch auf die Ihrer Bereichsbranch zu erstellen.

Quellcode Entwickler 3

Durchführung: Entwickler / Teamkoordinator

Vorgehen

  1. Realisieren Sie das Programm in ihrer dafür erstellten .cs Datei.
  2. Pushen sie den Code auf Ihre Branch
  3. Erstellen Sie einen Pull-Request

❗ ❗ Wichtig: Achten Sie darauf den Pull-Request von Ihrer Branch auf die Ihrer Bereichsbranch zu erstellen.

Quellcode Entwickler 2

Durchführung: Entwickler / Teamkoordinator

Vorgehen

  1. Realisieren Sie das Programm in ihrer dafür erstellten .cs Datei.
  2. Pushen sie den Code auf Ihre Branch
  3. Erstellen Sie einen Pull-Request

❗ ❗ Wichtig: Achten Sie darauf den Pull-Request von Ihrer Branch auf die Ihrer Bereichsbranch zu erstellen.

1. Bereichsbranch erstellen

Durchführung: Teamkoordinator

Zeitangabe: 15min


Beschreibung:

Jeder Bereich hat seine eigene Branch und wird von den Teamkoordinatoren erstellt und verwaltet.
Weitere Informationen zu Branches finden Sie hier.


Vorgehen:

  • 1. Das MultiTool mit der main-Branch wird geklont

Das MutliTool-Projekt mit der main Branch aufrufen und die HTTPS-URL kopieren

Visual Studio Code öffnen und aktuellen Ordner schließen. Vergewissern Sie sich zuerst ob sie bei Microsoft und GitHub angemeldet sind (Accounts). Nun können Sie über Source Control -> Repository Klonen die HTTPS-URL einfügen und über den "Klonen"-Button bestätigen.

  • 2. Auf Basis von main eine neue Branch erstellen

Zunächst Klicken Sie auf main und anschließend auf Create new Branch from.. / main

Geben Sie den korrekten Namen Ihrer Bereichsbranch in die obere Zeile ein. Entnehmen Sie die Bezeichnung aus der Tabelle unter dem Feld "Branch". Achten Sie darauf ,dass die neue Bereichsbranch auf main basiert. Erstellen Sie die Branch mit der "Enter Taste".

  • 3. Branch pushen

Ihre Bereichsbranch existiert jetzt lokal auf ihrem Computer. Damit die Branch nun auch im Remote-Repository online zu sehen ist, müssen Sie diese noch veröffentlichen. Achten Sie dabei darauf, dass sie in ihre Bereichsbranch ausgecheckt sind. Das erkennen Sie daran, dass unten statt main nun der Name Ihrer Bereichsbranch zu sehen ist.

Um die Branch zu veröffentlichen, navigieren sie zu Source Control. Es fällt auf, dass die Erstellung der Branch kein Commit verursacht hat. Dennoch können Sie die Branch mit einem Klick auf Publish Branch pushen.

Alternativ können Sie die branch auch im Browser erstellen und anschließend in Visual Studio abrufen. Eine Anleitung dazu finden Sie hier.

3. KlassenBibliothek erstellen

Durchführung: Teamkoordinator

Zeitangabe: 10min


Beschreibung:

Die einzelnen Bereiche werden in Klassenbibliotheken realisiert. Diese müssen von den Teamkoordinatoren in den einzelnen Bereichsbranches erstellt und verwaltet werden. Weitere Informationen zu Klassenbibliotheken in C# finden Sie hier.


Vorgehen:

  • 1. Klassenbibliothek erstellen
  • Achten Sie darauf das Ihre Bereichsbranch ausgewählt ist, bevor Sie die Klassenbibliothek erstellen
  • In der Bereichsbranch mit einem Rechtsklick auf die Projektmappe eine neue Klassenbibliothek erstellen
  • Mit vorgegebenen Namen benennen (die entsprechenden Namen finden Sie in den Richtlinien).

Öffnen Sie über Ansicht/Terminal ein neues Terminal. Gehen Sie sicher das Sie sich im richtigen Verzeichnis befinden z.B. PS C:\Users\kande\source\repos\MultiTool>. Geben Sie nun folgenden dotnet Befehl ein:

dotnet new classlib -n NameDerBibliothek -lang C# --framework net6.0

Die erstellt Klassenbibliothek muss nun dem Gesamtprojekt hinzugefügt werden:

dotnet sln MultiTool.sln add NameDerBibliothek\NameDerBibliothek.csproj 

  • 2. Committen und pushen
  • Unter Source Control einen Text in die Commitbox einfügen und alle Änderungen hinzufügen
  • Als nächstes die Änderungen pushen.

❗❗ Wichtig: Die Bezeichnung der Klassenbibliothek muss exakt der Vorgabe in den Richtlinien entsprechen, sonst wird die Bereichsbranch nicht auf main gemerget.

Bereicht Fetigstellen Ganzes Team

Durchführung: Entwickler / Teamkoordinator

Vorgehen

  1. Vorlage und Anforderungen runterladen
  2. Bericht anfertigen
  3. Auf Rechtschreibfehler prüfen
  4. Bei Teams hochladen

❗ ❗ Wichtig: Achten Sie darauf die Frist einzuhalten. Bei verspäteter Abgabe gilt die Abgabe als 6.

4. Submenü erstellen

Durchführung: Teamkoordinator

Zeitangabe: 45min


Beschreibung:

Es wird deutlich, dass die bereits erstellten Klassenbibliotheken nur in den jeweiligen Bereichsbranches existieren. Die einzelnen Bereichsfeatures sollen über ein Submenü aufgerufen werden, welches wiederum vom Hauptmenü aufgerufen wird. Diese Submenüs werden in den zuvor erstellten Klassenbibliotheken erzeugt.


Vorgehen:

  • 1. cs-Datei umbenennen
  • Nennen Sie die Class1.cs-Datei in Ihrer KlassenBibliothek um, beachten Sie dabei die Vorgabe aus den Richtlinien.
  • Achten Sie darauf, dass die Klasse in Ihrer Menü-Datei auch entsprechend geändert wurde.

Beispiel:

namespace MAKlassenBibliothek;
public class MAMenue
{

}
  • 2. Methode erstellen
    Damit Ihr Submenü aufgerufen werden kann, muss eine öffentliche (public) statische (static) Methode ohne Rückgabewert (void) erstellt werden. Die Methodenbezeichnung können Sie vom Klassennamen abwandeln.

Beispiel:

namespace MAKlassenBibliothek;
public class MAMenue
{
    public static void MA_Menue()
    {

    }
}
  • 3. Submenü einfügen
    Unter MultiTool -> Hauptmenue.cs -> HauptmenueAufruf() finden Sie die Methode des Hauptmenüs. Sie können dieses kopieren und in die von Ihnen erstellte Methode einfügt werden. Achten Sie darauf nur den Körper der Methode zu kopieren.

  • 4. Verweise hinzufügen & Pakete installieren
    Nun müssten Ihnen folgende Fehler angezeigt werden.

Fehler 1: Der Name "FiggleFonts" ist im aktuellen Kontext nicht vorhanden.
Fehler 2: Der Name "KonsolenExtrasBibliothek" ist im aktuellen Kontext nicht vorhanden.

Lösung Fehler 1:

  • Installieren Sie das NuGet-Paket "Figgle" in die von Ihnen erstellte KlassenBibliothek.

Navigieren Sie hierfür in die von Ihnen erstellte Klassenbibliothek indem sie den Befehl cd nutzen. Das folgende Beispiel demonstriert einen solchen Pfadwechsel:

PS C:\Users\kande\source\repos\MultiTool> cd .\MAKlassenBibliothek
PS C:\Users\kande\source\repos\MultiTool\MAKlassenBibliothek> 

Beispiel. Passen Sie entsprechend an

Installieren Sie nun das 'Figgle'-Paket indem Sie folgenden Befehl verwenden:

dotnet add package Figgle --version 0.5.1 
  • Binden Sie das Paket in Ihre Submenü-Datei ein.

Beispiel:

using Figgle;
namespace MAKlassenBibliothek;

public class MAMenue
{
  ...

Lösung Fehler 2:
Die Projekte in einer Projektmappe bilden voneinander getrennte Namensräume. Um auf Klassen und Methoden anderer Projekte zugreifen zu können, müssen diese über einen Projektverweis eingebunden werden.

Sie können dies tun, indem Sie Ihrer Klassenbibliothek die Bibliothek KonsolenExtrasBibliothek als Verweis hinzufügen.

Navigieren Sie in das root Verzeichnis
Mit dem Befehl cd .. navigieren Sie in das Übergeordnete Verzeichnis

PS C:\Users\kande\source\repos\MultiTool\MAKlassenBibliothek> cd ..
PS C:\Users\kande\source\repos\MultiTool> 

Fügen Sie den Verweis hinzu
Folgender Befehl zeigt beispielhaft wie dies umgesetzt werden kann:

PS C:\Users\kande\source\repos\MultiTool> dotnet add MAKlassenBibliothek\MAKlassenBibliothek.csproj reference KonsolenExtrasBibliothek\KonsolenExtrasBibliothek.csproj

Gehen Sie vom root Verzeichnis aus und passen Sie den Befehl entsprechend an

Da sie vom Hauptprojekt 'MultiTool' Ihre Bibliothek aufrufen möchten, müssen sie dem Hauptprojekt Ihre Bibliothek als Verweis hinzufügen. Hier wieder beispielhaft gezeigt:

PS C:\Users\kande\source\repos\MultiTool> dotnet add MultiTool\MultiTool.csproj reference MAKlassenBibliothek\MAKlassenBibliothek.csproj
  • 5. Aufruf des Submenüs
  • Binden Sie die neue KlassenBibliothek in das Projekt MultiTool ein
  • Rufen Sie Ihr Submenü an der richtigen Stelle im Hauptmenü (Hauptmenue.cs) auf

Beispiel:

case "m":
    Console.Clear();
    //Hier das Mathematikmenü aufrufen
    MAKlassenBibliothek.MAMenue.MA_Menue();
    break;
  • 6. Das Submenü anpassen

  • Passen Sie alle Informationen im Submenü an Ihren Bereich an

  • Fügen Sie den Befehl "subexit" in ihr Submenü mit ein. Mit diesem Befehl soll es möglich sein ins Hauptmenü zu gelangen

  • 7. Branch pushen
    Um die Branch zu pushen öffnen sie Source Control und Schreiben Sie eine passende Beschreibung in die Commitbox. Fügen Sie die Änderungen hinzu und Pushen Sie.

Achten Sie darauf das sie in der richtigen Branch arbeiten


❗❗ Wichtig: Wenn Sie mit den nächsten Punkten weiter machen bevor Ihr Submenü funktional ist, vervielfältigen Sie die Fehler durch das erstellen der Featurebranches.

Quellcode Teamkoordinator

Durchführung: Entwickler / Teamkoordinator

Vorgehen

  1. Realisieren Sie das Programm in ihrer dafür erstellten .cs Datei.
  2. Pushen sie den Code auf Ihre Branch
  3. Erstellen Sie einen Pull-Request

❗ ❗ Wichtig: Achten Sie darauf den Pull-Request von Ihrer Branch auf die Ihrer Bereichsbranch zu erstellen.

6. Klassen und Methoden

Durchführung: Teamkoordinator/Entwickler

Zeitangabe: 15min


Beschreibung:

Sie haben nun ihre persönliche Featurebranch erstellt. Nun müssen Sie eine neue cs-Datei erstellen, welche Ihren Quellcode enthält.


Vorgehen:

  • 1. cs-Datei in der Bereichs-Klassenbibliothek erstellen
  • Öffnen Sie Visual Studio Code und wählen Sie Ihre Featurebranch.
  • Erstellen Sie in der Bereichs-Klassenbibliothek eine neue Klasse
  • Der Name der Klasse entspricht dem Namen Ihrer Featurebranch und kann aus der Tabelle entnommen werden (Feature1 nur ein Beispiel).

  • 2. Methode in der Feature-Klasse erstellen
    Damit Ihr Feature vom Submenü aufgerufen werden kann, muss eine interne (internal) statische (static) Methode ohne Rückgabewert (void) erstellt werden. Die Methodenbezeichnung können Sie vom Klassennamen abwandeln. Weitere Informationen zu Zugriffsmodifizierern finden Sie hier.

Beispiel:

namespace MAKlassenBibliothek;

internal class Feature1
{
    internal static void Feature_1()
    {
        Console.WriteLine("Test Feature 1"); 
        //Diese Ausgabe hilft Ihnen zu erkennen ob der Aufruf funktioniert.
    }
}
  • 4. Feature über das Submenü aufrufen
    Rufen Sie Ihr Feature an der richtigen Stelle im Submenü (MAMenue.cs, ITMenue.cs, ...) auf. Wenn in Ihrem Submenü Ihr Feature in der Auswahl 1 hinterlegt werden soll, könnte die Einbindung folgendermaßen aussehen.

Beispiel:

case "1":
   Console.Clear();
   //Hier Feature1 aufrufen
   Feature1.Feature_1();
   break;

**Testen Sie ob der Aufruf erfolgreich ist ** ❗

  • 3. Branch pushen

Ihre Änderungen existiert jetzt lokal auf ihrem Computer. Damit die Branch nun auch im Remote-Repository online zu sehen ist, müssen Sie diese noch veröffentlichen. Achten Sie dabei darauf, dass sie in ihrer Featurebranch ausgecheckt sind. Das erkennen Sie daran, dass unten statt main oder MAEntwicklung nun der Name Ihrer Featurebranch (z.B. Feature1) zu sehen ist.

Um die Änderungen zu pushen, schreiben Sie eine Beschreibung der Änderungen in die Commitbox.
Fügen Sie die Änderungen hinzu und klicken Sie auf Commit.
Pushen Sie nun die Änderungen auf den Server.


Wichtig ❗ ❗
Die Vorgegebenen Namen der Klassen müssen eingehalten werden.

3. KlassenBibliothek erstellen

Durchführung: Teamkoordinator

Zeitangabe: 10min


Beschreibung:

Die einzelnen Bereiche werden in Klassenbibliotheken realisiert. Diese müssen von den Teamkoordinatoren in den einzelnen Bereichsbranches erstellt und verwaltet werden. Weitere Informationen zu Klassenbibliotheken in C# finden Sie hier.


Vorgehen:

  • 1. Klassenbibliothek erstellen
  • Achten Sie darauf das Ihre Bereichsbranch ausgewählt ist, bevor Sie die Klassenbibliothek erstellen
  • In der Bereichsbranch mit einem Rechtsklick auf die Projektmappe eine neue Klassenbibliothek erstellen
  • Mit vorgegebenen Namen benennen (die entsprechenden Namen finden Sie in den Richtlinien).

Öffnen Sie über Ansicht/Terminal ein neues Terminal. Gehen Sie sicher das Sie sich im richtigen Verzeichnis befinden z.B. PS C:\Users\kande\source\repos\MultiTool>. Geben Sie nun folgenden dotnet Befehl ein:

dotnet new classlib -n NameDerBibliothek -lang C# --framework net6.0

Die erstellt Klassenbibliothek muss nun dem Gesamtprojekt hinzugefügt werden:

dotnet sln MultiTool.sln add NameDerBibliothek\NameDerBibliothek.csproj 

  • 2. Committen und pushen
  • Unter Source Control einen Text in die Commitbox einfügen und alle Änderungen hinzufügen
  • Als nächstes die Änderungen pushen.

❗❗ Wichtig: Die Bezeichnung der Klassenbibliothek muss exakt der Vorgabe in den Richtlinien entsprechen, sonst wird die Bereichsbranch nicht auf main gemerget.

Quellcode Entwickler 2

Durchführung: Entwickler / Teamkoordinator

Vorgehen

  1. Realisieren Sie das Programm in ihrer dafür erstellten .cs Datei.
  2. Pushen sie den Code auf Ihre Branch
  3. Erstellen Sie einen Pull-Request

❗ ❗ Wichtig: Achten Sie darauf den Pull-Request von Ihrer Branch auf die Ihrer Bereichsbranch zu erstellen.

Quellcode Entwickler 3

Durchführung: Entwickler / Teamkoordinator

Vorgehen

  1. Realisieren Sie das Programm in ihrer dafür erstellten .cs Datei.
  2. Pushen sie den Code auf Ihre Branch
  3. Erstellen Sie einen Pull-Request

❗ ❗ Wichtig: Achten Sie darauf den Pull-Request von Ihrer Branch auf die Ihrer Bereichsbranch zu erstellen.

5. FeatureBranch

Durchführung: Teamkoordinator/Entwickler

Zeitangabe: 15min


Beschreibung:

Jedes Feature wird in einer separaten Branch erstellt. Dies ermöglicht es, dass die Erstellung der Features in einem abgegrenzten Bereich vorgenommen werden kann.


Vorgehen:

In der Bereichsbranch die HTTPS-URL kopieren

Visual Studio Code öffnen und aktuellen Ordner schließen. Vergewissern Sie sich zuerst ob sie bei Microsoft und GitHub angemeldet sind (Accounts). Nun können Sie über Source Control -> Repository Klonen die HTTPS-URL einfügen und über den "Klonen"-Button bestätigen.

  • 2. Auf Basis der Bereichsbranch eine neue Branch erstellen

Zunächst Klicken Sie auf main und anschließend auf Ihre Bereichsbranch z.B. MAEntwicklung, ITEntwicklung ...
Unten links sehen Sie ob sie erfolgreich in Ihre Bereichsbranch ausgecheckt sind. Im folgenden Bild sehen Sie ein Beispiel mit der Bereichsbranch MAEntwicklung .

Neue Featurebranch

  • Zunächst Klicken Sie auf main oder ihre Bereichsbranch und anschließend auf Create new Branch from.. /
  • Wählen Sie Ihre Bereichsbranch aus aus der Sie eine neue Featurebranch erstellen wollen.
  • Geben Sie den korrekten Namen Ihrer Featurebranch in die obere Zeile ein. Entnehmen Sie die Bezeichnung aus der Tabelle unter dem Feld "Branch". Achten Sie darauf ,dass die neue Featurebranch auf ihrer Bereichsbranch basiert. Erstellen Sie die Branch mit der "Enter Taste".

  • 3. Branch pushen

Ihre Featurebranch existiert jetzt lokal auf ihrem Computer. Damit die Branch nun auch im Remote-Repository online zu sehen ist, müssen Sie diese noch veröffentlichen. Achten Sie dabei darauf, dass sie in ihrer Featurebranch ausgecheckt sind. Das erkennen Sie daran, dass unten statt main oder MAEntwicklung nun der Name Ihrer Featurebranch (z.B. Feature1) zu sehen ist.

Um die Branch zu veröffentlichen, navigieren sie zu Source Control. Es fällt auf, dass die Erstellung der Branch kein Commit verursacht hat. Dennoch können Sie die Branch mit einem Klick auf Publish Branch pushen.

Alternativ können Sie die branch auch im Browser erstellen und anschließend in Visual Studio abrufen. Eine Anleitung dazu finden Sie hier.

6. Klassen und Methoden

Durchführung: Teamkoordinator/Entwickler

Zeitangabe: 15min


Beschreibung:

Sie haben nun ihre persönliche Featurebranch erstellt. Nun müssen Sie eine neue cs-Datei erstellen, welche Ihren Quellcode enthält.


Vorgehen:

  • 1. cs-Datei in der Bereichs-Klassenbibliothek erstellen
  • Öffnen Sie Visual Studio Code und wählen Sie Ihre Featurebranch.
  • Erstellen Sie in der Bereichs-Klassenbibliothek eine neue Klasse
  • Der Name der Klasse entspricht dem Namen Ihrer Featurebranch und kann aus der Tabelle entnommen werden (Feature1 nur ein Beispiel).

  • 2. Methode in der Feature-Klasse erstellen
    Damit Ihr Feature vom Submenü aufgerufen werden kann, muss eine interne (internal) statische (static) Methode ohne Rückgabewert (void) erstellt werden. Die Methodenbezeichnung können Sie vom Klassennamen abwandeln. Weitere Informationen zu Zugriffsmodifizierern finden Sie hier.

Beispiel:

namespace MAKlassenBibliothek;

internal class Feature1
{
    internal static void Feature_1()
    {
        Console.WriteLine("Test Feature 1"); 
        //Diese Ausgabe hilft Ihnen zu erkennen ob der Aufruf funktioniert.
    }
}
  • 4. Feature über das Submenü aufrufen
    Rufen Sie Ihr Feature an der richtigen Stelle im Submenü (MAMenue.cs, ITMenue.cs, ...) auf. Wenn in Ihrem Submenü Ihr Feature in der Auswahl 1 hinterlegt werden soll, könnte die Einbindung folgendermaßen aussehen.

Beispiel:

case "1":
   Console.Clear();
   //Hier Feature1 aufrufen
   Feature1.Feature_1();
   break;

**Testen Sie ob der Aufruf erfolgreich ist ** ❗

  • 3. Branch pushen

Ihre Änderungen existiert jetzt lokal auf ihrem Computer. Damit die Branch nun auch im Remote-Repository online zu sehen ist, müssen Sie diese noch veröffentlichen. Achten Sie dabei darauf, dass sie in ihrer Featurebranch ausgecheckt sind. Das erkennen Sie daran, dass unten statt main oder MAEntwicklung nun der Name Ihrer Featurebranch (z.B. Feature1) zu sehen ist.

Um die Änderungen zu pushen, schreiben Sie eine Beschreibung der Änderungen in die Commitbox.
Fügen Sie die Änderungen hinzu und klicken Sie auf Commit.
Pushen Sie nun die Änderungen auf den Server.


Wichtig ❗ ❗
Die Vorgegebenen Namen der Klassen müssen eingehalten werden.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.