Bachelorarbeit - Mit Java Grundkenntnisse eine Android-App entwickeln?

2 Antworten

Vom Beitragsersteller als hilfreich ausgezeichnet
(...) aber einigermaßen hat das schon geklappt.

Hast du dich denn auch schon mit GUI-Entwicklung bzw. an kleinen Desktopanwendungen in Java versucht?

(...) ob ich mich mit einer Einarbeitungszeit von ca. 1 - 2 Monaten genügend Kentnisse (...) aneignen kann, um anschließend in ca. 1 1/2 Monaten die Implementierung abzuschließen.

Ich denke ja, das ist realistisch. Rechne zur Sicherheit für die Implementierung noch 0,5-1 Monat drauf.

Letzteres muss man mal sehen, kommt drauf an wie "komplex" die Realisierung ist (...)

Das sehe ich genauso. Deine Anforderungen wirken nicht zu sehr fordernd, bis auf die allerletzte (Standortannäherung). Dies würde ich an deiner Stelle auf jeden Fall noch einmal im Vorfeld mit einem Prototyp testen.

speichern/auslesen von Kundendaten über eine Datenbank

Hast du hier schon eine Idee, was für eine Datenbank du verwenden möchtest? Optionen wären eine SQLite-Datenbank, die direkt mit auf dem Gerät liegen kann oder eine Webdatenbank (z.B. MySQL), die über einen Webservice o.ä. gehandhabt wird. Für letzteres könntest du dir eine Anwendung mit Java Servlets oder JavaEE schreiben, wobei eine Einarbeitung (zumindest in JavaEE) nochmals separat gezählt werden sollte. Für meine Zeitschätzung oben habe ich die Option SQLite in Betracht gezogen.

Wie sehr ist die Umstellung von der Entwicklung auf herkömmliche Weise und die Enwicklung auf Android Geräte ?

Es gibt ein paar eigene Konzepte (Lifecycle von Apps, Entwicklung des View mit XML), was dir aber bereits bekannt sein sollte. Ansonsten arbeitest du auf Android natürlich mit dem Android SDK, hast also eine etwas andere Basis als bei Desktopanwendungen.

(...) und bin gerade dabei mir ein passendes Thema zu überlegen.

Zuletzt noch zu diesem Punkt. Welches Thema genau soll dann deine Bachelorarbeit behandeln? Wie man eine Anwendung entwickelt und mit einer Programmiersprache, wirst du in dem Studium gelernt haben. Das du mit Java arbeitest, ist hierbei auch keine Besonderheit. So bleibt es nur, auf die Eigenheiten der App-Entwicklung für Android mit Java einzugehen. Derzeit hört es sich eher noch wie das Thema für eine Hausarbeit an. Hole dir also auf jeden Fall auch noch Kommentare von Dozenten/Professoren ein (bei deinem Prüfer musst du das so und so).


ombiombi 
Beitragsersteller
 08.04.2018, 01:46
Hast du dich denn auch schon mit GUI-Entwicklung bzw. an kleinen Desktopanwendungen in Java versucht?

Ja das habe ich. Keinere Konsolenanwendungen (Taschenrechner) und mich auch ein wenig mit der GUI beschäftigt. Allerdings keine großen Sachen (Schaltfächen erstellen und auf bestimmte Ereignisse auf Schaltfächen reagieren). Ich habe im Rahmen eines Praktikums mich ein wenig mit Java EE beschäftigt und dort wird HTML im Front-end Bereich eingesetzt.

Hast du hier schon eine Idee, was für eine Datenbank du verwenden möchtest?

Ja meine erste Idee war eine SQLlite-Datenbank, da ich denke, dass die für mein Vorhaben die beste Wahl ist.

Zuletzt noch zu diesem Punkt. Welches Thema genau soll dann deine Bachelorarbeit behandeln? Wie man eine Anwendung entwickelt und mit einer Programmiersprache, wirst du in dem Studium gelernt haben. Das du mit Java arbeitest, ist hierbei auch keine Besonderheit. So bleibt es nur, auf die Eigenheiten der App-Entwicklung für Android mit Java einzugehen. Derzeit hört es sich eher noch wie das Thema für eine Hausarbeit an. Hole dir also auf jeden Fall auch noch Kommentare von Dozenten/Professoren ein (bei deinem Prüfer musst du das so und so).

