MDSD Praktikum – Business Rules – 16.05.2008 – Matthias Drexl, Maximilian Koch, Johannes...

27
MDSD Praktikum – Business Rules – 16.05.2008 – Matthias Drexl, Maximilian Koch, Johannes Metscher 1/44 Modellierung von Business Rules Zwischenpräsentation zum Praktikum Model Driven Software Development im SS 08 von Matthias Drexl, Maximilian Koch und Johannes Metscher

Transcript of MDSD Praktikum – Business Rules – 16.05.2008 – Matthias Drexl, Maximilian Koch, Johannes...

Page 1: MDSD Praktikum – Business Rules – 16.05.2008 – Matthias Drexl, Maximilian Koch, Johannes Metscher 1/44 Modellierung von Business Rules Zwischenpräsentation.

MDSD Praktikum – Business Rules – 16.05.2008 – Matthias Drexl, Maximilian Koch, Johannes Metscher 1/44

Modellierung vonBusiness RulesZwischenpräsentation zum PraktikumModel Driven Software Developmentim SS 08von Matthias Drexl, Maximilian Koch und Johannes Metscher

Page 2: MDSD Praktikum – Business Rules – 16.05.2008 – Matthias Drexl, Maximilian Koch, Johannes Metscher 1/44 Modellierung von Business Rules Zwischenpräsentation.

MDSD Praktikum – Business Rules – 16.05.2008 – Matthias Drexl, Maximilian Koch, Johannes Metscher 2/44

Agenda

1. Einführung

1. Motivation

2. Definition (Metamodell, Prozess, Business Rules)

3. Beispiele (Online Music Store)

2. Modellierung von Business Rules

1. Theorie Geschäftsregeln

2. Darstellung von Geschäftsregeln durch die ECAA

3. Darstellung von Geschäftsregeln durch die EPK

4. Meta Modell für Geschäftsregeln (Syntax + Semantik)

3. Anwendung zur modellierung von Business Rules (MDSD)

1. Anforderungen (Business Case, Usability, Umgebung)

2. Umgebung (Eclipse, JWT Plugin)

Page 3: MDSD Praktikum – Business Rules – 16.05.2008 – Matthias Drexl, Maximilian Koch, Johannes Metscher 1/44 Modellierung von Business Rules Zwischenpräsentation.

MDSD Praktikum – Business Rules – 16.05.2008 – Matthias Drexl, Maximilian Koch, Johannes Metscher 3/44

1.1 Motivation

• Der klassische Software-Release-Zyklus ist nicht mehr zeitgemäß 45% der Regeln ändern sich innerhalb von einem Monat

• Release-Zykluslänge und Änderungsmenge sind Gegenspieler von

Flexibilität im Geschäft weg traditionellen Release-Verfahren hin zu einem dynamischen,

kontinuierliches Lebenszyklusmanagement der Geschäftsregeln

• durch diesen graphischen Ansatz erhält der Kunde mehr Kontrolle und gleichzeitig mehr Flexibilität

Page 4: MDSD Praktikum – Business Rules – 16.05.2008 – Matthias Drexl, Maximilian Koch, Johannes Metscher 1/44 Modellierung von Business Rules Zwischenpräsentation.

MDSD Praktikum – Business Rules – 16.05.2008 – Matthias Drexl, Maximilian Koch, Johannes Metscher 4/44

1.2 Definitionen

• Geschäftsprozesse:Ein Geschäftsprozess ist eine Zusammenfassung von fachlich zusammenhängenden Geschäftsaktivitäten, die notwendig sind, um einen Geschäftsfall zu bearbeiten.

Beispiel: ein Kunde möchte ein Musikalbum in einem Online Store kaufen

Page 5: MDSD Praktikum – Business Rules – 16.05.2008 – Matthias Drexl, Maximilian Koch, Johannes Metscher 1/44 Modellierung von Business Rules Zwischenpräsentation.

MDSD Praktikum – Business Rules – 16.05.2008 – Matthias Drexl, Maximilian Koch, Johannes Metscher 5/44

1.2 Definitionen

• Metamodell:

Ein Metamodell ist ein Modell das beschreibt, wie Modelle gebaut werden (Syntax) und zu interpretieren sind (Semantik).

-> Beispiel: » System: Geschäft » Model: Modellierung der Business Rules » Metamodel: Legende des Models für Business Rules

Page 6: MDSD Praktikum – Business Rules – 16.05.2008 – Matthias Drexl, Maximilian Koch, Johannes Metscher 1/44 Modellierung von Business Rules Zwischenpräsentation.

MDSD Praktikum – Business Rules – 16.05.2008 – Matthias Drexl, Maximilian Koch, Johannes Metscher 6/44

1.2 Definitionen

