Services / IT Consulting

IT-Architektur

Entwicklung von IT-Architekturen

Ausgehend von den funktionalen und nicht-funktionalen Anforderungen an das System ist es Aufgabe des Systemarchitekten, eine geeignete Systemarchitektur zu entwerfen. Die Architekturprodukte dienen dabei sowohl als Leitfaden als auch zur Dokumentation der Entwurfsentscheidungen.

In einem ersten Schritt werden richtungsweisende Architekturprinzipien festgelegt und mögliche Entwurfsalternativen untersucht.

Entsprechend der gewählten Entwurfsalternative wird die Zerlegung (Dekomposition) des Systems in Segmente, HW-, SW- und Externe Einheiten beschrieben.

Beziehungen und Schnittstellen zwischen den Elementen und zur Umgebung werden identifiziert und im Überblick dargestellt.

Zusätzlich werden querschnittliche Systemeigenschaften wie Sicherheitskonzept, Transaktionskonzept oder Loggingkonzept festgelegt.

Die gewählte Architektur wird hinsichtlich ihrer Eignung für das zu entwickelnde System bewertet.

Offene Fragen können beispielsweise im Rahmen einer prototypischen Entwicklung geklärt werden.

Hauptverantwortlicher für den Architekturentwurf ist der Systemarchitekt. Unterstützt wird er von verschiedenen Experten zu Einzelthemen wie HW-Entwicklung, SW-Entwicklung, Logistik, Systemsicherheit oder Ergonomie.

Die Architektur stellt das zentrale Dokument für die Erstellung weiterer Produkte dar. Sie legt alle Segmente, HW-, SW- und Externe Einheiten des Systems fest. Entsprechend den Vorgaben werden für jede HW- oder SW-Einheit eine Architektur sowie für die jeweiligen Elemente die Spezifikationen erstellt.

Was ist eine IT-Architektur ?

IT-Architekturen beschreiben die Komponenten eines Programms oder eines IT-Systems, ihre Beziehung untereinander sowie Prinzipien und Richtlinien, die ihr Design und ihre weitere Entwicklung bestimmen.

Die Rolle des SW-Architekten

Die Verantwortlichkeiten eines IT-Architekten ergeben sich aus dem Zusammenspiel seiner Aufgaben beim Einsatz der Methodik zur Definition einer IT-Architektur und seiner spezifischen Aufgaben im konkreten Projekt.

Tasks of IT Architecture
Aufgaben - Methodik Verantwortlichkeiten Aufgaben - Rolle
  • Stellt Checklisten bereit, zB. für Reviews
  • Stellt Vorlagen für einheitliche Projektdokumentation bereit
  • Schult Team in verwendete Technologien, Best Practices, Paradigm, Richtlinien
  • Dokumentation, wie die einzelnen Bausteine zusammenpassen
  • Erstellt Richtlinien für die Design-, Entwickliungs- und Test Teams
  • ...
  • Prüft Analyseergebnisse auf Vollständigkeit
  • Berücksichtigung von Randbedingungen, zB. gesetzliche Vorschriften, vorhandene Technologien und Systeme, usw.
  • Entscheidet über Programmiersprachen, Middleware, Technologien, Paradigm
  • Kompexität erkennen und reduzieren
  • ...
  • Schnittstelle zum Kunden mittels Rapid-Prototyping Ergebnisorientiert
  • Unterstützt Projektmanagement, zB. Einsatzresourcen und ihre Fähigkeiten, Fortschrittsüberwachung, usw.
  • Arbeitet Hand-in-Hand mit
    QA-Manager und Risk-Manager
  • Verantwortlich, dass SW-Prozess eingehalten wird, zB. Reviews organisiert und durchgeführt werden
  • ...

Erst verschiedene Sichten ergeben das ganze Bild

Eine zentrale Anforderung an den IT-Architekten ist, dass er unterschiedliche Sichten auf die gestellte Aufgabe hat. Nur so ist sichergestellt, dass die entwickelte Lösung später tatsächlich alle identifizierten Anforderungen erfüllen kann.

Views
Kontextsichten (statisch) Laufzeitsichten (dynamisch) Verteilungssichten (statisch)
  • Gesamtüberblick
  • Wie gehören die verschiedenen Sub- Systeme / Komponenten logisch zusammen?
  • Wie ist das System aufgebaut?
  • WWelche Schnittstellen werden zur Verfügung gestellt bzw. benötigt?
  • Wie ist die zeitliche Interaktion zwischen den Sub- Systemen / Komponenten?
  • Welche Schnittstellen / Services / Methoden werden von wem wann aufgerufen?
  • Abbildung der Business-Logik auf die Sub- Systemen / Komponenten
  • Auf welcher Hardware laufen Sub- Systemen / Komponenten, usw?
  • Anforderungen an die jeweilige Hardware
  • Wie sind diese Einheiten miteinander verbunden (zB. Netzwerkauslegen, usw.)?