@phdthesis{Steinbrueckner2013, author = {Steinbr{\"u}ckner, Frank}, title = {Consistent Software Cities : supporting comprehension of evolving software systems}, url = {http://nbn-resolving.de/urn:nbn:de:kobv:co1-opus-28078}, school = {BTU Cottbus - Senftenberg}, year = {2013}, abstract = {Software visualization is a field of software engineering which aims at providing visual representations of software systems or particular aspects thereof. Numerous approaches for the visualization of software systems have been developed during the last decades. Software cities denote one particular kind of software visualizations that adopts the city metaphor for depicting software systems as virtual cities. Due to their high expressiveness and effectiveness software cities are mainly used for program comprehension tasks, during reverse engineering, and in quality analysis scenarios. Software systems evolve. They are steadily enhanced to provide new product functions, corrected to fix defects, or adapted to changed system environments. Software cities, as proposed today, do not take this evolutionary character of software systems into account. The evolution of software systems, i.e. changes to their internal structure and other characteristics, can easily disrupt the overall software city structure and thus yield very inconsistent visualizations for evolving software systems. The interpretation of these evolving software cities may be error-prone and time-consuming. In this thesis we propose a new software city approach that is based on the observation that real cities often reveal their evolution insofar as they contain e.g. historic centers or satellite cities. Analogous patterns, however, cannot be found in software cities which is an astonishing divergence. We claim that by preserving historical structures and carefully expanding software cities during software evolution, i.e. by spatializing software evolution, we obtain highly expressive, effective, and consistent software cities which support a broader range of application scenarios than the current state of the field. The main contribution of this thesis is a new layout approach for software cities, which explicitly takes evolution into account. Its effects are twofold: First, evolution becomes directly visible in the software city structure in the form of specific geographic patterns that each depicts particular evolutionary phenomena. The resulting increased expressiveness allows for supporting new application scenarios which are evaluated for several example systems. Second, software evolution does no longer disrupt the overall software city structure. Instead, the software cities evolve smoothly during system evolution, which allows for using them during ongoing system development and maintenance. The high consistency of this approach is confirmed in an empirical evaluation.}, subject = {Informationstechnik; Stadtentwicklung; Virtuelle Realit{\"a}t; Rechnernetz; Softwarest{\"a}dte; Softwarevisualisierung; Software cities; Software visualization}, language = {en} } @phdthesis{Schubanz2023, author = {Schubanz, Mathias}, title = {CUSTOM - MADE Scrum : CUSTOMized MAnagement of DEcision - knowledge in Scrum}, doi = {10.26127/BTUOpen-6700}, url = {http://nbn-resolving.de/urn:nbn:de:kobv:co1-opus4-67003}, school = {BTU Cottbus - Senftenberg}, year = {2023}, abstract = {Das Managen von Entscheidungen in der Softwareentwicklung, insbesondere im agilen Kontext, stellt eine anspruchsvolle Aufgabe dar. Oft k{\"o}nnen Entscheidungen anhand von durchgef{\"u}hrten Aktionen oder dem Quellcode nachvollzogen werden. H{\"a}ufig bleibt jedoch das "Warum?" unklar. Das Fehlen von Begr{\"u}ndungen erschwert zuk{\"u}nftige Entwicklungsarbeiten, Wartungsarbeiten oder etwaige Weiterentwicklungen erheblich. Besonders interessant ist auch oft die Frage nach dem "Warum nicht?" - also warum wurde eine L{\"o}sungsalternative verworfen? Diese Fragen sind zentral f{\"u}r Softwareentwickler. Im Gegensatz dazu tendieren lineare Vorgehensmodelle wie das Wasserfall-Modell dazu, {\"u}berm{\"a}ßig viel zu dokumentieren. Produkt- und Prozessdokumentation sowie detaillierte Handb{\"u}cher sind hier {\"u}blich. Sie l{\"o}sen jedoch nicht das Dilemma der Asymmetrie zwischen Angebot und Nachfrage. Der Paradigmenwechsel hin zu agilen Methoden hat dieses Problem auch nicht gel{\"o}st, sondern m{\"o}glicherweise sogar versch{\"a}rft. Das agile Manifest betont zwar die Kommunikation {\"u}ber Dokumentation, doch viele Entwickler interpretieren dies falsch und betrachten Code als die einzige Dokumentation. Die vorliegende Arbeit setzt an diesem Problem im Rahmen des Scrum-Frameworks an. Ihr Ziel ist es, die Dokumentation von wichtigen Entscheidungen strukturierter in den Scrum-Prozess zu integrieren. Die Arbeit umfasst eine Literaturuntersuchung, um festzustellen, was und in welchem Umfang dokumentiert werden sollte. Dar{\"u}ber hinaus besch{\"a}ftigt sie sich mit der Frage, wie diese Dokumentation effektiv in den Scrum-Prozess integriert werden kann. Um diese Ziele zu erreichen, wurden Erfahrungen aus der Praxis durch Interviews und eine umfassende Umfrage eingeholt. Industrieerfahrene Softwareentwickler sowie mehrere hundert Studierende wurden in Fallstudien einbezogen. Die resultierenden Daten erg{\"a}nzen den bestehenden Stand der Forschung und helfen, Wege f{\"u}r eine strukturierte Dokumentation, Verarbeitung und Wiederverwendung von Entscheidungswissen in Scrum zu identifizieren. Basierend auf den neuen Erkenntnissen wurde eine Erweiterung des Scrum-Frameworks namens Custom-MADE Scrum abgeleitet. Sie zeichnet sich durch einen adaptiven und flexiblen Ansatz zur Dokumentation von Entscheidungen und ihrer Begr{\"u}ndung aus. Weiterhin definiert sie klare Verantwortlichkeiten und bietet Prozessbausteine f{\"u}r die strukturierte Integration der Dokumentation relevanter Entscheidungen in. Diese Erweiterung kann sowohl in bestehende als auch neu aufzusetzende Projekte integriert werden. Zus{\"a}tzlich zu der Erweiterung wurde ein Werkzeug namens Custom-MADE Editor entwickelt. Es zielt darauf alle Potenziale zur Automatisierung der Dokumentation innerhalb des Custom-MADE Scrum zu heben, um den Prozess so effizient wie m{\"o}glich zu gestalten. Insgesamt pr{\"a}sentiert der Autor einen flexiblen Ansatz zur systematischen Integration von Entscheidungsdokumentation in das Scrum-Framework. Die Ergebnisse st{\"u}tzen sich auf verschiedene empirische Arbeiten.}, subject = {Scrum; Rationale management; Documentation; Knowledge management; Decision knowledge; Entscheidungsbegr{\"u}ndungen; Entscheidungswissen; Dokumentation; Agile Softwareentwicklung; Scrum ; Programmdokumentation}, language = {en} } @phdthesis{Simon2001, author = {Simon, Frank}, title = {Meßwertbasierte Qualit{\"a}tssicherung - ein generisches Distanzmaß zur Erweiterung bisheriger Softwareproduktmaße}, url = {http://nbn-resolving.de/urn:nbn:de:kobv:co1-000000124}, school = {BTU Cottbus - Senftenberg}, year = {2001}, abstract = {In dieser Arbeit werden neue Ans{\"a}tze zur meßwertbasierten Qualit{\"a}tssicherung von Softwareprodukten f{\"u}r praxisrelevante Systemgr{\"o}ßen beschrieben. Dies umfaßt Hilfen zur spezifischen Definition von Qualit{\"a}t, Prozesse zur Qualit{\"a}tssicherung, Werkzeugunterst{\"u}tzung sowie die Identifikation von Problemen bei der Anwendung vieler bisheriger Softwaremaße. Die pragmatische Anwendung der Meßtheorie erlaubt eine Erweiterung in Form eines auf {\"A}hnlichkeiten zwischen Softwareelementen basierenden generischen Distanzmaßes. Dessen unterschiedliche Instanziierungen erm{\"o}glichen die automatische, anpaßbare Gruppierung von Elementen, sowie die ausdrucksstarke, ausschließlich durch Meßwerte bestimmte Softwarevisualisierung. Die ebenfalls in dieser Arbeit wiedergegebene empirische Arbeit, in der die Effizienz und Effektivit{\"a}t dieses Ansatzes mehrfach belegt wird, demonstriert die m{\"o}gliche Bedeutung der meßwertbasierten Qualit{\"a}tssicherung bei der Analyse großer Systeme.}, subject = {Softwareentwicklung; Qualit{\"a}tssicherung; Qualit{\"a}tssteigerung; Softwaremetrie; Softwarequalit{\"a}t; Softwarevermessung; Softwaremaße; Softwarewartung}, language = {de} } @phdthesis{Beyer2002, author = {Beyer, Dirk}, title = {Formale Verifikation von Realzeit-Systemen mittels Cottbus Timed Automata}, url = {http://nbn-resolving.de/urn:nbn:de:kobv:co1-000000258}, school = {BTU Cottbus - Senftenberg}, year = {2002}, abstract = {Die Konstruktion eingebetteter Systeme, die starke Realzeit-Anforderungen zu erf{\"u}llen haben, wird in den verschiedensten Anwendungsbereichen immer bedeutsamer, z. B. in der Medizin, der Transporttechnik oder der Produktionsautomatisierung. Formale Methoden unterst{\"u}tzen die fehlerarme Entwicklung solcher Systeme, weil sie auf einer pr{\"a}zisen mathematischen Grundlage aufbauen. Der Autor entwickelt einen geeigneten Modellierungsformalismus und effiziente Verifikationsverfahren f{\"u}r den Einsatz einer formalen Methode. Durch die Einf{\"u}hrung eines Modulkonzepts wird die Modellierung auch großer Realzeit-Systeme systematisch unterst{\"u}tzt. F{\"u}r die Verifikation werden effiziente BDD-basierte Algorithmen verwendet, wobei auch das Problem des Findens guter BDD-Variablenordnungen gel{\"o}st wird. Es werden sowohl Erreichbarkeitsanalyse als auch Verfeinerungsanalyse unterst{\"u}tzt. Die Praktikabilit{\"a}t der Ans{\"a}tze zur Modellierung und Verifikation werden in verschiedenen Fallstudien aus den Bereichen der reaktiven Systeme und der Kommunikationsprotokolle demonstriert.}, subject = {Verteiltes System; Verifikation}, language = {de} } @misc{CamargodaSilva2025, type = {Master Thesis}, author = {Camargo da Silva, Thayn{\´a}}, title = {Extracting knowledge graphs from user stories using LangChain}, doi = {10.26127/BTUOpen-7038}, url = {http://nbn-resolving.de/urn:nbn:de:kobv:co1-opus4-70382}, school = {BTU Cottbus - Senftenberg}, year = {2025}, abstract = {Requirements engineering is a fundamental component in software engineering since it defines the software from the user's perspective. In this context, user stories play a crucial role since they are simple, natural language descriptions of software requirements, and they are widely utilized in the industry, along with the agile development methodology. User stories, while valuable for capturing individual functionalities, offer a limited perspective of the overall system, hindering maintainability and comprehension. To address these challenges, extracting structured information and modeling user stories is crucial. Knowledge graphs offer a promising approach by providing a visual and structured representation of user stories, facilitating data storage and analysis, and reducing manual effort retrieval, leading to a more coherent and manageable system. Several methodologies to model stories employ Natural Language Processing (NLP) techniques, presenting limited precision, complex implementation, and difficulties to interpret a sentence [47]. Recent research has explored using large language models, such as ChatGPT-3.5 [1], to extract knowledge graph components (nodes and relationships) from user stories. However, the solution relies on specific models and lacks comprehensive data processing pipelines for constructing knowledge graphs. LangChain, a model-agnostic framework, is a promising tool that empowers the development of applications centered around large language models. Its adaptability extends to knowledge graph construction, facilitating the extraction of structured information from textual data and seamless integration with graph databases. This thesis introduces a novel methodology for the automated generation of knowledge graphs from user stories by leveraging the advanced capabilities of Large Language Models (LLMs). Utilizing the LangChain framework as a basis, the UserStoryGraph- Transformer (USGT) module was developed to extract nodes and relationships from user stories using an LLM to construct accurate knowledge graphs. This innovative technique was implemented in a script to fully automate the knowledge graph extraction process. Additionally, the evaluation was automated through a dedicated evaluation script, utilizing an annotated dataset for assessment. By enhancing the visualization and understanding of user requirements and domain concepts, this method fosters better alignment between software functionalities and user expectations, ultimately contributing to more effective and user-centric software development processes.}, subject = {Knowledge graph; Requirements engineering; Langchain; User story; Large language models; Neo4j; Wissensgraphen; Anforderungsanalyse; Anwendererz{\"a}hlung; Requirements engineering; Großes Sprachmodell; Wissensgraph}, language = {en} }