1 / 20

Pensionslücken- Berechnungssystem

Pensionslücken- Berechnungssystem. Use-Case Diagramm. NEU: XML/DB ändern. Zustandsdiagramm Pensionsberechnung. Zustandsdiagramm Admin - XML - Ändern. Zustandsdiagramm Admin – DB - Ändern. Klassendiagramm WebClient. Klassendiagramm WebAdmin. Klassendiagramm WebService.

lel
Download Presentation

Pensionslücken- Berechnungssystem

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Pensionslücken- Berechnungssystem

  2. Use-Case Diagramm • NEU: XML/DB ändern

  3. Zustandsdiagramm Pensionsberechnung

  4. Zustandsdiagramm Admin - XML - Ändern

  5. Zustandsdiagramm Admin – DB - Ändern

  6. Klassendiagramm WebClient

  7. Klassendiagramm WebAdmin

  8. Klassendiagramm WebService

  9. Klassendiagramm Kommunikation

  10. Gesamtsicht

  11. XML - Datenstruktur

  12. Pseudocode • getPensionsluecke { • get Witwenpension, BUPension, Ausgleichszulage aus Stub_xml • wenn (Witwenpension) pension = berechneWitwenpension() • else { • wenn (BUPension) pension = berechneBUPension() • else pension = berechnePension() • } • Pension wird auf Ausgleichszulage aufgewertet (falls Anspruch besteht) • Nettopension() • get zusatzpension aus Stub_xml • überprüfe zusatzpension auf Maximalbetrag • Pensionslücke = Gehalt – Pension – Freiwillige Zusatzpension (muss aber positiv sein) • Schreibe alle Daten ins XML und liefere an Client zurück • }

  13. Pseudocode – Pensionsberechnung 1 berechnePension() { //brutto get gewuenschtes_Pensionsantrittsalter aus Stub_xml get bisherigeBeitragsmonate, Ersatzzeiten aus Stub_XML Beitragsmonate=bisherigeBeitragsmonate + (Monate zischen Pensionsantritt und jetzt) Versicherungszeiten = Beitragsmonate + Ersatzzeiten wenn gewuenschtes_Pensionsantrittsalter >= Pensionsantrittsalter { Pension = getBemessungsgrundlage() * Steigerungsbetrag() } else { wenn (Beitragszeit < benötigteVersicherungsdauerFuerHacklerregelung oder check Geburtsdatum für Hacklerregelung aus DB!=OK) { get Verminderung aus DB Verminderung = Verminderung * (Pensionsantrittsalter - gewuenschtes_Pensionsantrittsalter) (in Jahren) Verminderung darf max maxVerminderung sein Pensions= getBemessungsgrundlage() * Steigerungbetrag() * (1 - Verminderung) }

  14. Pseudocode – Pensionsberechnung 2 else { //Hacklerregelung get Pensionsantrittsalter für Hacklerregelung aus DB wenn gewuenschtes_Pensionsantrittsalter >= PensionsantrittsalterHackler { Pension= getBemessungsgrundlage() * SteigerungsbetragHackler() } else { get Verminderung aus DB Verminderung = Verminderung * (PensionsantrittsalterHackler - gewuenschtes_Pensionsantrittsalter) (in Jahren) Verminderung darf max 15 % sein Pensions = getBemessungsgrundlage() * SteigerungbetragHackler() * (1 - Verminderung) } } } get Geburtsdatum_der_Kinder aus Stub_xml get Kinderzuschuss, LebensjahrKinderzuschuss aus DB für jedes Kind wo Alter kleiner als Lebensjahr ist (zum Zeitpunkt des Pensionsantritts) gibt es Kinderzuschuss get Höchstpension aus DB wenn Pension > Höchstpension, Pension = Höchstpension } back

  15. Pseudocode - Bemessungsgrundlage getBemessungsgrundlage() { get Geschlecht, Geburtsdatum, Gehalt, Anzahl_Kinder aus Stub_xml get Bemessungszeitraum, RichtsatzKindererziehung, Verkürzung_BMZ_Kind aus DB get Pensionsantrittsalter aus DB wenn weiblich, verringere Bemessungszeitraum um Verkürzung_BMZ_Kind pro Kind Bemessungszeitraum muss mindestens 180 Monate sein Berechne ungefähres Gehalt bei Pensionsantritt Berechne Durchschnittswert für Bemessungsgrundlage aufgrund von Alter, Bemessungszeitraum, Gehalt, Pensionsantrittsalter } back

  16. Pseudocode - Steigerungsbetrag Steigerungsbetrag() { get Steigerungsbetrag, maxSteigerungsbetrag, maxBeitragsjahre_bisMaxSteigerungsbetrag aus DB Gesamtsteigerungsbetrag = Steigerungsbetrag * Versicherungszeiten/12 (in Jahren) wenn Versicherungszeiten < maxBeitragsjahre_bisMaxSteigerungsbetrag { Gesamtsteigerungsbetrag darf höchstens maxSteigerungsbetrag sein } } SteigerungsbetragHackler() { get Steigerungsbetrag, maxSteigerungsbetrag, maxBeitragsjahre_bisMaxSteigerungsbetrag aus DB Gesamtsteigerungsbetrag = Steigerungsbetrag * Versicherungszeiten/12 (in Jahren) wenn Versicherungszeiten < maxBeitragsjahre_bisMaxSteigerungsbetrag { Gesamtsteigerungsbetrag darf höchstens maxSteigerungsbetrag sein } } back

  17. Pseudocode - Nettopension • Nettopension() { • get Krankenversicherung, KrankenversicherungFürEhepartner, maxPensionOhneLohnsteuer, maxPensionOhneLohnsteuerFürAlleinverdiener aus DB • get Alleinverdiener, mitversichert aus Stub_xml • wenn alleinverdiener { • wenn (Pension > maxPensionOhneLohnstuerFuerAlleinverdiener) Steuern abziehen • } • else { • wenn (Pension > maxPensionOhneLohnstuer) Steuern abziehen • } • Pension = Pension * (1-Krankenversicherung) • wenn Ehepartner mitversichert Pension = Pension * (1-KrankenversicherungFürEhepartner) • } back

  18. Pseudocode - Witwenpension berechneWitwenpension() { HöchsprozentsatzWitwenpension, mindWitwenpension Prozentsatz = 70 - 30 * (BRGL der Hinterbliebenen / BRGL des Verstorbenen) Prozentsatz darf höchstens HöchsprozentsatzWitwenpension sein Witwenpension = Prozentsatz * BRGL des Verstorbenen Eigenpension = berechnePension() oder berechneBUPension() wenn (Witwenpension + Eigenpension < mindWitwenpension { Witwenpension = mindWitwenpension - Eigenpension Wenn (Witwenpension/BRGL des Verstorbenen *100 > HöchsprozentsatzWitwenpension) { Witwenpension = HöchsprozentsatzWitwenpension * BRGL des Verstorbenen } } Pension = Witwenpension + Eigenpension } back

  19. Pseudocode – BU Pension berechneBUPension() { Get PensionsantrittalterFrühpension aus DB Wenn gewuenschtesPensionsantrittsalter < PensionsantrittalterFrühpension { Versicherungszeit = Versicherungszeit + PensionsantrittalterFrühpension - gewuenschtesPensionsantrittsalter } Gesamtsteigerungsbetrag = Steigerungsbetrag * Versicherungszeiten (in Jahren) Gesamtsteigerungsbetrag darf höchstens maxSteigerungsbetragBU sein BU Pension = Bemessungsgrundlage * Gesamtsteigerungsbetrag } back

  20. Danke für die Aufmerksamkeit! Das PLBS-Team

More Related