Präsentation herunterladen
Die Präsentation wird geladen. Bitte warten
Veröffentlicht von:Regina Arnold Geändert vor über 6 Jahren
1
Vorstellen DSL erklären (Domain Specific Language)
2
00:34 Alle Punkte nennen
3
Das Unternehmen Kurz AO Private Krankenversicherung 250 Mitarbeiter
Vechta 20 EDV -> Eigenentwicklung Das Unternehmen
4
Mich vorstellen Die Abteilung
5
00:55
6
Projektbeschreibung - Täglich Post von Maklern + Versicherten
Anträge, Leistungsabrechnungen -> An zuständige Mitarbeiter/Abteilungen Projektbeschreibung
7
Beschlagworten Routen Erkennen Prüfen Leisten BREPL
BREPL -> Zentrum Routen mein Part, gibt’s schon wird ersetzt
8
BREPL smartFix PAM Smartfix öffnen, scannen, digitalisieren
BREPL stempeln PAM archivieren PAM
9
Lastenheft erstellen 02:10
10
Erstellen einer DSL zur Beschreibung von Routingregeln
Projektziel
11
Alte System C# Projektbegründung
12
if (beschlagwortung.DokumentenKlasse.Equals("ABRECH") &&
beschlagwortung.DokumentnTyp.Equals("RECHNUNG")) { foreach (var gruppe in this.gruppen) { if (HatPamSperreBeiGruppe(vorgang.Status, gruppe)) { zuweisung = new ZuweisungGruppe("PAM-GP_{0}“+gruppe)) } if (vorgang.BasisKennzeichen.Equals(Versis.KENNZEICHEN_BASISTARIF)) { zuweisung = new ZuweisungBenutzer(„MUSTERMANN"); if (vorgang.BasisKennzeichen.Equals(Versis.KENNZEICHEN_STANDARDTARIF)) { var name = vorgang.Name; if (NameIstImBereich(name, 'A', 'M')) { zuweisung = new ZuweisungBenutzer(„MUSTERFRAU"); if (Name.IstImBereich(name, 'N', 'Z')) { zuweisung = null; 5 Regeln Insgesamt ~140 Regeln
13
!AUSSCHNITT! CRUD Versionieren
14
Methodik Agil -> Feedback, Inkrementell, Iterativ, Kommunkation CI
TDD Methodik
15
Entwurf Einführung Implementierung Analyse 11 5 9
16
Projektkosten Vorgang Gesamtkosten Entwicklungskosten 1750,00 €
Fachgespräch 315,00 € Code-Review 160,00 € Abnahme 80,00 € Summe 2.305,00 € Entwicklungskosten -> Ich
17
Einsparungen Vorgang Anzahl Vorgänge pro Quartal
Zeitersparnis pro Quartal Routing anpassen 8 280 Minuten Routing nachvollziehen 4 92 Minuten Auswertung erstellen - 12 Minuten Zeiteinsparung pro Quartal 360 Minuten
18
Amortisation
19
Pflichtenheft erstellen
06:16
20
140 bestehende Regeln extrahiert, abstrahiert und Grammatik erstellt
21
Container für vererbte Bedingungen
Regelwerk _NAME_ { Unternehmen: _UNTERNEHMEN_ Stapelkategorie: _STAPELKATEGORIE_ Clearing: _CLEARINGZUWEISUNG_ Klammer _KLAMMERNAME_ _BEDINGUNGEN_ Regel _BESCHREIBUNG_ => _ZUWEISUNG_ _WERTÄNDERUNG_ } Container Container für vererbte Bedingungen Regel
22
Braucht man nicht sehen
CI Swimlanes
23
Schnittstelle
24
Frameworks nennen! 09:05
25
Xtext
26
'Unternehmen:' unternehmen=Unternehmen
Regelwerk: 'Regelwerk' name=ID '{' 'Unternehmen:' unternehmen=Unternehmen 'Stapelkategorie:' stapelkategorie=Stapelkategorie 'Clearing:' clearingzuweisung=STRING regelwerkElemente+=RegelwerkElement* '}'; Oberste Element Hochkomma Schlüsselwörter Zuweisungen = Attribute wohinter andere Elemente hängen
27
if (beschlagwortung.DokumentenKlasse.Equals("ABRECH") &&
beschlagwortung.DokumentnTyp.Equals("RECHNUNG")) { foreach (var gruppe in this.gruppen) { if (HatPamSperreBeiGruppe(vorgang.Status, gruppe)) { zuweisung = new ZuweisungGruppe("PAM-GP_{0}“+gruppe)) } if (vorgang.BasisKennzeichen.Equals(Versis.KENNZEICHEN_BASISTARIF)) { zuweisung = new ZuweisungBenutzer(„MUSTERMANN"); if (vorgang.BasisKennzeichen.Equals(Versis.KENNZEICHEN_STANDARDTARIF)) { var name = vorgang.Name; if (NameIstImBereich(name, 'A', 'M')) { zuweisung = new ZuweisungBenutzer(„MUSTERFRAU"); if (Name.IstImBereich(name, 'N', 'Z')) { zuweisung = null;
28
Klammer "Kennzeichen Standardtarif" { BasisKennzeichen = "S"
Regel "Name A bis M" => Benutzer „Musterfrau" Name zwischen "A" und "M" } Regel "Name N bis Z" => Benutzer „Mustermann" Name zwischen "N" und "Z" Regel "Pam-Sperre Gruppe TA" => Gruppe „Mustergruppe" { DokumentenKlasse = "ABRECH" DokumentenTyp = "RECHNUNG" HatPamSperreBeiGruppe "TA" } Regel "Pam-Sperre Gruppe Pflege" => Gruppe „Andere Gruppe" HatPamSperreBeiGruppe "Pflege" Regel "Kennzeichen Basistarif" => Benutzer „Mustermann" BasisKennzeichen = "B" Klammer "Kennzeichen Standardtarif" BasisKennzeichen = "S" Regel "Name A bis M" => Benutzer „Musterfrau" Name zwischen "A" und "M" Regel "Name N bis Z" => Benutzer „Mustermann" Name zwischen "N" und "Z" Hab ich gemacht Fachbereich kann verstehen
29
Klammer "Kennzeichen Standardtarif" { BasisKennzeichen = "S"
Regel "Name A bis M" => Benutzer „Musterfrau" Name zwischen "A" und "M" } Regel "Name N bis Z" => Benutzer „Mustermann" Name zwischen "N" und "Z" Pur DSL
30
Darstellung Darstellung und Entwicklung der DSL
31
Codeformatierung Templates Darstellung
32
Ich habe gemacht!
34
Codegenerator Herz des Projektes DSL eingießen C# erhalten
In Xtend programmiert Codegenerator
35
Regel1.cs Regel2.cs Regel3.cs Regel4.cs Regel5.cs
Regel "Pam-Sperre Gruppe TA" => Gruppe „Mustergruppe" { DokumentenKlasse = "ABRECH" DokumentenTyp = "RECHNUNG" HatPamSperreBeiGruppe "TA" } Regel "Pam-Sperre Gruppe Pflege" => Gruppe „Andere Gruppe" HatPamSperreBeiGruppe "Pflege" Regel "Kennzeichen Basistarif" => Benutzer „Mustermann" BasisKennzeichen = "B" Klammer "Kennzeichen Standardtarif" BasisKennzeichen = "S" Regel "Name A bis M" => Benutzer „Musterfrau" Name zwischen "A" und "M" Regel "Name N bis Z" => Benutzer „Mustermann" Name zwischen "N" und "Z" Regel1.cs Regel2.cs Regel3.cs 5 Regeln =5 Dateien Priorisierung Regel4.cs Regel5.cs
36
Generierte Unittests, Doku
37
!TDD!
38
Generierte Unittests
39
% Kommentare Durchschnittliche Komplexität % Durchschnittliche Kommentare Durchschnittliche Tiefe Methoden pro Klasse Maximale Tiefe 7 3 Maximale Komplexität 35 2
41
13:44
42
Ziel erreicht? Produktion Zielerreichung
Ähnliche Präsentationen
© 2024 SlidePlayer.org Inc.
All rights reserved.