• Geschäftsregeln:Der Begriff Geschäftsregel legt den genauen Ablauf der Geschäfts-prozesse fest und wird als Sammelbegriff für verschiedene Arten von Regeln bezeichnet.

-> Beispiel: als Neukunde bekommt man 10% Rabatt auf ein Musikalbum

Page 7: MDSD Praktikum – Business Rules – 16.05.2008 – Matthias Drexl, Maximilian Koch, Johannes Metscher 1/44 Modellierung von Business Rules Zwischenpräsentation.

MDSD Praktikum – Business Rules – 16.05.2008 – Matthias Drexl, Maximilian Koch, Johannes Metscher 7/44

1.3 Beispiel: MP3 Online Music Store

Komplexeres Rabattsystem für Kundenempfehlung und -werbung des Online Music Stores (OMS)

Kauf eines Albums:WENN bereits 3 Kunden geworben UND diese bereits ein Album gekauft haben,

DANN 50% auf ein Album,SONST normaler Preis auf eine Album

Ansicht eines Albums:WENN Freunde oder vom Kunden geworbene Benutzer das Album gekauft haben UND das aktuelle Album dem selben Genre angehört,

DANN zeige Empfehlungen (analog zu Geschäftsregeln bei z.B. Amazon)SONST gebe keine Empfehlung aus

Paketpreis - Skonto:WENN Kunde 10 Alben auf einmal kauft UND bezahlt am gleichen Tag bezahlt,

DANN 75 % Rabatt auf EinkaufSONST 0 % Rabatt

Page 8: MDSD Praktikum – Business Rules – 16.05.2008 – Matthias Drexl, Maximilian Koch, Johannes Metscher 1/44 Modellierung von Business Rules Zwischenpräsentation.

MDSD Praktikum – Business Rules – 16.05.2008 – Matthias Drexl, Maximilian Koch, Johannes Metscher 8/44

2.1 Theorie Geschäftsregeln

Präzise Definition geschäftsprozessspezifischer Logik

Beschreibung der Entscheidungslogik von prozessübergreifenden Managementpolitiken und Prinzipien

Geschäftsprozess verwendet mehrere Geschäftsregeln (1..n).

Regel kann komplementär in mehreren verschiedenen Prozessen vorkommen kann (1..m)

Kapselung komplexer Regeln in einem gemeinsamen Rule- Service, der wiederum andere Rule- Services

Entscheidungslogik wird Teilmenge der Geschäftslogik, die dadurch abgebildet werden kann

Page 9: MDSD Praktikum – Business Rules – 16.05.2008 – Matthias Drexl, Maximilian Koch, Johannes Metscher 1/44 Modellierung von Business Rules Zwischenpräsentation.

MDSD Praktikum – Business Rules – 16.05.2008 – Matthias Drexl, Maximilian Koch, Johannes Metscher 9/44

2.1 Theorie Geschäftsregeln - Regelbasiertes System

Darstellung von Geschäftsregeln in einem regelbasierten SystemRegelbasiertes System besteht aus folgenden Basiselementen:

Faktenbasis Datenbank an Fakten (Extraktion von Fakten aus

Geschäftsprozess)Regelbasis Menge an Regeln (Regeldatenbank)Business-Rule-

Engine Kontrollsystem mit Regelinterpreter

Page 10: MDSD Praktikum – Business Rules – 16.05.2008 – Matthias Drexl, Maximilian Koch, Johannes Metscher 1/44 Modellierung von Business Rules Zwischenpräsentation.

MDSD Praktikum – Business Rules – 16.05.2008 – Matthias Drexl, Maximilian Koch, Johannes Metscher 10/44

2.1 Theorie Geschäftsregeln - Regelbasiertes System

Allgemeine Notation:

EVENT

WENN (Prämisse/Voraussetzung) ...

DANN (Konklusion durch eine Aktion) ...

SONST (Konklusion durch anderer Aktion) ...

SONST (...) ...

Page 11: MDSD Praktikum – Business Rules – 16.05.2008 – Matthias Drexl, Maximilian Koch, Johannes Metscher 1/44 Modellierung von Business Rules Zwischenpräsentation.

MDSD Praktikum – Business Rules – 16.05.2008 – Matthias Drexl, Maximilian Koch, Johannes Metscher 11/44

2.1 Theorie Geschäftsregeln

Präzise Definition geschäftsprozessspezifischer Logik

Beschreibung der Entscheidungslogik von prozessübergreifenden Managementpolitiken und Prinzipien

Geschäftsprozess verwendet mehrere Geschäftsregeln (1..n).

Regel kann komplementär in mehreren verschiedenen Prozessen vorkommen kann (1..m)

Kapselung komplexer Regeln in einem gemeinsamen Rule- Service, der wiederum andere Rule- Services

Entscheidungslogik wird Teilmenge der Geschäftslogik, die dadurch abgebildet werden kann

