Architekturtechniken

Iterativer und inkrementeller Ansatz

Es ist ein iterativer und inkrementeller Ansatz, der aus fünf Hauptschritten besteht und dabei hilft, Kandidatenlösungen zu generieren. Diese Kandidatenlösung kann weiter verfeinert werden, indem diese Schritte wiederholt werden und schließlich ein Architekturdesign erstellt wird, das am besten zu unserer Anwendung passt. Am Ende des Prozesses können wir unsere Architektur überprüfen und allen interessierten Parteien mitteilen.

Dies ist nur ein möglicher Ansatz. Es gibt viele andere formalere Ansätze, mit denen Sie Ihre Architektur definieren, überprüfen und kommunizieren können.

Architekturziel identifizieren

Identifizieren Sie das Architekturziel, das den Architektur- und Entwurfsprozess bildet. Fehlerfreie und definierte Ziele betonen die Architektur, lösen die richtigen Probleme im Entwurf und helfen zu bestimmen, wann die aktuelle Phase abgeschlossen ist und bereit, zur nächsten Phase überzugehen.

Dieser Schritt umfasst die folgenden Aktivitäten:

  • Identifizieren Sie zu Beginn Ihre Architekturziele.
  • Identifizieren Sie den Verbraucher unserer Architektur.
  • Identifizieren Sie die Einschränkungen.

Beispiele für Architekturaktivitäten sind das Erstellen eines Prototyps, um Feedback zur Benutzeroberfläche für die Auftragsabwicklung für eine Webanwendung zu erhalten, das Erstellen einer Anwendung zur Auftragsverfolgung für Kunden sowie das Entwerfen der Authentifizierungs- und Autorisierungsarchitektur für eine Anwendung, um eine Sicherheitsüberprüfung durchzuführen.

Schlüsselszenarien

In diesem Schritt liegt der Schwerpunkt auf dem Design, das am wichtigsten ist. Ein Szenario ist eine umfassende und umfassende Beschreibung der Interaktion eines Benutzers mit dem System.

Schlüsselszenarien sind diejenigen, die als die wichtigsten Szenarien für den Erfolg Ihrer Anwendung gelten. Es hilft, Entscheidungen über die Architektur zu treffen. Ziel ist es, ein Gleichgewicht zwischen Benutzer-, Geschäfts- und Systemzielen zu erreichen. Beispielsweise ist die Benutzerauthentifizierung ein Schlüsselszenario, da sie einen Schnittpunkt eines Qualitätsattributs (Sicherheit) mit wichtigen Funktionen darstellt (wie sich ein Benutzer bei Ihrem System anmeldet).

Anwendungsübersicht

Erstellen Sie einen Überblick über die Anwendung, wodurch die Architektur berührbarer wird und sie mit realen Einschränkungen und Entscheidungen verbunden wird. Es besteht aus folgenden Aktivitäten:

Anwendungsart identifizieren

Identifizieren Sie den Anwendungstyp, ob es sich um eine mobile Anwendung, einen Rich Client, eine Rich Internet-Anwendung, einen Dienst, eine Webanwendung oder eine Kombination dieser Typen handelt.

Identifizieren Sie Bereitstellungsbeschränkungen

Wählen Sie eine geeignete Bereitstellungstopologie und lösen Sie Konflikte zwischen der Anwendung und der Zielinfrastruktur.

Identifizieren Sie wichtige Architekturdesignstile

Identifizieren Sie wichtige Architekturdesignstile wie Client / Server, Layered, Message-Bus, domänengesteuertes Design usw., um die Partitionierung zu verbessern und die Wiederverwendung des Designs zu fördern, indem Sie Lösungen für häufig wiederkehrende Probleme bereitstellen. Anwendungen verwenden häufig eine Kombination von Stilen.

Identifizieren Sie die relevanten Technologien

Identifizieren Sie die relevanten Technologien unter Berücksichtigung des von uns entwickelten Anwendungstyps, unserer bevorzugten Optionen für die Topologie der Anwendungsbereitstellung und der Architekturstile. Die Auswahl der Technologien richtet sich auch nach Organisationsrichtlinien, Infrastrukturbeschränkungen, Ressourcenkenntnissen usw.

