Filtern
Erscheinungsjahr
- 2019 (3) (entfernen)
Dokumenttyp
- Masterarbeit (2)
- Bachelorarbeit (1)
Sprache
- Deutsch (3) (entfernen)
Das Ziel dieser Arbeit ist es, zu bestimmen, ob neuronale Netze (insbesondere LSTM) zur Prozessvorhersage eingesetzt werden können. Dabei soll eine möglichst genaue Vorhersage zu dem Nachfolger eines Events getroffen werden.
Dazu wurde Python mit dem Framework TensorFlow genutzt, um ein rekurrentes neuronales Netz zu erstellen. Dabei werden zwei Netze erstellt, wobei das eine für das Training und das andere für die Vorhersage genutzt wird.
Die verwendeten Datensätze bestehen aus mehreren Prozessen mit jeweils mehreren Events. Mit diesen Prozessen wird das Netz trainiert und die Parameter nach dem Training gespeichert. Das Netz zur Vorhersage nutzt dann dieselben Parameter, um Vorhersagen zu Events zu treffen.
Das neuronale Netz ist in der Lage, nachfolgende Events eindeutig vorherzusagen. Auch Verzweigungen können vorhergesagt werden.
In der weiteren Entwicklung ist eine Einbindung in andere Programme möglich. Dabei ist es empfehlenswert, auf eine eindeutige Benennung der Events zu achten oder eine geeignete Umbenennung durchzuführen.
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.