Prof. Dr. Frank Bühler

Lehrgebiet
Advanced Software Engineering

Sprechstunde
nach Vereinbarung

Weitere Funktionen
  • HOBIT-Beauftragter
  • Schul- und Messebeauftragter
  • Studienfachberater

Büro: D15/2.08

Prof. Dr. Frank Bühler ist Professor für Advanced Software Engineering am Fachbereich Informatik der Hochschule Darmstadt. Seine Lehr- und Forschungsinteressen liegen auf den Gebieten der Modellierungssprachen (insbesondere UML, BPMN, DMN), agiler SW-Entwicklung (insbesondere SCRUM, KANBAN und Continuous Integration/Inspection/Delivery) sowie Process Mining.

Überblick (Profil)

  • Bachelor (FB I):
    - Objektorientierte Analyse und Design (OOAD)
    - Software Engineering (SE)
    - Seminar Wissenschaftliches Arbeiten in der Informatik 1/2 (WAI1/2)
    - Projekt Systementwicklung (BPSE)
  • Bachelor (FB MN):
    - Programmieren III (nur WS)
  • Master (FB I)
    - Business Process Engineering (nur SS)
    - Master Projekt Systementwicklung (MPSE)
    - Hauptseminar (Mast 3, MN DSc)

     Vorlesungen, die nicht mehr angeboten werden:
     - Parallel and Distributed Computing (Master)
     - Edutainment (Master)
     - Prozess- und Systemintegration (Bachelor)
     - Entwicklung von Java EE-Anwendungen mit agilen Methoden (Bachelor)

WS 22/23 - Masterprojekt "Process Science / Process Mining"

Modulbeschreibung: 41.4804


Projekt "Konzeption und Entwicklung einer interaktiven Laborumgebung für Process Science und Process Mining"
Projektorganisation-/leitung: Prof. Dr. Frank Bühler

Projektstart (KickOff): 20. Okt. 2022 Block2+3 (Raum D15/2.02)
 

Verwendete Technologien und Werkzeuge
- PyCharm (alternativ auch Visual Studio Code)
- Django-Framework
- Python / PM4PY
- Jupyter Notebook
- Java Script
- BPMN
- Gitlab
- PostgreSQL
- u.a.m.
 

Projektbeschreibung

Process Science ist ein etablierte Disziplin, die sich u.a. um das Verstehen und Optimieren von Geschäftsprozessen kümmert. Prozesse werden heutzutage mittels BPMN modelliert und simuliert sowie als Workflows ausgeführt.  Process-Mining kann als Teil des Prozessmanagements betrachtet werden, der es ermöglicht, Geschäftsprozesse auf Basis von sog. Geschäftsspuren (engl. Traces) bzw. Ereignisdaten zu rekonstruieren und auszuwerten. Hierbei werden Techniken des Data Mining angewendet. Es kann daher als eine Disziplin betrachtet werden, die zwischen Process Science und Data Science angesiedelt ist. Ein Buch zur Einführung von Process Mining finden Sie hier. Informationen zum Geschäftsprozessmanagement finden Sie hier.
 

PM4PY ist ein interessantes Python-Framework, um eigene Process Mining-Szenarien umzusetzen. Einen ersten Eindruck zur Anwendung des Frameworks finden Sie auf folgender Tutorial-Seite. In Process Mining-Szenarien findet das Jupyter-Notebook sehr häufig Anwendung. In der zu entwickelnden interaktiven Laborumgebung sollen verschiedene Notebooks und Process Mining-Konzepte dargestellt und es sollen interaktiv unterschiedliche Szenarien ausprobiert werden können. Damit die Laborumgebung auch für das Prozessmanagement verwendet werden kann, sollen auch web-basierte Werkzeuge wie der Camunda Online-BPMN-Modeler und der Token-Simulator integriert und erweitert werden.  Des weiteren sollen passende Videos ausgewählt und abgespielt werden können. 

Das Projekt wird agil auf Basis von SCRUM durchgeführt. Wir verwenden das Gitlab-Issue Board, um die Konzeption und Entwicklung der verschiedenen Features nachverfolgen zu können. Um erfolgreich in dem Projekt mitarbeiten zu können, sind Kenntnisse in JavaScriptBPMNPython und Django vorteilhaft.