Schlüsselprobleme oder Schlüssel-Hotspots

Beim Entwerfen einer Anwendung sind Hotspots die Bereiche, in denen am häufigsten Fehler gemacht werden. Identifizieren Sie wichtige Probleme anhand von Qualitätsmerkmalen und Querschnittsthemen. Mögliche Probleme sind das Auftreten neuer Technologien und kritische Geschäftsanforderungen.

Qualitätsattribute sind die allgemeinen Merkmale Ihrer Architektur, die sich auf das Laufzeitverhalten, das Systemdesign und die Benutzererfahrung auswirken. Querschnittsthemen sind die Merkmale unseres Designs, die für alle Ebenen, Komponenten und Ebenen gelten können.

Dies sind auch die Bereiche, in denen am häufigsten schwerwiegende Konstruktionsfehler gemacht werden. Beispiele für Querschnittsthemen sind Authentifizierung und Autorisierung, Kommunikation, Konfigurationsmanagement, Ausnahmemanagement und -validierung usw.

Kandidatenlösungen

Erstellen Sie nach dem Definieren der wichtigsten Hotspots die anfängliche Basisarchitektur oder das erste übergeordnete Design und geben Sie dann die Details ein, um die Kandidatenarchitektur zu generieren.

Die Kandidatenarchitektur umfasst den Anwendungstyp, die Bereitstellungsarchitektur, den Architekturstil, die Auswahl der Technologie, die Qualitätsattribute und die Querschnittsthemen. Wenn die Kandidatenarchitektur eine Verbesserung darstellt, kann sie zur Basis werden, auf der neue Kandidatenarchitekturen erstellt und getestet werden können.

Validieren Sie das Lösungsdesign der Kandidaten anhand der bereits definierten Schlüsselszenarien und -anforderungen, bevor Sie den Zyklus iterativ verfolgen und das Design verbessern.

Wir können architektonische Spitzen verwenden, um die spezifischen Bereiche des Entwurfs zu entdecken oder neue Konzepte zu validieren. Architekturspitzen sind ein Entwurfsprototyp, der die Machbarkeit eines bestimmten Entwurfspfads bestimmt, das Risiko verringert und schnell die Realisierbarkeit verschiedener Ansätze bestimmt. Testen Sie Architekturspitzen anhand von Schlüsselszenarien und Hotspots.

Architekturüberprüfung

Die Überprüfung der Architektur ist die wichtigste Aufgabe, um die Kosten für Fehler zu senken und Architekturprobleme so früh wie möglich zu finden und zu beheben. Dies ist eine etablierte und kostengünstige Methode zur Reduzierung der Projektkosten und der Wahrscheinlichkeit eines Projektversagens.

  • Überprüfen Sie die Architektur häufig bei wichtigen Projektmeilensteinen und als Reaktion auf andere wichtige architektonische Änderungen.

  • Das Hauptziel einer Architekturüberprüfung besteht darin, die Machbarkeit von Basis- und Kandidatenarchitekturen zu bestimmen, die die Architektur korrekt verifizieren.

  • Verknüpft die funktionalen Anforderungen und die Qualitätsmerkmale mit der vorgeschlagenen technischen Lösung. Es hilft auch, Probleme zu identifizieren und Verbesserungsmöglichkeiten zu erkennen

Szenariobasierte Auswertungen sind eine dominante Methode zur Überprüfung eines Architekturdesigns, die sich auf die Szenarien konzentriert, die aus geschäftlicher Sicht am wichtigsten sind und die den größten Einfluss auf die Architektur haben. Es folgen gängige Überprüfungsmethoden -

Analysemethode für die Softwarearchitektur (SAAM)

Es wurde ursprünglich zur Bewertung der Modifizierbarkeit entwickelt, später jedoch zur Überprüfung der Architektur hinsichtlich Qualitätsmerkmalen erweitert.

Architektur-Kompromiss-Analysemethode (ATAM)

Es handelt sich um eine polierte und verbesserte Version von SAAM, die Architekturentscheidungen hinsichtlich der Anforderungen an Qualitätsattribute und der Erfüllung bestimmter Qualitätsziele überprüft.

