Systemarchitektur und GeschÀftsarchitektur





Nachdem ich lange genug darĂŒber nachgedacht hatte, wie verschiedene Experten ihr VerstĂ€ndnis von Architektur erklĂ€ren (etablieren), entschied ich, dass sie immer noch Hilfe brauchen :) Ich

habe nicht kritisiert, aber ich habe etwas zu bieten.



Architektur und GebÀudestrukturen



Betrachten Sie die ursprĂŒnglichen Konzepte von Architektur und Architekten aus dem Bereich des Bauens:

Architektur ist die Kunst, GebÀude, Strukturen und deren Komplexe zu entwerfen und zu bauen, dh die Kunst, eine materiell organisierte Umgebung zu schaffen.

Ein Architekt ist ein Spezialist, der auf professioneller Basis architektonische EntwĂŒrfe durchfĂŒhrt, einschließlich der Gestaltung von GebĂ€uden, einschließlich der Entwicklung von Raumplanungs- und Innenraumlösungen.


Das Bauprojekt besteht aus zwei Hauptteilen: Architektur, Bauwesen und Ingenieurwesen.



Der architektonische und bauliche Teil des Projekts umfasst:



  • Der Architekturabschnitt besteht aus Architektur- und Konstruktionszeichnungen, die die genauen geometrischen Parameter des GebĂ€udes, seiner Strukturen und ihrer Elemente angeben: Grundrisse, Fußböden, Dachplan, Fassaden, Schnitte, Visualisierung.
  • Der Entwurfsabschnitt enthĂ€lt allgemeine Daten, Entwurfslösungen fĂŒr Fundamente, Böden, DĂ€cher, Zeichnungen einzelner Baugruppen und Teile, Spezifikationen von Produkten und Materialien: Fundamente, Decken, StĂŒrze, DĂ€cher, Baugruppen und Details.


Der technische Teil des Projekts besteht aus detaillierten Diagrammen:



  • Wasserversorgungs- und Abwassersysteme - Wasserversorgungsplan, axonometrischer Wasserversorgungsplan, Kanalisationsplan.
  • Heizung und LĂŒftung - Heizungsschaltplan, LĂŒftungsschaltplan, Kesselleitungen (falls vorhanden).
  • Stromversorgung - Beleuchtungskabel, Stromnetzkabel, ASU-Schaltung, Erdungssystem.


Der Architekt befasst sich nur mit dem Architekturbereich, wÀhrend die Struktur- und Ingenieurabteilungen von den jeweiligen Ingenieuren behandelt werden.



... ein Ort zum Nachdenken ...



FĂŒr IT-Architekten, die "im Tank" sind und sich gerne mit Architekten vergleichen:
, . , , , .



Systemarchitektur



Schauen wir uns nun eine Definition an, die nĂ€her an der IT liegt. Ich werde AuszĂŒge aus dem Artikel als Grundlage nehmen .



Architektur - grundlegende Konzepte oder Eigenschaften eines Systems in seiner Umgebung, verkörpert in seinen Elementen, Beziehungen und Prinzipien seines Designs und seiner Entwicklung. (Aus: ISO / IEC / IEEE 42010: 2011)


Solche und Ă€hnliche Definitionen werden hĂ€ufig in großen Architekturrahmen wie TOGAF und SAFe verwendet. Diese Frameworks sind ziemlich schwer und bestehen aus einer kleinen Reihe von Praktiken, die systematisiert und mit vielen verschiedenen Techniken und Techniken verdĂŒnnt werden. Und all dies wird als "Best Practices" dargestellt, obwohl niemand sie getestet hat und sie nicht vollstĂ€ndig in dieser Form anwendet.

– , . ( )


Es gibt jedoch eine SubtilitÀt mit der Eigenschaft "schwer zu Àndern".



