# Automatische Systemrollen-Benennung für IAM-Anwendungen

## Aufgabe
Benenne Systemrollen basierend auf ihren enthaltenen Berechtigungen sinnvoll um.

## Datenstruktur verstehen
**Eingabedaten bestehen aus:**
- **SYSTEMROLLEN-Tabelle**: Rollen mit IDs, Berechtigungen und zugewiesenen Personen
- **BERECHTIGUNGEN-Tabelle/XML**: Detailierte Berechtigungs-Informationen
- **Personen-Kontext**: JobTitles als Funktions-Hinweise

## Benennungslogik

### 1. Anwendungsname als Präfix mit verbesserter Formatierung
- **Regel**: Jeder neue Rollenname beginnt mit dem Anwendungsnamen
- **Format**: `AnwendungsName-Funktions-Beschreibung` (mit Bindestrichen statt Unterstrichen)
- **Beispiele**: 
  - `ERP-Produktions-Verwaltung`
  - `CRM-Kunden-Vollzugriff`
  - `Finance-Buchhaltung-Basis`

### 2. Wort-Trennung und Lesbarkeit
**Trenne zusammengesetzte Begriffe sinnvoll:**
- `KundenVerwaltung` → `Kunden-Verwaltung`
- `ProduktionsplanerZugriff` → `Produktions-Planer-Zugriff`
- `AdministratorRechte` → `Administrator-Rechte`

**Namenskonventionen:**
- Verwende Bindestriche (-) zur Wort-Trennung
- Erste Buchstaben der Hauptwörter groß schreiben
- Deutsche und englische Begriffe können gemischt werden
- Maximal 3-4 Wort-Segmente nach dem Anwendungsnamen

### 3. Universelle Funktionsanalyse der Berechtigungen
**Analysiere die Berechtigungsmuster systematisch:**

**Zugriffs-Level bestimmen:**
- Nur Lese-Berechtigungen → `Lese-Zugriff` oder `Einsicht`
- Schreib-Berechtigungen → `Verwaltung` oder `Bearbeitung`
- Umfassende Berechtigungen → `Vollzugriff` oder `Administration`
- Spezielle Funktionen → `Spezial-Zugriff` oder funktionsspezifischer Name

**Funktionsbereich identifizieren (adaptiv):**
- Analysiere die Berechtigungsnamen und -beschreibungen
- Erkenne wiederkehrende Begriffe und Muster
- Identifiziere Hauptfunktionsbereiche der Anwendung
- Gruppiere ähnliche Berechtigungen logisch

**Segmentierung/Spezialisierung erkennen:**
- Regionale/Geografische Aufteilungen
- Abteilungs-/Team-spezifische Zugriffe  
- Projekt-/Produkt-spezifische Berechtigungen
- Hierarchie-basierte Unterschiede
- Zeit-/Status-basierte Einschränkungen

### 4. Systematische Berechtigungs-Analyse
**Vergleiche Berechtigungs-Sets zwischen Rollen:**
1. Sammle alle Berechtigungs-IDs pro Rolle aus SYSTEMROLLEN-Tabelle
2. Schlage Details in BERECHTIGUNGEN-Daten nach
3. Identifiziere Gemeinsamkeiten und Unterschiede
4. Erkenne Muster und logische Gruppierungen
5. Leite Hauptfunktion und Spezifikation ab

### 5. Personenkontext als Validierung
**JobTitle der zugewiesenen Person als Funktions-Hinweis:**
- Führungskräfte + umfassende Rechte → `Manager-Vollzugriff`
- Koordinatoren + segment. Rechte → `Koordinator-Bereich`  
- Spezialisten + fachspez. Rechte → `Spezialist-Funktion`
- Standard-Mitarbeiter + Basis-Rechte → `Mitarbeiter-Standard`

### 6. Deutsche Namenskonventionen mit Bindestrichen
**Verwende deutsche Begriffe mit klarer Trennung:**
- Vollzugriff, Lese-Zugriff, Verwaltung, Bearbeitung, Administration
- Standard, Basis, Erweitert, Spezial, Premium
- Manager, Koordinator, Spezialist, Mitarbeiter, Benutzer
- Bei fachspezifischen Begriffen: Original-Fachbegriffe beibehalten

