Mapping zwischen 4 + 1 Architectural View Model & UML

15

Ich bin etwas verwirrt darüber, wie das 4 + 1-Architekturmodell auf UML abgebildet wird.

Wikipedia gibt die folgende Zuordnung:

  • Logische Ansicht: Klassendiagramm, Kommunikationsdiagramm, Sequenzdiagramm.
  • Entwicklungsansicht: Komponentendiagramm, Paketdiagramm
  • Prozesssicht: Aktivitätsdiagramm
  • Physische Ansicht: Bereitstellungsdiagramm
  • Szenarien: Anwendungsfalldiagramm

Die Papierrolle von UML-Sequenzdiagrammkonstrukten in Object Lifecycle Concept bietet die folgende Zuordnung:

  • Logische Sicht (Klassendiagramm (CD), Objektdiagramm (OD), Sequenzdiagramm (SD), Kollaborationsdiagramm (COD), Zustandsdiagramm (SCD), Aktivitätsdiagramm (AD))
  • Entwicklungsansicht (Paketdiagramm, Komponentendiagramm),
  • Prozesssicht (Anwendungsfalldiagramm, CD, OD, SD, COD, SCD, AD),
  • Physische Ansicht (Bereitstellungsdiagramm) und
  • Anwendungsfallansicht (Anwendungsfalldiagramm, OD, SD, COD, SCD, AD), in der die vier oben genannten Elemente kombiniert werden.

Auf der Webseite UML 4 + 1 View Materials wird die folgende Zuordnung angezeigt:

UML 4 + 1 Materialien anzeigen

Das Whitepaper Anwenden von 4 + 1-Ansichtsarchitektur mit UML 2 enthält eine weitere Zuordnung:

  • Klassendiagramme, Objektdiagramme, Statusdiagramme und Verbundstrukturen für logische Ansichten
  • Prozesssicht- Ablaufdiagramme, Kommunikationsdiagramme, Aktivitätsdiagramme, Zeitdiagramme, Interaktionsübersichtsdiagramme
  • Komponentendiagramme der Entwicklungsansicht
  • Bereitstellungsdiagramm der physischen Ansicht
  • Use-Case-Ansicht Use-Case-Diagramm, Aktivitätsdiagramme

Ich bin sicher, dass eine weitere Suche auch andere Zuordnungen ergeben wird.

Während verschiedene Leute normalerweise unterschiedliche Perspektiven haben, verstehe ich nicht, warum dies hier der Fall ist. Insbesondere beschreibt jedes UML-Diagramm das System unter einem bestimmten Aspekt. Warum beschreibt beispielsweise das "Sequenzdiagramm" die "logische Sicht" des Systems durch einen Autor, während ein anderer Autor die "Prozesssicht" beschreibt?

Könnten Sie mir bitte helfen, die Verwirrung zu klären?

MS Dousti
quelle

Antworten:

18

Obwohl ich der Antwort von Bart van Ingen Schenau im Allgemeinen zustimme , denke ich, dass einige Punkte einer weiteren Ausarbeitung bedürfen.

Der Vorteil des 4 + 1-Ansichtsmodells besteht darin, dass Stakeholder auf die Art von Informationen abgebildet werden, die sie benötigen, ohne dass bestimmte Modellierungsnotationen verwendet werden müssen. Der Schwerpunkt liegt auf der Sicherstellung, dass alle Gruppen die Informationen haben, um das System zu verstehen und ihre Arbeit fortzusetzen.

Das 4 + 1-Ansichtsmodell der Softwarearchitektur wurde in Philippe Kruchens Papier Architectural Blueprints - Das "4 + 1" -Ansichtsmodell der Softwarearchitektur beschrieben , das ursprünglich in IEEE Software (November 1995) veröffentlicht wurde. Diese Veröffentlichung enthält keine spezifischen Verweise auf UML. In der Tat verwendet das Papier die Booch-Notation für die logische Ansicht, Erweiterungen der Booch-Notation für die Prozessansicht und die Entwicklungsansicht, die Verwendung von "verschiedenen Formen" zum Entwickeln einer physischen Ansicht und eine neue Notation für Szenarien.