Page 12: MDSD Praktikum – Business Rules – 16.05.2008 – Matthias Drexl, Maximilian Koch, Johannes Metscher 1/44 Modellierung von Business Rules Zwischenpräsentation.

MDSD Praktikum – Business Rules – 16.05.2008 – Matthias Drexl, Maximilian Koch, Johannes Metscher 12/44

2.1 Theorie Geschäftsregeln

Kerneigenschaften:

Geschäftsregeln müssen die Geschäftslogik enthalten, eindeutig sein und präzise formuliert sein

Erste Formulierung der Geschäftsregeln in einer natürlicher Sprache -> keine Übersetzung aber Formalisierung notwendigAtomare Regel enthällt auf Modellierungsebene keine andere Regeln

Globale oder allgemeine Regeln können weitere Regeln beinhaltenAb-/Herleitung einer Regel aus anderen Regeln ist möglich muss aber eindeutig nachvollziehbar seinEinheitliche Strukturierung und Formulierung der Regeln um die Komplexität zu reduzieren

Page 13: MDSD Praktikum – Business Rules – 16.05.2008 – Matthias Drexl, Maximilian Koch, Johannes Metscher 1/44 Modellierung von Business Rules Zwischenpräsentation.

MDSD Praktikum – Business Rules – 16.05.2008 – Matthias Drexl, Maximilian Koch, Johannes Metscher 13/44

ON Event

IF Condition

DO Action

Else Alternative Action

Grundaufbau ECAA-Regel

2.2 Darstellung von Geschäftsregeln durch die ECAA

Page 14: MDSD Praktikum – Business Rules – 16.05.2008 – Matthias Drexl, Maximilian Koch, Johannes Metscher 1/44 Modellierung von Business Rules Zwischenpräsentation.

MDSD Praktikum – Business Rules – 16.05.2008 – Matthias Drexl, Maximilian Koch, Johannes Metscher 14/44

ON Kunde erteilt Auftrag

IF

# geworbener Kunden >= 3and # Einkauf.Album.geworbener Kunden >= 1

DO 50% auf Album

Else 0% auf Album

ON Kunde erteilt Auftrag

IF # gekaufterArtikel.Album >= 10

DO 25% auf Preis

Else 0% auf Preis

Einfache Beispiele

2.2 Darstellung von Geschäftsregeln durch die ECAA

Page 15: MDSD Praktikum – Business Rules – 16.05.2008 – Matthias Drexl, Maximilian Koch, Johannes Metscher 1/44 Modellierung von Business Rules Zwischenpräsentation.

MDSD Praktikum – Business Rules – 16.05.2008 – Matthias Drexl, Maximilian Koch, Johannes Metscher 15/44

2.2 Darstellung von Geschäftsregeln durch die ECAA

ON Bestellung trifft ein

IF Bestellung gültig

DO Bestellung abwickeln

Else Bestellung ablehnen

ON Bestellung trifft ein

IF Bestellung gültig

DO Bestellung erfassen

ON Bestellung erfasst

IF Alben.Bestellung >= 10

DO Auftragsbestätigung mit 50% auf Preis versenden

Else Auftragsbestätigung mit 0% auf Preis versenden

ON Auftragsbestätigung erstellt

DO Artikel versenden

ON Auftragsbestätigung erstellt

DO …

Page 16: MDSD Praktikum – Business Rules – 16.05.2008 – Matthias Drexl, Maximilian Koch, Johannes Metscher 1/44 Modellierung von Business Rules Zwischenpräsentation.

MDSD Praktikum – Business Rules – 16.05.2008 – Matthias Drexl, Maximilian Koch, Johannes Metscher 16/44

2.2 Darstellung von Geschäftsregeln durch die ECAA

Page 17: MDSD Praktikum – Business Rules – 16.05.2008 – Matthias Drexl, Maximilian Koch, Johannes Metscher 1/44 Modellierung von Business Rules Zwischenpräsentation.

MDSD Praktikum – Business Rules – 16.05.2008 – Matthias Drexl, Maximilian Koch, Johannes Metscher 17/44

2.3 Darstellung von Geschäftsregeln durch die EPK

ON Kunde erteilt Auftrag

IF Kunde bekannt

DO Kunde ist bekannt

Else Kunde erfassen

ON Kunde ist bekannt xor Kunde ist erfasst

DO Auftrag erfassen

Page 18: MDSD Praktikum – Business Rules – 16.05.2008 – Matthias Drexl, Maximilian Koch, Johannes Metscher 1/44 Modellierung von Business Rules Zwischenpräsentation.

MDSD Praktikum – Business Rules – 16.05.2008 – Matthias Drexl, Maximilian Koch, Johannes Metscher 18/44

Meta Modell

Erweiterung für das bestehende Modell von JWT Konreter Syntax (Eclipse Plugin)

Neuer Knoten zur Abbildung von Business Rules

