Qualitätsmerkmale

Im Folgenden werden die wichtigsten Qualitätsziele im Hinblick auf die Architektur von Schleupen.CS 3.0 beschrieben. Dabei gilt es, Qualitätsmerkmale zu erfüllen, die versuchen, die Produktqualität zu bewerten und somit zu verbessern. Die Qualitätskriterien dienen vielfach als Grundlage für Architekturentscheidungen, wobei ein leichtgewichtiges ATAM verwendet wird. Die Architekturentscheidungen werden intern in sogenannten Architekture Decision Records dokumentiert. Schleupen.CS 3.0 verwendet dabei das Qualitätsmodell DIN/ISO 9126, welches sich in der Praxis bewährt hat.

Grobe Sicht auf die Qualitätsmerkmale CS 3.0

Diese Qualitätsmerkmale werden im Allgemeinen auf der Anforderungsebene detaillierter beschrieben. Diese werden dann beispielsweise zur Bewertung unterschiedlicher Architekturvorschläge oder Implementierungen herangezogen, um damit die beste Lösung bestimmen zu können. Im Folgenden werden ausgewählte Qualitätsmerkmale daher nur exemplarisch erläutert.

Funktionalität

Die Lösung hinsichtlich der Funktionalität muss insbesondere folgende Kriterien erfüllen:

  • Angemessenheit: Schleupen.CS 3.0 erfüllt ein sehr breites Spektrum an geforderten Funktionalitäten, die sich durch Anforderungen des BDEW etc. und einer Vielzahl von unterschiedlichen Kunden ergeben. Bereitgestellt werden diese durch eine Standard-Plattform, die hierfür kundenindividuell angepasst werden kann. Hier versuchen wir eine möglichst zweckmäßige Lösung zu entwerfen, z.B. durch Fokussierung auf die Geschäftprozessorientierung.
  • Sicherheit: Die Lösung muss in jeglicher Hinsicht sicher sein. Das bedeutet beispielsweise, dass Authentifizierung und Autorisierung umgesetzt sind. Ferner dürfen Datendiebstahl, Manipulation und Denial-of-Service-Attacken nicht möglich sein. Auch dürfen Sniffing, das unsichere Speichern von Schlüsseln, Phishing, SQL-Injection, Cross-Site-Scripting, Cross-Site-Request-Forgery und vieles mehr nicht möglich sein.
  • Konformität: Schleupen.CS 3.0 ist aus Sicht der Nutzung möglichst konform und erfüllt die gesetzlichen Anforderungen, die auch Auswirkungen auf die Architektur haben. So müssen für die Marktkommunikation beispielsweise die EDIFACT-Formate unterstützt werden und die Kommunikation muss über verschlüsselte E-Mails erfolgen. Als weiteres Beispiel muss die EUDSGVO umgesetzt sein.
    Da Technologietrends kommen und gehen, ist eine weitere Anforderung, Standards zu verwenden, da diese Investitionen Zukunftssicherheit geben. Zu solchen Standards gehört beispielsweise die Nutzung von HTTP/HTTPS als Protokoll oder die Umsetzung von Frontends als HTML5-Web-Frontends. Hierzu zählen auch Architekturstandards wie beispielsweise Mikroservices.
  • Flexibilität: Unternehmen, die Schleupen.CS 3.0 einsetzen, agieren in einem Marktumfeld, das durch eine starke, schnell voranschreitende Regulierung geprägt ist. Hieraus resultiert ein Anstieg der Komplexität und die Notwendigkeit zur Diversifikation der angebotenen Leistungen. Daraus ergibt sich das Ziel, eine Plattform bereitzustellen, die agile Unternehmen dabei unterstützt, den stetigen Wandel aktiv zu gestalten. Schleupen.CS ermöglicht den effizienten Umgang mit wachsender Komplexität und verschafft die nötige Flexibilität, um schnell auf sich ändernde Anforderungen zu reagieren und die sich bietenden Chancen zu Nutzen. Hierzu gehört beispielsweise:
    •  Selektives Verwenden der relevanten Bausteine in Abhängigkeit von Marktrolle und der gewünschten Funktionalität 
    • Austauschbarkeit einzelner Bausteine
    • Möglichkeit der Konfiguration der Bausteine
  • Interoperabilität: Da unsere Kunden auch andere Software und Softwaresysteme im Einsatz haben, ist es notwendig, mit einer Vielzahl vorgegebener Systeme zusammenwirken zu können. Schleupen.CS ist explizit für Integrationsszenarien konzipiert und kann einfach erweitert werden.

Zuverlässigkeit

