Universität Stuttgart

Permanent URI for this communityhttps://elib.uni-stuttgart.de/handle/11682/1

Browse

Search Results

Now showing 1 - 10 of 306
  • Thumbnail Image
    ItemOpen Access
    Evaluation von Java-Profiler-Werkzeugen
    (2013) Flaig, Albert; Hertl, Daniel; Krüger, Florian
    The purpose of this study is to evaluate Java profilers and compare them with each other. As profilers differ in various aspects the evaluation has to cover many functional and non-functional scopes like the user interface and license properties, states of development, range of support, and the given underlying conditions. Choosing the right profiler is not an easy task as there is a wide variety each with their own pros and cons. This study aids in decision making by providing a comparison and enabling the user to easily weight up each individual aspect to ones personal needs. Through this study we try to publish a detailed comparison of current profilers as well as a personal recommendation based on objective, well-defined criteria. In this context different kinds of profilers - commercial as well as open source - will be looked at in an attempt to find the best-fitting tool for specific usage scenarios. In order to achieve accurate results each profiler is tested with a similar set of examinees. As a result a table based ranking will be established by the help of the perceived results. The result of this analysis can further be used to choose one profiler out of the tested ones to perfectly fit to the user needs. Secondarily it also provides a detailed overview of current profilers and its functional scopes.
  • Thumbnail Image
    ItemOpen Access
    Optimierung eines Workflows für Softwareentwickler bei der Bearbeitung von Arbeitspaketen
    (2013) Rempel, Andreas; Friedrich, Kai; Gross, Andreas
    Bei der Entstehung von Software ist es unabdingbar entstehende Aufgaben über mehrere Arbeitspakete aufzuteilen. Dabei ist es wichtig ein Arbeitspaket während seines gesamten Lebenszyklus zu kontrollieren und dokumentieren. Dieser Lebenszyklus muss auf das Unternehmen zugeschnitten sein, um eine hohe Effizienz und Qualität bei der Bearbeitung des Arbeitspaketes zu gewährleisten. Um die erfolgreiche Durchführung zu unterstützen, will der Industriepartner ein Issue-Tracking-System einsetzen in dem dieser Lebenszyklus abgebildet werden kann. Im Auftrag des Industriepartners wurde dessen bestehender Workflow analysiert und für die Abbildung in einem Issue-Tracking-System optimiert. Hierzu werden in dieser Fachstudie 12 Issue-Tracking-Systeme evaluiert.
  • Thumbnail Image
    ItemOpen Access
    Entwicklung und Implementierung von Analysetools zur Dimensionierung von Entwässerungsanlagen am Bahnkörper und zur Aufstellung der Investitionsschätzung von vorgeplanten Eisenbahninfrastrukturen in das vorhandene DCC-Modell
    (2020) Koch, Daniel
    Diese Arbeit beschreibt die Entwicklung und Implementierung von zwei Analysetools in das vorhandene DCC-Modell. Dabei wird der DCC-Ansatz erläutert und die Umsetzung in Bezug auf die zu implementierenden Tools aufgeführt. Eine der Softwarelösungen dient zur Aufstellung der Investitionsschätzung von vorgeplanten Eisenbahninfrastrukturen. Hierbei wird die Kostenermittlung in Form einer Kostenschätzung für den Verkehrsträger Schiene im Detail betrachtet. Das zweite Analysetool unter-sucht die Dimensionierung von Entwässerungsanlagen am Bahnkörper. Dafür wird auf die hydraulische Bemessung von offenen Entwässerungsanlagen umfänglich eingegangen. Für beide Softwarelösungen wird die Vorgehensweise der Implementierung schrittweise erklärt und die enthaltenen Funktionen dargelegt. Zudem wird die Integration der Analysetools in die vom Studienprojekt „ModellBahn“ entwickelte Software namens „PULTrack“ ausführlich beschrieben, und mögliche Anpassungen und Optimierungen dieser erwähnt.
  • Thumbnail Image
    ItemOpen Access
    Software test automation for IoT applications : design and implementation of a test framework for the digital concepts gateway
    (2019) Basaula, Aanal Raj
    The popularity of Smart Devices are increasing everyday, with new devices designed and developed to help people with their daily tasks. Smart Home is one such example of amalgamation of devices where different sensors and actuators work together to help users perform day-to-day activities. This wide-spread adoption of such devices necessitates quality and reliability. This work focuses in the field of IoT devices for methods and measures that are available to test such devices. It presents Digital Concepts gateway as a case study and explores the findings of the special needs of testing within the context of this project. A test framework is proposed to tackle the discovered requirements of testing. An automated test environment is designed and implemented to further improve the quality of the software and an evaluation based on the effort required to maintain and execute tests is used as a decision making tool for Digital Concepts.
  • Thumbnail Image
    ItemOpen Access
    Herausforderungen in der Releaseplanung im Umfeld Automotive
    (2019) Iazzolino, Aretina
    Kaum ein Industriezweig steht unter starken Konkurrenzdruck wie die Automobilbranche. Die Fahrzeuge müssen bei möglichst gleichbleibender Qualität und kürzeren Produktzyklen, immer schneller zur Marktreife gebracht werden. Das ist auf den ständigen Zyklus der Neuerung und Verbesserung zurückzuführen. Mehr als 90% der Kundenanforderungen werden prädominant durch Software umgesetzt. So hat sich ein cross-funktionales Umfeld, in der von der Mechanik geprägten Automobilwelt aufgebaut, bestehend aus den weiteren Bereichen Elektrik und Elektronik. Die Vernetzung dieser Bereiche führt zu einer erhöhten technischen Komplexität. Dies muss bei der Releaseplanung von sicherheitskritischen Systemen, wie das Automobil einzustufen ist, berücksichtigt werden. Alle involvierten Disziplinen und ihre technischen Abhängigkeiten müssen in ein funktionierendes Ganzes vereint und validiert werden. So wird beispielsweise die Steuergerätesoftware in Verbindung mit dem zugehörigen Steuergerät getestet und Umgekehrt. Die Schwierigkeit ergibt sich, wenn die Teilsysteme ihre eigenen Releasezyklen und Fertigstellungstermine besitzen. Sie können zum einen stark an die Meilensteinstruktur angelehnt sein, und somit klassisch abgewickelt werden. Zum anderen führt der Einzug agiler Methoden im automotive Umfeld, vorzüglich in Softwareumgebungen, zu schneller lieferfähige Produktinkremente. Die unterschiedlichen Releasezyklen der Teilsysteme und ihre Abhängigkeiten, erschweren einen reibungslosen Ablauf der Qualifikationsphase im Verbund. Ziel dieser Arbeit ist es diese Herausforderungen in der Releaseplanung im automobilen Umfeld zu identifizieren. Dazu soll eine Studie mit Experten aus dem automotive oder automotive-ähnlichen Umfeld durchgeführt werden, um den Stand des Markts wiedergeben zu können.
  • Thumbnail Image
    ItemOpen Access
    Entwicklung und Implementierung von Analysemethoden zur Einzelfehlerdetektion in Verbindung mit Deep Learning und Machine Learning
    (2020) Pavlovski, Alexander
    In Deutschland beförderte die Deutsche Bahn AG 148 Millionen Fahrgäste und erreichte eine Gesamtbetriebsleistung von 1,09 Milliarden Trassenkilometern. Die Fahrgastanzahl stieg hier um 4% im Vergleich zum Vorjahr [1]. Dieser Trend lässt vermuten, dass in den kommenden Jahren der Zugverkehr weiter zunehmen wird, so auch aber auch die Belastung der Schienenwege. Aus diesem Grund ist es maßgeblich die Instandhaltung dieser weiter zu verbessern, um einen reibungslosen Schienenverkehr zu gewährleisten. Dazu existiert die Möglichkeit die Vertikalbewegung bzw. Vertikalbeschleunigung der Achse eines Zuges auf dem Gleis zu messen und darauf Fehler zu erkennen. Damit der Prozess der Fehlererkennung aus dem Signal vereinfacht wird, beauftragte das Institut für Eisenbahn- und Verkehrswesen im Sommersemester 2019 an der Universität Stuttgart, über das Studienprojekt der Fakultät Informatik, acht Studenten damit, eine Software zu entwickeln, die diesem Problem abhilft. Das Ergebnis ist die Software PUL-Anfahr, welche aus zwei Prozessabläufen besteht: Aufbereitung und Analyse der Messdaten. In dem Analyseteil geschieht die tatsächliche Fehlererkennung. Jede Gleisinstabilität folgt einem bestimmten Muster im Signal. Jedes dieser Fehlermuster gilt es zu erkennen. Insbesondere hatten Machine Learning Algorithmen, ein Teilbereich der Künstlichen Intelligenz, in den letzten Jahren starke Fortschritte im Themengebiet Mustererkennung zu verzeichnen. Somit bietet es sich an solche Algorithmen in PUL-Anfahr zu integrieren, die in dieser Bachelorarbeit implementiert und erörtert werden.
  • Thumbnail Image
    ItemOpen Access
    On the impact of service-oriented patterns on software evolvability: a controlled experiment and metric-based analysis
    (2019) Bogner, Justus; Wagner, Stefan; Zimmermann, Alfred
    Background: Design patterns are supposed to improve various quality attributes of software systems. However, there is controversial quantitative evidence of this impact. Especially for younger paradigms such as service- and Microservice-based systems, there is a lack of empirical studies. Objective: In this study, we focused on the effect of four service-based patterns - namely Process Abstraction, Service Façade, Decomposed Capability, and Event-Driven Messaging - on the evolvability of a system from the viewpoint of inexperienced developers. Method: We conducted a controlled experiment with Bachelor students (N = 69). Two functionally equivalent versions of a service-based web shop - one with patterns (treatment group), one without (control group) - had to be changed and extended in three tasks. We measured evolvability by the effectiveness and efficiency of the participants in these tasks. Additionally, we compared both system versions with nine structural maintainability metrics for size, granularity, complexity, cohesion, and coupling. Results: Both experiment groups were able to complete a similar number of tasks within the allowed 90 min. Median effectiveness was 1/3. Mean efficiency was 12% higher in the treatment group, but this difference was not statistically significant. Only for the third task, we found statistical support for accepting the alternative hypothesis that the pattern version led to higher efficiency. In the metric analysis, the pattern version had worse measurements for size and granularity while simultaneously having slightly better values for coupling metrics. Complexity and cohesion were not impacted. Interpretation: For the experiment, our analysis suggests that the difference in efficiency is stronger with more experienced participants and increased from task to task. With respect to the metrics, the patterns introduce additional volume in the system, but also seem to decrease coupling in some areas. Conclusions: Overall, there was no clear evidence for a decisive positive effect of using service-based patterns, neither for the student experiment nor for the metric analysis. This effect might only be visible in an experiment setting with higher initial effort to understand the system or with more experienced developers.
  • Thumbnail Image
    ItemOpen Access
    How to speed up BDD automated acceptance testing for safety-critical systems
    (2018) Degutis, Daniel Ryan
    An important aspect of developing safety-critical systems is testing, and in some cases an agile development and testing approach is desirable. To reflect and test safety requirements, a process based on Behavior Driven Development (BDD) is considered in this work. The goal is to have an as efficient as possible process for BDD automated acceptance testing. The original process for this, used in an earlier experiment, is examined and automatable parts are identified. Based on this, improvements to the process are proposed and implemented. This results in an updated process, that utilizes a newly implemented command line tool written for the purpose of producing test cases. These can then be used for the BDD automated acceptance testing process. Finally, an evaluation with students BDD acceptance testing a sample system is conducted, to determine the effectiveness of the improved process. The results of the evaluation show benefits in productivity when using the improved process.
  • Thumbnail Image
    ItemOpen Access
    Techniques for visualization and interaction in software architecture optimization
    (2019) Frank, Sebastian
    Software architecture optimization aims at improving the architecture of software systems with regard to a set of quality attributes, e.g., performance, reliability, and modifiability. However, particular tasks in the optimization process are hard to automate. For this reason, architects have to participate in the optimization process, e.g., by making trade-offs and selecting acceptable architectural proposals. The existing software architecture optimization approaches only offer limited support in assisting architects in the necessary tasks by visualizing the architectural proposals. In the best case, these approaches provide very basic visualizations, but often results are only delivered in textual form, which does not allow for an efficient assessment by humans. Hence, this work investigates strategies and techniques to assist architects in specific use cases of software architecture optimization through visualization and interaction. Based on this, an approach to assist architects in these use cases is proposed. A prototype of the proposed approach has been implemented. Domain experts solved tasks based on two case studies. The results show that the approach can assist architects in some of the typical use cases of the domain. Conducted time measurements indicate that several hundred architectural proposals can be handled. Therefore, the approach usefully complements existing software architecture optimization approaches. Furthermore, it is a foundation for the participation of humans in the optimization process and further research in this field.
  • Thumbnail Image
    ItemOpen Access
    A meta-approach to guide architectural refactoring from monolithic applications to microservices
    (2020) Gu, Qiwen
    The concept of microservices in the software development industry is getting growing attention nowadays. This architectural style is widely discussed both in industry and academia. Refactoring a monolithic application into a microservice application is common practice. Nevertheless, software architects and developers often find it di cult because they lack a structured overview of various migration approaches. Even though literature views about microservice migration were conducted, they were either obsolete or did not follow a systematic approach to ensure correctness and reproducibility of results. The goal of this study is to provide a classification framework as well as a web-based tool that can guide software architects and developers to comprehend up-to-date migration approaches and select a suitable one according to their requirements. In order to achieve this, a systematic literature review was conducted, resulting in thirty-one contributions from 2017 to 2020. Next, a web-based tool was developed based on the knowledge repository created after review. An evaluation of the developed tool by experts and students in the field revealed that it was able to serve the predefined purpose. The proposed framework, as well as the web-based tool, can provide the users a comprehensive overview of microservice migration and various practical approaches. Keywords: Microservices, Monolith Migration, Architectural Refactoring, Microservice Migration Framework