Softwarearchitektur

Erhöhte Wettbewerbsfähigkeit durch Softwaretechnik

Software ist heute ein wesentlicher Erfolgsfaktor für innovative technische Systeme. Immer mehr Funktionalität kann nur durch eingebettete Software realisiert werden. Die eingebettete Software bestimmt die Qualität dieser innovativen Produkte maßgeblich mit. Die fortwährende Verschmelzung von technischen Systemen und Informationssystemen zu sogenannten Cyber-Physical Systems (CPS) erhöht die Komplexität der Systeme zusätzlich. Umso entscheidender ist die effiziente Entwicklung einer fehlerfreien Software. Ohne die Erstellung einer Softwarearchitektur ist die Gefahr groß, dass die Entwicklungskosten in die Höhe schießen und den Erfolg des Projekts gefährden. Denn immer wieder kommt es aufgrund fehlender oder fehlerhafter Softwarearchitekturen zu Problemen, die die Entwicklung signifikant verzögern und den Arbeitsaufwand maßgeblich erhöhen.

© Fraunhofer IEM

Softwarearchitektur im Zentrum der Softwareentwicklung

Ohne eine Softwarearchitektur fehlt den Projektbeteiligten die Übersicht über das Projekt. Das erschwert die Planung und die Zuordnung von Aufgaben auf Mitarbeiter. Außerdem sind Änderungen sehr aufwändig und bergen die Gefahr, neue Fehler in das System zu bringen, die wiederum aufgrund der fehlenden Übersicht schwer zu beheben sind. Weiterhin wird die Wiederverwendung von Komponenten erschwert. Das kann dazu führen, dass Komponenten mehrfach entwickelt werden müssen, was die Kosten unnötig steigert. Obendrein ist viel Abstimmung unter den einzelnen Entwicklern nötig, wodurch der Arbeitsaufwand steigt.

Das Fehlen einer Softwarearchitektur erschwert darüber hinaus die Kommunikation mit den Stakeholdern. Es gibt keine gemeinsame Basis für die Kommunikation, die alle verstehen können. Deshalb kommt es immer wieder zu Missverständnissen, wodurch das Produkt am Ende nicht die Anforderungen des Kunden erfüllt und dieser unzufrieden ist. Eine Softwarearchitektur hilft Projekte effizient zu gestalten, indem Wissen und Entscheidungen dokumentiert, Verständnis geschaffen und Risiken minimiert werden. Wir beraten Sie bei der Erstellung Ihrer Softwarearchitekturen und führen Qualitätsbewertungen Ihrer Softwarearchitekturen durch.

Nutzen der Softwarearchitektur

  • Wettbewerbsfähigkeit durch effizientere und schnellere Entwicklung.
  • Beherrschung komplexer Software.
  • Systematisierung der Softwareentwicklung durch Vorgabe projektspezifischer Richtlinien und Vorgehensweisen.
  • Systematische Wiederverwendung von Software.
  • Besseres Systemverständnis für alle Projektpartner.
  • Grundlage zur Kommunikation mit allen Projektbeteiligten.
  • Grundlage für Ressourcenplanung, Aufwandsabschätzung und Risikoanalyse.

Entwurf und Bewertung von Softwarearchitekturen

Kern unserer Leistungen sind der Entwurf und die Bewertung von Softwarearchitekturen. Bei vorhandener Software ohne dokumentierte Architektur wird diese aus dem Quellcode wiedergewonnen.

Die Softwarearchitektur ist ferner Grundlage zur Qualitätsbewertung und systematischen Wiederverwendung von Software.

Unser Angebot

  • Entwurf und Dokumentation von Softwarearchitekturen.
  • Bewertung von Softwarearchitekturen hinsichtlich Performance, Verfügbarkeit, Sicherheit und Zukunftsfähigkeit.
  • Unterstützung bei der Projektplanung.
  • Wiedergewinnung von Softwarearchitekturen aus dem Quellcode bestehender Software (Reverse Engineering).
  • Integration von Altkomponenten in neu zu entwickelnde Systeme.
  • Verteilung von Softwarearchitekturen auf Hardwarearchitekturen.

 

Unsere Besonderheiten

  • Weitreichende Erfahrung in der Entwicklung und Analyse von Softwarearchitekturen.
  • Betrachtung der Softwarearchitektur im Kontext des technischen Gesamtsystems.
  • Entwicklung von Softwarearchitekturen für eingebettete Systeme mit MechatronicUML: eine Spezialisierung der UML in Verbindung mit einem Vorgehensmodell für die Softwareentwicklung für mechatronische Systeme.