Refine
Document Type
- Bachelor Thesis (4)
Language
- German (4) (remove)
Has Fulltext
- yes (4)
Is part of the Bibliography
- no (4)
Keywords
- Softwareentwicklung (4) (remove)
Institute
Open Access
- Closed (4)
Das automatisierte Erkennen von Schwachstellen wird immer wichtiger. Gerade bei der Softwareentwicklung werden immer häufiger Schwachstellenscanner eingesetzt. Das Ziel der vorliegenden Arbeit ist es einen Überblick zu erhalten, welche Schwachstellenscanner für Webanwendungen existieren und wie sinnvoll deren Einsatz ist. Um diese Frage zu beantworten, werden vier auf dem Markt verfügbare Schwachstellenscanner getestet. Aus der bisherigen Infrastruktur von M und M Software werden Anforderungen und Selektionskriterien abgeleitet. In zwei Testphasen werden verschiedene Schwachstellenscanner analysiert und bewertet wie gut sie die Kriterien erfüllen. Am Ende wird bewertet, ob der Einsatz eines Schwachstellenscanners in der Infrastruktur sinnvoll ist. Neben dieser Analyse wird außerdem untersucht welche Chancen die AI-Technologie für Schwachstellenscanner bietet.
Bei der plattformunabhängigen Softwareentwickelt stellt sich häufig die Frage, welche Technologie am besten geeignet ist. Die vorliegende Arbeit "Vergleich von ProgressiveWebapps und Hybrid Apps für mobile Endgeräte" beschäftigt sich mit der Entscheidungsfindung zur Auswahl einer geeigneten Technologie. Stellvertretend für die Progressive Webapp-Technologie wird die Single Page Application-Technologie React.js und für die Hybrid App-Technologie Flutter verwendet. Die Anwendung Mundle, eine medizinische Enzyklopädie, dient als Beispielanwendung, die in beiden Technologien umgesetzt wird. Anhand von Qualitätskriterien werden beide Technologien bewertet und gegenübergestellt, um eine sinnvolle Entscheidung bei zukünftigen Projekten treffen zu können.
Mit zunehmender Komplexität von Softwaresystemen wird es immer schwieriger Performance Auswirkungen durch Änderungen an der Software zu erkennen. Meist werden Performance-Probleme zu spät erkannt und die Ursachensuche stellt dann eine große Hearusforderung dar, da es viele Einflussfaktoren gibt und oft nicht bekannt ist, wie lange das Problem schon besteht. Hier setzt das kontinuierliche Performance Monitoring an, denn damit wird die Performance fortlaufend zu jeder Softwareversion gemessen und der Verlauf der Performance über die Zeit erfasst.
In dieser Arbeit wird ein Konzept zu diesem Monitoring entwickelt. Konkret wird dabei die Performance eines 2D Laserscanners untersucht, der mit der Zynq Ultrascale+ MPSoc Plattform realisiert wurde. Eine wichtige Komponente des Systems stellt das verwendetete Embedded Realtime Linux dar. Deshalb wird dessen Performance, anhand definierter Parameter aus der Literatur, gemessen. Dafür werden vorhandene Tools zum Auslesen dieser Parameter untersucht und schließlich eingesetzt, um diese auf dem System zu erfassen. Eine weitere wichtige Performancekenngröße stellen die Durchlaufzeiten von Daten durch das System dar. Diese Laufzeiten werden an bestimmten Punkten im C++ Programmcode gemessen und anschließend mit einer Python Anwendung ausgewertet.
Für jede neue Softwareversion wird automatisch eine Messung der Linux Performance, sowie der Durchlaufzeiten durchgeführt. Die dabei gewonnenen Daten werden mit einem Datei basierten Ansatz in Artifactory abgelegt, aus welchen schlussendlich Auswertungen, in Form von HTML Dateien, erstellt werden. Diese enthalten verschiedene Visualisierungen der Messergebnisse einer Messung, sowie den Verlauf der Durchschnittswerte je Softwareversion. Das Ausführen der Messungen auf dem Gerät, sowie die Auswertung der Messergebnisse führt ein dafür entwickeltes Python Programm aus.
Diese Arbeit befasst sich mit der Entwicklung von Full-Stack-Anwendungen im Bereich des Internets der Dinge mit JavaScript. Grundlegende Wissensbereiche, die für diese Entwicklung notwendig sind, werden vorgestellt und erklärt. Es werden ausgewählte JavaScript-Frameworks und -Interpreter im Bereich des Internets der Dinge vorgestellt, bewertet und miteinander verglichen. Mikrocontroller und Einplatinencomputer, welche von den vorgestellten JavaScript-Frameworks und -Interpretern unterstützt werden, werden vorgestellt.
Um die Entwicklung von Full-Stack-Anwendungen im Bereich des Internets der Dinge mit JavaScript bewerten zu können wird eine Anwendung zur Erfassung, Speicherung und Darstellung von Umgebungsvariablen mit Moddable SDK und dem MERN-Stack entwickelt. Vor der Entwicklung werden Anforderungen über eine Anforderungsanalyse definiert und die Anwendung konzipiert. Im Anschluss wird die Anwendung anhand der Anforderungen bewertet. Probleme, die während der Entwicklung der Anwendung auftreten, werden zusammen mit möglichen Lösungen vorgestellt und Full-Stack-Anwendungen im Bereich des Internets der Dinge mit JavaScript werden in diesem Schritt evaluiert.
JavaScript ist für die Entwicklung von Mikrocontrollern zum aktuellen Stand noch nicht ausgereift genug, jedoch bestehen aktuelle Anstrengungen die Entwicklung von JavaScript APIs für Embedded Systems zu vereinheitlichen und voranzutreiben. Dadurch hat die Entwicklung von Full-Stack-Anwendungen im Bereich des Internets der Dinge mit JavaScript Zukunftspotenzial.