The application of artificial intelligences on digital games became more and more successful in recent years. A drawback is, that they need lots of computing power to achieve good results, the more complex the game, the more computing power is needed. In this thesis a strategy learning-system is implemented, which is based on crowd-learned heuristics. The heuristics are given in a wiki. The research is done according to the Design Science Research Methodology. The implemented system is allied to the game Dominion. To do this, an ontology for Dominion is designed. A mapping language is defined and implemented in the system, which allows the mapping of information in the wiki to an ontology. Furthermore, metrics to rate the found strategies are defined. Using the system, users can enter a mapping for the information transfer and apply it. They can also select cards from Dominion, for which the system determines and rates strategies. Finally, the system is evaluated by Dominion-players by rating the strategies, which are found by the system, and the defined metrics.
Unkontrolliert gewachsene Software-Architekturen zeichnen sich i.d.R. durch fehlende oder schlecht nachvollziehbare Strukturen aus. Hierfür können als Gründe beispielsweise mangelhafte Definitionen oder ein langsames Erodieren sein. Dies ist auch unter dem Begriff "Big Ball of Mud" bekannt. Langfristig erhöhen solche architekturellen Mängel nicht nur die Entwicklungskosten, sondern können letztendlich auch Veränderungen vollständig verhindern.
Die Software-Architektur benötigt somit eine kontinuierliche Weiterentwicklung, um solchen Effekten entgegen wirken zu können. Eine gute Software-Architektur unterstützt die Software-Entwicklung und erhöht die Produktivität. Auf der Ebene von Quellcode existieren bereits etablierte Vorgehensweisen zur kontrollierten Verbesserung der Qualität. Im Gegensatz hierzu existieren für Verbesserungen einer Software-Architektur jedoch keine allgemeingültigen Vorgehensweisen, welche unabhängig vom Anwendungsfall angewandt werden können. An diesem Punkt setzt die vorliegende Arbeit an.
Bisherige Arbeiten beschäftigen sich einerseits nur mit Teilpunkten des Problems. Anderseits existieren zwar bereits Vorgehensweisen zum Treffen von Architekturentscheidungen, jedoch agieren diese auf einer stark abstrakten Ebene ohne praktische Beispiele. Diese Arbeit stellt eine leichtgewichtige Vorgehensweise zum gezielten Verbessern einer Software-Architektur vor. Die Vorgehensweise basiert auf einem generischen Problemlösungsprozess. Auf dieser Basis ist ein Prozess zum Lösen von Problemen einer Software-Architektur entwickelt worden. Im Fokus der Arbeit stehen zur Eingrenzung des Umfanges architektonische Probleme aufgrund geforderter Variabilität sowie externer Abhängigkeiten.
Die wissenschaftliche Methodik, welcher der Arbeit zugrunde liegt, agiert im Rahmen der Design Science Research (DSR). Über mehrere Iterationen hinweg wurde eine Vorgehensweise entwickelt, welche sich an Softwareentwickler mit zwei bis drei Jahren Erfahrung und Kenntnissen über Grundlage der Softwareentwicklung und Software-Architektur richtet. Fünf Schritte inkl. Verweise auf aussagekräftige Literatur leiten Anwender anschließend durch den Prozess zur gezielten Verbesserung einer Software-Architektur.
Recently the workflow control as well as compliance analysis of the Enterprise Resource Planning systems are of a high demand. In this direction, this thesis presents the potential of developing a Workflow Management System upon a large Enterprise Resource Planning system by involving business rule extraction, business process discovery, design of the process, integration and compliance analysis of the system. Towards this, usability, limitations and challenges of every applied approach are deeply explained in the case of an existing system named SHD ECORO.