Angenommen, Sie haben eine Entwurfslösung, die Ihren Entwicklern beschreibt, wie sie ihren Java-Code strukturieren sollen. Wenn Sie viel Code haben, erfordert das Ändern des gesamten Codes von einer Struktur in eine andere viel Arbeit. Mit anderen Worten, es ist schwer. Daher ist diese gewĂ€hlte Lösung die "Architektur", in diesem Fall die Softwarearchitektur. Ein Entwickler kann diese Entscheidung jedoch leicht ignorieren und Code schreiben, der die Dinge anders macht. Schließlich ist es einfach, "Änderungen" an der Software vorzunehmen. Obwohl es schwierig ist, die gesamte implementierte Architektur zu Ă€ndern, ist es oft recht einfach, nur bestimmte Teile davon zu Ă€ndern.

Es gibt keinen theoretischen Grund, warum es schwierig ist, etwas in Bezug auf Software zu Àndern. Wenn Sie einen Aspekt der Software auswÀhlen, können Sie ihn leicht Àndern, aber wir wissen nicht, wie Sie alles leicht Àndern können. Wenn Sie etwas leicht Àndern können, wird das Gesamtsystem etwas schwieriger, und wenn Sie es einfach Àndern, wird das gesamte System sehr komplex. (Ralph Johnson)


Es kann argumentiert werden, dass dies die Bedeutung des Wortes "grundlegend" in der Definition von "Architektur" gemĂ€ĂŸ ISO offenbart, was schwer zu Ă€ndern ist.

Das Wesen der Architektur ist die Strukturierung. Strukturieren kann bedeuten, Form in Funktion zu verwandeln, Ordnung aus dem Chaos zu nehmen oder die teilweise geformten Ideen eines Kunden in ein praktikables konzeptionelles Modell (Eberhard Rechtin) umzuwandeln.


Beim Aufbau einer Architektur wird ein System aus seinen Bestandteilen heraus organisiert und gewartet. Alle architektonischen Prinzipien zielen auf die Zerlegung und Organisation der Bestandteile des Systems ab.



Problem



Das Problem mit den obigen Definitionen besteht, obwohl sie nĂŒtzlich sind, immer noch, sie sind jedoch von der im System eingebetteten Idee getrennt. Es ist ziemlich seltsam, Architektur nach dem Kriterium „schwer zu Ă€ndern“ zu unterscheiden.



Auch die Definition durch die Komponenten in diesem Fall vermittelt nicht die notwendige Bedeutung.



... ein Ort zum Nachdenken ...



Die meisten Systemarchitekten kommen von Programmierern, sie sind alle Technokraten. Sie haben sich alles ausgedacht. :)

Wenn Sie mit Architektur arbeiten, ist es besser, sich auf den Zweck des Systems zu konzentrieren.



Architektur ist eine Entwurfslösung, die eine Reihe von Entwurfslösungen in einem System organisiert, das dem beabsichtigten Zweck entspricht.



Es ist eine Designlösung, die die RÀder, den Motor, die Karosserie und die Lenkung in einem Auto organisiert.



Mit anderen Worten,Architektur ist eine Designlösung, die einen emergenten Effekt erzeugt. Entstehung - das Erscheinen eines Systems von Eigenschaften, die seinen Elementen nicht separat inhÀrent sind; IrreduzibilitÀt der Eigenschaften des Systems auf die Summe der Eigenschaften seiner Komponenten.

Es ist wichtig, Abstraktionsebenen nicht zu mischen . Auch spÀter kann sich die Frage stellen, was gute Architektur ist. Die Architektur sollte die Implementierung der drei Hauptmerkmale der SystemqualitÀt sicherstellen: ZuverlÀssigkeit , Effizienz , FlexibilitÀt . Es gibt andere, zum Beispiel Skalierbarkeit, Testbarkeit, Wartbarkeit usw., aber sie sind nicht immer so wichtig.



GeschÀftsarchitektur



Die GeschĂ€ftsarchitektur hat ihre eigenen Besonderheiten. Erstens gibt es eine Arbeitsarchitektur, die verstanden und beschrieben werden muss. Zweitens hat das GeschĂ€ft seine eigenen Prinzipien und Grundkonzepte, die Sie kennen mĂŒssen. Nur wenn Sie das GeschĂ€ft und die grundlegenden Konzepte verstehen, können Sie Änderungen vorschlagen.



