PowerPoint-Präsentation · 15.07.2015 8 0 10 20 30 40 50 60 70 80 Doku 6 39 Implementierung...
Transcript of PowerPoint-Präsentation · 15.07.2015 8 0 10 20 30 40 50 60 70 80 Doku 6 39 Implementierung...
15.07.2015
1
15.07.2015
2
Das Unternehmen
Die Abteilung
15.07.2015
3
Projektbeschreibung
15.07.2015
4
Beschlagworten
Routen
Erkennen
Prüfen
Leisten
BREPL
BREPL
smartFix
PAM
15.07.2015
5
Projektziel
15.07.2015
6
Projektbegründung
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 = new ZuweisungBenutzer(„MUSTERMANN"); } } zuweisung = null;
15.07.2015
7
Methodik
15.07.2015
8
0 10 20 30 40 50 60 70 80
Doku
6 39
Implementierung Entwurf
Analyse
Einführung
11 5 9
Vorgang Gesamtkosten
Entwicklungskosten 1750,00 €
Fachgespräch 315,00 €
Code-Review 160,00 €
Abnahme 80,00 €
Summe 2.305,00 €
Projektkosten
15.07.2015
9
Vorgang Anzahl Vorgänge pro Quartal
Zeitersparnis pro Quartal
Routing anpassen 8 280 Minuten
Routing nachvollziehen
4 92 Minuten
Auswertung erstellen 4 - 12 Minuten
Zeiteinsparung pro Quartal
360 Minuten
Einsparungen
Amortisation 2.689,17
2,40
-
500,00
1.000,00
1.500,00
2.000,00
2.500,00
3.000,00
0 1 2 3 4
15.07.2015
10
15.07.2015
11
Regelwerk _NAME_ { Unternehmen: _UNTERNEHMEN_ Stapelkategorie: _STAPELKATEGORIE_ Clearing: _CLEARINGZUWEISUNG_ Klammer _KLAMMERNAME_ { _BEDINGUNGEN_ Regel _BESCHREIBUNG_ => _ZUWEISUNG_ { _BEDINGUNGEN_ _WERTÄNDERUNG_ } } }
Container
Regel
Container für vererbte Bedingungen
15.07.2015
12
class Schnittstelle
BREPL Schnittstelle
Router
+ SetzeZuweisung(IErmittelterVorgang) :IGerouteterVorgang
«interface»
IRegelProv ider
+ ErmittleRegeln(IErmittelterVorgang) :Regel[]
«abstract»
Regel
~ ErmittleZuweisung(IErmittelterVorgang) :Zuweisung
~ TrifftZu(IErmittelterVorgang) :boolean
«property»
~ Reihenfolge() :int
# RegelBeschreibung() :string
~ LogMeldung() :string
Regel1 Regel2 Regel3
ReflectionRegelProv ider
+ ErmittleRegeln(IErmittelterVorgang) :Regel[]
Schnittstelle
15.07.2015
13
Regelwerk: 'Regelwerk' name=ID '{' 'Unternehmen:' unternehmen=Unternehmen 'Stapelkategorie:' stapelkategorie=Stapelkategorie 'Clearing:' clearingzuweisung=STRING regelwerkElemente+=RegelwerkElement* '}';
15.07.2015
14
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 = new ZuweisungBenutzer(„MUSTERMANN"); } } zuweisung = null;
Regel "Pam-Sperre Gruppe TA" => Gruppe „Mustergruppe" { DokumentenKlasse = "ABRECH" DokumentenTyp = "RECHNUNG" HatPamSperreBeiGruppe "TA" } Regel "Pam-Sperre Gruppe Pflege" => Gruppe „Andere Gruppe" { DokumentenKlasse = "ABRECH" DokumentenTyp = "RECHNUNG" 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" } }
15.07.2015
15
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" } }
Darstellung
15.07.2015
16
Darstellung
15.07.2015
17
Codegenerator
15.07.2015
18
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" { DokumentenKlasse = "ABRECH" DokumentenTyp = "RECHNUNG" 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" } }
15.07.2015
19
Generierte Unittests
15.07.2015
20
% Kommentare
% Durchschnittliche Kommentare
Methoden pro Klasse
Maximale Komplexität Maximale Tiefe
Durchschnittliche Tiefe
Durchschnittliche Komplexität
35 7 2 3
15.07.2015
21
Zielerreichung
15.07.2015
22