Wichtiger Hinweis:
Sofern Sie an der Mitarbeit in diesem Projekt Interesse haben, dann nehmen Sie bitte mit mir vor der OBS-Zuteilung Kontakt auf. Nach Abstimmung kann ich Ihnen eine feste Teilnahme im Projekt zusagen.
 

 

Start der Vorlesung:  18. Oktober 2022 - Raum D14/02.04
Praktikumstermine: siehe OBS-Terminkalender

Die Modellierung sowie Analyse und Konzeption objektorientierter Softwaresysteme steht im Fokus dieser Vorlesung.

Die Modellierung ist eine wesentliche Tätigkeit in der Softwaretechnik. Der Schwerpunkt dieser Lehrveranstaltung liegt auf der objektorientierten Softwareentwicklung und der graphisch-orientierten Sprache UML in ihren vielseitigen Aspekten. Die Unified Modelling Language (siehe https://www.omg.org/spec/UML/About-UML/) ist die am weitesten verbreitete Modellierungssprache und ist besonders wichtig bei der Entwicklung großer (objektorientierter) Anwendungssysteme. Die Modellierung erfolgt mit dem Modellierungswerkzeug MagicDraw (Hinweis: Informationen wie MagDraw installiert und verwendet werden kann, folgt zum Beginn der Vorlesung). 

Des weiteren werden grundlegende Aspekte des Vorgehensmodells RUP (Rational Unified Process) betrachtet. Diese zeigt den übergeordneten Rahmen für die Nutzung der verschiedenen UML-Diagramme.

Klausur
- Datum: offen
- Erlaubte Hilfsmittel: offen
Hinweis: Lernbereiche siehe Moodle-Kurs. (-> Informationen zur Nutzung des Moodle-Kurses folgen zum Beginn der Vorlesung)


Agenda 

- Einordnung von OOAD in die Softwaretechnik
- UML-Grundlagen, Notation, Semantik, wichtige Diagramme, Modellierungsregeln
- Analyse: Anwendungsfalldiagramm, agile SW-Entwicklung, User Stories,
                 Klassendiagramm in der Analyse
- Design:   Klassendiagramm und Sequenzdiagramm im Design,  
                 Codeerzeugung (Klassendiagramm), Zustandsdiagramm,
                 Regeln „gutes Design“, Entwurfsmuster
- Objektdiagramm, OCL (Object Constraint Language)
- Weitere UML-Diagramme im Überblick
- Phasen bei der Entwicklung objektorientierter Systeme (Objektorientiertes Spiralmodell): 
  Objektorientierte Analyse, Design, Programmierung, Test  
  RUP (Rational Unified Process)
- Einsatz von Modellierungs- und Entwicklungswerkzeugen (MagicDraw, IDE)
- Verschiedenes (je nach verfügbarer Zeit):
   + Grundlegende Aspekte der Softwarequalität
   + Architekturen & Frameworks
   + Grundlegende Aspekte der Softwarequalität, QS/QM
   + Modellgetriebene Entwicklung (MDSD/MDA)
- Übungsaufgaben, Fragen&Antworten

Termine und Raum
Start der Vorlesung:       17. Oktober 2022 (1. Block) - Raum D14/0.04
Start des Praktikums:     17. Oktober 2022 (2. und 3. Block) - Raum D15/1.02
Dozenten: Frank Bühler, Andreas Behr


Themen des Moduls
- Vorgehensmodelle, agile SW-Entwicklung, SCRUM
- UML-Diagramme (Klassendiagramme, Sequenzdiagramme) mit PlantUML
- Datenbanken - SQL ( PostgreSQL)
- Web-Entwicklung: HTML/CSS, Django
- Objektorientiertes Testen, Unit-Tests
- Datenbanken - NoSQL (Mongo DB)
- Versionsverwaltung mit git
- Continuous Integration (git + Unit-Tests + Docker)
- Verteilte Systeme + Web Services, REST-Api

Moodle-Kurs: https://lernen.h-da.de/course/view.php?id=15652

Kontakt

Prof. Dr. Frank Bühler

Kommunikation
Schoefferstrasse 8b
64295 Darmstadt
Büro: D15, 208

+49.6151.16-38486
frank.buehler@h-da.de