Wie bei jeder anderen Architektur werden drei Aspekte verwendet, um die Grundlage einer GeschÀftsarchitektur zu beschreiben:



  • Themen sind eine organisatorische Personalstruktur.
  • AktivitĂ€ten sind GeschĂ€ftsprozesse, Funktionen und Dienstleistungen.
  • Objekte sind das Ergebnis von AktivitĂ€ten und Material fĂŒr AktivitĂ€ten. In diesem Fall können das Ergebnis und das Material physisch oder informativ sein.


Dies reicht jedoch nicht aus, um dies zu verstehen. Sie mĂŒssen die grundlegenden Konzepte und Prinzipien berĂŒcksichtigen.



Das Konzept der "drei Arten von AktivitÀten"



Es gibt drei Arten von AktivitÀten:



  • Manager - die AktivitĂ€t, die die Funktionsweise des Systems steuert. Ein Beispiel fĂŒr einen Managementprozess ist Corporate Governance und Strategisches Management.
  • Main (Operating) - AktivitĂ€ten, die die Grundlage des GeschĂ€fts des Unternehmens bilden und die Haupteinnahmequelle bilden. Beispiele fĂŒr betriebliche GeschĂ€ftsprozesse sind Beschaffung, Fertigung, Marketing, Vertrieb.
  • UnterstĂŒtzend - AktivitĂ€ten, die dem HauptgeschĂ€ft dienen. Zum Beispiel Buchhaltung, Personalbeschaffung, technischer Support, Verwaltungsabteilung.


UnterstĂŒtzende AktivitĂ€ten werden hĂ€ufig ausgelagert. Die im obigen Beispiel als HauptaktivitĂ€t angegebenen AktivitĂ€ten sind nicht immer die HauptaktivitĂ€ten, da sie auch ausgelagert werden können. Es gibt immer eine ManagementaktivitĂ€t, theoretisch ist es möglich, alles außer dem Management auszulagern und das Unternehmen virtuell zu machen.



Outsourcing-Management:
? outsource. :)



Deming-Zyklen-Konzept



Als Architekten haben wir die AktivitĂ€ten des Unternehmens in drei Teile geteilt. Jetzt mĂŒssen Sie verstehen, wie alles zusammenarbeitet. Dazu brauchen wir ein anderes altes, aber immer noch relevantes Konzept - den Deming-Zyklus, auch bekannt als PDCA:



  • Planung
  • Handlung
  • PrĂŒfen
  • Einstellung


Sie mĂŒssen es nicht wörtlich nehmen, es ist eher eine Metapher, und in verschiedenen Unternehmen wird es auf unterschiedliche Weise implementiert, aber diese Phasen sind immer vorhanden.



Sehen wir uns unsere spezifischen Konstruktionsarbeiten, Produktherstellungen oder Serviceleistungen an:



  • Wer hat diesen Prozess geplant?
  • Was sind die regulatorischen und regulatorischen Dokumente?
  • Wer macht die Aktion?
  • Wie erfolgt die ÜberprĂŒfung?
  • Wie erfolgt die Anpassung?


Wenn in der Phase „Aktion“ und „ÜberprĂŒfung“ alles klar zu sein scheint, mĂŒssen „Planung“ und „Anpassung“ genauer betrachtet werden.



Entscheidungskonzept



Hier brauchen wir ein drittes Konzept - Entscheidungsfindung. Es ist ein universeller Ansatz zur Lösung von Managementproblemen und zum Projektmanagement.



  • Die Aufgabe verstehen
  • Bewertungssituation
  • Entwicklung von Lösungsmöglichkeiten
  • Eine Lösung auswĂ€hlen


Es ist wichtig, alle Schritte in dieser Sequenz zu verstehen und zu verstehen, was erforderlich ist, um sie abzuschließen. Dieser Ansatz wird bei der Planung und je nach Situation bei Anpassungen angewendet.



