Erstellen einer Projektmappenarchitektur
Zum Erstellen einer guten Architektur gehört das Untersuchen von alternativen Architekturstrategien. Alternative Strategien haben unterschiedliche Vorteile, die auf der Plattformauswahl, den verwendeten Technologien und Codewiederverwendung basieren. Jede Strategie wird entworfen, und eine Machbarkeitsstudie wird erstellt, um die Vor- und Nachteile jeder Strategie genauer zu untersuchen. Die Strategien werden anhand von Produkt- und Qualitätsanforderungen bewertet, und letztlich wird eine Strategie zum Implementieren des Produkts ausgewählt. Schließlich sind Sicherheit und Leistung architektonische Aspekte, die während der Arbeit am gesamten Produkt berücksichtigt werden müssen.
In diesem Thema
Erstellen von alternativen Architekturpartitionierungsentwürfen
Entwerfen der Systemarchitektur und Bereitstellung
Erstellen einer Machbarkeitsstudie
Bewerten von Alternativen
Auswählen der Architektur
Entwickeln eines Leistungsmodells
Erstellen von alternativen Architekturpartitionierungsentwürfen
Das Problem wird analysiert, und unterschiedliche Ansätze werden erwogen. Eine Gruppe von Anforderungen wird ausgewählt, die die wichtigsten geschäftlichen und technologischen Herausforderungen darstellen. Untersuchen Sie die Eigenschaften dieser Herausforderungen, z. B. die Integration von Legacysystemen, und treffen Sie Vorhersagen zu zukünftigen Anforderungen auf Grundlage aktueller Anforderungen, Wiederverwendbarkeit des Codes und Wartungskosten.
Erstellen eines Anwendungsdiagramms
Erstellen Sie auf Grundlage des Domänenmodells und der Anforderungen ein Anwendungsdiagramm, das die logischen Kernelemente des Systems darstellt. Dieses wird später in Systemdiagramme unterteilt. Alternative Partitionierungsschemas werden erwogen und ausgewertet.
Eine Möglichkeit, ein Anwendungsdiagramm darzustellen, ist ein UML (Unified Modeling Language)-Anwendungsfalldiagramm. Dieser Typ von Diagramm kann die wichtigsten Subsysteme und ihre Abhängigkeiten darstellen. Außerdem können Sie in jedem Subsystem Anwendungsfälle einfügen, um darzustellen, welches Subsystem die einzelnen Benutzerszenarien verwaltet.
Festlegen von Auswertungskriterien
Bestimmen Sie, mit welchen Kriterien Anforderungen und Szenarien identifiziert werden, die wesentliche architektonische Herausforderungen darstellen. Überprüfen Sie vorhandene Unternehmensdokumente zur Architektur auf Kriterien. Überprüfen Sie Geschäftsanforderungen, technische Anforderungen und Unternehmensstandards, die auf neue Anwendungen angewendet werden müssen. Erfassen Sie zusätzliche Kriterien, die als architektonisch relevant bekannt sind, z. B. Integration in Legacysysteme, Wiederverwendbarkeit des Codes, Wiederverwenden von vorhandenen Anbieterbibliotheken und Plattformen sowie die Kontrolle von Wartungskosten. Erfassen Sie zusätzliche Kriterien, die Risiken und Kosten darstellen, wenn Sie eine technische Lösung implementieren.
Auswählen einer Kandidatengruppe von Anforderungen
Werten Sie jede Servicequalitätsanforderung und jede Produktanforderung anhand der Auswertungskriterien aus. Wenn eine Anforderung eine architektonische Herausforderung darstellt, betrachten Sie sie als Kandidat für die Modellierung. Beispielsweise erfüllt die Anforderung, dass das neue Produkt ältere Kundendatenbanken unterstützen muss, das Kriterium der Integration in Legacysysteme. Eine solche Anforderung ist ein Kandidat für die Modellierung, wie die Integration erfolgen kann.
Auswählen einer Kandidatengruppe von Szenarien
Werten Sie jedes Szenario anhand der Auswertungskriterien aus. Wenn ein Szenario eine architektonische Herausforderung darstellt, betrachten Sie es als Kandidat für die Modellierung. Beispielsweise erfüllt ein Szenario, in dem der Benutzer ein Clientupdate herunterlädt, das Kriterium bezüglich Wartungskosten. Ein solches Szenario ist ein Kandidat für die Modellierung der optimalen Handhabung von Clientupdates.
Reduzieren der Kandidatengruppe
Überprüfen Sie die Kandidatenszenarien und -anforderungen. Entfernen Sie Szenarien und Anforderungen, durch die Auswertungskriterien dupliziert werden oder die von anderen Szenarien und Anforderungen besser dargestellt werden. Reduzieren Sie die Kandidatengruppe auf eine Kerngruppe, die die wichtigsten architektonischen Herausforderungen, Risiken und Kosten der neuen Anwendung darstellt. Behalten Sie die Szenarien und Anforderungen bei, die die Auswertungskriterien am besten darstellen, die das größte Risiko darstellen und die die höchsten potenziellen Kosten darstellen, wenn die Architektur einer technischen Lösung entworfen wird. Behalten Sie die Szenarien und Anforderungen bei, die die umfassendsten oder wichtigsten Teile der Anwendung sind.
Erstellen von Partitionierungskriterien
Analysieren Sie ausgehend von den Anforderungen bewährte Architekturmuster (z. B. Fassade oder Model View Controller), und identifizieren Sie Kandidaten für die Implementierung. Identifizieren Sie Kandidatenmuster anhand ihrer Motivation, und erwägen Sie ihre Entwurfsnachteile in Hinsicht auf Kopplung, Kohäsion, Erweiterbarkeit, Anpassungsfähigkeit und Flexibilität. Wählen Sie einen Satz von Kandidaten für die Implementierung als Alternativen für die Bewertung aus.
Entwerfen der Systemarchitektur und Bereitstellung
Die Systemarchitektur definiert die Gruppierungen und Konfigurationen von Elementen, die im Anwendungsdiagramm identifiziert werden. Systemdiagramme werden erstellt, die die Systemarchitektur für jedes mögliche Architekturkonzept erfassen. Bereitstellungsdiagramme zeigen die Bereitstellungsschritte, die auf Abhängigkeiten und Kernfunktionen basieren. Ein Infrastrukturarchitekt erstellt ein Diagramm für ein logisches Datencenter, das die logische Struktur des Datencenters beschreibt, in dem die Anwendung bereitgestellt wird. Die Bereitstellungsdiagramme werden anhand des Diagramms für ein logisches Datencenter überprüft, um sicherzustellen, dass die Systeme bereitgestellt werden können.
Erstellen eines Systemmodells
Der Architekt und der Entwicklungsleiter erstellen Systemdiagramme aus dem Anwendungsdiagramm. Mit Systemdiagrammen können Sie wiederverwendbare Anwendungssysteme als Einheiten der Bereitstellung entwerfen, indem Sie sie aus Elementen im Anwendungsdiagramm zusammenstellen. Sie können auch größere und komplexere Systeme entwerfen, die andere Systeme enthalten, damit Sie sie in Szenarien mit verteilten Systemen verwenden und die Details der Anwendungen in diesen Systemen abstrahieren können. Checken Sie jede neue Diagrammdatei in die Versionskontrolle ein.
Sie können Systemdiagramme in Visual Studio auf folgende Weise darstellen:
Anwendungsfalldiagramme. Die Hauptbenutzerszenarien werden als Anwendungsfälle dargestellt, und die Hauptkomponenten des Systems werden als Subsysteme angezeigt. Jeder Anwendungsfall kann in dem Subsystem angeordnet werden, das den Anwendungsfall behandelt. Weitere Informationen finden Sie unter UML-Anwendungsfalldiagramme: Richtlinien.
UML-Komponentendiagramme. Mit diesen Diagrammen können Sie zusätzlich zu Abhängigkeiten Kommunikationschannels zwischen den Komponenten darstellen. Sie können auch Klassendiagramme erstellen, um die Typen zu beschreiben, die an den Schnittstellen zu den Komponenten sichtbar sind, und Sie können Sequenzdiagramme erstellen, um ihre Interaktionen zu zeigen. Weitere Informationen finden Sie unter UML-Komponentendiagramme: Richtlinien, UML-Klassendiagramme: Richtlinien und UML-Sequenzdiagramme: Richtlinien.
Ebenendiagramme: Ein Ebenendiagramm beschreibt die Blockstruktur der Anwendung. Es zeigt nur Komponenten und die Abhängigkeiten zwischen ihnen. Es hat den Vorteil, dass Sie nach dem Schreiben des Codes den Code und die Abhängigkeiten anhand des Diagramms überprüfen können. Weitere Informationen finden Sie unter Ebenendiagramme: Richtlinien.
Für jedes Subsystem können Sie ein Paket erstellen, das seine Typen und sein Verhalten ausführlicher beschreibt. Weitere Informationen finden Sie unter Definieren von Paketen und Namespaces.
Erstellen einer Machbarkeitsstudie
Bedeutende Risiken des Projekts können verringert werden, indem eine Architekturmachbarkeitsstudie erstellt wird. Es ist wichtig, so früh wie möglich im Projekt Risiken zu behandeln, damit wichtige strategische und architektonische Entscheidungen getroffen werden können, solange noch fundamentale Teile der Architektur problemlos geändert werden können. Durch das frühe Erstellen einer Machbarkeitsstudie werden allgemeine Projektrisiken und Ungewissheiten verringert. Durch ein geringeres Projektrisiko und weniger Ungewissheiten wird die Genauigkeit der Planung und Schätzung in späteren Iterationen erhöht. Eine Machbarkeitsstudie kann temporär sein und verworfen werden, nachdem die Probleme behandelt wurden, oder sie kann als Grundlage der Kernarchitektur erstellt werden.
Untersuchen von Risiken
Ermitteln Sie die Elemente, die zur Identifikation des Risikos oder architektonischer Entscheidungen führen. Untersuchen Sie verwandte Szenarien und Servicequalitätsanforderungen. Überprüfen Sie alle Auswirkungen auf die Zielumgebung.
Planen des Ansatzes
Bestimmen Sie die Form der Machbarkeitsstudie, die benötigt wird. Nutzen Sie die Anwendungs- und Systemdiagramme für die Planung. Lösen Sie nur das architektonische Problem, das durch das Risiko identifiziert wird. Suchen Sie nach der einfachsten Lösung.
Erstellen und Ausführen der Machbarkeitsstudie
Erstellen Sie die Machbarkeitsstudie. Sie können die Machbarkeitsstudie aus dem Anwendungsdiagramm implementieren. Konzentrieren Sie sich auf das Problem, das gelöst werden soll. Stellen Sie die Machbarkeitsstudie in einer physischen Umgebung bereit, die mit dem Diagramm für ein logisches Datencenter übereinstimmt. Die physische Umgebung sollte mit den Einstellungen des Diagramms für ein logisches Datencenter so genau wie möglich übereinstimmen. Testen Sie die Machbarkeitsstudie anhand der Probleme mit hohem Risiko.
Bewerten von Alternativen
Als Entscheidungshilfe bei der Wahl zwischen verschiedenen Architekturstrategien zum Erstellen einer Anwendung wird LAAAM (Lightweight Architecture Alternative Analysis Method) verwendet. Der LAAAM-Prozess dauert in der Regel einen Tag. Erstellen Sie zunächst eine Nutzwertstruktur, mit der die wichtigsten Einflussfaktoren für Qualität und Funktionen der Anwendung beschrieben werden, die auf Anforderungen basieren. Jeder Einflussfaktor wird als Szenario in Form einer Erklärung geschrieben, die aus Kontext, Impuls und Reaktion besteht. Verwenden Sie eine Bewertungsmatrix, um zu bestimmen, wie gut die einzelnen Szenarien von jeder Strategie bewältigt werden.
Erstellen einer Nutzwertstruktur
Untersuchen Sie Servicequalitätsanforderungen und Produktanforderungen, um die wichtigsten Einflussfaktoren für Qualität und Funktionen in der Anwendung zu bestimmen. Erstellen Sie eine Nutzwertstruktur, die die Gesamtqualität der Anwendung darstellt. Der Stammknoten in der Struktur erhält die Bezeichnung Nutzwert. Nachfolgende Knoten werden i. d. R. mit Standardqualitätsbegriffen, z. B. Änderbarkeit, Verfügbarkeit und Sicherheit, bezeichnet. Die Struktur sollte die Hierarchie der Qualitäten darstellen und eine Grundlage für die Prioritätszuordnung bieten. Jede Ebene in der Struktur ist eine weitere Verfeinerung der Qualitäten. Letztendlich werden aus diesen Qualitäten Szenarien.
Erstellen einer Bewertungsmatrix
Schreiben Sie für jedes Blatt in der Nutzwertstruktur ein Szenario. Das Szenario wird in der Form von Kontext, Impuls und Reaktion erstellt (Beispiel: "Datenbanktransaktion bei typischem Betrieb in weniger als 100 Millisekunden ausführen").
Erstellen Sie ein Arbeitsblatt oder eine Tabelle, und geben Sie jedes Szenario als Zeile in dieser Bewertungsmatrix ein. Geben Sie jede architektonische Strategie als Spalte ein. Geben Sie an jeder Schnittmenge von Strategien und Szenarien eine Bewertung auf einer Skala zwischen 1 und 4 ein.
Die Bewertung sollte die folgenden Faktoren berücksichtigen:
Entwicklungskosten Ist diese Lösung einfach oder schwierig zu implementieren? Wie wirkt sie sich auf die anderen Bereiche aus?
Betriebskosten Wird diese Lösung zur Laufzeit problemlos ausgeführt, oder beeinträchtigt sie Benutzerfreundlichkeit, Leistung usw.?
Risiko Wird das Szenario mit dieser Lösung gut bewältigt, oder gibt es unbekannte Kosten? Kann diese Lösung die Fähigkeit des Teams beeinträchtigen, zukünftige Erweiterungen der Anforderungen zu integrieren?
Wenn eine Machbarkeitsstudie für eine Strategie erstellt wurde, bestimmen Sie mithilfe von Informationen aus dieser Machbarkeitsstudie die Nutzwerte.
Addieren Sie am unteren Rand der Tabelle die Nutzwerte aus den Szenarien. Verwenden Sie diese Zahlen für die Diskussion, die zu Entscheidungen über die alternativen Architekturen führt.
Laden Sie die abgeschlossene Bewertungsmatrix in das Projektportal hoch.
Auswählen der Architektur
Nachdem die Bewertungsmatrix erstellt wurde, wird eine Überprüfungsbesprechung abgehalten, um zu bestimmen, welche Architektur in der nächsten Iteration verwendet wird. Die Bewertungsmatrix und die Informationen, die beim Erstellen der Machbarkeitsstudie ermittelt wurden, dienen als Entscheidungshilfe. Nachdem die Architektur ausgewählt wurde, werden Diagramme für die Architektur als Referenzlösung eingecheckt, und ein Begründungsdokument wird erstellt, in dem die Gründe für die Auswahl erfasst werden.
Vorbereiten der Überprüfung
Der Architekt und der Entwicklungsleiter bestimmen die geeigneten Personen für die Überprüfung der vorgeschlagenen Architekturen und verteilen an jeden Teilnehmer Dokumente zu den Architekturen.
Überprüfen der Systemarchitektur und Bereitstellungsarchitektur
Während der Überprüfungsbesprechung werden die Systemdiagramme, der Bereitstellungsbericht und das Diagramm für ein logisches Datencenter überprüft. Das Ziel ist, eine Architektur auszuwählen, die in der nächsten Iteration implementiert wird.
Berücksichtigen Sie bei der Beurteilung der Eignung jeder Architektur die Bewertungsmatrixränge für die einzelnen Architekturen. Berücksichtigen Sie alle Informationen aus der Machbarkeitsstudie, z. B. die Kosten oder die Komplexität, die das Implementieren der verschiedenen Architekturen mit sich bringt. Wenn das Diagramm für ein logisches Datencenter ein vorhandenes Datencenter darstellt, das nicht geändert werden kann, überprüfen Sie es nicht. Wenn ein Datencenter erstellt wird, überprüfen Sie das Diagramm auf Bereitstellungsaspekte. Wählen Sie die zu verwendende Architektur aus. Überprüfen Sie das architektonische Konzept anhand der Szenarien, um zu ermitteln, ob die Lösung die Kundenanforderungen erfüllt und vollständig ist.
Erstellen einer Referenzlösung
Erstellen Sie ein Begründungsdokument, in dem die Entscheidungen der Besprechung erfasst werden. Laden Sie es in das Projektportal hoch. Checken Sie jedes Anwendungsdiagramm, Systemdiagramm oder Diagramm für ein logisches Datencenter als Referenzlösung für die ausgewählte Architektur ein, die in der nächsten Iteration zum Implementieren von Funktionen verwendet werden soll. Teilen Sie dem gesamten Team und allen abhängigen Teams die Entscheidung über die für die nächste Iteration ausgewählte Architektur mit.
Entwickeln eines Leistungsmodells
Mit der Leistungsmodellierung werden potenzielle Leistungsprobleme in der Anwendung identifiziert und behandelt. Ein Leistungsmodell wird aus einer Servicequalitätsanforderung entwickelt, die dann in Entwicklungsaufgaben aufgegliedert wird. Jeder Entwicklungsaufgabe wird ein Leistungsbudget für die Implementierung zugewiesen.
Identifizieren Sie die Szenarien, die mit der Leistungsservicequalitätsanforderung verknüpft sind. Ordnen Sie den Szenarien die Entwicklungsaufgaben zu. Bestimmen Sie aus der Liste der Servicequalitätsanforderungen die Arbeitslast für die Anwendung. Identifizieren Sie mithilfe der Arbeitslastschätzungen und der Liste der Servicequalitätsanforderungen die Leistungsziele für jedes Hauptszenario. Zu diesen Zielen zählen z. B. Antwortzeit, Durchsatz und Ressourcennutzung. Identifizieren Sie die leistungsbezogenen Ressourcen, die im Budget zum Erreichen der Leistungsziele vorgesehen sind. Beispiele für leistungsbezogene Ressourcen sind Ausführungszeit und Netzwerkbandbreite. Bestimmen Sie die maximal zulässige Zuordnung jeder Ressource.
Weiten Sie die im Budget geplanten Ressourcen auf alle Verarbeitungsschritte für die einzelnen Szenarien aus. Wenn Sie nicht genau wissen, wie das Budget zugeordnet werden soll, treffen Sie die Entscheidung nach bestem Wissen, oder teilen Sie die Ressourcen gleichmäßig auf die Schritte auf. Die Budgetierung wird während der Validierung verfeinert. Schreiben Sie die Zuordnung in der entsprechenden Entwicklungsaufgabe, oder fügen Sie sie an diese an.
Ermitteln Sie Budgetzuordnungen, die das Erreichen von Leistungszielen gefährden können. Berücksichtigen Sie Kompromisse, die zum Erreichen von Leistungszielen beitragen, z. B. Entwurfs- und Entwicklungsalternativen. Werten Sie Servicequalitätsanforderungen ggf. erneut aus.
Identifizieren Sie die Szenarien, in denen Vorgaben der Budgetzuordnungen nicht erfüllt werden. Messen Sie die Leistung der Szenarien. Erstellen Sie in frühen Iterationen Prototypen, wenn kein Code verfügbar ist. Wiederholen Sie ggf. den Planungs-, Auswertungs- und Validierungsschritt mit während der Validierung ermittelten Daten.
Entwickeln eines Bedrohungsmodells
Weitere Informationen finden Sie auf der folgenden Seite der Microsoft-Website: Security Developer Center.