Prinzipien & Herangehensweisen

Verwaltung und Spezifikation von variablen Produkteigenschaften

Die präzise Spezifikation und  Verwaltung von variablen Produkteigenschaften in einem Entwicklungsprojekt erfordert die Berücksichtigung dieser Variabilität in den Entwicklungsartefakten. Das können Systemanforderungen sein, aber auch Modelle oder Source Code Module, etc. Für die eindeutige und reproduzierbare Bildung der geplanten Varianten eines Produktes gibt es unterschiedliche Herangehensweisen, die hier kurz vorgestellt werden. 

Das konkret für ein Entwicklungsprojekt gewählte Modell ist dabei oft eine Kombination aus den hier vorgestellten Prinzipien. So setzt beispielsweise der VaMos Ansatz auf den Variation Points auf. Das Ziel ist immer, die erforderliche Variabilität mit dem geringstmöglichen Administrationsaufwand sicherzustellen.

Super Set (auch: 150% Modell)

Das Prinzip

  • Ein 150% Modell enthält alle geplanten Varianten und Optionen eines Produkts in einem einzigen Modell oder Code-Repository.
  • Es ist so aufgebaut, dass je nach gewählter Produktvariante bestimmte Komponenten an- oder abgeschaltet werden können.
  • In einem 150% Modell werden alle Produktvarianten in einer gemeinsamen Datenbasis verwaltet. Merkmale und Funktionen werden durch Konfigurationsparameter gesteuert. Die Auswahl geschieht häufig durch Feature Flags, Konfigurationsdateien oder Modellierungswerkzeuge.
Vorteile
  • Vermeidet redundante Daten und Code-Duplikation.
  • Einheitliche Datenbasis sorgt für bessere Wartbarkeit.
  • Neue Varianten lassen sich schneller ableiten.
Nachteile
  • Hohe Komplexität, besonders bei vielen Produktvarianten.
  • Gefahr von unerwarteten Wechselwirkungen zwischen Varianten.

Clone & Own

Das Prinzip

  • Bei der Ableitung einer neuen Variante wird nicht auf einer gemeinsamen Datenbasis für alle Varianten aufgesetzt.
  • Stattdessen wird eine bestehende Variante kopiert (geklont) und dann individuell angepasst.
  • Jede geklonte Variante des Systems entwickelt sich unabhängig weiter und hat keinen Bezug mehr zum Urspung.
Vorteile
  • Einfach umzusetzen, besonders bei umfangreichen Anpassungen.
  • Keine Abhängigkeiten zwischen Produktvarianten – Änderungen haben keine Nebenwirkungen auf andere Varianten.
Nachteile
  • Wartungsaufwand steigt mit jeder geklonten Variante und jeder Änderung.
  • Bugfixes oder Verbesserungen in Funktionen, die in mehreren Varianten genutzt werden, müssen in jeder Kopie manuell nachgezogen werden.
  • Skaliert schlecht bei vielen Varianten.

Feature Modell (auch Feature-Tree Modell)

Das Prinzip

Das Feature Modell ist eine Methode zur strukturierten Darstellung und Verwaltung von funktionalen Eigenschaften der verschiedenen Produktvarianten. Es beschreibt, welche Merkmale (Features) ein Produkt haben kann und welche Abhängigkeiten zwischen diesen Features bestehen. Dabei entsteht oft eine baumartige Struktur, der Feature-Tree.

  • Features haben gegenseitige Abhängigkeiten. Ein Feature Model definiert neben den variablen Features auch diese Abhängigkeiten und einzuhaltende Konfigurationsregeln.
  • Zum Beispiel optionale, alternative oder obligatorische Features, wie in diesem Beispiel:
    • Ein Auto muss einen Motor haben (obligatorisch).
    • Es kann entweder einen Benzin- oder einen Elektromotor haben (alternative Features).
    • Es kann ein Navigationssystem haben, aber es ist nicht zwingend (optionales Feature).
    • Als Cabriolet kann es kein Schiebedach haben (ausschließende Features).
  • Feature Modelle dienen in der Regel als initiale Spezifikation der Produktvarianten und können in die unterschiedlichen Engineering-Disziplinen propagiert werden. Wie sich Features in den Engineering-Disziplinen ausprägen, kann sehr gut mit Global Configuration Management GCM gemanaged werden, sofern das in der Domäne eingesetzte Tool GCM Unterstützt.
  • Das Feature Modell und GCM schliessen sich nicht gegenseitig aus, sondern ergänzen sich.
Vorteile
  • Es können Artefakte aus allen am Projekt beteiligten Engineering-Disziplinen abgebildet werden.
  • Widersprüchliche Features werden schnell erkannt.
  • Fehlende Features werden leichter identifiziert.
Nachteile
  • Die Erstellung erfordert frühzeitige und sehr sorgfältige Planung der zu entwickelnden Varianten (ggfs. verzögerter Projektstart)
  • Ggfs. ist zusätzlich ein dediziertes Variantenmanagement-Tool empfehlenswert, das von allen Engineering-Disziplinen genutzt wird.