Lassen Sie uns dieses Konzept unseren EntwĂŒrfen zuordnen:



  • Wie erfolgt die AufgabenklĂ€rung?
  • Wie wird die Situation beurteilt?
  • ...


Lassen Sie uns nun zur FĂŒhrungsebene aufsteigen.



  • Wie erhĂ€lt die FĂŒhrung Informationen zur Anpassung und Bewertung der Situation, dh wo sind die Berichte ĂŒber unser Projekt, damit sie alles Gute oder Schlechte verstehen?


Prinzip "Zweck muss Architektur bestimmen"



Es ist wichtig, hier an die Definition von Architektur zu erinnern:



Architektur ist eine Entwurfslösung, die eine Reihe von Entwurfslösungen in einem System organisiert, das dem beabsichtigten Zweck entspricht .



Der Endverbrauch ist normalerweise die HauptaktivitĂ€t. Die ManagementaktivitĂ€t konzentriert sich auf die HauptaktivitĂ€t. UnterstĂŒtzende AktivitĂ€ten bieten es.



Vergessen Sie auch nicht die oben genannten QualitĂ€tsmerkmale: ZuverlĂ€ssigkeit, Effizienz und FlexibilitĂ€t. Die HauptaktivitĂ€t ist eine individuelle Sache, aber hier, denke ich, können Sie sich selbst darum kĂŒmmern.



Prinzip "Architektur muss den Richtlinien entsprechen"



Ohne die UnterstĂŒtzung der Stakeholder wird die Architektur nicht implementiert. Wir mĂŒssen alle Stakeholder, ihre Motive und Ziele untersuchen.



Interner Konflikt ist möglich.



... ein Ort zum Nachdenken ...



GeschÀftsarchitektur definieren



Angesichts der Tatsache, dass Business und IT jetzt Hand in Hand gehen, ist es meiner Meinung nach besser, Business Architecture als eine Reihe von Lösungen auf der obersten Ebene der Abstraktionen der Enterprise Architecture zu betrachten .



Von den bestehenden Definitionen gefÀllt mir die Definition der Special Interest Group (BASIG) des Architecture Board (OMG Architecture Board).

A Blueprint Of The Enterprise That Provides A Common Understanding Of The Organization And Is Used To Align Strategic Objectives And Tactical Demands.



, .




Wenn wir das normale Konzept der Architektur geben, wird die Rolle des Architekten sehr klar.



Der Schuhmacher hat die Aufgabe, Schuhe herzustellen und zu reparieren.



Die Aufgabe des Architekten besteht darin, Architektur zu erstellen und zu verwalten. Er muss eine Lösung erstellen, die alle anderen Lösungen in einem System sammelt .



Welche Kompetenzen sollte er haben?



Der Architekt muss die architektonischen Prinzipien und Konzepte auf seiner GeschÀfts- oder Systemebene kennen, dies sind seine Hardskills .



Ein Architekt sollte auch ein Treiber sein . Architektur zu beschreiben ist die halbe Miete, aber die Leute davon zu ĂŒberzeugen, sie umzusetzen und stĂ€ndig zu unterstĂŒtzen, ist die zweite, nicht weniger Aufgabe.

Dazu muss der Architekt ĂŒber gut ausgebildete Softskills verfĂŒgen....



Es gibt ein weiteres Merkmal, das einen Architekten von einem Analytiker und einem Programmierer unterscheidet: Er muss die Kunst des Betriebs beherrschen .



... ein Ort zum Nachdenken ...



Links



  1. http://www.ovikv.ru/building_project.htm
  2. pubs.opengroup.org/architecture/togaf9-doc/arch/toc.html
  3. pubs.opengroup.org/architecture/togaf9-doc/arch/chap20.html
  4. docs.microsoft.com/ru-ru/dotnet/architecture/modern-web-apps-azure/architectural-principles
  5. www.omg.org/bawg/business_architecture_overview.htm



All Articles