Also mal kurz zur Erklärung: Es handelt sich hier quasi um die Digitalisierung von Prozessen. Ich arbeite nebenberuflich schon seit ein paar Jahren für einen regionalen Zeitungsverlag. Ich haben einen festen Bezirk mit einem festen Kundenstamm die von mir Sonntags die Zeitung beliefert bekommen. Das ganze Prozedere (Kundenverwaltung, Informationsfluss) war bis vor kurzem noch alles sehr "unmodern". Ich habe ein Tourenbuch mit Karteikarten in der jede Karteikarte einen Kunden darstellt mit seinen ganzen Informationen (Name, Adresse, Zahlung(Barzahler/Rechnungszahler)). Bekam ich neue Leser dazu, belam ich zusätlich zur Zeitungslieferung die Kundenkarten, die ich mir dann in mein Tourenbuch einheften konnte. Abgänge (Kunde will keine Zeitung mehr) bekam ich auch immer über Karteikarten. Die Abrechnungen und Lieferscheine bekame ich alles in Papierform. Also alles sehr papierlastig. Damals hatte ich schon die Idee, dass man das alles digitalisieren könnte um von diesem ganzen Papierkram loszuwerden. Aber wie das halt manchmal so ist mit dem vornehmen....

Als das Pflichtpraktikum vor der Tür stand und ich schon mal wegen der Thesis für die Bachelorarbeit nachgedacht habe, kam mir der Gedanke, dass ich bei meinem Arbeitgeber mal nachfragen kann und mich mit diesem Thema beschäftigen könnte und im besten Fall eine Abschlussarbeit in diesem Bereich schreiben kann. Dort habe ich erfahren, dass die bereits selber an der Sache dran sind und die das auch garnicht selber machen, sondern extern durch eine andere Firma erledigt wird. Mittlerweise gibt es ein Webportal indem ich mich mit meinen Zugangsdaten einloggen kann und Zugriff auf meine ganzen Kunden habe und ich über Zugänge/Abgänge in Kenntniss gesetzt werde. Zusätzlich habe ich auch die Möglichkeit bei Kunden die Bar bezahlen einzutragen wer wann wieviel bezahlt hat (um selber nicht den Überblick zu verlieren).

Mein Praktum mache ich gerade bei einem IT-Unternehmen und habe mich in der ersten Zeit ein wenig mit Java beschäftigt und anschließend mit Java EE (jsf, jsp, portlet-Entwicklung). Hier hätte ich die Möglichkeit gehabt eine Abschlussarbeit zu schreiben in der es darum ging eine Schnittstelle zu implementieren, jedoch hat mir mein Betreuer davon abgeraten. Er weiß, dass ich jemand bin, der sich in der Vergangenheit noch nicht soooo viel mit Java beschäftigt hat da dieser Java EE Bereich ziemlich umfangreich ist, sollte ich das villeicht erstmal außer acht lassen. Außderdem empfahl er mir ein Theme zu nehmen, welches nicht ganz so speziell ist und villeicht so ein bischen "runder" ist. Auch im Bezug auf die spätere Jobsuche wäre es vill besser nicht ganz so was spezielles zu machen.

Habe dann mit meinem Betreuer vereinbart, dass ich mich bis nächste Woche Gedanken mache über ein mögliches Thema und dies dann mit ihm bespreche.

