System- und Softwarearchitekturen

Die Architektur ist das Herzstück jedes technischen Systems. Sie dokumentiert alle wesentlichen Entscheidungen und damit das technologische Wissen des Entwicklungsteams. Die Qualität der Architektur entscheidet über die Qualitätseigenschaften Ihrer Produkte.

KONSTRUKTION DES ARCHITEKTURMODELLS

Durch ein gut gewähltes Abstraktionsniveau in der Architektur können sich die Architekten auf das Wesentliche konzentrieren. Dabei hat sich der Einsatz von standardisierten Modellierungssprachen und
 -‌​‌schablonen  bewährt.

Wir ermöglichen Ihnen …

  • einen optimierten Einsatz von Modellierungsmethoden, z. B. mit SysML und UML
  • eine Modellierung nach dem „State of the Art“
  • eine Minimierung der Lernkurven durch gezieltes Coaching
  • eine signifikante Effizienzsteigerung für Ihre Architekten

STIMMT ALLES MIT IHRER ARCHITEKTUR?

Zur Verringerung der technischen Risiken empfehlen wir eine Analyse und Bewertung Ihrer Softwarearchitektur. Dadurch können bestimmte Qualitätseigenschaften von Softwaresystemen, z. B. Wartbarkeit, Sicherheit oder Zuverlässigkeit, ganz gezielt auf den Prüfstand gestellt werden.

Wir liefern Ihnen …

  • qualitative Bewertungen und Risikoanalysen, z. B. gemäß ATAM
  • fundierte Aktionspläne zur Verbesserung Ihrer Software
  • Ergebnisse von Architektur-Metriken zur quantitativen Bewertung Ihrer Software
  • klare Handlungsgrundlagen mit Hilfe von Dashboards

SYSTEMS ENGINEERING

Software wird nur noch selten als isolierter Monolith entwickelt. Typische Szenarien sind die Anbindung komplexer Fremdsysteme, die parallele Erstellung von integrierten Hard- und Software-Komponenten oder die Entwicklung sogenannter Cyber Physical Systems bzw. hochverteilter Systeme für das Internet of Things.

Um die Komplexität solcher Szenarien in den Griff zu bekommen, hat sich die Disziplin des Systems Engineering bewährt. Insbesondere in kritischen Umfeldern kommt man ohne Modelle z. B. für die Analyse der Auswirkungen externer Einflüsse oder Attack Surfaces nicht mehr aus.

Wir unterstützen Sie bei der …

  • Einführung und Verankerung effizienter Methoden im Systems Engineering
  • Vereinheitlichung unterschiedlicher Aspekte der Produktentwicklung
  • Abstimmung des Vorgehens in unterschiedlichen Entwicklungsbereichen

VARIANTENMANAGEMENT FÜR PRODUKTLINIEN

Moderne Software ist sinnvollerweise aus den Elementen einer einheitlichen Plattform und wiederverwendbaren Bausteinen zusammengesetzt. Dabei spielen Systemarchitektur, Feature-Planung und Wiederverwendung Hand in Hand.

Wir helfen Ihnen, …

  • Verfahren für die strategische und operative Feature-Entwicklung zu finden
  • Make/Use/Buy-Entscheidungen systematisch vorzubereiten und durchzuführen
  • die Wiederverwendung von Software-Bausteinen zu optimieren
  • Delivery-Pipelines nahtlos auf Ihre Software-Produktfamilie abzustimmen

Jedes technische System hat eine Architektur, auch wenn sich diese bei der Entwicklung mehr oder weniger „zufällig“ ergeben hat.

Gute Systeme zeichnen sich in der Regel dadurch aus, dass die Architektur explizit entworfen und bei der Programmierung auch konsequent eingehalten wird. Model Based Systems/Software Engineering (MBSE) verfolgt das Ziel, Software zu modellieren und große Teile des Programmcodes zu generieren.

DOMÄNENSPEZIFISCHE SPRACHEN (DSL)

Die volle Leistungsfähigkeit entwickeln standardisierte Programmier- und Modellierungssprachen erfahrungsgemäß erst dann, wenn sie durch Domain Specific Languages (DSLs) ergänzt oder für die jeweilige Domäne angepasst werden. Die Einführung von DSLs ist eine zeitgemäße Innovation und steigert die Entwicklungsgeschwindigkeit.

Wir erstellen für Sie …

  • Business Cases als transparente Entscheidungsgrundlagen für den Einsatz von DSLs
  • hocheffiziente Entwicklungswerkzeuge – passgenau für Ihr Einsatzszenario
  • Trainingsunterlagen zum Know-how-Transfer von Technologie und Methode – inklusive der Durchführung von Workshops

SIE WOLLEN RENOVIEREN?

Auch Software altert und zeigt Verschleiß. Was im ersten Moment paradox klingt, lässt sich empirisch nachweisen. Proaktives Änderungs- und Wartungsmanagement hilft dabei, teure Neuentwicklungen zu vermeiden.

Wir bieten Ihnen …

  • professionelle Renovierung aus einer Hand
  • individuelle Maßnahmenpläne für die Renovierung, inklusive einer detaillierten Kosten-, Nutzen- und Risikobetrachtung
  • Vorschläge für gezielte Refactoring-Maßnahmen, z. B. zur Verbesserung der IT-Security
  • messbare Verbesserungsergebnisse durch Einsatz von Metriken, z.B. zur Kohäsion und Kopplung von Komponenten

PROTOTYPEN UND SPIKES

Aufwand und Risiko neuer Technologien und Vorgehensweisen sollten objektiv bewertet werden, bevor man existierende Systeme umbaut oder neue Systeme konzipiert.

Wir eröffnen Ihnen die Möglichkeit, …

  • Investitionen in die Software-Entwicklung auf Basis konkreter Prototypen bzw. Spikes objektiv zu bewerten
  • Know-how über neue Technologien effizient „hands on“ zu erwerben
  • frühzeitig fundierte Rückmeldungen zu geplanten neuen Software-Features zu erhalten