# Eine Spezifikation für meine Bachelorarbeit!



## Aslan1905 (11. Okt 2013)

Hallo an die Java-Community! 

ich habe alle Scheine im Studiengang Informatik bestanden und stehe jetzt vor meiner Bachelorarbeit.
Im Groben weiß ich in welche Richtung meine Bachelor-Thesis gehen soll, habe aber noch keine feste Spezifikation.

Mein Vorhaben:
Ich möchte in der Programmiersprache Java eine Anwendung entwickeln. Dabei sollen folgende Tools zum Einsatz kommen:

- Netbeans 
- MySql

Ich möchte eine Anwendung schreiben, welcher eine Anbindung an eine Datenbank hat. Die Anwendung sollte Daten manipulieren, löschen oder anlegen können. Die Datenbank-Tabellen sollten untereinander referenziert sein. Außerdem sollte die Anwendung Suchabfragen erstellen können.

Ich bin mir aber noch nicht im Klaren,was die Anwendung genau darstellen soll. Mir fehlt also eine Spezifikation. Könnt Ihr mir ein paar Ideen/Themen geben? 

Die Bearbeitungsdauer meiner Bachelorarbeit beträgt 9 Wochen. Es sollte also etwas sein, was auch in dieser Zeit realisierbar ist und keine rießengroße Projekte. 

Vielen Dank im Voraus!


----------



## HarleyDavidson (11. Okt 2013)

Da gibt es viele Möglichkeiten...


Adressbuch
DVD-Sammlung mit Genre, Erscheinungsjahr und Anbindung an Amazon API
Ein Warenwirtschaftssystem mit Artikeln, Anzahl, Verfallsdatum
Ein Hotelmanagementsystem mit Ausstattung, Reservierung. Hier ist auch eine Anbindung an Googlemaps denkbar, für Anfahrtsbeschreibungen der Gäste ...)
...

Schau dir in Verbindung dazu auch myBatis an, damit kann man echt super Datenbankabfragen erstellen, managen und abrufen.


----------



## Aslan1905 (16. Okt 2013)

@HarleyDavidson Vielen Dank erstmal für deinen Beitrag.

Ich habe mich entschieden, eine Anwendung zu programmieren, indem man Pkw verwalten und vermieten kann. Jedoch ist das nicht ausreichend für eine wissenschaftliche Arbeit. Die Anwendung sollte etwas spezielleres können, was die Anwendung von anderen unterscheidet. Es reicht vollkommen aus, wenn die Anwendung eine kleine Zusatzfunktion bietet.

Welche Zusatzfunktion könnte ich dazu programmieren, damit die Anwendung heraussticht und einen Mehrwert hat?

Vielen Dank im Voraus!


----------



## Ruzmanz (17. Okt 2013)

Der Aufwand, um ein PKW zu verwalten und zu vermieten ist riesig. Aber wenn ich ehrlich bin, dann kann selbst mit weiteren Funktionen keine wissenschaftliche Arbeit erkennen. Vielleicht irre ich mich, aber ich habe den Eindruck, dass du alles auf das "Programmieren" runter schrauben willst. Ohne Vorgehensmodell, Softwarearchitektur, Analyse, Persistenzschicht etc. Das wäre vielleicht eine Aufgabe für einen FAE in der Ausbildung. Ob deine Software einen Mehrwehrt für den Kunden bedeutet ist vollkommen uninteressant, die Erkenntnis der Arbeit ist wichtig.

Die aktuelle Fragestellung ist: Kann man mit Java und MySQL eine Verwaltungssoftware programmieren? -> Vor 15 Jahren sicherlich interessant ...

Aktuelle Situation:
Du registrierst dich beim Metropolen-Fahrzeugverleih. Auf deinem Smartphone werden dir alle Fahrzeuge in deiner Umgebung angezeigt + Fußweg. Du gehst zum nächsten Fahrzeug hin und dieses wird mit dem Smartphone entriegelt. Wenn du fertig bist, dann stellst du es irgendwo ab. 

Deine Aufgabe:
Das Verwaltungssystem kennt alle Positionen der Fahrzeuge. Da du es nicht mehr benötigst und es in einer abgelegenen Gegend steht, wird es sicherlich nicht so schnell ausgeliehen. Das System muss erkennen, dass sich dieses nicht in einem Hotspot befindet. Alle 24h fahren Mitarbeiter durch die Stadt und sammeln diese ein, um sie an lukrativere Positionen zu stellen, damit sie öfter ausgeliehen werden. Es könnte auch sein, dass diese zum TÜV müssen oder andere Defekte / Mängel in einem Ticketsystem gemeldet wurden. Dann werden die Autos in die nächstgelegene Werkstatt gefahren. Da man für 3,5€/Stunde nicht erwarten kann, dass die Mitarbeiter die schlausten sind und diese vor allem ständig wechseln (Mal im Ernst, wer will schon so einen Job?), druckt das System für jeden Mitarbeiter einen Ablaufplan aus. Auf dem Ablaufplan steht eine möglichst optimale Route, um die Autos einzusammeln (selbstverständlich mit Fahrgemeinschaften), an den richtigen Ort zu bringen, und am Ende durch eine Fahrgemeinschaft zurück an den Startpunkt zu gelangen.

Optional: Die Mitarbeiter tragen Benzin-Kanister mit sich, um die Autos auch noch zu tanken, ohne sie bewegen zu müssen (spart schließlich Geld). Das System gibt an, wie viel Liter die Mitarbeiter benötigen.]

Abgrenzung: Fahruntaugliche Autos werden erst einmal vernachlässigt. Die Abrechnung an den Kunden ist nicht Bestandteil der Arbeit.

Das bekommst du als reine Programmieraufgabe genehmigt, da eine Form des TSP-Problem enthalten ist.

[Sarkasmus]Ich hoffe die Anforderungen sind nicht zu wenig. Habe das "vermieten" rausgeworfen.[/ Sarkasmus]

PS: Wenn du was einfaches suchst, dann mache eine simple Applikation, so wie du es vorhattest und nimm ein Thema wie Test Driven Development, SCRUM (bzw. agile Softwareentwicklung), etc. rein. Das wird eher genehmigt, als das was du vorhast.


----------