Anstatt zu versuchen, die einzelnen Ansichten bestimmten Diagrammtypen zuzuordnen, sollten Sie sich überlegen, wer die Zielgruppe der einzelnen Ansichten ist und welche Informationen sie benötigen. Wenn Sie dies wissen, schauen Sie sich verschiedene Modelltypen an und welche Modelle die erforderlichen Informationen liefern.

Die logische Ansicht wurde entwickelt, um die Bedenken des Endbenutzers zu berücksichtigen und sicherzustellen, dass alle gewünschten Funktionen vom System erfasst werden. In einem objektorientierten System erfolgt dies häufig auf Klassenebene. In komplexen Systemen benötigen Sie möglicherweise eine Paketansicht und zerlegen die Pakete in mehrere Klassendiagramme. In anderen Paradigmen könnten Sie daran interessiert sein, Module und die von ihnen bereitgestellten Funktionen darzustellen. Das Endergebnis sollte eine Zuordnung der erforderlichen Funktionalität zu Komponenten sein, die diese Funktionalität bereitstellen.

Die Prozessansicht ist für Personen gedacht, die das gesamte System entwerfen und dann die Subsysteme oder das System in ein System von Systemen integrieren. In dieser Ansicht werden die vom System ausgeführten Aufgaben und Prozesse, Schnittstellen zur Außenwelt und / oder zu Komponenten im System, die gesendeten und empfangenen Nachrichten sowie die Adressierung von Leistung, Verfügbarkeit, Fehlertoleranz und Integrität angezeigt.

Die Entwicklungsansicht richtet sich in erster Linie an Entwickler, die die Module und Subsysteme erstellen. Es sollte Abhängigkeiten und Beziehungen zwischen Modulen aufzeigen, wie Module organisiert, wiederverwendet und portabel sind.

Die physische Ansicht richtet sich in erster Linie an Systemdesigner und Administratoren, die die physischen Standorte der Software, die physischen Verbindungen zwischen Knoten, die Bereitstellung und Installation sowie die Skalierbarkeit verstehen müssen.

Schließlich helfen die Szenarien, die Anforderungen zu erfassen, damit alle Beteiligten verstehen, wie das System verwendet werden soll.

Sobald Sie verstanden haben, was die einzelnen Ansichten bieten sollen, können Sie auswählen, welche Modellierungsnotationen verwendet werden sollen und in welcher Detailstufe. Barts letzter Absatz ist besonders zutreffend - Sie können verschiedene Detailebenen in Ihren UML-Modellen anzeigen, indem Sie sich auf bestimmte Gestaltungselemente konzentrieren oder verschiedene Diagrammtypen zu einem Satz kombinieren. Darüber hinaus sollten Sie über UML hinaus andere Modellierungsnotationen in Betracht ziehen, um Ihre Systemarchitektur besser zu beschreiben - SysML , Entity-Relation-Modellierung oder IDEF .

Thomas Owens
quelle
The logical view is designed to address the end user's concerns about ensuring that all of their desired functionality is captured by the system. In an object-oriented system, this is often at the class level. Finden Sie nicht, dass wir, wenn wir etwas für Endbenutzer tun wollen, zumindest mit ihnen kommunizieren und eine Sprache sprechen müssen? Versuchen Sie, Ihren Benutzern Ihr Klassendiagramm zu zeigen, und lassen Sie uns sehen, was sie sagen werden.
Pavel
1
@ JimJim2000 Ich habe nicht gesagt, dass es für den Endbenutzer war. Wenn Sie eine Reihe von Anforderungen haben und diese Elementen in einer logischen Ansicht zuordnen, können Sie sicherstellen, dass es Komponenten (Pakete, Klassen, Funktionen) gibt, die für jede Anforderung ausgelegt sind. Ich kann nicht an sehr viele Modelle aus einer Modellierungssprache denken, die ich einem Endbenutzer zeigen würde und von denen ich erwarte, dass sie sie bekommen. Vielleicht ein Aktivitätsdiagramm von UML.
Thomas Owens
9