Bestehende Knoten (JWT / AgilPro)

ConditionalDecisionNode

Page 19: MDSD Praktikum – Business Rules – 16.05.2008 – Matthias Drexl, Maximilian Koch, Johannes Metscher 1/44 Modellierung von Business Rules Zwischenpräsentation.

MDSD Praktikum – Business Rules – 16.05.2008 – Matthias Drexl, Maximilian Koch, Johannes Metscher 19/44

Meta Modell

Beispiel Business Process mit Business Rule (konkreter Syntax)

Page 20: MDSD Praktikum – Business Rules – 16.05.2008 – Matthias Drexl, Maximilian Koch, Johannes Metscher 1/44 Modellierung von Business Rules Zwischenpräsentation.

MDSD Praktikum – Business Rules – 16.05.2008 – Matthias Drexl, Maximilian Koch, Johannes Metscher 20/44

Meta Modell

Modellierung der ConditionalDecisionNode Konreter Syntax (Eclipse Plugin)

Neue Klassen um auf Ereignisattribute zu Referenzieren

Neuer Verweigungsknoten

RoleCondition

XORNode

ApplicationCondition

ANDNode

Page 21: MDSD Praktikum – Business Rules – 16.05.2008 – Matthias Drexl, Maximilian Koch, Johannes Metscher 1/44 Modellierung von Business Rules Zwischenpräsentation.

MDSD Praktikum – Business Rules – 16.05.2008 – Matthias Drexl, Maximilian Koch, Johannes Metscher 21/44

Meta Modell

Beispiel Business Rule (konkreter Syntax)

MyBusinessRule

age>17

Action1

Action2

#articels>4

#friends<3

Page 22: MDSD Praktikum – Business Rules – 16.05.2008 – Matthias Drexl, Maximilian Koch, Johannes Metscher 1/44 Modellierung von Business Rules Zwischenpräsentation.

MDSD Praktikum – Business Rules – 16.05.2008 – Matthias Drexl, Maximilian Koch, Johannes Metscher 22/44

Meta Modell

Modellierung der ConditionalDecisionNode Abstrakter Syntax

Neue Knotenklassen

Page 23: MDSD Praktikum – Business Rules – 16.05.2008 – Matthias Drexl, Maximilian Koch, Johannes Metscher 1/44 Modellierung von Business Rules Zwischenpräsentation.

MDSD Praktikum – Business Rules – 16.05.2008 – Matthias Drexl, Maximilian Koch, Johannes Metscher 23/44

Meta Modell

Modellierung der ConditionalDecisionNode Abstrakter Syntax

Neue Knotenklassen

Page 24: MDSD Praktikum – Business Rules – 16.05.2008 – Matthias Drexl, Maximilian Koch, Johannes Metscher 1/44 Modellierung von Business Rules Zwischenpräsentation.

MDSD Praktikum – Business Rules – 16.05.2008 – Matthias Drexl, Maximilian Koch, Johannes Metscher 24/44

3. Anwendung zur Modellierung von Businessrules (MDSD)

Page 25: MDSD Praktikum – Business Rules – 16.05.2008 – Matthias Drexl, Maximilian Koch, Johannes Metscher 1/44 Modellierung von Business Rules Zwischenpräsentation.

MDSD Praktikum – Business Rules – 16.05.2008 – Matthias Drexl, Maximilian Koch, Johannes Metscher 25/44

3.1 Anforderungen - Business Case

Page 26: MDSD Praktikum – Business Rules – 16.05.2008 – Matthias Drexl, Maximilian Koch, Johannes Metscher 1/44 Modellierung von Business Rules Zwischenpräsentation.

MDSD Praktikum – Business Rules – 16.05.2008 – Matthias Drexl, Maximilian Koch, Johannes Metscher 26/44

3.1 Anforderungen - Usability

Anlehnung an die Human User Interface Design Guidelines

Intuitive Bedienung der GUI des Plugins Modellierung einfache Modellierung von

Geschäftsregeln für Domänenexperten Geringe Einarbeitungszeit

Implementierung von bewährten Konzepten und Notationen

Page 27: MDSD Praktikum – Business Rules – 16.05.2008 – Matthias Drexl, Maximilian Koch, Johannes Metscher 1/44 Modellierung von Business Rules Zwischenpräsentation.

MDSD Praktikum – Business Rules – 16.05.2008 – Matthias Drexl, Maximilian Koch, Johannes Metscher 27/44

3.2 Umgebung

Eclipse Plugin Eclipse als wohl bekannteste IDE für

JavaentwicklungJWT Plugin als Referenz für modellbasierte Softwareentwicklung von GeschäftsprozessenSystemvoraussetzungEclipse für ein beliebiges OSJava Vers. 6.0

Eclipse für ein beliebiges OSJava Vers. 6.0