Conceptual Models Drive Development

Das Protokoll, das aussagt, dass 'Conceptual Models Drive Development' die strengste Entwurfskontrolle aller DCMP-Typen (DCMP - Design Contract Management Protocol) bereitstellt. Architektonische Änderungen werden in das konzeptionelle Modell implementiert, das anschließend in die Codeimplementierung umgesetzt wird. Dies ermöglicht eine strenge Kontrolle und Governance; der Architekt besitzt dabei ein hohes Maß an Kontrolle und die Rolle der Systementwickler ändert sich von Anwendungsentwicklern zu Toolentwicklern.

In diesem Konzept wird das konzeptionelle Modell als fortlaufende Basis für die Entwicklung einer Anwendung verwendet und die Idee des Round-Trip-Engineering unterstützt. Wenn ein Architekt mit Hilfe von UML auf Klassenebene ein detailliertes Modell erstellt hat, wird aus diesem Modell ein 3GL-Codemodell generiert. Der Architekt wendet eine Umsetzung direkt auf das Modell an, um die Struktur zu generieren. In vielen Fällen wendet der Architekt die Umsetzung auf den Kompilierungscode für die Anwendung an.

Der Entwickler kann dann uneingeschränkt das Codemodell entwickeln, während der Architekt weiterhin das übergeordnete UML-Modell entwirft. Dieser parallele Arbeitsablauf hat zur Folge, dass UML-Modell und Codemodell voneinander abweichen, was die Zusammenarbeit erschwert. Von der Konfiguration der Anfangsumsetzung werden jedoch Modellabgleich sowie Vorwärts- und Rückwärtsumsetzung unterstützt.

Wenn das Risiko minimiert werden soll, das bei einer Abweichung der Modelle zunimmt, führt der Architekt eine Rückwärtsumsetzung für das Codemodell durch und erstellt eine temporäre Momentaufnahme, die der Architekt für eine Datenabgleichsoperation verwendet, um Änderungen selektiv in das konzeptionelle Modell aufzunehmen. Wenn die Modelle zusammengeführt sind, kann eine Umsetzung angewendet werden, um den Code auf Implementierungsebene zu aktualisieren; hierdurch werden die Änderungen des konzeptionellen Modells des Architekten wieder zurück in das Codemodell übernommen. Dieser Prozess kann im Entwicklungsprozess so oft wie nötig wiederholt werden. Beide Modelle entstehen nebeneinander und werden an vordefinierten Prüfpunkten miteinander abgeglichen.

Anwendungen

Das Protokoll, in dem 'Conceptual Models Drive Development' unter den folgenden Umständen am besten geeignet ist:

  • Anwendungscode wird in ähnlichen Anwendungen mehrfach verwendet.
  • Eine sehr strenge und umfassende Konformitätskontrolle für die Gestaltungsregeln ist erforderlich.
  • Wiederholungscode, der ein Framework bereitstellt, das den Entwicklern nur die Ausführung der Geschäftslogik überlässt.
  • Es werden dynamische Entwicklungsprozesse verwendet. Von 'Conceptual Models Drive Development' wird in einer frühen Phase der Projektentwicklung ein Wert bereitgestellt.
Anmerkung: 'Conceptual Models Drive Development' ist sowohl für dynamische als auch iterative Entwicklungskonzepte geeignet.

Diese Methode kann vom gesamten Team vom Entwickler bis hin zum Architekten verwendet werden.

Vorteile

Das Konzept 'Conceptual Models Drive Development' ermöglicht ein hohes Maß an Governance. In der Codeimplementierung spiegeln sich zu jedem Zeitpunkt die architektonischen Spezifikationen wider. Das Konzept minimiert die manuelle Codierung, erhöht die Wiederholgenauigkeit, sorgt für höhere Qualität und weniger Fehler und ermöglicht die Durchführung von Änderungen am Entwurf in jeder Entwicklungsphase. All diese Vorteile machen das Konzept sehr dynamisch.

Hinweise

Das Konzept 'Conceptual Models Drive Development' bietet zwar ein hohes Maß an Governance und die Fähigkeit zur Durchführung von Korrekturen in der gesamten Anwendung. Es kann jedoch schwierig sein, kleinere Änderungen zu implementieren oder zu vermeiden, dass der Umsetzungsprozess Auswirkungen auf diese kleinen Änderungen hat.


Rückmeldung