Refine
Document Type
- Bachelor Thesis (64) (remove)
Year of publication
Keywords
- Softwareentwicklung (64) (remove)
Seit 2018 befindet sich das Projekt „BuggyTech Engine“ an der Hochschule Mittweida in studentischer Entwicklung. Auf dieser Game Engine soll das von der Autorin konzipierte Spiel „Neon Nova“ laufen, wofür sie ein Game Design Document (GDD) erstellte. Das GDD stellt als grundlegendes Dokument, welches sämtliche relevanten Aspekte eines zu entwickelnden Spiels beschreibt, ein Herzstück in der Videospielentwicklung dar. Es dient als zentrales Werkzeug für das Entwicklerteam, um gemeinschaftlich auf ein klares Ziel hinzuarbeiten. In der klassischen Softwareentwicklung werden Anforderungen und Spezifikationen an eine zu entwickelnde Software detailliert in Form eines Lastenheftes verschriftlicht, welches für die Entwickler ähnliche Funktionen hat, wie das GDD. Diese Konzepte werden, neben der Erarbeitung zusätzlicher Wissensgrundlagen, zunächst dargestellt und auf Inhalte, sowie Vor- und Nachteile untersucht. Im Hauptteil dieser Arbeit wird die Eignung eines GDD als Grundlage für die Anforderungsanalyse einer Game Engine am Beispiel von Neon Nova und der BuggyTech Engine untersucht. Der Prozess der Erstellung des Lastenheftes wird dargelegt und die Ergebnisse vorgestellt. Zudem wurden Datenmodelle und UI Layouts für die spezifische Anwendung in de BuggyTech Engine konzipiert. Abschließend wird ein Fazit über den Prozess und die Geeignetheit der aufeinander aufbauenden Arbeitsweise der beiden Dokumente gezogen, welche normalerweise nicht miteinander in Kontakt kommen. Das Ergebnis der Arbeit ist ein vollständiges, für die Weiterentwicklung der BuggyTech Engine nutzbares Lastenheft.
Immer komplexer werdende Prozesse in der Geschäftswelt erfordern eine fortschreitende Digitalisierung und Automatisierung. Zusätzlich stellen Gesetze weitere Dokumentationsvorschriften, die zu noch mehr Aufwand führen. Diesen wachsenden Anforderungen kann häufig nur mit wachsender Digitalisierung und somit Automatisierung begegnet werden. In dieser Bachelor-Thesis werden die Möglichkeiten zur Automatisierung von Verwaltungsprozessen analysiert und ein Programm zur digitalen Geräteverwaltung erstellt. Es wird auf Normen zur Software-Entwicklung und -Validierung eingegangen, die dann in die Entwicklung einbezogen werden. Anhand der Verwaltungssoftware werden die einzelnen Entwicklungsphasen beschrieben. Die erstellte Software vereinfacht also nicht nur den Verwaltungsaufwand, sondern folgt auch noch einem gesetzlich vorgegebenen Entwicklungsprozess.
Die Arbeit soll ergründen, wie der Entwicklungsablauf automatisiert werden kann und welche Ressourcen- und Zeiteinsparungen aus dieser Automatisierung folgen. Dabei gilt es zu evaluieren, wie ein geeigneter Entwicklungsprozess aussieht und welche Tools genutzt werden können, um diese Einsparungen zu realisieren. Im besten Fall soll die Anwendung ohne manuellen Aufwand nach jeder Änderung auf Qualität und Sicherheit geprüft und danach direkt ausgerollt werden. Dadurch soll es ermöglicht werden, einer Änderung die daraus resultierenden Fehler eindeutig zuzuordnen. Des Weiteren soll eine Lösung gefunden werden, die Fehler auf Grund von unterschiedlichen Entwicklungsumgebungen beheben kann. Somit soll ebenfalls Entwicklungszeit gewonnen
werden.
The games industry has significantly grown over the last 30 years. Projects are getting bigger and more expensive, making it essential to plan, structure and track them more efficiently.
The growth of projects has increased the administrative workload for producers, project managers and leads, as they have to monitor and control the progress of the project in order to keep a permanent overview of the project. This is often accompanied by a lack of insight into the project and basic communication within the team. Therefore, the goal of this thesis is to enhance conventional project management methods with process structures that occur frequently in game development.
This thesis initially elaborates on what project management in the game industry actually is: Here, methods are considered, especially agile methods and progress tracking prac-tices, which were created for software development and have become a standard in game development. Subsequently, an example is used to demonstrate how process management can function within the development of video games. Based on this, the ideal is depicted, which is implemented and used in a tool at the German games studio KING Art GmbH. This ideal is compared with expert interviews in order to verify its gen-eral validity in the industry.
By integrating process structures, the administrative effort can be reduced, communica-tion within game development can be simplified, while the current project status can be permanently presented. This benefits both project management and leads, as well as the entire team. Further application tests of this theory would have to be organized to check scalability and to draw comparisons to other applications.
In der vorliegenden Bachelorarbeit wurde ein Prototyp einer Software konzipiert und implementiert, die es ermöglicht, eine Active Directory Domain nach potenziellen Schwachstellen zu durchsuchen und deren Ausnutzbarkeit zu testen. Dabei simuliert die Software das Vorgehen eines Penetrationstesters, um zu erörtern, ob ein solches Tool diesen ersetzen kann. Die Arbeit beschreibt das Vorgehen des Autors während der Programmierung dieser Software sowie die Funktionsweise des Programms. Durch die Entwicklung und Reflektion dieses Tools konnte gezeigt werden, dass menschliche Penetrationstester deutliche Vorteile gegenüber automatisierten Programmen aufweisen und solche Tools aufgrund einiger Faktoren nur unterstützend, aber nicht ersetzend, verwendet werden können.
Diese Arbeit behandelt die Entwicklung einer Software zur Verwaltung und Dokumentation von Zugriffsrechten. Dafür wird gezeigt, wofür eine solche Verwaltung und Dokumentation von Zugriffen benötigt wird und wie diese mit Hilfe einer geeigneten Software umgesetzt werden kann. Es werden wichtige
Anforderungen erläutert und die entwickelte Software hinsichtlich Aufbau und wesentlichen Funktionen beschrieben.
Seit nun mehr vielen Jahren ist der Einsatz von Software in allen Lebenslagen nicht mehr wegzudenken. Das Leben von fast allen Menschen wird täglich, bewusst oder unbewusst, von Software gesteuert, unterstützt oder beeinflusst. Da Softwareprodukte auch immer weitreichendere Eingriffe in persönliche Daten nehmen, sollte ein Hauptaugenmerk der Softwareentwicklung stets auf Sicherheit und Datenschutz gelegt werden. Umso wichtiger ist es daher, dass nicht nur Sicherheitsuntersuchungen durchgeführt werden, sondern dass diese auch möglichst umfassend und strukturiert realisiert werden.
Die vorliegende Arbeit beschäftigt sich daher mit der Entwicklung einer Methodik zur schrittweisen Überführung eines abstrakten Architekturmodells, wie beispielsweise einem Datenflussdiagramm, hin zu einem möglichst vollständigen Testplan zur Durchführung reproduzierbarer Penetrationstests, unter Einsatz von Hilfsmodellen zur Gefahrenklassifizierung. Hierbei sollen Konzepte, wie Threat-Modeling auf Basis des STRIDE-Modells und Finden von Sicherheitslücken mithilfe der Common Vulnerability and Exposures-Datenbank zum Einsatz kommen.
Entwurf und Implementierung einer Importfunktion für XML-Dateien nach dem openTRANS®-Standard
(2022)
Um Geschäftsdokumente wie beispielsweise Aufträge digital zu repräsentieren, werden Standards benötigt, die die darin enthaltenen Informationen einheitlich darstellen. Einer dieser Standards ist openTRANS®.
Diese Arbeit befasst sich mit dem Entwurf und der Implementierung einer Importfunktion für Auftragsdaten, die in Form von openTRANS®-gerechten XML-Dateien vorliegen.
In dieser Arbeit geht es um die Untersuchung eines auf wenige Kernmechaniken reduziertes Rollenspiel auf die Motivation des Spielers. Hierfür wurde anhand einer angefertigten Applikation eine quantitative Nutzerstudie mit sechs Probanden durchgeführt. Die Ergebnisse sind dabei gemischt ausgefallen und es konnte kein eindeutiger Beweis auf die Beeinflussung der Motivation durch das Testszenario festgestellt werden.
Die tägliche Arbeit von Softwareentwicklern ist es, Software so zu schreiben, dass sie auch in Zukunft so schnell und flexibel entwickelt werden kann wie am ersten Tag. Dafür stehen ihnen zahlreiche Methoden und Tools zur Unterstützung zur Verfügung. Jedoch stellt die Einrichtung und erstmalige Anwendung solcher Hilfsmittel oftmals eine Hürde dar, vor allem, wenn man selbst in diesem Bereich noch keine Erfahrung gesammelt hat. In dieser Arbeit wird dieser Ansatz durch die Entwicklung und Anwendung einer statischen Code-Analyse und Modultests auf eine bestehende NodeJS-Software verfolgt. Diese Software ist Teil einer übergeordneten Projektinfrastruktur, auf deren Komponenten diese Testverfahren später ebenfalls angewendet werden sollen. Für die Evaluation werden etablierte Tools zur Implementierung und Automatisierung der Testprozesse ausgewählt. Der Vergleich dieser Tools erfolgt dann auf der Grundlage gewichteter Kriterien die anhand einer subjektiven Einschätzung bewertet werden. Zunächst werden die Tools JSLint, JSHint und ESLint für die statische Codeanalyse evaluiert. Dann werden Unit-Tests entworfen und definiert und anschließend mit den Unit-Test-Frameworks Mocha, Jest und Vitest implementiert. Schließlich werden die Tests mit einem CI-Tool automatisiert. Aus der Vielzahl an Plattformen wurden BitBucket Pipelines, CirleCI und Buddy als Testobjekte ausgewählt. Es stellte sich heraus, dass eine Vielzahl projektspezifischer Faktoren bei der Auswahl der CI Tools eine Rolle spielen. Die Evaluierung der Tools lieferte eine solide Grundlage für weitere Tests und damit Vertrauen und Sicherheit in die Zukunft von EnjineIO. Diese Arbeit ist besonders für Softwareentwickler interessant, die noch keine Erfahrung mit Softwaretests gemacht haben und einen Einblick in dieses Thema erhalten möchten. Zudem dient sie dazu, einen Einblick in die Besonderheiten der genannten Softwaretest-Tools zu erhalten, wenn ein Team den Wechsel auf eines davon plant.