Refine
Document Type
- Master's Thesis (12)
Has Fulltext
- yes (12)
Is part of the Bibliography
- yes (12)
Keywords
- Software Engineering (12) (remove)
Modellbasierte Ansätze gewinnen innerhalb des Produktentwicklungsprozesses zunehmend an Bedeutung, um Ressourcen zu schonen und Produkte termingerecht auf den Markt zu bringen. Zentral sind in diesem Zusammenhang die Umsetzung von modernem Anforderungsmanagement und die Nutzung bereits entwickelter Module für neue Produkte. Dies kann mit Hilfe von Variationsmanagement und modellbasierten Systems-Engineering-Methoden erreicht werden. Anton Paar entwickelt komplexe Messsysteme für ein breites Anwendungsfeld, etwa die Messung von rheologischen Verhalten oder der Partikelgröße. Ziel der Arbeit ist es, zu untersuchen, inwiefern Variantenmanagement und modellbasierter Systementwurf in den Produktentwicklungsprozess von Messsystemen integriert werden können, um Time-to-Market-Ziele zu erreichen und Entwicklungsressourcen zu sparen. Im ersten Schritt wurden verschiedene Methoden evaluiert, um das beste Verfahren zur Erstellung des Modells eines hochkomplexen prozessintegrierten Partikelanalysesystems zu finden. Basierend auf dem Ergebnis dieser Analyse ergeben sich die verschiedenen Varianten, um identische Komponenten zu finden, die für mehrere Anwendungen wiederverwendet werden können. Dadurch können Ressourcen gespart werden und nachhaltige Entwicklung wird ermöglicht. Darüber hinaus konnten die verschiedenen Varianten des Systems in eine modellbasierte Systems-Engineering-Umgebung integriert werden, um die Vorteile im Vergleich zu veralteten Ansätzen aufzuzeigen. Das Ergebnis belegt, dass State-of-the-Art-Ansätze im Produktentstehungsprozess einen positiven Einfluss auf die Entwicklungsqualität haben. Darüber hinaus zeigt es, dass modellbasierte Methoden auch die Entwicklungszeit positiv beeinflussen können. Durch weitere Untersuchungen können diese Ergebnisse der Masterarbeit verifiziert werden.
Die Softwareentwicklung wird in der Automobilbranche aufgrund der Komplexität der Fahrzeuge und Steuergeräte immer wichtiger. Neben der Komplexität der Fahrzeuge stehen die Hersteller einem Marktumfeld gegenüber, dass sich immer schneller wandelt und in immer kürzerer Zeit neue Innovationen einfordert. Einen Großteil der Softwareentwicklung vergeben die HerstellerInnen an externe LieferantInnen, da das Wissen über die Softwareentwicklung meist nicht bei den HerstellerInnen vorhanden ist. Die Auswahl der LieferantInnen erfolgt oftmals mit Hilfe von Prozessbewertungen nach Automotive SPICE. Dies soll sowohl die Qualität der Software als auch die Prozessfähigkeit und Termintreue der LieferantInnen sicherstellen. Daneben fordern die HerstellerInnen von den LieferantInnen eine flexiblere Arbeitsweise, damit neue Anforderungen auch innerhalb laufender Softwareprojekte bearbeitet werden können. Aufgrund dieser geforderten Flexibilität ändert sich das Vorgehen der Softwareentwicklung in der Automobilbranche von einem sequenziellen Ansatz hin zu immer agileren Herangehensweisen. Diese Arbeit untersucht anhand von sechs Interviews mit Fachgrößen aus dem agilen Umfeld, wie sich die Anforderungen von Automotive SPICE auf die agile Softwareentwicklung auswirken. Als Beispiel für ein agiles Vorgehensmodell zieht die Arbeit Scrum in Verbindung mit dem Nexus Framework heran. Begleitet wird dieses Vorgehensmodell von agilen Praktiken. Daneben betrachtet die Arbeit das agile Manifest mit seinen Werten und Prinzipien, welche die Grundpfeiler der agilen Softwareentwicklung darstellen. Ein Abgleich der Ziele von Automotive mit der agilen Softwareentwicklung ergänzt die Untersuchung. Die Auswertung der Interviews hat gezeigt, dass der Einsatz agiler Praktiken, wie Pair Programming und Test-Driven Development, auch im Rahmen von Automotive SPICE unter bestimmten Bedingungen möglich ist. Primäre Ziele von Automotive SPICE sind die Prozessverbesserung, die Kosten- und Termineinhaltung und die Planung. Die Prozessverbesserung stimmt mit den agilen Prinzipien überein. Planung, Termin- und Kosteneinhaltung, können Organisationen durch den Einsatz agiler Methoden wie Scrum wesentlich besser erreichen, als es mit traditionellen Methoden möglich ist. Die Standardisierung von Prozessen ermöglicht es den Unternehmen Prozesse wieder zu verwenden und reduziert dadurch die Aufwände bei der Errichtung neuer Projekte. Dies wiederum kommt den agilen Prinzipien entgegen. Für die erfolgreiche Umsetzung der Anforderungen aus Automotive SPICE in agilen Teams und Unternehmen werden konkrete Handlungsempfehlungen gegeben. Die Grenzen dieser Arbeit und aus der Arbeit heraus aufgekommene Forschungsfragen, werden im Anschluss diskutiert.
Diese Masterarbeit untersucht, welche Aspekte zum Betreiben einer Microservice Architektur notwendig sind. Die Realisierung kann mit Hilfe von Open Source Infrastrukturkomponenten erfolgen. Es werden Frameworks in Java und .NET zur Anbindung an diese untersucht und anhand eines Kriterienkatalogs verglichen.
Moderne Frameworks für die Entwicklung von Anwendungen auf mobilen Plattformen entwickeln sich ständig weiter, um den sich ständig ändernden Anforderungen der Welt der Softwareentwicklung gerecht zu werden. Seit 2018 entwickelt Google das Flutter-Framework, das für die Entwicklung mobiler Anwendungen auf den Plattformen Android und iOS eingesetzt wird. Da es sich bei Flutter um das neueste Framework handelt, das eine native Anwendungsleistung verspricht, ist es wichtig, ein besseres Verständnis für die Performance der Technologie zu erhalten und zu erfahren, wie sie sich mit anderen verfügbaren Plattformen messen kann. Aus diesem Grund analysiert diese Arbeit Flutter und vergleicht das Framework mit nativen und anderen plattformübergreifenden Technologien. Prototypen mit den gleichen Funktionalitäten wurden mit Flutter und anderen Plattformen (z. B. Android, iOS, React Native) erstellt und dann getestet, um ihre Leistungsniveaus zu vergleichen. Die Ergebnisse zeigen, dass Flutter in einigen Aspekten (z. B. CPU-Nutzung) eine native Performance erreichen kann, in anderen Aspekten (z. B. Speichernutzung) jedoch schlechter abschneidet als andere Frameworks. Insgesamt zeigt die Forschung, dass Flutter ein sehr vielversprechendes Framework für die plattformübergreifende Entwicklung ist. Zukünftige Arbeiten können auf diese Arbeit aufbauen, um mit verschiedenen Anwendungsfällen zu experimentieren und einen tieferen Einblick in die Leistungsfähigkeit des Frameworks zu erhalten.
Analyse und Bewertung von State-Management Varianten in modernen Cross-Plattform Technologien
(2020)
Plattformübergreifende Technologien entwickeln sich ständig weiter und bieten einen kostengünstigen und zeiteffizienten Ansatz zur Entwicklung von Anwendungen auf mehreren Plattformen. Die Frage nach dem richtigen State-Management Ansatz muss dabei zu Beginn eines jeden Projekts beantwortet werden, was eine Herausforderung sein kann mit einer Vielzahl an mögliche Lösungen. Das Ziel dieser Arbeit war daher die Untersuchung von State-Management Ansätzen am Beispiel von Flutter und deren Bewertung auf der Grundlage von festgelegten Kriterien. In dieser Arbeit werden zunächst plattformübergreifende Technologien untersucht, mit Schwerpunkt auf Flutter. Danach werden gängige Ansätze von State-Management und die Theorie hinter Code Qualität Metriken analysiert. Basierend auf den gesammelten Informationen und den daraus resultierenden wirtschaftlichen und technologischen Entscheidungsgründen wurden Bewertungskriterien erstellt. Vier State-Management Ansätze wurden umgesetzt und entsprechend der Kriterien bewertet. Der Vergleich zeigt, dass BLoC die beste Lösung für Großanwendungen mit erfahrenen Entwicklern zu sein scheint. Für kleinere Projekte oder unerfahrene Entwickler bietet sich der Einsatz von Provider an.
Zu Beginn eines Softwareprojekts stellt sich fast immer die Frage, welche Technologien dafür eingesetzt werden. Die Entscheidung über die Auswahl der Frameworks wird dabei oft nach Präferenz oder vorhandener Erfahrung der Entwickler*innen getroffen. Gerade bei wichtigen oder großen Projekten sollte die Auswahl der Frameworks rational anhand der gegebenen Projektanforderungen getroffen werden. Ziel dieser Masterarbeit ist es, zu bestimmen, ob die Auswahl der Frameworks durch ein systematisches Entscheidungsmodell unterstützt werden kann. Aus diesem Ziel wurde folgende Forschungsfrage gestellt: Kann mithilfe eines systematischen Entscheidungsmodells die Auswahl eines geeigneten Single-Page-Application-Frameworks im Bereich Web-Frontendentwicklung getroffen werden? Die Forschungsfrage wird dabei primär durch Literaturrecherche zur Entscheidungstheorie untersucht. Ferner wird anhand der Recherche ein Entscheidungsmodell entwickelt. Um die Forschungsfrage zu beantworten, wurden Single-Page-Application- (SPA)Frameworks recherchiert, gefiltert und anhand eines Kriterienkataloges bewertet, um sukzessive ein Entscheidungsmodell zu erarbeiten. Das entstandene Modell bietet die Möglichkeit, SPA-Frameworks anhand ihrer Eignung für individuelle an das Modell übergebene Projektanforderungen zu sortieren und ungeeignete Frameworks auszuscheiden. Die Bewertung der Frameworks erfolgte dabei mittels einer Bestandsaufnahme messbarer Fakten sowie durch den Vergleich der Frameworks anhand eines erstellten Prototyps bei nicht messbaren Kriterien. Für die Validierung des erstellten Modells wurde unter Personen aus der Softwareentwicklungsbranche eine Umfrage durchgeführt, bei der die Teilnehmer*innen die Frameworks bewerten konnten. Anschließend wurde mit der Bewertung der Umfrageergebnisse ein neues Modell erstellt und dieses anhand fiktiver Projektanforderungen mit dem ursprünglich erstellten Modell verglichen. Dabei wurde dasselbe Ergebnis erzielt und somit das Modell validiert. Die vorliegenden Ergebnisse zeigen, dass ein Entscheidungsmodell die Auswahl eines Frameworks ermöglicht oder als Entscheidungsgrundlage dienen kann. Voraussetzung dafür ist die objektive Bewertung der Frameworks sowie der individuellen Projektanforderungen.
Digitale Plattformen ermöglichen Softwareentwicklungsunternehmen und digitalen Geschäftsmodellen ein schnelles Wachstum. Dies erfordert skalierbare und flexible Softwarelösungen wie White-Label Plattformen die als Software-as-a-Service bereitgestellt werden. Das Ziel dieser Arbeit ist, Software Architekturen für digitale Plattform zu analysieren und wie Plattformen durch die Verwendung von Clouddiensten bereitgestellt werden können. Die Analyse untersucht drei gängige Software Architekturen und vergleicht die Architekturen für unterschiedliche Ausprägungen von digitalen Plattformen. Die Auswertung zeigte, dass eine Serverless-Architektur die beste Möglichkeit für die Bereitstellung einer Plattform ist, die unregelmäßig verwendet wird oder für Plattformen bei denen die Kunden stark reguliert sind und eigene Instanzen benötigen. Eine Microservice Architektur bietet sich für Systeme mit einer hohen Auslastung an oder für Plattformen, die eine große Anzahl an Benutzer benötigen. Zusammenfassend kann gesagt werden, dass Clouddienste Unternehmen eine einfache Möglichkeit bieten um flexible digitale Geschäftsmodelle zu entwickeln, die gegebenenfalls uneingeschränkt skaliert werden können und in kürzester Zeit auf die Bedürfnisse des Marktes angepasst werden können.
Die Softwarequalität ist ein wesentlicher Wettbewerbsfaktor in der Softwarebranche. Viele Softwareprojekte legen daher den Schwerpunkt ihrer Softwarequalität auf Abnahmetests und ignorieren andere wichtige Faktoren des gesamten Software-Lebenszyklus. Aus diesem Grund konzentriert sich diese Arbeit darauf, ob ausgewählte Einflussfaktoren aus dem gesamten Software-Lebenszyklus in Verbindung mit Testergebnissen von Abnahmetests eine detailliertere Bewertung der Qualität eines Software Release ermöglichen können. Hierzu wurden Einflussfaktoren untersucht und in ein Modell integriert. Darauf aufbauend wurde eine Bewertungsmatrix für die Implementierung entwickelt. In einem Experiment, in dem das Modell auf ein Beispielprojekt angewendet wurde, wurden 6 von 16 Features aus dem Software Release ausgenommen. Hätte sich dieses Experiment nur auf die Ergebnisse des Akzeptanztests gestützt, wären nur 4 von 16 Features aus dem Software Release ausgenommen worden. Diese Ergebnisse bestätigen, dass die ausgewählten Einflussfaktoren eine detailliertere Bewertung der Qualität des Software Release ermöglichen. Trotz dieser Schlussfolgerung würden die Erkenntnisse dieser Arbeit von weiteren Studien profitieren, bei denen mehr Zeit zur Verfügung steht und verschiedene Werkzeuge zur Überprüfung der Forschungsfrage verwendet werden.
Many areas of human activity demand high availability (HA) for the services provided by information technology (IT), including supply chain and especially logistics services as its backbone. Logistics automation has already been tightly linked with IT for some time now. Eventually, it is expected to reach a tipping point of digitalization under the Logistics 4.0 concept. Such anticipated convergence provided a basis for the thesis research. It was possible to apply time-proven approaches originally used in IT to produce a tailored and cost-effective HA solution for an ITenabled logistics system in order to minimize costly downtime. A multi-layer architectural pattern was adopted to focus the research on the opportunities to improve HA provided by innovative open-source software. “State-of-the-art” approaches, best practices, and challenges to attaining availability are covered in the course of the thesis. The case study was based on the efforts of a Styrian solution provider for intralogistics systems to improve and standardize HA solution for their software products and services. Mandatory HA requirements to ensure business continuity were used to outline a reference architecture for a generic HA solution by means of HA cluster for a logistics system. A prototype testbed, based on the relevant stack of technologies, validated and evaluated the proposed reference HA architecture. The findings of this thesis demonstrate the feasibility of the idea to build a cost-optimized clusterbased HA solution using commercial off-the-shelf hardware and free open-source software which can deliver an improved level of availability for a modern logistics system.
Um den steigenden Bedarf an IT-ExpertInnen, welcher durch die Digitalisierung von Geschäftsprozessen verstärkt auch in Unternehmen zum Tragen kommt, deren Kerngeschäft nicht im Bereich IT oder Softwareentwicklung liegt, entgegenzuwirken, setzt die ANDRITZ Gruppe seit 2018 Mendix als Low-Code bzw. No-Code Plattform ein. Durch den Einsatz solcher Plattformen, mit denen Softwarelösungen von nicht IT-Experten direkt in der Fachabteilung umgesetzt werden können, ergeben sich jedoch neue Herausforderungen betreffend der Zusammenarbeit zwischen IT- und Fachabteilung. Ziel dieser Arbeit ist es daher, Strukturen zur modellgetriebenen Softwareentwicklung in einem international verteilten Team, bestehend aus IT-ExpertInnen und MitarbeiterInnen der Fachabteilungen, zu etablieren, um Softwareprojekte effektiv über Abteilungsgrenzen hinweg umzusetzen. Dazu wurden anhand einer Literaturrecherche entlang des Software-Lebenszyklus Einflussfaktoren identifiziert, welche die effektive Zusammenarbeit in einem dezentralen Team beeinflussen können. Um diesen Faktoren je nach Projektsituation individuell begegnen zu können, wurde ein eigener Servicebereich innerhalb der ANDRITZ IT etabliert welche sämtlichen Tätigkeiten rund um das Thema Rapid Application Development (RAD) steuert. Kern dieses Servicebereichs ist ein Center of Excellence (CoE), welches die zentrale Steuerungs- und Koordinationsaufgabe übernimmt und je nach Projekt entscheidet, welche Umsetzungsmethoden, Werkzeuge und Rollen für eine erfolgreiche Umsetzung benötigt werden. Nach einer Einführung in die für diese Arbeit relevanten Theorietischen Grundlagen wird das ANDRITZ RAD CoE und dessen Aufgaben detailliert beschrieben. Im empirischen Teil dieser Arbeit wird der Einsatz des CoE an einem real durchgeführten Projekt innerhalb der ANDRITZ Gruppe getestet und anschließend mittels ExpertInneninterviews eruiert, ob sich die entwickelte Vorgehensweise für den praktischen Einsatz eignet oder ob Anpassungen durchgeführt werden müssen.