Das mit der Digitalisierung von den ganzen Prozessen in meinem Nebenjob hat mich jetzt irgendwie nicht losgelassen. Zwar gibt es jetzt dieses Webportal, jedoch dachte ich mir, ich könnte eine art reimplementierung vornehmen. MIr persönlich würde es helfen, da ich mich mit java beschäftige (ist ja mein Ziel) und darüber hinaus auch noch mit der Android-App Entwicklung. Das kann für später Berufsaussichten nicht verkehrt sein und somit hätte ich quasi 2 Fliegen mit einer Klappe geschlagen. Ich hatte jetzt selber auch bedanken, dass irgendwie kein geeignetes Thema für die Bachelorarbeit wäre, jedoch könnte man das ja irgendwie als Bachelorarbeit verpacken. Beispielsweise könnte man dies quasi einmal als Android-App und als Java Desktop-Anwendung implementieren und dann die Unterschiede zwischen der Implementierung auf verschiedene Architekturen aufzeigen. Oder man könnte diese Native App mit der mobilen Website gegenüberstellen und miteinander vergleichen.

0
ombiombi 
Beitragsersteller
 08.04.2018, 02:03
@ombiombi

Erstmal entschuldigung für die Menge an Text, aber ich wollte keine Datails auslassen. Hatte keine Zeichen mehr übrig, aber wollte jetzt nochmal kurz was erklären:

Der Gedanke an Google Maps ist der Tatsache geschuldet, dass es hin- und wieder vorkommt, dass Zeitungen bei Kunden nicht ankommen, da dies einfach vergessen wird (mir auch schon passiert), da man irgendwann ab einem bestimmten Punkt sein Tourenbuch (mittlerweile ja digital) nicht mehr mitführt, da man (eigentlich) alles im Kopf hat.Gerade wenn man Neue Leser im Bezirk hat, kann das schon mal vorkommen. Habe mir dann gedacht, dass man Google Maps als Hilfswerkzeug einsetzen könnte. Nach der Tour bekommt dann quasi ein Bericht wo dann festgehalten wird bei welchem Leser man war, bzw. man nicht war. Dies ist zwar keine 100%-ige Garantie, da es beispielsweise vorkommen kann dass Leser dich beieinander wohnen und es somit durch Google Maps bzw. durch die ensprechende Implementierung zu Fehlinterpretationen vorkommen kann, jedoch kann es gut als Hilfswerkzeug genutzt werden.

Und zu der Sache mit dem auslesen von Mails: Es ist so, dass ich die Abschlussarbeit nicht im entsprechenden Unternehmen machen werden. Somit wäre dieses Vorhaben quasi ein geschlossener Bereich. Müsste dann neue Leser händisch über die App eintragen. Allerding bekomme ich neue Leser über Mail mitgeteilt. Die Struktur von der Mail ist dabei immer gleich und man könnte somit die Informationem vom neuen Leser auslesen.

0
regex9  08.04.2018, 05:19
@ombiombi
Mittlerweise gibt es ein Webportal (...)

Damit hat sich meines Erachtens die Frage nach der Datenspeicherung für deine App bereits erledigt. Die bereits bestehende Lösung (das Webportal) sollte eine API zur Verfügung stellen, mit der die App kommunizieren kann. Eine eigene Datenbank wie SQLite ist dann nicht mehr nötig. Das wäre m.E. die sinnvollste Lösung, welche aber auch erst unterstützt werden müsste.

Da die Anwendung jedoch bereits via Web erreichbar ist, stände nun noch die Frage im Raum, ob der Aufwand für eine native App doch noch gerechtfertigt wäre. Die Web-App müsste auf ihre Usability auf mobilen Geräten geprüft werden. Erst wenn dabei herausgestellt werden kann, dass Optimierungen (mittels nativer App) einen wirklich spürbaren Mehrwert bringen, wäre der Aufwand gerechtfertigt. Allerdings halte ich das für schwierig. Features wie Google Maps lassen sich im Web viel besser integrieren, Web-Apps sind plattformunabhängig und für ein mobiles Gerät kann man die Seite responsive ausrichten (woran sicherlich bereits gedacht wurde).

Dies wäre zwar tatsächlich ein Thema, das man in einer Bachelorarbeit bearbeiten könnte, doch würde der Fokus auf das Oberflächendesign (HCI) fallen, nicht auf die Entwicklung der App. Ich weiß nicht, ob dies noch im Themenbereich deines Studiums liegt. Bei Studienrichtungen wie Medieninformatik oder Kommunikationsinformatik täte es das.

