ausführliche Dokumentation, Stand: 26.11.00 Class Name: Person Category: Logical View abstrakte Klasse, die allgemeine Attribute für Personenverwaltung enthält Export Control: Public Cardinality: n Hierarchy: Superclasses: none Private Interface: Name Adresse Telefon Geburtstag Implementation: Name Adresse Telefon Geburtstag State machine: No Concurrency: Sequential Class Name: Kunde Category: Logical View Export Control: Public Cardinality: n Hierarchy: Superclasses: Person Associations: <no rolename> : Auto in association <unnamed> <no rolename> : Rechnung in association <unnamed> Public Interface: Operations: Geburtstagswünsche Private Interface: Anrede Kundennummer
Implementation: Anrede Kundennummer State machine: No Concurrency: Sequential Geburtstagswünsche Public member of: Kunde Class Name: Mitarbeiter Category: Logical View Export Control: Public Cardinality: n Hierarchy: Superclasses: Person Public Interface: Operations: MA-Nummer zuweisen Private Interface: Mitarbeiter-Nummer Eintritt Arbeitszeit Implementation: Mitarbeiter-Nummer Eintritt Arbeitszeit State machine: No Concurrency: Sequential MA-Nummer zuweisen Public member of: Mitarbeiter
Class Name: Auto Category: Logical View Export Control: Public Cardinality: n Hierarchy: Superclasses: none Associations: <no rolename> : Kunde in association <unnamed> <no rolename> : Reparatur in association <unnamed> <no rolename> : Reparatur in association <unnamed> Private Interface: Fahrgestellnummer Typ Kundennummer Implementation: Fahrgestellnummer Typ Kundennummer State machine: No Concurrency: Sequential Class Name: Termin Category: Logical View ein Terminobjekt wird erzeugt, wenn der Chefmechaniker die Mechaniker für eine Reparatur eingeteilt hat und existiert solange, wie die Reparatur läuft. Es beinhaltet die zeitlichen Aspekte des Reparaturprozesses. Nach Beendigung werden die relevanten Daten in das betriebliche Archivierungssystem eingeschleust. Export Control: Public Cardinality: n Hierarchy: Superclasses: none Associations: <no rolename> : Terminplan in association <unnamed>
<no rolename> : Reparatur in association <unnamed> <no rolename> : Mechaniker in association <unnamed> Bericht eintragen : Chef-Mechaniker in association <unnamed> Private Interface: Auftragsnummer Auftragsdatum Implementation: Auftragsnummer Auftragsdatum State machine: Yes Concurrency: Sequential State name: Einteilung Type: StartState Chefmechaniker teilt Mechaniker ein State name: Archivierung Type: EndState State name: Reparatur läuft Type: Normal die eingeteilten Mechaniker werden im Terminplan als belegt angezeigt State name: Reparatur beendet Type: Normal Zeitpunkt: Erstellung des Reparaturberichts 1. die Mechaniker werden im Terminplan wieder frei
gegeben 2. den Mechanikern wird die Arbeitszeit gutgeschrieben 3. die zeitlichen Daten werden in den Reparaturbericht übernommen Transition from Einteilung to Reparatur läuft nach Eintrag in Terminplan Transition from Reparatur läuft to Reparatur beendet nach Erstellung des Reparaturberichts der Abstoß für diesen Zustand wird manuell durch das Erstellen des Reparaturberichts durch den Chefmechaniker getätigt Transition from Reparatur beendet to Archivierung nach Beendigung der Reparatur als automatisiertes Feature Class Name: Chef-Mechaniker Category: Use Case View Export Control: Public Cardinality: n Hierarchy: Superclasses: Mechaniker Associations: <unnamed> <no rolename> : Reparatur planen in association <unnamed> <no rolename> : Reparaturbericht erstellen in association <no rolename> : Termin vereinbaren in association <unnamed> <no rolename> : Terminplan in association <unnamed> <no rolename> : Termin in association <unnamed> Plan eintragen : Reparatur in association <unnamed> <no rolename> : Reparatur in association <unnamed>
<no rolename> : Mechaniker in association <unnamed> <no rolename> : Tätigkeit in association <unnamed> Public Interface: Operations: in Plan eintragen MA zuweisen Bericht eintragen State machine: No Concurrency: Sequential in Plan eintragen Public member of: Chef-Mechaniker MA zuweisen Public member of: Chef-Mechaniker Bericht eintragen Public member of: Chef-Mechaniker Class Name: Mechaniker Category: Logical View Export Control: Public Cardinality: n Hierarchy: Superclasses: Mitarbeiter Associations: Public Interface: Operations: <no rolename> : Termin in association <unnamed> <no rolename> : Chef-Mechaniker in association <unnamed> <no rolename> : Tätigkeit in association <unnamed>
Arbeitszeit anzeigen Private Interface: Stundensatz Implementation: Stundensatz State machine: No Concurrency: Sequential Arbeitszeit anzeigen Public member of: Mechaniker Class Name: Laden Category: Logical View Export Control: Public Cardinality: n Hierarchy: Superclasses: none Associations: <no rolename> : Lager in association benutzt <no rolename> : Artikel in association benutzt Public Interface: Operations: Artikel entnehmen Artikel suchen State machine: No Concurrency: Sequential Artikel entnehmen Public member of: Laden Arguments: Artikelnummer Anzahl
Artikel aus dem Lager entnehmen Concurrency: Sequential Artikel suchen Public member of: Laden suchen von Artikeln im Lager Concurrency: Sequential Class Name: Reparatur Category: Logical View ein Reparaturobjekt wird erzeugt, wenn der Chefmechaniker den voraussichtlichen Reparaturplan erstellt hat und existiert solange, wie die Reparatur läuft. Es beinhaltet die technischen Aspekte des Reparaturprozesses. Nach Beendigung werden die relevanten Daten in das betriebliche Archivierungssystem eingeschleust. Export Control: Public Cardinality: n Hierarchy: Superclasses: none Associations: <no rolename> : Lager in association <unnamed> <no rolename> : Termin in association <unnamed> <no rolename> : Auto in association <unnamed> <no rolename> : Rechnung in association <unnamed> <no rolename> : Rechnung in association <unnamed> <no rolename> : Chef-Mechaniker in association <unnamed> <no rolename> : Chef-Mechaniker in association <unnamed> <no rolename> : Auto in association <unnamed> <no rolename> : Tätigkeit in association <unnamed> <no rolename> : Artikel in association benutzt Public Interface: Operations: PlanZeit eintragen Reparaturnummer zuweisen
KVA erstellen eintragen Reparatur löschen(reparaturnummer) Private Interface: Reparaturnummer Schadensbeschreibung Fahrgestellnummer spezifiziert das reparierte Auto PlanZeit PlanTeile BerichtZeit BerichtTeile Maximalbetrag Implementation: Reparaturnummer Schadensbeschreibung Fahrgestellnummer spezifiziert das reparierte Auto PlanZeit PlanTeile BerichtZeit BerichtTeile Maximalbetrag State machine: Yes Concurrency: Sequential PlanZeit eintragen Public member of: Reparatur Reparaturnummer zuweisen Public member of: Reparatur KVA erstellen Public member of: Reparatur
Concurrency: Sequential eintragen Public member of: Reparatur Reparatur löschen(reparaturnummer) Public member of: Reparatur State name: Einteilung Type: StartState Chefmechaniker gibt voraussichtlich benötigte Ersatzteile / Artikel ein State name: Archivierung Type: EndState State name: Reparatur läuft Type: Normal State name: Reparatur beendet Type: Normal Zeitpunkt: Erstellung des Reparaturberichts 1. tatsächlich benötigte Artikel werden aus Bestand entfernt 2. die technischen Daten werden in den Reparaturbericht übernommen
Transition from Einteilung to Reparatur läuft Beginn der Reparatur gleichzeitig mit der Entstehung des Reparaturobjektes Transition from Reparatur läuft to Reparatur beendet Erstellung des Reparaturberichtes dieser Prozeßschritt wirdmanuell durch das Erstellen des Reparaturberichts durch den Mechaniker angestoßen Transition from Reparatur beendet to Archivierung als automatisches Feature Class Name: Rechnung Category: Logical View Export Control: Public Cardinality: n Hierarchy: Superclasses: none Associations: <no rolename> : Kunde in association <unnamed> <no rolename> : Reparatur in association <unnamed> <no rolename> : Reparatur in association <unnamed> Rechnung erstellen : Bürokraft in association <unnamed> Private Interface: Kundennummer Implementation:
Kundennummer State machine: No Concurrency: Sequential Class Name: Terminplan Category: Logical View Der Terminplan enthält die anwesenden Mechaniker, die der Chefmechnaiker für die Reparaturen eingeben kann Export Control: Public Cardinality: n Hierarchy: Superclasses: none Associations: <no rolename> : Termin in association <unnamed> in Plan eintragen : Chef-Mechaniker in association <unnamed> Rahmenplan eintragen : Bürokraft in association <unnamed> Public Interface: Operations: Zeit belegen freiemaanzeigen(ma_nummer) Reparaturzeit belegen anzeigen Zeit korrigieren State machine: Yes Concurrency: Sequential Zeit belegen Public member of: Terminplan freiemaanzeigen(ma_nummer) Public member of: Terminplan
Reparaturzeit belegen Public member of: Terminplan anzeigen Public member of: Terminplan Zeit korrigieren Public member of: Terminplan Concurrency: Sequential State name: Systemeinführung Type: StartState alle Mechaniker werden erfaßt State name: Rahmendaten Type: Normal die Bürokraft trägt die Rahmendaten allerv Mechaniker ein State name: Termine Type: Normal Der Chefmechaniker teilt die verfügbaren Mechaniker für Reparaturen ein die Mechniker werden für den entsprechenden Zeitraum als belegt gemeldet
State name: Reparatur erledigt Type: Normal Die betroffenen Mechaniker werden wieder frei gegeben State name: Systemstop Type: EndState Transition from Systemeinführung to Rahmendaten Transition from Rahmendaten to Termine Reparaturauftrag Transition from Termine to Reparatur erledigt Auftrag erledigen normale Aufgabenerledigung Transition from Reparatur erledigt to Termine ändern Möglichkeit der Umverteilung durch Chefmechaniker Transition from Reparatur erledigt to Rahmendaten Arbeitszeiten angeben die Arbeitszeiten werden den Mechanikern gutgeschrieben Class Name: Lager
Category: Logical View enthält die Artikelnummern aller vorhandenen Artikel Export Control: Public Cardinality: Hierarchy: Superclasses: none Associations: n <no rolename> : Reparatur in association <unnamed> <no rolename> : Bürokraft in association <unnamed> <no rolename> : Artikel in association <unnamed> <no rolename> : Laden in association benutzt <no rolename> : Artikel in association <unnamed> <no rolename> : Bürokraft in association Inventur Private Interface: Artikelnummer Implementation: Artikelnummer State machine: No Concurrency: Sequential Class Name: Artikel Category: Logical View beinhaltet die Attributejeweils eines Artikels / Ersatzteils Export Control: Public Cardinality: n Hierarchy: Superclasses: none Associations: <no rolename> : Lieferant in association <unnamed> <no rolename> : Lager in association <unnamed> <no rolename> : Laden in association benutzt s wird generiert : Bestellvorschlag in association <unnamed> <no rolename> : Lager in association <unnamed> <no rolename> : Reparatur in association benutzt
<no rolename> : Bestellung in association <unnamed>
<no rolename> : Bürokraft in association Kontrolle <no rolename> : Bestellvorschlag in association System macht Private Interface: Bezeichnung : String min-bestand : Integer max-bestand : Integer Bestand Artikelnummer Implementation: Bezeichnung : String min-bestand : Integer max-bestand : Integer Bestand Artikelnummer State machine: No Concurrency: Sequential Class Name: Bestellung Category: Logical View Export Control: Public Cardinality: n Hierarchy: Superclasses: none Associations: <no rolename> : Bürokraft in association <unnamed> <no rolename> : Bürokraft in association <unnamed> <no rolename> : Artikel in association <unnamed> <no rolename> : Bestellvorschlag in association <unnamed> Private Interface: Artikel Anzahl Implementation: Artikel Anzahl State machine: No Concurrency: Sequential
Class Name: Lieferant Category: Logical View Export Control: Public Cardinality: n Hierarchy: Superclasses: none Associations: <no rolename> : Artikel in association <unnamed> <no rolename> : Bestellvorschlag in association System prüft Private Interface: Name Artikel Anschrift Konditionen Implementation: Name Artikel Anschrift Konditionen State machine: No Concurrency: Sequential Class Name: Bestellvorschlag Category: Logical View Export Control: Public Cardinality: n Hierarchy: Superclasses: none Associations: wird generiert : Artikel in association <unnamed> <no rolename> : Artikel in association System macht <no rolename> : Bestellung in association <unnamed> <no rolename> : Lieferant in association System prüft <no rolename> : Bürokraft in association Bürokraft stimmt zu Public Interface: Operations: Bestellvorschlag anzeigen Private Interface:
Implementation: Lieferant Artikelnummer Lieferant Artikelnummer State machine: No Concurrency: Sequential Bestellvorschlag anzeigen Public member of: Bestellvorschlag Class Name: Bürokraft Category: Use Case View Export Control: Public Cardinality: n Hierarchy: Superclasses: Mitarbeiter Associations: zu <no rolename> : Rechnung erstellen in association <unnamed> <no rolename> : Lagerbestand verwalten in association <unnamed> <no rolename> : Ersatzteil verwalten in association <unnamed> <no rolename> : Lieferant verwalten in association <unnamed> <no rolename> : Bestellung erstellen in association <unnamed> <no rolename> : Mitarbeiter verwalten in association <unnamed> <no rolename> : Kunden verwalten in association <unnamed> <no rolename> : Autos verwalten in association <unnamed> <no rolename> : Lager in association <unnamed> <no rolename> : Bestellung in association <unnamed> <no rolename> : Bestellung in association <unnamed> <no rolename> : Rechnung in association <unnamed> <no rolename> : Terminplan in association <unnamed> <no rolename> : Lager in association Inventur <no rolename> : Artikel in association Kontrolle <no rolename> : Bestellvorschlag in association Bürokraft stimmt Public Interface: Operations: Mechniker neu erfassen Lohn auszahlen
Bürokraft neu erfassen
Private Interface: Monatsgehalt Gehalt auszahlen freie Mechaniker eintragen Rechnung erstellen macht Bestellung Inventur machen Implementation: Monatsgehalt State machine: No Concurrency: Sequential Mechniker neu erfassen Public member of: Bürokraft Arguments: Eintrittsdatum Lohn auszahlen Public member of: Bürokraft Bürokraft neu erfassen Public member of: Bürokraft Gehalt auszahlen Public member of: Bürokraft freie Mechaniker eintragen
Public member of: Bürokraft Rechnung erstellen Public member of: Bürokraft macht Bestellung Public member of: Bürokraft Inventur machen Public member of: Bürokraft nur Aggregation, da Autos auch ohne den Kunden weiter gespeichert werden. Auto 1..n Kunde 1 Aggregate: Yes
Termin n Constraints: t!= 1 Bericht eintragen Chef-Mechaniker 1 Termin n
Containment: Unspecified Mechaniker n Chef-Mechaniker n Mechaniker 1 Termin 1
Reparatur 1 Reparatur Auto
Chef-Mechaniker 1 Plan eintragen Reparatur n Constraints: t = 1 Reparatur Chef-Mechaniker Navigable: No
Kunde 1..n Rechnung n Rechnung 1 Reparatur 1
Reparatur Rechnung Terminplan 1 Termin n
Association none Terminplan 1 Constraints: t=1 in Plan eintragen Chef-Mechaniker 1 benutzt Lager 1
Containment: Unspecified Laden 1 Artikel n Lager 1 benutzt Artikel n
Laden 1 Lager Aggregate: Yes Artikel 1..n Containment: By Value benutzt
Artikel n Reparatur n System macht das System macht einen Bestllvorschlag für den jeweiligen Artikel unter Berücksichtigung des günstigsten Lieferanten Bestellvorschlag 1 Artikel 1
Association none Bestellung 1 Bestellvorschlag 1 System prüft System nimmt günstigsten Lieferanten auf Lieferant n Bestellvorschlag 1
Rechnung erstellen Bürokraft 1 Rechnung n Terminplan 1 Rahmenplan eintragen Bürokraft
1 Inventur wird in bestimmten Abständen durchgeführt. Sinn: Berichtigung der Artikelbestände durch nachzählen Bürokraft 1 Lager 1 Kontrolle Artrikelbestand wird kontrolliert. angestoßen: a) manuell durch Bürokrfat b) automatisch durch Unter-/Überschreitung des Min-/Max-Bestandes des Artikels
Sinn: Nachbestellungen managen Artikel n Bürokraft 1 Bürokraft stimmt zu Bestellvorschlag 1 Bürokraft 1
Class Name: Chef-Mechaniker Category: Use Case View Export Control: Public Cardinality: n Hierarchy: Superclasses: Mechaniker Associations: <unnamed> <no rolename> : Reparatur planen in association <unnamed> <no rolename> : Reparaturbericht erstellen in association <no rolename> : Termin vereinbaren in association <unnamed> <no rolename> : Terminplan in association <unnamed> <no rolename> : Termin in association <unnamed> Plan eintragen : Reparatur in association <unnamed> <no rolename> : Reparatur in association <unnamed> <no rolename> : Mechaniker in association <unnamed> <no rolename> : Tätigkeit in association <unnamed> Public Interface: Operations: in Plan eintragen MA zuweisen Bericht eintragen State machine: No Concurrency: Sequential in Plan eintragen Public member of: Chef-Mechaniker Concurrency: Sequential MA zuweisen Public member of: Chef-Mechaniker Bericht eintragen
Public member of: Chef-Mechaniker Class Name: Bürokraft Category: Use Case View Export Control: Public Cardinality: n Hierarchy: Superclasses: Mitarbeiter Associations: zu <no rolename> : Rechnung erstellen in association <unnamed> <no rolename> : Lagerbestand verwalten in association <unnamed> <no rolename> : Ersatzteil verwalten in association <unnamed> <no rolename> : Lieferant verwalten in association <unnamed> <no rolename> : Bestellung erstellen in association <unnamed> <no rolename> : Mitarbeiter verwalten in association <unnamed> <no rolename> : Kunden verwalten in association <unnamed> <no rolename> : Autos verwalten in association <unnamed> <no rolename> : Lager in association <unnamed> <no rolename> : Bestellung in association <unnamed> <no rolename> : Bestellung in association <unnamed> <no rolename> : Rechnung in association <unnamed> <no rolename> : Terminplan in association <unnamed> <no rolename> : Lager in association Inventur <no rolename> : Artikel in association Kontrolle <no rolename> : Bestellvorschlag in association Bürokraft stimmt Public Interface: Operations: Mechniker neu erfassen Lohn auszahlen Bürokraft neu erfassen Gehalt auszahlen freie Mechaniker eintragen Rechnung erstellen macht Bestellung Inventur machen Private Interface: Monatsgehalt Implementation: Monatsgehalt State machine: No Concurrency: Sequential
Mechniker neu erfassen Public member of: Bürokraft Arguments: Eintrittsdatum Lohn auszahlen Public member of: Bürokraft Bürokraft neu erfassen Public member of: Bürokraft Gehalt auszahlen Public member of: Bürokraft freie Mechaniker eintragen Public member of: Bürokraft Rechnung erstellen Public member of: Bürokraft macht Bestellung Public member of: Bürokraft
Inventur machen Public member of: Bürokraft Package name: Kunden- und Personalverwaltung Global: No Package name: Reparaturprozeß Global: No Package name: Lagerverwaltung Global: No Use Case name: Kostenvoranschlag erstellen Category: Reparaturprozeß Abstract: No State machine: No Associations: <no rolename> : Reparatur planen in association <unnamed> (uses) Use Case name: Reparatur planen Category: Reparaturprozeß Abstract: No State machine: No Associations: <no rolename> : Kostenvoranschlag erstellen in association <unnamed> (uses)
<no rolename> : Chef-Mechaniker in association <unnamed> Use Case name: Reparaturbericht erstellen Category: Reparaturprozeß Abstract: No State machine: No Associations: <no rolename> : Chef-Mechaniker in association <unnamed> Use Case name: Termin vereinbaren Category: Reparaturprozeß Abstract: No State machine: No Associations: <no rolename> : Chef-Mechaniker in association <unnamed> <no rolename> : Kunden verwalten in association <unnamed> (uses) <no rolename> : Autos verwalten in association <unnamed> (uses) Use Case name: Rechnung erstellen Category: Reparaturprozeß Abstract: No State machine: No Associations: <no rolename> : Bürokraft in association <unnamed> Use Case name: Lagerbestand verwalten Category: Lagerverwaltung Abstract: No State machine: No
Associations: <no rolename> : Bürokraft in association <unnamed> Use Case name: Ersatzteil verwalten Category: Lagerverwaltung Abstract: No State machine: No Associations: <no rolename> : Bürokraft in association <unnamed> Use Case name: Lieferant verwalten Category: Lagerverwaltung Abstract: No State machine: No Associations: <no rolename> : Bürokraft in association <unnamed> Use Case name: Bestellung erstellen Category: Lagerverwaltung Abstract: No State machine: No Associations: <no rolename> : Bürokraft in association <unnamed> Use Case name: Mitarbeiter verwalten Category: Kunden- und Personalverwaltung Abstract: No State machine: No
Associations: <no rolename> : Bürokraft in association <unnamed> Use Case name: Kunden verwalten Category: Kunden- und Personalverwaltung Abstract: No State machine: No Associations: (uses) <no rolename> : Termin vereinbaren in association <unnamed> <no rolename> : Bürokraft in association <unnamed> Use Case name: Autos verwalten Category: Kunden- und Personalverwaltung Abstract: No State machine: No Associations: (uses) <no rolename> : Termin vereinbaren in association <unnamed> <no rolename> : Bürokraft in association <unnamed> Stereotype: uses Use Case: Kostenvoranschlag erstellen
Use Case: Reparatur planen Navigable: No Use Case: Reparatur planen Chef-Mechaniker Navigable: No Use Case: Reparaturbericht erstellen
Chef-Mechaniker Navigable: No Use Case: Termin vereinbaren Chef-Mechaniker Navigable: No Stereotype: uses Use Case: Kunden verwalten
Use Case: Termin vereinbaren Navigable: No Stereotype: uses Use Case: Autos verwalten Use Case: Termin vereinbaren Navigable: No
Use Case: Rechnung erstellen Bürokraft Navigable: No Use Case: Lagerbestand verwalten Bürokraft Navigable: No
Use Case: Ersatzteil verwalten Bürokraft Navigable: No Use Case: Lieferant verwalten Bürokraft Navigable: No
Use Case: Bestellung erstellen Bürokraft Navigable: No Use Case: Mitarbeiter verwalten Bürokraft Navigable: No
Use Case: Kunden verwalten Bürokraft Navigable: No Use Case: Autos verwalten
Bürokraft Navigable: No Object name: Bürokraft Object name: Artikel Object name: Bestellung Object name: Bestellvorschlag Object name: Reparatur Object name: Laden
Object name: hallo Tätigkeit Object name: Chef-Mechaniker Object name: Kunde Object name: Terminplan Object name: Termin Object name: das auslösende Ereignis für Kundendatenverwaltung ist eine Terminvereinbarung, gemacht durch die Bürokraft Bürokraft
Object name: Kunde Object name: Auto Object name: Bürokraft Persistent Object name: Mechaniker Object name: Terminplan Object name: Bürokraft Object name: Artikel
Object name: Lager Object name: Chef-Mechaniker Object name: Reparatur Object name: Terminplan Object name: Termin Object name: Chef-Mechaniker Object name: Reparatur
Object name: Rechnung Object name: Bürokraft Object name: Termin