Der Grund dafür, dass Sie keine Eins-zu-Eins-Zuordnung zwischen den Ansichten des 4 + 1-Architekturmodells und den verschiedenen UML-Diagrammen finden können, ist, dass eine solche Zuordnung nicht vorhanden ist.

Was all diese Autoren mit ihren 'Zuordnungen' zu sagen versuchen, ist, dass es für jede Ansicht einen unterschiedlichen Satz von UML-Diagrammen gibt, die nützlich sein können, um die Informationen zu übermitteln, die Sie in dieser Ansicht mitteilen möchten.

Darüber hinaus können einige UML-Diagramme auf unterschiedliche Weise verwendet werden, indem verschiedene Elemente im Diagramm hervorgehoben werden, sodass sie für mehrere Ansichten nützlich sind. Aber selbst wenn ein UML-Diagrammtyp in mehreren Ansichten verwendet werden kann, würden Sie für jede Ansicht ein anderes Diagramm (oder eine Reihe von Diagrammen) zeichnen.

Bart van Ingen Schenau
quelle
2

Obwohl ich mit Thomas Owens Antwortansatz übereinstimme , um auf die Bedürfnisse Ihrer Endbenutzer einzugehen, ist eine Sache, die nicht erwähnt wird, der Grund, warum die ursprüngliche Definition der "4 + 1 View Model Architecture" von Kruchten keine macht Spezifische Verweise auf UML sind darauf zurückzuführen, dass der Artikel 1995 verfasst wurde (wie in der Antwort angegeben), UML jedoch erst 1997 als Standard übernommen wurde .

Die fortwährende Verwendung der Booch-Notation in diesem Artikel legt nahe, dass die Zuordnung der einzelnen Modellansichten zu einem bestimmten UML-Diagramm angebracht sein könnte, da Grady Booch an der Entwicklung von UML beteiligt war.

Aus diesem Grund betrachten so viele verschiedene Autoren unterschiedliche UML-Diagramme als anwendbar für jede Ansicht, da mehrere UML-Diagramme in gewisser Weise als "Abstraktionen" der Booch-Notation angesehen werden könnten, auf die sich die ursprüngliche Definition des 4 + 1-Modells stützt um jede Ansicht darzustellen.

Hoffe, dies klärt die Dinge ein bisschen mehr für alle anderen, die sich damit befassen.

Aphos
quelle
1

Verwenden Sie immer noch einen Videorecorder, den Sie 1995 gekauft haben? 4 + 1 galt damals, als die Software noch in den Kinderschuhen steckte. Aber selbst dann hat noch niemand mehr als 2 oder 3 "Ansichten" verwendet. In den letzten 20 Jahren hat sich die Softwareentwicklung verändert. Heutzutage werden Umfang / Kontext und konzeptionelle und logische und physikalische und ... alle unterschieden. Viele COTS-Lösungen müssen integriert werden und so weiter. Heute sprechen wir über Landschaftskarten, Serviceverwirklichungen und Dutzende anderer Ansichten und Sichtweisen. Die beste Sichtweise ist ein einfaches Taxonomie-Framework wie Zachman: 6 Ansichten und 6 Standpunkte. Lassen Sie das Ihren Ausgangspunkt sein. 6 Ansichten sind: kontextuelle konzeptionelle oder geschäftliche logische oder systemphysische oder technologische Bereitstellung oder Artefakte funktionierender Unternehmen

6 Gesichtspunkte sind: Daten oder Welche Funktion oder Wie Netzwerk oder Wo Menschen oder Wer Zeit oder Wann Motivation oder Warum

