Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/uhafner/java2-assignment5

Aufgabenstellung und Musterlösung für Übungsblatt 6 in der Softwareentwicklung 2
https://github.com/uhafner/java2-assignment5

Last synced: 10 days ago
JSON representation

Aufgabenstellung und Musterlösung für Übungsblatt 6 in der Softwareentwicklung 2

Awesome Lists containing this project

README

        

= Softwareentwicklung 2 - Prof. Dr. Ullrich Hafner
:icons: font
Prof. Dr. Ullrich Hafner
:toc-title: Inhaltsverzeichnis
:chapter-label:
:chapter-refsig: Kapitel
:section-label: Abschnitt
:section-refsig: Abschnitt

:xrefstyle: short
:sectnums:
:partnums:
ifndef::includedir[:includedir: ./]
ifndef::imagesdir[:imagesdir: ./]
ifndef::plantUMLDir[:plantUMLDir: .plantuml/]
ifdef::env-github,env-browser[:relfilesuffix: .adoc]

:figure-caption: Abbildung
:table-caption: Tabelle

== Aktuelle Aufgabenstellung

Die aktuelle Aufgabenstellung befindet sich in link:src/main/asciidoc/assignment.adoc[einer eigenen Datei] innerhalb dieses Projekts. Das Format für die Aufgabenstellung ist https://docs.asciidoctor.org/asciidoc/latest/[AsciiDoc] (ebenso wie diese README Datei).

=== Öffnen der Projekte

Zum Editieren und Starten Ihrer Programme müssen Sie immer ein von mir vorgefertigtes Projekt in der Entwicklungsumgebung IntelliJ öffnen: Laden Sie dazu das Projekt direkt in IntelliJ mit *File->New->Project From Version Control*. Geben Sie in der *URL* die URL Ihres GitHub Repositories an (nicht der Classroom, sondern das für Sie erzeugte Projekt) und starten Sie den Import mit *Clone*. Bei der Frage nach der Authentifizierung geben Sie *Token* an, und vergeben mit dem automatisch vordefinierten Dialog in GitHub ein entsprechendes Token. Denken Sie daran, als Laufzeit für das Token das Semesterende anzugeben.

Wenn Sie das Projekt in IntelliJ geöffnet haben, finden Sie im Hauptordner dieses README.

== Entwicklungsrichtlinien

Neben den Programmierfertigkeiten ist auch das Schreiben von sauberen Code (https://clean-code-developer.de[Clean Code]) ein wichtiges Lernziel für dieses Semester. Im Praktikum verwenden wir deshalb https://github.com/uhafner/codingstyle[Kodierungsrichtlinien], die auf dem Java Standard aufbauen, und lediglich an einigen Stellen präziser gefasst sind. Diese Richtlinien werden bei der Abnahme mit überprüft und gehen in die Bewertung ein. Sie können testen, ob Ihr Quelltext gemäß der Regeln formatiert ist, indem Sie meiner Autograding Anleitung folgen. Dort ist beschrieben, wie Sie das Einhalten dieser Konventionen angezeigt bekommen.

== Entwicklungsumgebung

Für die praktischen Aufgaben wird ein Rechner mit folgenden Programmen benötigt:

- *IntelliJ IDEA Ultimate 2023.1*:
Die https://www.jetbrains.com/community/education/#students[Lizenz] gibt es für Studierende kostenlos. In den Rechnern der Hochschule ist ein Lizenzserver aktiv, der jeden Rechner mit einer gültigen Lizenz versorgt. Sinnvolle Plugins innerhalb dieser Entwicklungsumgebung sind u.a. AsciiDoc, CheckStyle, SpotBugs, PlantUml (siehe meine https://github.com/uhafner/warnings-ng-plugin-devenv/blob/master/My-IntelliJ-Plugins.txt[Installationsliste]).
- *Java Development Kit 17 (LTS)*: Achtung, die Java Runtime Edition (JRE) reicht nicht! Laden Sie auch keine älteren oder neueren Major Versionen herunter, da sonst evtl. die Programme nicht korrekt funktionieren. Aktuell ist auf meinem Rechner die Version `17.0.6` installiert.
- *Git 2.x*: Hier ist die Versionsnummer nicht so entscheidend, da wir in diesem Semester keine speziellen Möglichkeiten nutzen. Aktuell ist auf meinem Rechner die Version `2.39.2` installiert.

Für die gängigen Betriebssysteme Windows, macOS und Linux sollte jeweils eine passende Version dieser Programme zu finden sein.

Die Rechner der Hochschule sind bereits mit der richtigen Software vorkonfiguriert. Wenn Sie einen eigenen Rechner nutzen, kommen Sie damit -- falls möglich -- ins Praktikum, sodass wir die Installation gemeinsam durchführen können.

Da wir werden Ihre Abgaben auch automatisiert bewerten, können Sie optional noch das Tool https://maven.apache.org/download.cgi[Maven] in der Version `3.9.1` installieren, um die automatisierte Bewertung vorab lokal auszuführen. Das ist optional und erfordert tiefere Rechnerkenntnisse. Sie haben alternativ immer die Möglichkeit, die Ergebnisse direkt im GitHub Classroom anzuschauen.

=== Windows

Laden Sie aktuelle Version von Java 17 von https://adoptium.net/de/[Adoptium] herunter (Achtung: keine neueren oder älteren Versionen nutzen) und https://javatutorial.net/set-java-home-windows-10[setzen Sie den Pfad], falls das nicht automatisch funktioniert hat.

Optional: Maven können Sie als
https://ftp-stud.hs-esslingen.de/pub/Mirrors/ftp.apache.org/dist/maven/maven-3/3.9.0/binaries/apache-maven-3.9.0-bin.zip[ZIP] herunterladen und an einem Pfad Ihrer Wahl entpacken. Dann müssen Sie auch hier noch den https://mkyong.com/maven/how-to-install-maven-in-windows/[Pfad setzen].

=== macOS

Unter macOS ist die Installation deutlich einfacher. Unter macOS installieren Sie das JDK mit https://brew.sh[Homebrew]. Wenn Sie Homebrew noch nicht nutzen, müssen Sie es zunächst installieren. Danach können Sie Software folgendermaßen über die Console installieren:
[source,shell script]
----
brew install openjdk@17
----

Auch Maven und Git lassen sich so einfach installieren:

[source,shell script]
----
brew install git maven
----

Aktualisieren der Pakete wird dann über das folgende Kommando erreicht:

[source,shell script]
----
brew upgrade
----

=== Unix

Unter Linux nutzen Sie den Paketmanager Ihrer Distribution. Wer Linux nutzt, wird wissen, wie das geht...