Die folgenden Ziele, die die Leistungsfähigkeit der Software unter festgelegten Rahmenbedingungen bewahren sollen, sind in Schleupen.CS 3.0 essenziell:

  • Fehlertoleranz/Reife: Schleupen.CS 3.0 sollte aus unserer Sicht ein möglichst resilientes Verhalten aus Nutzersicht aufweisen. Dabei bedeutet ein resilientes Verhalten, dass der Benutzer bei unerwarteten Situationen wie einer hohen Systembelastung bestenfalls hiervon nichts mitbekommt bzw. höchstens das System etwas langsamer arbeitet. Das bedeutet auch, dass das System mit Fehlersituationen wie nicht verfügbarer Systemressourcen derart umgehen kann, dass die "Verarbeitung" nur langsamer oder zu einem späteren Zeitpunkt fortgeführt wird, es sich also als robust erweist. Ziel hierbei ist es, eine möglichst hohe Verfügbarkeit zu erreichen und Abstürze möglichst isoliert von statten gehen.
    Um eine geringe Versagenshäufigkeit zu erzielen, ist Skalierbarkeit ein zentrales Mittel, um bei Ressourcen-Engpässen wie hoher CPU-Auslastung entweder Verarbeitungen "runterregeln zu können" (vertikale Skalierung) oder weitere Ressourcen hinzunehmen zu können (horizontale Skalierung). Schleupen.CS 3.0 ist eine skalierende Plattform für ein elastisches Hosting: "Die Architektur der Plattform ermöglicht die volle Nutzung moderner und leistungsfähiger Infrastrukturen. Dabei passt sich die Lösung sowohl an die Unternehmensgröße, als auch an temporäre Leistungsspitzen an – egal ob das Hosting ‚on premise‘, im Rechenzentrum oder einer Cloud erfolgt."

Siehe auch: Resilienz

Benutzbarkeit

Die Benutzbarkeit zielt darauf ab, die Software (nicht nur aus Sicht des Endbenutzers!) möglichst intuitiv und effizient nutzen zu können. 

  • Verständlichkeit: Eine einfache Nutzbarkeit ist aus Kundensicht essenziell und spiegelt sich zunächst in den Benutzeroberflächen wieder, die möglichst wizard-artig und für die jeweilige Aufgabenstellung maßgeschneidert und nicht überfrachtet sind. Des Weiteren wird versucht, durch Verwendung von Geschäftsprozessen, die Rollenübergreifende Nutzung der Software zu vereinfachen, in dem per Automatisierung die Nutzerrollen mittels Aufgaben verknüpft werden: Der Benutzer muss nicht selber alle Arbeitsabläufe kennen, sondern wird durch die Software entsprechend unterstützt. Damit wird das Ziel der Effizienzsteigerung durch Komplexitätsreduktion bei der Nutzung erreicht.
    Eine weitere Anforderung aus Sicht der Benutzbarkeit ist, dass eine einheitliche Begrifflichkeit verwendet wird. Dies betrifft zum einen die Benutzeroberflächen für den End-User, zum anderen aber auch die Typen der spezifizierten und bereitgestellten Service-Schnittstellen für Entwickler.
    In einem einheitlich gestalteten Portal mit Desktop-Feeling werden als weiteres Beispiel einheitliche Muster zur Bedienung eingesetzt. So findet sich der Benutzer einfacher zurecht und kann die Oberflächen intuitiver bedienen. Ein weiteres Beispiel: um Prozesse besser nachvollziehen zu können, sind diese in Form von BPMN modelliert und beschrieben.
  • Erlernbarkeit: Ziel ist es, Schleupen.CS 3.0 möglichst einfach erlernen zu können, so dass keine gesonderten Schulungen zur Bedienung notwendig sind (bis auf die Vermittlung von fachlichem Know-How). Dies lösen wir durch Geschäftsprozessorientierung und damit inkludiert Dialogabläufen, die auf die relevantesten Optionen optimiert sind. Diese Dialogabläufe finden zum Start von Geschäftsprozessen Anwendung, aber auch wenn innerhalb eines Geschäftsprozesses Benutzerinteraktion jedweder Form notwendig ist. Durch ein bereitgestelltes Hilfe-Portal wird eine kontextsensitive Hilfe für Dialogseiten angeboten, falls die Eingabevalidierung doch nicht reichen sollte.
  • Attraktivität: Eine Grundidee ist es, insbesondere Services als API einfach nutzen zu können, um beispielsweise Daten aus dem System zu lesen. Dies ist aus technischer Sicht einfach und Servicebeschreibungen in Form von UML unterstützen hier optimal auf visuelle Weise. Die Attraktivität ist ferner dadurch vorhanden, dass einfach auf fachliche Ereignisse reagiert werden und so eigene Funktionalität angeschlossen werden kann. Dies ist für Integrationsszenarien in Anwendungslandschaften sehr relevant, da Schleupen.CS zwar viel Funktionalität beinhaltet, aber nicht alle Software-Bausteine bei Energieversorgern bereitstellt und diese dann verknüpft werden müssen. So können Geschäftsprozesse hinsichtlich der eigenen Bedürfnisse einfach erweitert und Arbeitsabläufe über Schleupen.CS hinweg erstellt werden.

Effizienz