Mein Praktum mache ich gerade bei einem IT-Unternehmen (...) Das mit der Digitalisierung von den ganzen Prozessen in meinem Nebenjob hat mich jetzt irgendwie nicht losgelassen.

Ich glaube nicht, dass dein Arbeitgeber davon angetan wäre, wenn du in deiner Praktikumszeit Software für einen anderen Arbeitgeber entwickeln würdest.

Beispielsweise könnte man (...) die Unterschiede zwischen (...) verschiedene Architekturen aufzeigen. Oder man könnte diese Native App mit der mobilen Website gegenüberstellen (...)

Also ganz ehrlich... die erste Idee ist ziemlich langweilig und wurde wahrscheinlich schon oft bearbeitet (steht in jedem 2. Webblog) und die zweite Idee (mit Fokus auf eine technische Implementation) ist noch schlimmer (weißt du denn überhaupt, womit das Webportal entwickelt wurde?).

Der einzige Themenansatz, der mir gerade einfallen würde, wäre der, inwiefern man mit JavaEE ebenso Android und iOS bedienen könnte.

0
regex9  08.04.2018, 05:37
@ombiombi
Nach der Tour bekommt dann quasi ein Bericht wo dann festgehalten wird bei welchem Leser man war, bzw. man nicht war (...)

Heißt das, dass man nach der Tour dann gleich nochmal losgeht, um den fehlenden Kunden noch zu bedienen? (Würde das überhaupt jemand machen?)

Ich denke, dass eine Checkliste, die man abhakt, besser wäre. Sowie, falls das praxistauglich ist, ein Warnton, wenn man sich in einem bestimmten Radius zum Kunden befindet, diesen allerdings nicht passiert (würde bei Mehrfamilienhäusern allerdings schon nicht mehr wirken).

Müsste dann neue Leser händisch über die App eintragen. Allerding bekomme ich neue Leser über Mail mitgeteilt.

Das wäre kein gutes Verfahren, denn Zustände (auf verschiedenen Geräten mit dieser App) wären so nicht sicher miteinander synchronisiert. An dieser Stelle wäre eine Webdatenbank die bessere Wahl, denn die Daten könnten zentral und gelagert werden und müssten nur an einer Stelle manuell geändert werden.

Wenn die Mails von Kunden kommen (weil sie sich über ein Newsletter-Formular angemeldet haben), dann wäre der Mailservice mit automatischer Auswertung sinnvoll. Wenn die Mails jedoch nur dazu dienen, die einzelnen Boten zu informieren, dann eher nicht, denn die App könnte sich über die zentrale Webdatenbank selbst aktualisieren.

0
ombiombi 
Beitragsersteller
 08.04.2018, 05:50
@regex9

Danke erstmal. Möglich, dass du recht hast, villeicht sollte ich mir da doch noch was anderes einfallen lassen die Tage. Ich studiere Wirtschaftsinformatik.

Ich glaube nicht, dass dein Arbeitgeber davon angetan wäre, wenn du in deiner Praktikumszeit Software für einen anderen Arbeitgeber entwickeln würdest.

Ne das würde ich sowieso nicht machen. Das war so gedacht, dass ich das ohne die Kooperation mit einem Unternehmen nach meinem Praktikum mache.

Danke für deinen Themenvorschlag. Eigetnlich hatte ich vor mich von JavaEE erstmal ein wenig fernzuhalten. Aber ich informier mich mal, villeicht sagt mir das ja zu. Na ja, villeicht hat mein Betreuer ja auch noch einen Vorschlag =)

0
ombiombi 
Beitragsersteller
 08.04.2018, 06:22
@ombiombi

Rest hatte ich übersehen...

Heißt das, dass man nach der Tour dann gleich nochmal losgeht, um den fehlenden Kunden noch zu bedienen? (Würde das überhaupt jemand machen?)

