MDSD Praktikum – Business Rules – 16.05.2008 – Matthias Drexl, Maximilian Koch, Johannes...
-
Upload
florenz-lauster -
Category
Documents
-
view
111 -
download
0
Transcript of MDSD Praktikum – Business Rules – 16.05.2008 – Matthias Drexl, Maximilian Koch, Johannes...
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
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)
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
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
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
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
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
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
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
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 (...) ...
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
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
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
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
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 …
MDSD Praktikum – Business Rules – 16.05.2008 – Matthias Drexl, Maximilian Koch, Johannes Metscher 16/44
2.2 Darstellung von Geschäftsregeln durch die ECAA
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
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
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)
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
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
MDSD Praktikum – Business Rules – 16.05.2008 – Matthias Drexl, Maximilian Koch, Johannes Metscher 22/44
Meta Modell
Modellierung der ConditionalDecisionNode Abstrakter Syntax
Neue Knotenklassen
MDSD Praktikum – Business Rules – 16.05.2008 – Matthias Drexl, Maximilian Koch, Johannes Metscher 23/44
Meta Modell
Modellierung der ConditionalDecisionNode Abstrakter Syntax
Neue Knotenklassen
MDSD Praktikum – Business Rules – 16.05.2008 – Matthias Drexl, Maximilian Koch, Johannes Metscher 24/44
3. Anwendung zur Modellierung von Businessrules (MDSD)
MDSD Praktikum – Business Rules – 16.05.2008 – Matthias Drexl, Maximilian Koch, Johannes Metscher 25/44
3.1 Anforderungen - Business Case
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
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