005 Computerprogrammierung, Programme, Daten
Filtern
Dokumenttyp
- Masterarbeit (44)
Volltext vorhanden
- ja (44)
Gehört zur Bibliographie
- ja (44)
Schlagworte
- Software Engineering (6)
- Informationssicherheit (3)
- Computersicherheit (2)
- Softwareentwicklung (2)
- App <Programm> (1)
- Authentifikation (1)
- Blockchain (1)
- Cloud Computing (1)
- Codegenerierung (1)
- Datenverarbeitung (1)
Das Ziel dieser Arbeit ist die Schaffung eines neuen Vorgehensmodelles, um agil entwickelte Projekte einfach und effizient übergeben zu können. Daher beschäftigt sich die Arbeit mit der Beantwortung der Frage „Welche Aspekte sind als zentrale Einflussfaktoren zu berücksichtigen, wenn die Weiterentwicklung eines agil umgesetzten Projektes in einem anderen Team stattfinden soll, welches noch über keine bestehende Entwicklungsumgebung und nur begrenztes Know-how verfügt?“. Um diese Frage beantworten zu können, wird zuerst ein grober Überblick über mögliche Modelle zur Entwicklung von Software gegeben. Der Fokus hierbei liegt auf den agilen Methoden. Ausgehend von dem agilen Manifest und den ausgewählten Praktiken wird ein allgemeiner Prozess anhand des Software-Lebenszyklus beschrieben. Aufbauend auf die Beschreibung der einzelnen Phasen des Software-Lebenszyklus wird der Ansatz der kontinuierlichen Integration von Software vorgestellt und beschrieben. Mit Hilfe der theoretischen Grundlagen werden anschließend die Einflussfaktoren entlang des Software-Lebenszyklus identifiziert, kategorisiert und beschrieben. Die einzelnen Einflussfaktoren münden in eine Liste mit Risikobewertung und möglichen Werkzeugen und bilden damit das neue Vorgehensmodell. Das neue Modell wird, nach einer kurzen allgemeinen Beschreibung des Unternehmens inklusive genereller Arbeitsweise, einem Praxistest unterzogen. Dies geschieht, indem ein bereits bestehendes, agil entwickeltes Projekt mit Hilfe des neuen Modells in ein neu geschaffenes Team übernommen wird. Im Zuge der praktischen Anwendung wird grob gezeigt wie das Modell eingesetzt werden kann und die Ergebnisse werden dokumentiert. Abschließend wird eine Übersicht der Ergebnisse in Form einer Tabelle gegeben, welche die einzeln getroffenen Entscheidungen zeigt, bewertet wie erfolgreich die einzelnen Einflussfaktoren im Zuge der Übernahme abgedeckt werden können und angibt, welche Folgeschritte geplant sind.
Die vorliegende Masterarbeit soll Unternehmen ansprechen, die planen, eine Single Sign On Lösung in ihrem Unternehmen zu etablieren. Damit das Authentifizierungsverfahren im Unternehmen von den Mitarbeitern auch genutzt wird, muss eine starke Akzeptanz zwischen den Nutzern und einer Single Sign On Lösungen gegeben sein. Aus diesem Grund werden im Theorieteil Faktoren der Benutzerakzeptanz aus dem Technology Acceptance Model 3 herausgearbeitet, welche im Speziellen für die Akzeptanz von Single Sign On Lösungen zutreffend sind. Die empirische Forschung besteht dabei aus zwei Teilen, in denen einerseits eine Umfrage erstellt und andererseits die Zusammenhänge zwischen den herausgearbeiteten Faktoren und der Benutzerakzeptanz auf Signifikanz geprüft werden. Die Auswertung der Umfrage im Rahmen dieser Masterarbeit zeigt dabei einen starken Zusammenhang zwischen der IT-Affinität und der Einstellung des Nutzers gegenüber einer Single Sign On Lösung auf die Benutzerakzeptanz. Eine ebenfalls im Rahmen dieser Arbeit erstellte Fallstudie zeigt, dass Single Sign On Technologien im Privatbereich noch keinen großen Anklang finden und dass auch die Vertrauenswürdigkeit des Identity Provider keinen Einfluss auf die Benutzerakzeptanz von Single Sign On Lösungen hat. Abschließend werden Maßnahmenvorschläge erstellt, um die Akzeptanz von Single Sign On sowohl in Unternehmen als auch im Privatbereich zu steigern.
Die vorliegende Masterarbeit ist im Bereich der Informationssicherheit und dem Informationssicherheitsmanagement angesiedelt. Ziel der Arbeit war es, einen allgemeinen Ansatz für die Entwicklung von Informationssicherheitsrichtlinien zu entwickeln. Aufgrund der Größe des Themenfeldes behandelt diese Arbeit vor allem das Richtliniendesign im Kontext der ISO 27001. Der erste Teil der Arbeit deckt den theoretischen Hintergrund von Informationssicherheitsmanagement, Kryptographie und den gesetzlichen Vorgaben dazu ab. Das Ergebnis dieses Teils war ein grundsätzliches Verständnis davon, wie Informationssicherheitsmanagement funktioniert und welchen Beitrag Kryptographie dazu leisten kann. Außerdem wurde festgestellt, dass es für die öffentliche Verwaltung keine besonderen Gesetze im Bereich der Informationssicherheit gibt. Der zweite Teil der Arbeit widmet sich dem Design von Informationssicherheitsrichtlinien. Aufgrund dessen, dass es noch keinen allgemeinen Ansatz für die Entwicklung solcher Richtlinien gab, wurde ein eigenes Vorgehensmodell dafür entwickelt. Basis für die Entwicklung des Modells waren die Erkenntnisse aus der Literaturrecherche hinsichtlich der Erfolgsfaktoren von Informationssicherheit. Im nächsten Schritt wurden fünf Fachleute aus dem Bereich der Informationssicherheit zu dem entwickelten Modell befragt. Das Ergebnis dieser Befragung war eine verbesserte Version des aufgestellten Modells. Mit Hilfe dieses Modells wurde dann in einem weiteren Schritt eine Richtlinie für die Anwendung von kryptographischen Verfahren entwickelt. Außerdem ist deutlich geworden, dass die verschiedenen Richtlinien für Informationssicherheit so unterschiedlich sind, wie die Unternehmen, in denen sie Anwendung finden und dass die Unternehmenskultur einen großen Einfluss auf den Erfolg dieser Richtlinien hat. Zusätzlich wurde festgestellt, dass es verschiedene Arten von Anforderungen innerhalb der ISO 27002 gibt. Einige können direkt umgesetzt und mit Richtlinien erfüllt werden, und andere wirken sich auf viele Unternehmensbereiche aus. Aufgrund dessen war eine Beantwortung der Forschungsfrage schwierig. Das entwickelte Modell versucht den verschiedenen Ansprüchen verschiedener Organisationen gerecht zu werden, aber die letztendlich entwickelte Richtlinie ist nicht auf andere Organisationen übertragbar.
Die Verbreitung von Geräten, die mit dem Internet kommunizieren und Teile des Alltags vieler Menschen sind, nimmt immer mehr zu. Das Internet of Things (IoT) kombiniert bestehende Technologien mit dem Internet, wodurch neue Einsatzgebiete erschlossen werden. IPKameras, Verkehrssteuerungssysteme und kritische Infrastrukturen wandern zunehmend in das Internet und werden dadurch für Personen erreichbar, die keinen Zugriff auf diese Systeme haben sollten. Dies führt dazu, dass neue Angriffsvektoren, die von Hackern und Kriminellen genutzt werden, entstehen und sowohl die IT-Sicherheit der IoT-Objekte selbst, als auch jene von bestehenden IT-Infrastruktur gefährdet werden. Viele IoT-Produkte, die für die Endkundin und den Endkunden konzipiert wurden, verfügen nicht über die notwendigen Sicherheitsmechanismen, die einen ordnungsgemäßen und sicheren ITBetrieb gewährleisten sollen. Die Produktentwicklung der Hersteller setzt den Fokus auf Bedienungskomfort und einfacher Konfiguration, vergisst jedoch die Gefahren, welche von ungesicherten IoT-Objekten ausgehen. Diese Gefahren reichen von Funktionsstörungen, dem Versenden von Spam-E-Mails, bis zur Nutzung von IoT-Objekten für großangelegte Hacker-Angriffe auf kritische Infrastrukturen. In dieser Arbeit wird ein IoT-Security Framework entwickelt, das auf Basis von Analysen bestehender IoT-Sicherheitsproblematiken, Sicherheitsanforderungen definiert und diese in einem Integrationsprozess zusammenfasst. Die Sicherheitsanforderungen wurden aus bereits publizierten Angriffsszenarien abgeleitet und werden sich direkt an das IoT-Objekt richten, der sicheren Kommunikation zwischen den einzelnen Objekten, sowie an die Cloudplattformen, die im Umfeld von IoT häufig zum Einsatz kommen. Das IoT-Security Framework soll es Endkonsumentinnen und Endkonsumenten ermöglichen, die IT-Sicherheit von IoT-Produkten zu bewerten und deren Risiko für sich selbst, als auch für bestehende IT-Infrastrukturen zu beurteilen.
Die Softwareentwicklung von Produkten und Lösungen orientiert sich zunehmend an agilen Vorgehensweisen, welche erhebliche Vorteile in der Kundenorientierung und Schnelligkeit in der Auslieferung der Lösungen mit sich bringt. In diesem Zusammenhang besteht auch die Herausforderung der Schätzung von User Stories, die aus Sicht des Benutzers, formuliert werden. Obwohl sich etwaige Methoden und Techniken zur Schätzung von User Stories etabliert haben (z.B. Point-Metriken), liegt dabei ein wesentlicher Nachteil in der subjektiven und relativen Bewertung des Aufwandes bzw. der Komplexität durch das Team durch welche eine Verzerrung der Schätzung entstehen kann. Ebenso beanspruchen Schätzpraktiken in agilen Vorgehensweisen, durch deren interaktiven Charakter, einen erheblichen Zeitaufwand. Das Ziel dieser Arbeit bestand darin, zu prüfen, ob die Anwendung bzw. der Einsatz von Machine Learning den Schätzprozess in agilen Vorgehensweisen unterstützen kann. Der erste Teil der Arbeit bereitet dazu einen Einblick in die Welt der agilen Vorgehensweisen mit deren gängigsten Schätzverfahren. Nach einer kurzen Einführung in die Grundlagen des Data Minings bzw. Machine Learnings, wurden mögliche Lösungsansätzen zur Verbesserung der Schätzungen durch Machine Learning Verfahren untersucht. Die Untersuchung beinhaltet die Auswahl und Erläuterung eines Data Mining Vorgehensmodells. Dabei wurde der Cross-Industry Standard Process for Data Mining (CRISP-DM) als Referenzprozess für die Abhandlung der gesamten Arbeit gewählt. Auf Basis dieses Prozessmodells wurden einige relevante Techniken zur Textklassifizierung von User Stories abgehandelt. Demgemäß reichte die Untersuchung von der Phase Business Understanding bis hin zur Evaluation Phase eines Machine Learning Models. Basierend auf drei ausgewählten Machine Learning Verfahren (Naïve Bayes, Random Forest und Multilayer Perceptron) wurde eine Fallstudie durchgeführt. Diese Fallstudie umfasste die Datenvorverarbeitung, sowie die Modellierung und Implementierung eines Machine Learning Models auf Basis eines Real-life Datensets in der Programmiersprache R (Data Discovery und statistische Evaluation) und Python (Modellierung und Implementierung). Der letzte Teil der Fallstudie bestand in der Evaluation des trainierten Modells. Ziel der Fallstudie war es, zu prüfen, ob das Modell in der Lage ist, Story Points auf Basis von User Stories genauer zu schätzen, als durch ein zufälliges Raten bzw. Verteilen von Story Points. Dazu wurde eine ausgewählte Metrik (z.B. Accuracy) für jedes der drei Klassifizierungs-Verfahren, einem Dummy-Klassifizierer gegenübergestellt, welcher zufällig gewählte Story Points aus dem Datenset vorhersagte. Dies wurde auf Basis einer mehrstufigen Kreuzvalidierung (Cross Validation) durchgeführt um eine möglichst hohe Konfidenz der Vorhersagen zu erzielen. Anschließend wurde ein nicht-parametrischer statistischer Test (Wilcoxon Test) auf die erzeugten Vorhersagen (Metrik) angewendet, um festzustellen, ob sich die Mittelwerte tatsächlich voneinander unterscheiden. Die Ergebnisse der vorliegenden Studie zeigen, dass die Schätzung von Story Points durch die Anwendung von Machine Learning, das zufällige Raten erheblich übertreffen kann (unter den Voraussetzungen und Rahmenbedingungen der Fallstudie). Somit lässt sich sagen, dass Techniken des Machine Learnings für den vorliegenden Datensatz verwendet werden können, um den Schätzprozess zu beschleunigen, indem eine initiale Schätzung aller User Stories (z.B. aus einem Backlog) aus einem Machine Learning Modell bereitgestellt wird. Darüber hinaus bieten die Ergebnisse aus dem Modell, bis zu einem gewissen Grad einen unvoreingenommenen Blick auf StoryPoint-Schätzungen, als Grundlage für Diskussionen innerhalb des Teams. Hierbei ist jedoch anzumerken, dass die Validität der Ergebnisse, auf den speziellen Voraussetzungen und Rahmenbedingungen der Fallstudie beschränkt sind. Daher sollten die Ergebnisse dieser Arbeit auf einer breiteren (Anzahl der Datensätze), teamübergreifenden und projektübergreifenden Datenbasis verifiziert werden. Dennoch stellt die vorliegende Arbeit einen ersten Schritt zur Nutzung des maschinellen Lernens für die Story-Point-Schätzung dar.
Die vorliegende Arbeit beschäftigt sich mit Cross-Plattform-Applikationen im Business Bereich. Es wird der Frage nachgegangen, ob die Effizienz durch die plattformunabhängige Softwareentwicklung gesteigert werden kann. Ziel dieser Arbeit ist es zu klären, in wie weit Experten und Expertinnen bereits Erfahrung mit Technologien sammeln konnten, die sich auf plattformunabhängige Softwareentwicklung spezialisiert haben. Damit herausgefunden werden kann ob die Effizienz gesteigert werden kann, beziehungsweise ob ExpertInnen in diesem Bereich herangezogen werden kann, wird zu Beginn dieser Arbeit eine Einführung in die mobilen Applikationen gemacht und gängige Begriffe näher beschrieben. Dabei wird eingegrenzt, was genau unter einem mobilen Gerät verstanden wird, damit in weiterer Folge die Zielgruppe festgelegt werden kann. Anschließend werden dem Leser beziehungsweise der Leserin, die beliebtesten Betriebssystem die auf dem Markt existieren vorgestellt und näher beschrieben. Zum Abschluss dieses Kapitel werden die einzelnen Plattformen gegenübergestellt, damit herausgefunden werden kann, welche Vor- beziehungsweise Nachteile existieren. Nachdem die einzelnen Plattformen vorgestellt wurden, wird auf die plattformunabhängige Softwareentwicklung näher eingegangen. Dabei werden zuerst Begriffe, die im Zusammenhang mit mobiler Entwicklung fallen definiert. Im Anschluss erfolgt eine Vorstellung verschiedener Technologien, die derzeit existieren. Im empirischen Teil wird der Prototyp der im Zuge dieser Arbeit entwickelt wurde, näher beschrieben. Dafür werden zu Beginn die Anforderungen, die die App erfüllen muss vorgestellt. In weiterer Folge wird dem Lesendem die gewählte Technologie vorgestellt und beschrieben, warum sich der Autor dieser Arbeit für dieses Framework entschieden hat. Zu Letzt wird im empirischen Teil berichtet werden, welche Technik bei den Experteninterviews zum Einsatz gekommen ist und wie der Aufbau aussieht. Abschließend wird vom Autor dieser Arbeit ein Erfahrungsbericht, über die Erfahrungen die beim Entwickeln des Prototyps gesammelt werden konnten, geschrieben. Im fünften und letzten Kapitel wird über die Beantwortung der Forschungsfrage berichtet und ein kurzer Ausblick gegeben welche Schritte als nächstes durchgeführt werden können, damit die Ergebnisse gefestigt werden können.
Microservices
(2016)
Der Fokus dieser Arbeit liegt auf dem Identifizieren und Verifizieren des Einflusses von Microservices auf die Codequalität von Softwareanwendungen. Im ersten Teil der Arbeit sind Definitionen und Architekturen der untersuchten Softwareapplikationen dargelegt. Dies beinhaltet die Definition von monolithischer Software und deren Architektur und die Definition von Microservices mit seinen Vorteilen (zum Beispiel die Skalierung durch automatisiertes Deployment) und Nachteilen (zum Beispiel höhere Komplexität durch die erhöhte Anzahl von Softwareteilen). Darauf folgt eine Analyse von den ähnlichen Softwarearchitekturkonzepten der serviceorientierten Architektur und den Self-contained Services. Der Theorieteil zu Microservices endet mit der Darstellung von Methoden zur Trennung von monolithischer Software in Microservices und wie diese Dienste wieder zu einer Gesamtanwendung zusammengeführt werden können. Zur Vervollständigung ist der aktuelle Forschungsstand auf dem Gebiet der Microservices angeführt und es wird ein Einblick in eine Auswahl an Softwaremetriken zur Erhebung von Softwarequalität gegeben. Im praktischen Teil der Arbeit wurden die theoretischen Erkenntnisse an einer Softwareapplikation angewandt. Von einem Monolithen wurden Microservices abgespalten und die resultierende Anwendung als auch der Monolith einer Softwarearchitekturanalyse unterzogen. Danach wurden Softwaremetriken für die Ausgangsapplikation und die Microservices berechnet, um festzustellen, ob sich die Codequalität verändert hat. Zum Abschluss wurde eine Analyse der Änderungsgeschwindigkeit in beiden Applikationen durchgeführt, gefolgt von Interviews mit Softwareentwicklern zu dem Qualitätsmerkmal Lesbarkeit von Quellcode. Die Ergebnisse zeigen eine Verringerung der Komplexität des entstandenen Quellcodes und eine Erhöhung der Lesbarkeit gegenüber der Ausgangsanwendung.
Das Platzieren und Verkaufen von eigengenutzten Immobilien verzögert sich häufig durch unterschiedliche Preisvorstellungen. Abhilfe kann ein Vergleich der zu veräußernden Immobilie mit bereits verkauften Vergleichsobjekten schaffen. Mit Hilfe einer Dienstleistungs-App besteht die Möglichkeit, den Maklerinnen und Maklern passende Vergleichspreise aus existierenden Kaufpreisdatenbanken liefern zu können. Mit dieser Arbeit wird ermittelt, inwieweit eine Dienstleistungs-App für einen Preisvergleich zu einer Effizienzsteigerung im Prozess des Platzierens und Verkaufens von eigengenutzten Immobilien führt. Der Fokus liegt auf dem österreichischen Markt, weil der Zugang zu digitalen Kaufpreissammlungen in anderen Ländern zum Teil schwierig oder gar unmöglich ist. In Österreich existieren bereits Anbieter digitaler Kaufpreissammlungen, die für eine derartige App die grundlegende Voraussetzung darstellen. Im Rahmen dieser Arbeit wird ein Prototyp einer mobilen App konzipiert, über den eine Dienstleistung konsumiert werden kann. Die Vorgehensweise orientiert sich an einem Service Engineering Prozess, um die Dienstleistung von der ersten Idee bis zur Markteinführung basierend auf einer etablierten Vorgehensweise entwickeln zu können. Zu Beginn werden Anforderungen an Dienstleistungs-Apps aus der Literatur und durch die Ableitung aus praktischen Beispielen ermittelt. Zudem erfolgt eine Einarbeitung in die Immobilienbewertungsverfahren in Österreich. Das gesammelte theoretische Wissen fließt in die Konzeption einer zweiteiligen Expertenbefragung von Immobilienmaklerinnen und -makler ein. Im ersten Teil dieser Befragung werden die Anforderungen an eine mobile App für den Immobilienpreisvergleich ermittelt. Die Ergebnisse fließen anschließend in die Umsetzung eines Prototyps ein, der im zweiten Teil der Befragung von den Expertinnen und Experten hinsichtlich der erreichten Effizienzsteigerung bewertet wird. Im Rahmen dieser Arbeit konnten zahlreiche relevante Anforderungen an eine mobile App für den Immobilienpreisvergleich identifiziert werden. Die Ergebnisse der Arbeit zeigen auch, dass die Expertinnen und Experten großes Potenzial in einer mobilen App sehen, die die Effizienz im Prozess des Preisvergleichs von eigengenutzten Immobilien in Österreich steigert.
Als Schatten-IT werden IT-Systeme bezeichnet, die nicht in das IT-Management eines Unternehmens eingebunden sind. Schatten-IT-Systeme können durch Ausfall oder durch Sicherheitslücken bestandsgefährdende Risiken für Unternehmen darstellen. Schatten-IT kann aber auch ein Innovationsmotor sein. Wenn Schatten-IT-Systeme erkannt werden, kann es erforderlich und nützlich sein, diese in das IT-Management des Unternehmens aufzunehmen. Die vorliegende Arbeit untersucht die Eignung und Übertragbarkeit der aus der agilen Software-Entwicklung stammenden Werte und Prinzipien bei der Einbindung von Schatten-Individualsoftware in das IT-Management von Unternehmen. Am Beispiel von Schatten-Individualsoftware wird untersucht, wie die bisherige Rolle des IT-Managements durch Schatten-IT in Frage gestellt wird und wie die einzelnen Disziplinen des IT-Managements durch Schatten-IT betroffen sind. Es werden die Eigenschaften von Schatten-Individualsoftware erarbeitet und es wird untersucht, welche agilen Werte und Prinzipien sich auf das IT-Management übertragen lassen, um Schatten-Individualsoftware in das IT-Management von Unternehmen einzubinden. Aus den identifizierten agilen Werten und Prinzipien wird ein Handlungsansatz entwickelt, um Schatten-Individualsoftware in das IT-Management von Unternehmen zu integrieren. Dieser Ansatz wird durch Experten-Interviews initial evaluiert.
Die vorliegende Masterarbeit beschäftigt sich mit Lasttests auf Systemebene. Die betrachtete Art von Softwaresystemen ist davon gekennzeichnet, dass diese innerhalb einer vernetzten Umgebung betrieben werden. Das bedeutet, dass diese mit verschiedenen anderen Systemen kommunizieren müssen und von Ereignissen eben dieser abhängig sind. Vorbereitend wird die betrachtete Problemstellung genauer klassifiziert. Dies soll helfen, dass der Leser die Ergebnisse der Arbeit auf eigene Problemstellungen übertragen kann. Weiterhin wird dadurch für die vorliegende Arbeit ein klarer Fokus geschaffen. Nachdem Methoden ermittelt werden, welche in modernen IT-Projekten bei der Testdurchführung eingesetzt werden, beschäftigt sich die vorliegende Arbeit mit den Voraussetzungen für die Testfallbeschreibung und -umgebung. Diese bilden das Ergebnis der vorliegenden Arbeit in Form einer Auflistung zu beachtender Punkte bei Lasttests auf Systemebene bei der betrachteten Art von Softwaresystemen. Hierbei werden jeweils sechs Voraussetzungen anhand aktueller Literatur ermittelt. Um die Anwendbarkeit für laufende und künftige Softwareprojekte gewährleisten zu können, werden die identifizierten Voraussetzungen im Rahmen eines IT-Migrationsprojekts angewendet. Bei dem hier zu testenden Softwaresystem handelt es sich um ein System auf Lagerveraltungs- und Materialflusssteuerungsebene innerhalb eines Intralogistiksystems. Es ist gekennzeichnet durch eine hohe Zahl an verbundenen Systemen zur Prozesssteuerung und einer hohen Materialflussleistung. Abschließend wird ein Fazit aus dem Praxisprojekt gezogen. Die Ergebnisse der vorliegenden Masterarbeit sind für Führungskräfte und insbesondere Testverantwortliche in der Softwareentwicklung gedacht. Beispielsweise Projektleiter, die vor der Herausforderung des Tests eines Softwaresystems in einer vergleichbaren vernetzten Umgebung stehen.