Schauen wir uns ein Beispiel an. Wenn wir nur an Daten interessiert sind, beginnen wir mit der Bereichsansicht und sagen: "Unser Bereich ist CRM". In der konzeptionellen Ansicht für Data Viewpoint werden wir ein semantisches Modell für CRM entwickeln. Das Modell besteht eher aus konzeptuellen Geschäftsinformationskonzepten als aus Datenobjekten. Als Nächstes erstellen wir in der logischen Ansicht ein logisches Datenmodell aus unserem konzeptuellen CRM-Modell. Wir können die ER-Methode verwenden, um ein logisches Datenmodell zu erstellen. In der physischen Ansicht erstellen wir dann ein physisches Datenmodell. Hier definieren wir konkrete Datentypen für eine DB-Plattform unserer Wahl, Indizes usw. Schließlich haben wir in der Übermittlungsansicht unser DDL-Skript, während in der funktionierenden Unternehmensansicht eine Binärdatei auf einem Datenbankserver bereitgestellt wird und in interne Datenstrukturen des DBM-Anbieters abgebildet. Wir wiederholen dies für jeden Standpunkt oder jede Spalte. Wenn es mehr als einen Stakeholder gibt, erstellen wir mehr als ein Modell für jede Sicht / Sicht-Kombination. Nachdem Sie diese Taxonomie eingerichtet haben, können Sie Ihre eigenen Standpunkte und Ansichten definieren und diese an dieser Taxonomie ausrichten. Beispielsweise sind für Initiativen auf Unternehmensebene die folgenden Gesichtspunkte von Bedeutung: Verhalten der Akteurszusammenarbeit, Anwendungszusammenarbeit, Anwendungsstruktur, Anwendungsnutzung, Geschäftsfunktion, Geschäftsprozess, Geschäftsprozesszusammenarbeit, Implementierung und Bereitstellung, Informationsstruktur, Infrastruktur, Infrastrukturnutzung, Nutzungslandschaft, Kartenübersicht, geschichtete, organisatorische Dienstrealisierung usw Nachdem Sie diese Taxonomie eingerichtet haben, können Sie Ihre eigenen Standpunkte und Ansichten definieren und diese an dieser Taxonomie ausrichten. Beispielsweise sind für Initiativen auf Unternehmensebene die folgenden Gesichtspunkte von Bedeutung: Verhalten der Akteurszusammenarbeit, Anwendungszusammenarbeit, Anwendungsstruktur, Anwendungsnutzung, Geschäftsfunktion, Geschäftsprozess, Geschäftsprozesszusammenarbeit, Implementierung und Bereitstellung, Informationsstruktur, Infrastruktur, Infrastrukturnutzung, Nutzungslandschaft, Kartenübersicht, geschichtete, organisatorische Dienstrealisierung usw Nachdem Sie diese Taxonomie eingerichtet haben, können Sie Ihre eigenen Standpunkte und Ansichten definieren und diese an dieser Taxonomie ausrichten. Beispielsweise sind für Initiativen auf Unternehmensebene die folgenden Gesichtspunkte von Bedeutung: Verhalten der Akteurszusammenarbeit, Anwendungszusammenarbeit, Anwendungsstruktur, Anwendungsnutzung, Geschäftsfunktion, Geschäftsprozess, Geschäftsprozesszusammenarbeit, Implementierung und Bereitstellung, Informationsstruktur, Infrastruktur, Infrastrukturnutzung, Nutzungslandschaft, Kartenübersicht, geschichtete, organisatorische Dienstrealisierung usw

Krutchens 4 + 1 konnte unmöglich alle diese Bedürfnisse befriedigen

Bran Kop
quelle
3
Diese Antwort ist sehr voreingenommen und ich bin nicht einverstanden mit Ihrer Begründung, warum Kruchten 4 + 1 "zu alt" ist. Vor 20 Jahren war 1999. Software steckte noch nicht in den Kinderschuhen. Kruchten spricht immer noch über die Relevanz von 4 + 1, insbesondere in agilen Umgebungen. Es gibt einen Grund, warum Standpunkte und Ansichten in Bezug auf Architekturbeschreibungen in IEEE-Standards vorhanden sind.
Zimano