Informatik/Mathematik / Software Engineering

Worum geht es

Im Praktikum wollen wir uns den Themen Versionsverwaltung, Docs-as-Code und Zusammenarbeit nähern.

Die Aufgaben bieten eine Einführung in die Handhabung folgender Werkzeuge:

  • Git - Versionsverwaltung von Softwareprojekten

  • AsciiDoc - textbasierte Generierung von technischen Dokumentationen

  • GitHub - Online-Plattform für die Versionsverwaltung mit Git und die Zusammenarbeit im Team

Zusammenspiel von Git, GitHub und AsciiDoc im Praktikum
Abbildung 1. Zusammenspiel von Git, GitHub und AsciiDoc im Praktikum

Ziel der Praktika

Es geht um das praktische Kennenlernen von Grundlagen und dem Abbau von Hürden im Umgang mit den oben genannten Themen und Werkzeugen.

Software Engineering I

Praktikumsaufgaben Teil 1 - Grundlagen
  • Umgang mit der Online-Plattform GitHub (Login, Repository)

  • Umgang mit dem Editor Visual Studio Code (Extensions, Git)

  • Umgang mit der Versionsverwaltung Git (clone, add, commit, push)

  • Kennenlernen der Syntax von AsciiDoc (Syntax, Preview)

Praktikumsaufgaben Teil 2 - AsciiDoc
  • Anwenden des Editors Visual Studio Code und der Syntax von AsciiDoc

  • Anwenden des Zusammenspiels von Visual Studio Code, Git und GitHub

Praktikumsaufgaben Teil 3 - Zusammenarbeit 1
  • Zusammenarbeit im Team mit GitHub (Collaborators, …​)

  • Weiterführende Anwendung von Git (pull, merge-conflicts)

Praktikumsaufgaben Teil 4 - Zusammenarbeit 2
  • Zusammenarbeit im Team mit GitHub (Issues, Labels, Projects, Milestones, …​)

  • Issues mit Filtern im Überblick behalten

  • Issues im Kontext des OpenUP

Praktikumsaufgaben Teil 5 - Asciidoctor und Diagramme 1
  • Textbasierte Diagrammgenerierung mit PlantUML

  • Struktur und Verwendung in Asciidoctor

  • Anwendungsfall-, Klassen-, Aktivitäts- und C4 Model Diagramm

Software Engineering II

Praktikumsaufgaben Teil 6 - Versionen
  • Änderungs- und Versionsverwaltung (diff, checkout, restore, stash, reset, revert, amend, rebase)

Praktikumsaufgaben Teil 7 - Branches
  • Branching (branch, switch, checkout, rebase, merge, local-/remote-Branch)

Praktikumsaufgaben Teil 8 - Zusammenarbeit 3
  • Code-Review (Pull-/Merge-Request), Fork

Praktikumsaufgaben Teil 9 - Asciidoctor und Diagramme 2
  • Weitere Diagrammtypen

  • C4 Dynamic und Deployment Diagramm

  • Komponenten-, Paket-, Sequenz- und ER-/RM-Diagramm

Praktikumsaufgaben Teil 10 - GitHub Actions
  • CIs und Workflows mit GitHub Actions

Hinweise & Einschränkungen

Geek&Poke: The New Developer
  • Die Praktikumsaufgaben können in den Computer-Laboren der Fakultät unter Linux bzw. Windows oder auf dem eigenen Rechner bearbeitet werden.

  • Linux-Labore: Nutzereinstellungen bleiben erhalten und werden in den jeweiligen Home- bzw. Profil-Verzeichnissen gespeichert.

  • Windows-Labore: Es werden keine Nutzerprofile gespeichert. Die Konfiguration von Git und das Anpassen der Werkzeuge (Erweiterungen, Einstellungen) muss nach jedem Anmelden neu vorgenommen werden.

  • Eigener Rechner: Unter Installation & Konfiguration finden Sie Hinweise, wie Sie die benötigten Programme auf Ihrem Rechner einrichten.

Daten im Temp-Laufwerk T: unter Windows werden nach dem Abmelden gelöscht. Diese müssen vorher in Ihr Home-Laufwerk U: (Z:) verschoben oder anderweitig gesichert werden.

Eingesetzte Werkzeuge

Eine Auflistung der im Praktikum eingesetzten Werkzeuge mit Links zu weiterführenden Informationen.

Git

Git is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency. - https://git-scm.com/

GitHub

GitHub is a development platform inspired by the way you work. From open source to business, you can host and review code, manage projects, and build software alongside 40 million developers. - https://github.com/

AsciiDoc

AsciiDoc is a text document format for writing notes, documentation, articles, books, ebooks, slideshows, web pages, man pages and blogs. AsciiDoc files can be translated to many formats including HTML, PDF, EPUB, man page. - http://asciidoc.org

Visual Studio Code

Visual Studio Code is a lightweight but powerful source code editor which runs on your desktop and is available for Windows, macOS and Linux. - https://code.visualstudio.com/docs

Seitenübersicht