Variation Points

Das Prinzip

  • Variation Points sind eine Möglichkeit, Varianten in einem SysML- oder UML-Modell zu definieren. IBM Rhapsody unterstützt die Verwendung von Variation Points.
  • Ein Variation Point definiert alternative oder optionale Varianten in einem Modell, und es kann mehrere Variation Points in einem System- oder Software-Modell geben.
  • Die Konfiguration legt für jeden Variation Point fest, welche Variante bzw. Option ausgewählt wird. 
  • Variation Points machen die Variabilität explizit: Wer das Systemmodell liest, erkennt direkt, an welchen Stellen es unterschiedliche Optionen gibt.
  • Im Modell eines Software-Systems könnte ein Variation Point angeben, ob eine Sicherheitsfunktion aktiv oder inaktiv ist – je nach Kundenanforderung.
  • In SysML können Variation Points zum Beispiel mithilfe von Stereotypen, Constraints oder Feature-Modellen abgebildet werden.
Vorteile
  • Einfach zu nutzen für Modellierer
  • IBM Rhapsody unterstützt Variation Points; es ist also kein zusätzliches Tool erforderlich.
Nachteile
  • Bei komplexeren Produkten kann das Modell unübersichtlich werden.
  • Variation Points sind nur in der Modellierungsphase einsetzbar. Andere Engineering-Disziplinen unterstützen Variation Points nicht.

VaMoS (Variant Modeling with SysML)

Das Prinzip

VaMoS ist eine von Tim Weilkiens entwickelte Methode, um Varianten und Produktlinien mit Hilfe von SysML zu beschreiben und zu steuern. Die Methode nutzt Variation Points, an denen unterschiedliche Ausprägungen des Systems auftreten können. Das grundsätzliche Konzept von VaMos basiert auf

  • Core Elements: Teile des Systemmodells, die in jeder System- oder Produktvariante vorhanden sind. Core Elemente bilden das gemeinsame Fundament aller Varianten.
  • Variation Points: hier wird definiert, wo und wie sich Systemvarianten unterscheiden können. 
  • Variant Elements: die konkrete Ausprägung an einem Variation Point. Es beschreibt eine bestimmte Option oder Alternative, die anstelle einer anderen ausgewählt werden kann.

Bei VaMoS wird häufig mit einem Superset (oder 150% Modell) gearbeitet, das zunächst alle möglichen Funktionen und Komponenten umfasst, aus denen später konkrete Varianten abgeleitet werden. 

Vorteile
  • Traceability im gesamten Systemmodell: Dank SysML können Variation Points direkt mit Anforderungen, Designkomponenten und Testfällen verknüpft werden. So behält man stets den Überblick, welche Varianten welche Features enthalten sollen und wie sich das auf Architektur und Tests auswirkt.
  • Automatisierte Ableitung von Varianten: Bei entsprechender Tool-Unterstützung lassen sich aus dem 150%-Modell mithilfe der definierten Variation Points konkrete Produkt- oder Systemvarianten automatisiert ableiten. Das reduziert den Aufwand für manuelle Anpassungen und minimiert Fehler.
  • Branchenübergreifender Einsatz: VaMoS wird besonders in Bereichen mit hoher Produktkomplexität eingesetzt, z. B. in der Automobil- und Luftfahrtindustrie, im Maschinenbau oder in der Medizintechnik.
Nachteile
  • VaMoS basiert im wesentlichen auf Core Elements und Variant Elements. Beide gibt es im Modell nur einmal und das nicht in unterschiedlichen Versionen zu einem Zeitpunkt. Das bedeutet, wird ein Element geändert, prägt sich diese Änderung sofort in allen Varianten aus, in denen diese Element genutzt wird.
  • Das ist häufig nicht gewünscht, da sich Varianten in unterschiedlichen Produktionsständen befinden können.

Orthogonal Variability Model (OVM)

Das Prinzip

  • OVM ist ein eigenständiger Modellierungsansatz für Variabilität – unabhängig von konkreten UML- oder SysML-Diagrammen.
  • Variabilitätsinformationen werden „orthogonal“ zur eigentlichen Systemarchitektur abgelegt (d. h. in einem separaten Modell), was mehr Flexibilität bei der Integration in verschiedene Entwicklungsprozesse bietet.
  • OVM basiert ebenfalls auf dem Ansatz der Variation Points.
Vorteile
  • Bessere Kommunikation der Variabilität durch eigenständiges Modell
  • Traceability durch Ableitung von Beziehungen der Artefakte untereinander
  • Konsistente Durchführung von Änderungen sowie Wiederverwendung durch Darstellung aller betroffenen Anforderungsartefakte
Nachteile
  • Um die Variabilität zu dokumentieren, muss ein eigenes dediziertes Modell gepflegt werden.

Sprechen Sie uns an:

Wir sprechen Global Config

Sie haben Fragen zu Global Configuration Management?
Nutzen Sie unsere jahrzehntelange Erfahrung aus vielen erfolgreichen Projekten.
Kontaktieren Sie uns per Mail oder Telefon:

DE