In dem Fall ja. Der Kunde zahlt ja schließlich für die Zeitung. Das mit dem Bericht am ende war auch nur ein Beispiel, wie genau das umgesetzt werden müsste, hätte ich mir dann noch überlegt.

Checkliste abhaken wäre nicht so dolle! Musst dir vorstellen, dass auch nicht jeder mit einem Auto seine Tour fährt. Wenn jetzt jemand wie ich, der seine Tour mit dem Moped abfährt, wäre es schon nervig, wenn man nach jedem Leser seinen Zettel oder Handy aus der Tasche ziehen muss um das abzuhaken. Warnton wäre natürlich nicht schlecht. Am besten in Kombination mit einer Vibration und einem bestimmten Intervall von beispielsweise 30 sek. welches dann wiederholt wird. Hatte mir auch schon überlegt diese Funktion alleinstehend für meine Bachelorarbeit zu verwenden. Die könnte ja evtl. auch auf andere Bereiche übertragen werden. Interesse wäre da und ein Wissenschaftlicher Ansatz ist hier gegeben meiner Meinung nach. Nur müsste ich mir da wirklich einen Prototypen erstmal basteln, um mit diesem Thema am Ende vor die Wand zu fahren...

Kann aber auch gut sein, dass dies einfach zu wenig wäre...

0
regex9  08.04.2018, 11:57
@ombiombi

Eine Arbeit über sich wiederholende Vibration? Nein, das ist kein wissenschaftliches Thema, sondern am Ende ein Dreizeiler im Code. Auch ein Lösungsvorschlag, wie man gegen das Vergessen eines Kunden vorgehen kann, ist eher heikel, denn es umfasst wahrscheinlich kaum Stoff.

0

Ich weiß ja nicht wie aufwendig eine Bachelorarbeit sein muss, aber für mich klingt das so als könnte es auch ne Abschlussprüfung für ne Ausbildung zum Fachinformatiker für Anwendungsentwicklung sein. Und ist eine Bachelorarbeit nicht schon ein Studiumsabschluss?


Malefice23  08.04.2018, 03:21

Eine Bachelorarbeit ist in der Tat ein Studiumabschluss. Für mich hört sich das Vorhaben ebenfalls als unzureichend für eine gute BA an. Hat der Threadersteller schon ergründet warum sein Vorhaben wichtig für die Gesellschaft, vielleicht sogar für die Wissenschaft, ist? Hat er sich auch schon gedanken um die wissenschaftliche Fragestellungen gemacht, welche in seiner BA beantwortet werden?

1
ombiombi 
Beitragsersteller
 08.04.2018, 03:37
@Malefice23

Hallo, habe ich oben im anderen Kommentar schon beschrieben. Ich hatte selber meine Zweifel inwieweit dies einen wissenschaftlichen Bezug hat bzw. wie man daraus einen wissenschaftlichen Bezug nehmen kann. Ich bin auch nicht an einer Uni, sondern an einer FH wo es ja etwas praktischer bzw. berufsbezogener zur Sache geht. Im Grunde will ich für meine Bachelorarbeit mir Fähigkeiten aneignen die ich später im Berufsleben auch gebrauchen könnte. Natürlich muss es auf der anderen Seite auch irgendwie passen und ja es darf natürlich nicht nur um das implementieren gehen, sondern irgendeiner Fragestellung etc nachgehen. Für Vorschläge oder Anregungen bin ich aber gerne offen =)

0
Malefice23  08.04.2018, 11:16
@ombiombi

Aus eigener Erfahrung habe meinen Bachelor selber an einer Hochschule in Informatik gemacht, kann ich Dir sagen, dass es nicht darauf ankommt ob Uni oder FH. Es kommt eher auf die Referenten an. Ich habe meine Bachelorarbeit, dessen Thema eigentlich eher praxisbezogen war, von der wissenschaftlichen Seite her aufziehen müssen. Im Großen und Ganzen (Austausch mit Kommilitonen) konnte man auch sehen, dass diese Art von Arbeiten mindestens eine Notenstufe besser waren.

0