54.52 Software engineering
Filtern
Dokumenttyp
- Masterarbeit (24)
Volltext vorhanden
- ja (24)
Gehört zur Bibliographie
- ja (24)
Schlagworte
- Software Engineering (12)
- Softwaretest (2)
- Framework <Informatik> (1)
- Hochverfügbarkeit (1)
- Industrie 4.0 (1)
- Internet der Dinge (1)
- Künstliche Intelligenz (1)
- Migration <Informatik> (1)
- Mikroservice (1)
- Produktentwicklung (1)
In der heutigen Zeit sind Serviceroboter ein unverzichtbares Element in zahlreichen industriellen und gesellschaftlichen Bereichen. Ihre steigende Bedeutung ist größtenteils auf erhebliche Fortschritte in der Software-Entwicklung, wie KI-Technologien, einen Quantensprung in der Mikro-Chip-Industrie und neuartiger leistungsstarker Hardware zurückzuführen. Diese Entwicklungen eröffnen Möglichkeiten für erhöhte Autonomie und Effizienz, stellen jedoch auch eine Reihe von technischen Herausforderungen dar. Ein Schlüsselaspekt ist die Variabilität, die es ermöglicht, Roboter für eine breite Palette von Anwendungen, von Fertigungsprozessen bis hin zu Logistik und Gesundheitswesen, zu optimieren. So wertvoll diese Flexibilität auch ist, erschwert sie jedoch die Integration der Software, die der Hardware, deren Wartung, sowie die kontinuierliche Verbesserung und wirft teilweise wirtschaftliche und ethische Fragen auf. Die Masterarbeit nimmt diese vorwiegend technischen Herausforderungen ins Visier und bietet eine tiefgehende Analyse über das Feld der professionellen Servicerobotik. Sie stellt die Notwendigkeit einer durchdachten Planung, Implementierung und Integration in den Vordergrund, mit dem Ziel, die Serviceroboter in ihren jeweiligen Einsatzfeldern, anhand der eruierten Herausforderungen, so reibungslos als möglich zu integrieren. Neben dem Hauptaugenmerk auf die technischen Aspekte betrachtet die Arbeit auch einige soziale und ethische Fragen, die durch die zunehmende Integration von Servicerobotern in menschliche Umgebungen entstehen. Hierzu zählen insbesondere Software, Hardware, das menschliche Wohlbefinden und die Verantwortung im Umgang mit Daten. Diese Herausforderungen und möglichen Lösungen werden anhand einer systematischen Literaturrecherche nach vom Brocke et al. ermittelt. Die Forschung hat eine Vielzahl von Herausforderungen und Lösungen aufgezeigt, wobei der Schwerpunkt hauptsächlich auf technischen Problemen lag. Es gelang, einige Hypothesen zu bestätigen und andere zu widerlegen, was zur Beantwortung der Forschungsfragen beitrug. Zudem wurde ein deutlicher Trend hin zu einem vermehrten Interesse im Bereich der Servicerobotik erkennbar. Insgesamt bietet die Arbeit einen umfassenden Überblick über die komplexen Anforderungen, die die Implementierung und Integration von Servicerobotern mit sich bringt. Die Studie der Masterarbeit dient als wertvolle Ressource für diejenigen, die in der Planung, Entwicklung und Implementierung von Servicerobotern tätig sind und gibt einen fundierten Einblick in die aktuellen und zukünftigen Herausforderungen dieses dynamischen und schnell wachsenden Feldes.
Die Erstellung von Softwareangeboten birgt zahlreiche Herausforderungen. Darunter fallen insbesondere die möglichst akkurate und vollständige Spezifikation der zu entwickelnden Softwarelösung und die gleichzeitige Sicherstellung einer effektiven und verständlichen Kommunikation mit Auftraggeber*innen. Die Kosten für die Erstellung eines Angebots werden in der Regel erst von der erfolgreichen Projektakquise gedeckt. Ansonsten müssen die angefallenen Kosten für die Angebotserstellung von anderen Projekten aufgefangen werden. Dies setzt Auftragnehmer*innen einem erheblichen wirtschaftlichen Druck aus, der eine effiziente Arbeitsweise notwendig macht. Mit der kombinierten Anwendung von User Stories und künstlicher Intelligenz soll die Angebotserstellung optimiert werden. Im Rahmen dieser Arbeit wird der Stand der Technik für natürliche Sprachverarbeitung näher beleuchtet und wie diese zusammen mit User Stories funktionieren kann. Das Unternehmen ireo GmbH liefert mit seiner in Bälde marktreifen SaaS-Webapplikation Storywise einen Lösungsansatz, um die aufgedeckten theoretischen Potenziale von natürlicher Sprachverarbeitung zusammen mit leichtgewichtigen und verständlichen User Stories in die Praxis überzuführen. Die Applikation Storywise wird daher im Rahmen dieser Arbeit von Expert*innen und potenziellen Anwender*innen aus dem Bereich Projektmanagement, Requirements Engineering und Softwareentwicklung getestet und evaluiert, wobei leitfadengestützte Expert*inneninterviews und eine qualitative Inhaltsanalyse nach Kuckartz und Rädiker zur Anwendung kommen. Das Ziel dieser Arbeit war die Einordnung der Praktikabilität der Applikation und insbesondere der KI-generierten Inhalte für die Aufgaben und Anforderungen des Angebotsprozesses aus Sicht der Expert*innen. Weiters sollten sowohl potenzielle Anwendungsfelder für Storywise als auch Vor- und Nachteile gegenüber bestehenden Werkzeugen und mögliche Verbesserungsmöglichkeiten identifiziert werden. Die Ergebnisse zeigen, dass besonders das Grundgerüst einer Spezifikation durch den Einsatz von KI deutlich schneller erstellt werden kann. Das Generieren und Strukturieren von Anforderungen wurde als größter Benefit wahrgenommen, auch die Art der Integration der KI in eine Applikation sowie die Kompatibilität zu Systemen nachgelagerter Prozesse wie Jira sind wichtig für den Erhalt der gewonnenen Effizienzvorteile. Insgesamt ist ein überzeugender Fit des Tools auf den Angebotsprozess gegeben – wenngleich im ersten Schritt primär für kleine bis mittelgroße Projekte. Als größte Herausforderung für die Akzeptanz ist der Datenschutz zu nennen, d.h. um auch wirklich von Unternehmen angenommen zu werden, müssen das verwendete Large Language Model, der Speicherort und die Verarbeitung sowohl DSGVO- als auch Unternehmensrichtlinien erfüllen und vertrauenswürdig sein.
Testen von Softwareapplikationen gehört zu einem wesentlichen Bestandteil des Qualitätssicherungsprozesses und muss im agilen Ansatz der Softwareentwicklung laufend durchgeführt werden. Mithilfe des Konzepts von Test Driven Development kann die Testfall- und Anforderungsspezifikation verschmolzen werden, da der Testfall vor der Entwicklungsphase definiert wird und die Entwicklung erst mit positiver Absolvierung des Testfalls abgeschlossen ist. Dadurch können Zeit und Kosten minimiert werden. Ziel dieser Arbeit ist die Entwicklung einer Anwendung, mit deren Hilfe End-to-End Tests für Webanwendungen vor der Implementierung erstellt und automatisiert ausgeführt werden können. Das entwickelte Softwarekonzept soll den Ansatz von Test Driven Development ermöglichen und die Testfallerstellung in textueller Form ohne technischen
Hintergrundwissen ermöglichen. Weiters soll das Testkonzept prototypisch realisiert und die erzielten Erfahrungen aus einem Referenzprojekt dokumentiert werden.Im ersten Schritt erhält der Leser Einblick über die Konzepte von Test Driven Development und Behavior Test Driven. Weiters werden die Möglichkeiten der Testautomatisierung für Webanwendungen erläutert und die gängigen verfügbaren Frameworks analysiert und bewertet. Anschließend wird ein Konzept für die Testfallerstellung und Testausführung entworfen, welches in einem Prototypen realisiert wird. Die resultierenden Erfahrungen aus dem Einsatz des Prototypen in einem Referenzprojekt sollen dazu
dienen, um auf den Nutzen des Testkonzepts zu schließen. Das Ergebnis der Arbeit zeigt, dass das entwickelte Konzept eine Testfallerstellung auch ohne technischen Hintergrundwissen ermöglicht und so von Personen mit Prozesswissen erfolgen kann. Der Ansatz von Test Driven Development kann mit dem Prototypen gezeigt werden. Im eingesetzten Projekt kann anhand der positiv ausgeführten Testfälle mit fortlaufender Zeit ein positiver Trend und Beitrag zur Qualitätssteigerung identifiziert werden. Die vorliegende Arbeit lässt schlussfolgern, dass der Prototyp für die Erstellung von automatisierten Testfällen nach dem Ansatz Test Driven Development eingesetzt werden kann. Wenngleich im eingesetzten Referenzprojekt nur wenige Testfälle erstellt wurden, kann von einem positiven Trend im Zuge des Einsatz gesprochen werden.
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.
Um in der modernen Fertigung Prototypen schnell, kostengünstig und ohne Umwege in Musterteile umzusetzen, wird sehr oft auf die Fertigungsmethode „Rapid Prototyping“ zurückgegriffen. Eine Form dieses Verfahrens ist die Schmelzschichtung (Fused Filament Fabrication, FFF), bei der das Werkstück schichtweise durch den Auftrag eines thermoplastischen Kunststoffes aufgebaut wird. Eine einfache Möglichkeit, Bauteile nach dem FFF-Verfahren herzustellen, bietet der Dreiachs-3D-Druck, für welchen sich bei anspruchsvolleren Bauteilen jedoch wesentliche Einschränkungen, wie etwa aufwendige Stützstrukturen oder optische Fehler, ergeben.
Ziel dieser Masterarbeit ist es zu überprüfen, ob sich die Einschränkungen eines Dreiachssystems durch den Einsatz eines Industrieroboters mit sechs zur Verfügung stehenden Achsen verbessern oder ganz beseitigen lassen. Dieser soll die Methode des „bewegten Werkstückes“ nutzen, wodurch sich das Bauteil an der kinematischen Kette des Roboters befindet und dieser zu einer stillstehenden Druckeinrichtung verfährt. Um das Ziel zu erreichen, wird ein Industrierobotersystem innerhalb einer rechnerunterstützten Fertigung (Computer-Aided Manufacturing, CAM) aufgebaut, mit welchem für definierte Bauteile Fertigungsoperationen, Simulationen sowie Validierungen durchgeführt werden. Am Ende wird durch einen Postprozessor ein ausführbarer Maschinencode erstellt, mit welchem Druckversuche am realen Robotersystem durchgeführt werden.
Das Resultat der Arbeit zeigt, dass sich durch dieses Mehrachssystem viele Vorteile in Bezug auf den konventionellen 3D-Druck sowie neue Anwendungsfelder ergeben, wodurch eine Weiterentwicklung für die Zukunft in jedem Fall Sinn macht.
Entwicklung einer Migrationsstrategie für Legacy Webanwendungen auf eine moderne Cloud-Plattform
(2018)
Cloud-Computing ist das Schlagwort der letzten Jahre in der Informationstechnologie schlechthin. Anbieter von Cloud-Lösungen versprechen Einsparungen bei Infrastrukturkosten, eine schnellere Serviceverfügbarkeit, eine bessere Performanz und kürzere Entwicklungszyklen. Viele Unternehmen reizt deshalb der Umstieg auf eine Cloud-Infrastruktur. Doch mit einem einfachen Umzug der Anwendungen ist es selten getan. Diese Arbeit zeigt auf, wie Softwareanwendungen aufgebaut sein müssen, damit sie aus einer Cloud-Infrastruktur einen optimalen Nutzen ziehen können. Zudem sind auch organisatorische Änderungen nötig, um moderne Cloud-Anwendungen zu entwickeln. Auch diese Änderungen werden besprochen. Häufig stehen Unternehmen vor dem zusätzlichen Problem, dass Anwendungen seit mehreren Jahren in Betrieb, aber technisch veraltet sind. Diese Legacy-Anwendungen sind geprägt durch fehlendes Entwicklungs-Know-how und eine lange Einsatzphase ohne Modernisierung und Restrukturierung. Die Plattformen, die sie nutzen, sind oft veraltet und der technologische Sprung auf eine Cloud-Umgebung deshalb sehr groß. Diese Arbeit erklärt, was Legacy-Software ist, wie sie entsteht, und wie mit ihr verfahren werden kann. Zudem wird das Thema Softwaremigrationen erklärt. Verschiedene Migrationsarten werden vorgestellt, und der exemplarische Ablauf einer Softwaremigration aufgezeigt. Das Ergebnis der Arbeit ist ein Konzept für Migrationsstrategien von Legacy-Anwendungen. Es wird für ein großes deutsches Versicherungsunternehmen entwickelt, das die Einführung einer Cloud-Infrastruktur plant. Der Umgang mit Altanwendungen, die bereits nicht mehr in die geplante Laufzeitumgebung passen, die jedoch weiterhin benötigt werden, ist derzeit ungeklärt. Er soll mit Hilfe dieser Arbeit festgelegt werden.
Was muss ein Unternehmen heutzutage leisten um auf Dauer mit dem Wettbewerb mithalten und den Veränderungen von Industrie und Gesellschaft standzuhalten? Was bedeuten die einzelnen Buzz-Wörter wie „Industrie 4.0“, „Internet of Things“ und „Cyber-Physikalisches Produktionssystem“ konkret für die eigene Situation? Die folgende Arbeit versucht, diesen Fragen nachzugehen. Konkret wird hierfür das Beispiel der Messtechnik Branche untersucht und versucht, für die Software des Mitutoyo Konzerns eine Softwarearchitektur zu entwickeln, welche für die neuen Entwicklungen gewappnet ist. Hierfür wird zunächst eine grundlegende Untersuchung der aktuellen Trends in der Industrie durchgeführt und daraus Anforderungen abgeleitet. Dann werden die einzelnen Aspekte auf die Architektur übertragen und eine grundlegende Basisstruktur definiert. Anhand des konkreten Beispiels einer Software zur Status Überwachung und Auslastungsplanung für Messmaschinen wird dann untersucht, inwiefern die Basis Architektur den ermittelten Anforderungen gerecht wird.
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.