Softwareentwicklung - doubleSlash

Software Design & Software Architektur

Nachhaltige Software braucht ein solides Fundament - das Software Design

Ein unzureichendes Software-Design wird spätestens dann zum Verhängnis, wenn ein IT-System mit neuen oder geänderten Anforderungen konfrontiert wird. Dann führt beispielsweise mangelnde Wartbarkeit zu hohen Kosten und langen Vorlaufzeiten für die Umsetzung neuer oder geänderter Anforderungen. In einer schnelllebigen Zeit, mit sich ständig ändernden Markt und Kunden-Anforderungen kann das für Unternehmen zum strategischen Nachteil gegenüber der Konkurrenz werden.

Auch Sicherheitsvorfälle und Probleme mit der Performanz einer Software lassen sich häufig auf Mängel in der Architektur des IT-Systems zurückführen.

Ihre Vorteile durch ein nachhaltiges Software Design

Ein fundiertes und professionelles Software Design ist die Grundlage für die Entwicklung einer nachhaltigen Softwarelösung. Das IT-Design definiert, wie die Softwarearchitektur einer Softwarelösung aussieht, wie die Lösung in eine bestehende IT-Infrastruktur integriert wird und welche konkreten Technologien für die Umsetzung eingesetzt werden.

Das hat im Projekt selbst und über den gesamten Lebenszyklus der Software entscheidende Vorteile:

  • Reduktion von Software Komplexität durch transparente Darstellung der Softwarelösung und ihrer Schnittstellen in die bestehende IT-Infrastruktur. Fehler in der Architekturentscheidung, die sich im Nachgang oft nur mit hohem finanziellen Aufwand korrigieren lassen, werden so erheblich verringert.
  • Nachhaltige Reduktion von Wartungskosten durch ein konsequentes Softwaredesign bei Anpassungen aufgrund neuer und sich ändernder Anforderungen oder Vorgaben. Damit ist Ihre Softwarelösung zukunftssicher.
  • Volle Flexibilität in Ihrer IT-Infrastruktur durch solide und nachweisbare Architekturentscheidungen.
  • Einhaltung von Sicherheitsstandards in jeder Schicht der Softwarearchitektur. Das vermeidet Sicherheitsvorfälle und damit verbundene Image- und finanzielle Schäden.
  • Hohe Investitionssicherheit und geringe Folgekosten durch unser zertifiziertes IT-Know-how.

Software Design in zwei Phasen: Software Architektur vs. technisches Design

Grundsätzlich lässt sich das IT-Design in zwei wesentliche Phasen einteilen. In der ersten Phase wird die IT-Architektur definiert, für welche dann in der zweiten Phase das konkrete technische Design festgelegt wird.

IT Architektur

Die IT-Architektur legt fest, aus welchen Teil-Systemen und Komponenten das IT-System bestehen soll. Hier geht es um die grundlegende Struktur des IT-Systems. Die IT Architektur kann weitestgehend unabhängig von den konkret eingesetzten Technologien entworfen werden. Denn zunächst geht es darum, eine Struktur zu erstellen, die die Anforderungen bestmöglich abdeckt. Neben den nicht-funktionalen Anforderungen (z.B. Wartbarkeit oder Erweiterbarkeit) spielen auch Vorgaben der "Enterprise Architecture Management" eine wesentliche Rolle, um eine optimale Integration mit anderen Systemen im Unternehmen zu erreichen.

Moderne Architekturen wie der Microservice-Ansatz haben sich dabei in vielen Projekten, die wir mit unseren Kunden durchgeführt haben, als sehr zielführend erwiesen.

Für die Spezifikation der IT Architektur haben sich bildliche Darstellungen etabliert. Wir nutzen für die IT Architektur fast ausschließlich die Unified Modeling Language (UML). Diese sehr mächtige Notation bietet verschiedene Diagrammtypen, die jeweils eine andere Sichtweise auf das IT-System bieten.

Diese unterschiedlichen Sichtweisen ermöglichen es, alle Aspekte des Systems zu beleuchten und spiegeln die unterschiedlichen Sichtweisen der Stakeholder wider. Hier ein Ausschnitt aus den wichtigsten Diagrammtypen der UML, die wir in unseren Projekten regelmäßig einsetzen:

Entity Relationship Modell

Das ER-Diagramm beschreibt, welche Daten ein Softwaresystem verarbeiten soll und wie sie intern miteinander zusammenhängen (Relationen). Ein ER-Modell liefert auch gleichzeitig eine Art Glossar. So werden Begriffsverwirrungen vermieden

Funktionales Modell

Das funktionale Modell beschreibt, aus welchen Komponenten ein IT-System besteht und über welche Schnittstellen die Komponenten miteinander kommunizieren.

 

Sequenzdiagramm

Das Sequenzdiagramm stellt die Kommunikationsabläufe zwischen den Komponenten dar.


 

Technisches Design

Im technischen Design wird festgelegt, mit welchen konkreten Technologien die IT Architektur umgesetzt wird.

Für ein modernes Frontend wird häufig ein JavaScript Framework eingesetzt, z.B. Angular. Im Backend finden sich in vielen Fällen Java oder .NET basierte Implementierungen.

Weitere zentrale Entscheidungen im Software Design sind die Strukturierung der Daten in den Datenbanken des IT-Systems und die Verteilung der Komponenten auf die technische Infrastruktur. Von zentraler Bedeutung ist nicht zuletzt die technische Implementierung der Schnittstellen, da insbesondere hier viel Aufwand entstehen kann.

Die Phasen der Softwareentwicklung bei doubleSlash

Geprüft und zertifiziert für den Einsatz in Ihrem Unternehmen



Wir unterstützen Sie gern im professionellen Software Design!

Mit der passenden Methode und den richtigen Experten für Ihre Softwarearchitektur führen wir Ihr Projekt gemeinsam mit Ihnen zum Erfolg. Kontaktieren Sie uns!