Da Schleupen.CS häufig on-premise eingesetzt wird, ist ein geeignetes Zeit- und Verbrauchsverhalten notwendig.

  • Zeitverhalten: Die Performance sollte an allen Stellen angemessen sein: Benutzeroberflächen müssen möglichst responsive sein, insbesondere bzgl. des initialen Ladens einzelner Dialoge oder bei der Abfrage von Daten. Ein weiteres fachliches Beispiel ist die Abrechnung: So muss die Abrechnung von 1.000.000 Verträgen innerhalb eines definierten Abrechnungszeitraums innerhalb eines Tages durchführbar sein. Die implementierten Services müssen dabei massenfähig sein und gleichzeitig ein gutes Zeitverhalten aufweisen.
  • Verbrauchsverhalten: Alle Services von Schleupen.CS 3.0 sollten derart gestaltet werden, dass diese zum einen mengenfähig sind und zum anderen ein niedriges Verbrauchsverhalten aufweisen.

Wartbarkeit

Die Änderbarkeit / Wartbarkeit ist in erster Linie für die Entwicklung von Schleupen.CS relevant.

  • Analysierbarkeit: Ziel von Schleupen.CS 3.0 ist es, Systemverhalten, Protokollierung, Fehlerkonstellationen und Ausnahmesituationen während der Laufzeit und zu späteren Zeitpunkten analysieren und auswerten zu können. Dies ist in verteilten Systemen sehr relevant, da diese sich nicht voll deterministisch verhalten und deutlich mehr Komplexität als ein einzelnes Programm aufweisen.
  • Modifizierbarkeit: Schleupen.CS 3.0 verfolgt das Ziel, auf allen Ebenen unterschiedlicher Granularität Änderungen bzw. Anpassungen nach den individuellen Bedürfnissen vorzunehmen. Diese Anpassbarkeit fängt bei der Einrichtung von Systemen an, die marktrollenspezifisch installiert werden.
    Auch kann der einzelne Endanwender zusätzliche Attribute konfigurieren und nutzen. Weiter können Benutzeroberflächen, Geschäftsprozesse angepasst werden. Die Modifizierbarkeit geht noch viel weiter: Das Verhalten von Services ist konfigurierbar und selbst das Austauschen von Services und Bausteinen wie Ländern ist möglich.
  • Einfachheit: Hierzu zählt insbesondere die Einfachheit bei der Umsetzung. Durch Anwendung der Konzepte des Domain-Driven Designs wird dieser Rechnung getragen, da die fachlichen Begrifflichkeiten 1:1 im Code angewendet werden.
  • Stabilität: Durch Verwendung diverser Muster und Techniken wurde sehr viel Wert auf die Stabilität des Systems gelegt. Hierzu gehört der Umgang mit Hochlastsituationen und vieles mehr. Um die Stabilität sicherzustellen, sind Tests gemäß Testpyramide notwendig und eine Continuous-Delivery-Pipeline, die die Software automatisiert insbesondere im Zusammenspiel testet und ausrollt.
  • Testbarkeit: Die Software muss derart konzipiert sein, dass alle Tests gemäß Testpyramide einfach ausführbar sind: Unittests für alle Klassen, ComponentTests, Geschäftsprozesstests, etc.
  • Konformität: Durch die Verwendung von Standard- bzw. etablierten Technologien wie RabbitMQ oder SQL Server versuchen wir die Software technologiekonform zu nutzen, um eine möglichst einfache Wartung zu erreichen.
  • Konzeptionelle Integrität: Alle Bausteine einer Bausteinart werden gleichartig entwickelt. Somit können wir Know-How-Transfer einfacher bewerkstelligen und mithilfe zentraler Bausteine kostengünstiger implementieren. Ausnahmen gibt es nur bei Bausteinen der Infrastruktur, denn ein Service-Bus sollte nicht als Microservice implementiert werden - die Anforderungen differieren hier.

Übertragbarkeit

Übertragbarkeit ist die Eignung der Software, von der Umgebung in eine andere übertragen werden zu können. Generell ist dies dadurch bereits gut erfüllt, dass Schleupen.CS eine Standard-Software ist.

  • Customizing: Sehr viel Wert wurde auf die Anpassbarkeit der Plattform gelegt: wie bereits erwähnt, kann auf allen erdenklichen Ebenen eingegriffen und die Software konfiguriert, angepasst oder ausgetauscht werden. Prominente Beispiele sind das Anpassen von Dialogschritten und -abläufen, Workflows, die Konfiguration über eine zentrale Konfigurationsverwaltung, der Austausch von Services und vieles mehr.
    Ein weiteres Highlight stellt die sogenannte Systemstruktur dar, die im Hinblick auf die Abbildung von Gesellschaftsstrukturen und IT-Betriebskonzepten sehr flexibel ist und beispielsweise Katalogdaten transparent konfiguriert werden können.
  • Installierbarkeit: Das Ziel ist es, einzelne Bausteine isoliert installieren und aktualisieren zu können.
  • Austauschbarkeit: Schleupen.CS 3.0 verfolgt das Ziel, in unterschiedlichsten On-Premise-Umgebungen installiert zu werden. Zudem sollte auch die Cloud-Fähigkeit gegeben sein.
Cookie Consent mit Real Cookie Banner