### 7. Adaptive Anwendungslogik
**Erkenne Anwendungstyp aus Berechtigungen:**
- **CRM/Sales-Systeme**: Kunden, Leads, Verträge, Partner
- **ERP-Systeme**: Produktion, Lager, Einkauf, Verkauf  
- **HR-Systeme**: Personal, Urlaub, Gehalt, Bewerbungen
- **Finance-Systeme**: Buchhaltung, Controlling, Finanzen
- **Projekt-Systeme**: Projekte, Aufgaben, Ressourcen, Zeit
- **Fachspezifische Systeme**: Verwende Fachterminologie

### 8. Eindeutigkeit sicherstellen
- Jeder generierte Name muss einzigartig sein
- Bei ähnlichen Rollen: unterscheidende Merkmale in separaten Wort-Segmenten
- Bei Konflikten: beschreibende Unterschiede statt numerische Suffixe

## Qualitätsrichtlinien
- **Länge**: 25-50 Zeichen gesamt (inklusive Bindestriche)
- **Wort-Segmente**: 2-4 Segmente nach dem Anwendungsnamen
- **Klarheit**: Jedes Wort-Segment muss verständlich sein
- **Konsistenz**: Ähnliche Berechtigungsmuster → ähnliche Namenskonventionen
- **Lesbarkeit**: Name soll auch ohne Dokumentation verständlich sein
- **Fachgerecht**: Respektiere branchenspezifische Terminologie

## Analyse-Vorgehen
1. **Anwendungstyp identifizieren**: Welche Art von System basierend auf Berechtigungen?
2. **Berechtigungen clustern**: Gruppiere nach erkannten Funktionsbereichen
3. **Zugriffs-Level bestimmen**: Umfang und Tiefe der jeweiligen Rolle
4. **Muster erkennen**: Wiederkehrende Begriffe und logische Strukturen
5. **Personenkontext prüfen**: Validiere gegen JobTitle und Position
6. **Namen konstruieren**: Anwendung + Funktion + Spezifikation (mit Bindestrichen getrennt)
7. **Eindeutigkeit prüfen**: Keine Duplikate, klare Abgrenzung

## Ausgabeformat
**Exakt dieses Format - keine Kommentare:**
```
SystemRole_4_0 = AnwendungsName-Funktions-Name
SystemRole_4_1 = AnwendungsName-Andere-Funktion
SystemRole_4_2 = AnwendungsName-Dritte-Funktion
SystemRole_4_3 = AnwendungsName-Vierte-Funktion
```

## Universelle Interpretationshilfen
**Häufige Berechtigungstypen (branchenübergreifend):**
- `User/Benutzer` + `Lesen/Read` → `Basis-Lese-Rechte`
- `Admin/Administrator` → `Administrator-Rechte` oder `Vollzugriff`
- `Manager/Leiter` → `Manager-Verwaltung`
- Regionale/Abteilungs-Bezeichnungen → `Regional-Zugriff` oder `Abteilungs-Verwaltung`
- Funktionsspezifische Begriffe → Direkte Übernahme mit deutscher Anpassung
- Hierarchische Abstufungen → `Standard`, `Erweitert`, `Premium`, `Vollzugriff`

## Beispiel-Namensgebung (universell)
**Verschiedene Anwendungstypen:**
```
CRM-System:
SystemRole_4_0 = CRM-Kunden-Vollzugriff
SystemRole_4_1 = CRM-Lead-Verwaltung

ERP-System:  
SystemRole_4_0 = ERP-Produktions-Manager
SystemRole_4_1 = ERP-Lager-Mitarbeiter

Finance-System:
SystemRole_4_0 = Finance-Buchhaltung-Vollzugriff
SystemRole_4_1 = Finance-Controlling-Basis

HR-System:
SystemRole_4_0 = HR-Personal-Administrator  
SystemRole_4_1 = HR-Mitarbeiter-Selbstservice
```

Analysiere die spezifische Anwendung und Berechtigungsstruktur in den Eingabedaten und generiere entsprechend angepasste Systemrollen-Namen.

---

## EINGABEDATEN