Wie lässt sich diese Abschlussarbeit realisieren?



  • Hallo Leute,

    ich fange demnächst meine Masterarbeit an. Ich beschreibe mal kurz das Thema.

    Ich soll ein Tool zur Untersuchung von Fahrzeugbauteilen programmieren. Der Bauteilzustand soll durch ein Notensystem subjektiv bewertet und dokumentiert (Bericht) werden. Ich stelle es mir so vor, dass ich das Bauteil in der Hand halte und es begutachte. Auf einem Monitor soll mir angezeigt werden, welches Kriterium gerade zu bearbeiten ist. Per Spracheingabe (über Headset) kann ich dann eine Note vergeben. Zusätzlich sollen Schadbilder über eine Kamera angefertigt werden (Bedienung über Sprachbefehl oder Taster). Schön wäre noch eine Art Video-Livestream der ganzen Untersuchung, um die Untersuchung zusammen mit anderen Kollegen zu machen.

    Leider komme ich eher aus der "Maschinenbauecke" und kann nur ein wenig C-Programmierung. Im Zuge der Digitalisierung kommt man auch als Maschinenbauer nicht mehr um die Programmierung herum und so habe ich mich für dieses Thema entschlossen, um weiter in die Informatik einzusteigen.

    Deshalb meine Frage, wie könnte man so etwas am besten realisieren? (Wie muss ich vor gehen? Was brauche ich alles dazu? In welche Grundlagen muss ich mich einlesen? Buchempfehlungen?)

    Vielen Dank im Voraus und schöne Grüße
    Alfio



  • Wähle eine Sprache aus, mit der du gut zurecht kommst. C kann mühsam sein, vielleicht ist C++, Java oder Python eher was für dich?
    Die Bauteil-Checkliste würde ich in einer Datenbank speichern (z.B. SQLite, da brauchst du keinen Server dafür), genauso würde ich die Benutzereingaben in einer Datenbank abspeichern.
    Aufzeichnen von Videos bzw. Bildern über Webcam ist z.B. mit OpenCV leicht möglich.
    Sprachbefehl würde ich wenn möglich weglassen, Eingabe per Tastatur ist einfacher.



  • Da musst schon einiges können und lernen, wenn du noch keine Ahnung hast. Da ist vieles dabei, was nichts mit "ein bisschen programmieren" zu tun hat. Du brauchst zumindest etwas Ahnung von GUI und Datenbankentwicklung. Alles nicht so super spannende Themen, aber auch ziemlich komplex. Und bei Sprachverarbeitung muss man sich auch etwas reindenken. Da hast du dir aber einiges vorgenommen.
    Und ganz ehrlich, egal was du hier am Ende schaffst, das wird sehr wahrscheinlich unbrauchbar sein. Evtl. im Rahmen deiner Abschlussarbeit ausreichend, aber etwas, wo ein Informatiker mit ziemlicher Wahrscheinlichkeit kotzen müsste. Weil du auch noch Ahnung von Softwareentwicklung, -design und -architektur haben müsstest, um eine halbwegs sinnvolle Basis für etwas so fortgeschrittenes zu schaffen.



  • Ich finde schon, dass das alles mit "ein bischen programmieren" zu erledigen ist.

    @muzz0 sagte in Wie lässt sich diese Abschlussarbeit realisieren?:

    Wie muss ich vor gehen? Was brauche ich alles dazu? In welche Grundlagen muss ich mich einlesen?

    Du benötigst:

    • einen PC zum Entwickeln und einen Computer, Handy oder Tablet für das Endprodukt (Kamera sollte verbaut sein)
    • Schleifen, if-Abfragen und Dateien schreiben/lesen
    • eine Möglichkeit Text- und Bilder anzuzeigen
    • Tastatur/Maus-Eingaben entgegennehmen
    • Fotos aufnehmen
    • Spracheingabe wird i.d.R. durch externe Software realisiert (auf PC z.B. DRAGON, auf Handy evtl. vorhandene APIs) und der eingesprochene Text landet dann einfach als Text-Eingabe in deiner Anwendung.

    Ich würde nicht C++ empfehlen sondern HTML & JavaScript, z.B. mit Cordova (https://cordova.apache.org/)


  • Global Moderator

    C klingt nach der komplett falschen Sprache dafür. C ist für Hochleistungsrechnen und ähnliches. Die Aufgabe klingt eher nach dem Zusammenbau von fertigen Komponenten. Da willst du eine Sprache, die mit mächtigen Bibliotheken kommt (ok, das tut C auch, aber auch viele andere) und dir erlaubt, diese auf einfache Weise mit der nötigen Logik zusammenzufügen (und das tut C überhaupt nicht). Du willst eher so etwas Richtung Python, eventuell auch C# oder Java. Selbst wenn du gar kein Python sprichst, wäre es wahrscheinlich schneller, dies neu zu lernen und die Aufgabe damit zu lösen, als die Aufgabe in C zu machen. Zumal du sagst, dass du C gar nicht sonderlich kannst.

    Das klingt nach einer komischen Aufgabe für Maschinenbauer. Weder würde man dazu irgendetwas über Maschinenbau wissen müssen, noch wäre das aus Programmiersicht sonderlich interessant. Es ist jedoch ungeheuer umfangreich. Da wirst du lange dran sitzen und viele wenig interessante Dinge machen.