Active Design Review (ADR)

Es eignet sich am besten für unvollständige oder in Bearbeitung befindliche Architekturen, die sich mehr auf eine Reihe von Problemen oder einzelne Abschnitte der Architektur gleichzeitig konzentrieren, als eine allgemeine Überprüfung durchzuführen.

Aktive Überprüfungen von Intermediate Designs (ARID)

Es kombiniert den ADR-Aspekt der Überprüfung der in Bearbeitung befindlichen Architektur mit einem Fokus auf eine Reihe von Themen und den ATAM- und SAAM-Ansatz der szenariobasierten Überprüfung, der sich auf Qualitätsattribute konzentriert.

Kosten-Nutzen-Analyse-Methode (CBAM)

Der Schwerpunkt liegt auf der Analyse der Kosten, des Nutzens und der Auswirkungen von Architekturentscheidungen auf den Zeitplan.

Modifizierbarkeitsanalyse auf Architekturebene (ALMA)

Es schätzt die Modifizierbarkeit der Architektur für Geschäftsinformationssysteme (BIS).

Bewertungsmethode für Familienarchitektur (FAAM)

Es schätzt die Architekturen der Informationssystemfamilie auf Interoperabilität und Erweiterbarkeit.

Kommunikation des Architekturdesigns

Nach Abschluss des Architekturentwurfs müssen wir den Entwurf den anderen Stakeholdern mitteilen, zu denen das Entwicklungsteam, Systemadministratoren, Betreiber, Geschäftsinhaber und andere interessierte Parteien gehören.

Es gibt mehrere bekannte Methoden zur Beschreibung der Architektur für andere: -

4 + 1 Modell

Dieser Ansatz verwendet fünf Ansichten der gesamten Architektur. Darunter vier Ansichten (dielogical view, das process view, das physical view, und die development view) beschreiben die Architektur aus verschiedenen Ansätzen. Eine fünfte Ansicht zeigt die Szenarien und Anwendungsfälle für die Software. Es ermöglicht den Stakeholdern, die Merkmale der Architektur zu sehen, die sie speziell interessieren.

Architekturbeschreibungssprache (ADL)

Dieser Ansatz wird verwendet, um die Softwarearchitektur vor der Systemimplementierung zu beschreiben. Es behandelt die folgenden Probleme - Verhalten, Protokoll und Konnektor.

Der Hauptvorteil von ADL besteht darin, dass wir die Architektur auf Vollständigkeit, Konsistenz, Mehrdeutigkeit und Leistung analysieren können, bevor wir offiziell mit der Verwendung des Designs beginnen.

Agile Modellierung

Dieser Ansatz folgt dem Konzept, dass „Inhalt wichtiger ist als Repräsentation“. Es stellt sicher, dass die erstellten Modelle einfach und leicht verständlich, ausreichend genau, detailliert und konsistent sind.

Agile Modelldokumente zielen auf bestimmte Kunden ab und erfüllen die Arbeitsanstrengungen dieses Kunden. Die Einfachheit des Dokuments stellt sicher, dass die Interessengruppen aktiv an der Modellierung des Artefakts beteiligt sind.

IEEE 1471

IEEE 1471 ist die Kurzbezeichnung für einen Standard, der formal als ANSI / IEEE 1471-2000 bekannt ist: „Empfohlene Vorgehensweise für die Architekturbeschreibung softwareintensiver Systeme“. IEEE 1471 erweitert insbesondere den Inhalt einer Architekturbeschreibung und gibt Kontext, Ansichten und Gesichtspunkten eine spezifische Bedeutung.

Unified Modeling Language (UML)

Dieser Ansatz repräsentiert drei Ansichten eines Systemmodells. Dasfunctional requirements view (funktionale Anforderungen des Systems aus Sicht des Benutzers, einschließlich Anwendungsfälle); the static structural view(Objekte, Attribute, Beziehungen und Operationen einschließlich Klassendiagrammen); und diedynamic behavior view (Zusammenarbeit zwischen Objekten und Änderungen des internen Status von Objekten, einschließlich Sequenz-, Aktivitäts- und Statusdiagrammen).