15.16. Vererbung

Kritiken, die sich mit der Generalisierung und Spezialisierung in ArgoUML befassen.

Die aktuelle Version von ArgoUML hat die folgenden Kritiken in dieser Kategorie.

15.16.1. Überprüfen Sie die Attributnamen, um einen Konflikt zu vermeiden.

Diese Kritik wird unter einer früheren Designkategorie diskutiert (siehe Abschnitt 15.4.2, „ Überarbeite die Attributnamen, um einen Konflikt zu vermeiden ).

15.16.2. Entfernen Sie die zirkuläre Vererbung der Klasse <Klasse>

Hinweis, dass eine Klasse über eine Kette von Vererbungen von sich selbst erbt, was nicht erlaubt ist.

[Achtung]Achtung

Diese Kritik ist in der aktuellen Release von ArgoUML standardmäßig als inaktiv markiert (die einzige so markierte Kritik). Sie wird nicht ausgelöst, bis sie aktiviert wird.

15.16.3. Die Klasse muß abstrakt sein

Diese Kritik wird in einer früheren Designkategorie diskutiert (siehe Abschnitt 15.13.2, „ Die Klasse muß abstrakt sein).

15.16.4. Entfernen Sie das Schlüsselwort final oder entfernen Sie Subklassen

Hinweis, das eine als final deklarierte Klasse Spezialisierungen aufweist, was in UML nicht erlaubt ist.

15.16.5. Illegale Generalisierung

Hinweis, dass es eine Generalisierung zwischen Modellelementen unterschiedlicher UML-Metaklassen gibt, was nicht erlaubt ist.

[Achtung]Achtung

Es ist nicht klar, wie so eine Generalisierung in ArgoUML erzeugt werden könnte. Wahrscheinlich zeigt sie auf, dass das Diagramm durch Laden eines defekten Projektes, mit einer XMI- Datei erzeugt wurde, die so eine Generalisierung beschreibt. Wahrscheinlich wurde diese durch ein anderes Tool als ArgoUML erzeugt.

15.16.6. Enferne unnötige Realisierungen aus der Klasse <Klasse>

Hinweis, das die angegebene Klasse eine realisierte, direkte und indirekte Beziehung auf die gleiche Schnittstelle hat (durch Realisierung von zwei Schnittstellen, eine davon ist die Generalisierung der anderen, zum Beispiel). Ein gutes Design vermeidet solche Duplizierungen.

15.16.7. Definiere eine konkrete (Sub-)Klasse

Hinweis, dass eine Klasse als abstrakt deklariert ist, und keine konkrete Subklassen aufweist, so dass sie niemals realisiert (erzeugt) werden kann.

15.16.8. Definieren Sie eine Klasse, um die Schnittstelle <Schnittstelle> zu implementieren

Hinweis, dass die referenzierte Schnittstelle keine Auswirkung auf das laufende System hat, da sie nicht durch eine Klasse implementiert wurde.

15.16.9. Ändere Mehrfachvererbung in Schnittstellen

Diese Kritik wird unter einer früheren Designkategorie diskutiert (siehe Abschnitt 15.14.1, „ Ändern Sie die Mehrfachvererbung in Schnittstellen ).

15.16.10. Machen Sie die Kante sichtbarer

Diese Kritik wird unter einer früheren Designkategorie diskutiert (siehe Abschnitt 15.7.14, „ Eine Kante sichtbarer machen).