Ansicht
Dokumentation

ABENCORRECTNESS_QUALITY_GUIDL - CORRECTNESS QUALITY GUIDL

ABENCORRECTNESS_QUALITY_GUIDL - CORRECTNESS QUALITY GUIDL

General Data in Customer Master   CL_GUI_FRONTEND_SERVICES - Frontend Services  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book

Korrektheit und Qualität

In den meisten Organisationen, in denen professionell Software entwickelt wird, existieren in der Regel Produktstandards, die eingehalten werden müssen. Diese Produktstandards definieren, was unter der Korrektheit und der Qualität eines Programms zu verstehen ist. SAP verfügt selbst über einen recht großen Satz solcher Standards, die in den Entwicklungsabteilungen befolgt werden müssen. Im Folgenden sind die für Entwickler wichtigsten gängigen Produktstandards aufgeführt:

  • Zugriff möglich
Im Umfeld der Informationstechnologie bezieht sich der Begriff Barrierefreiheit (Accessibility) darauf, dass jede Person - einschließlich und insbesondere Personen mit Behinderungen - auf die Produkte der Informationstechnologie zugreifen und mit ihnen umgehen kann. Um Produkte, wie beispielsweise Software oder Webseiten, allen Verwendern zugänglich zu machen, müssen diese so entworfen und gestaltet werden, dass ihre Bedienung auch bei Fehlen einzelner Befähigungen (beispielsweise des Sehvermögens oder der Fähigkeit, Farben zu unterscheiden) möglich ist und dass sie kompatibel mit Hilfstechnologien wie Vorlese- oder Vergrößerungseinrichtungen (Screen Reader, Screen Magnifiers) sind.
  • Dokumentation
Ein Produktstandard zur Dokumentation definiert in der Regel, welche Dokumente mindestens mit einem Produkt an einen Abnehmer auszuliefern sind und stellt sicher, dass die ausgelieferte Dokumentation über alle Produktbereiche hinweg konsistent, korrekt und aktuell ist.
  • Funktionale Korrektheit
Die funktionale Korrektheit von Software wird allgemein als deren wichtigstes Qualitätsmerkmal angesehen. Software, die keine funktionale Korrektheit aufweist, ist normalerweise unbrauchbar. Ein Produktstandard zur funktionalen Korrektheit fordert in der Regel absolute Fehlerfreiheit und legt auch die Stabilität von Schnittstellen und das Verhalten von Programmen bei Upgrades fest. Zur Erreichung der Ziele kann eine adäquate Testabdeckung der Software vorgeschrieben werden.
  • Globalisierung
Für Software, die weltweit eingesetzt wird, ist in der Regel ein Produktstandard zur Globalisierung notwendig. Ein solcher umfasst die Aspekte Internationalisierung und Lokalisierung.
  • Internationalisierung

Die Internationalisierung umfasst die technischen Aspekte der Globalisierung, wie beispielsweise Unicode-Fähigkeit, Textverarbeitung, Bildschirmanzeige, Drucken, Datenaustausch, Zeitzonen, Übersetzbarkeit etc., und schafft damit auch die technischen Voraussetzungen für die Lokalisierung. Ein wichtiger Aspekt der Internationalisierung ist natürlich auch die Übersetzung der Benutzeroberflächen und anderer Texte.
  • Lokalisierung

Eine Lokalisierung ist erforderlich, wenn global einsatzfähige Software an lokale (im Allgemeinen länderspezifische) Gegebenheiten angepasst werden muss, wie beispielsweise an gesetzliche Vorschriften und spezielle Geschäftsabläufe.
  • Performance
Ein Programm, das zwar funktional korrekt ist, aber nicht innerhalb einer zumutbaren Zeit ausgeführt werden kann, ist für einen Anwender genauso unbrauchbar wie ein inkorrektes Programm. Ein Performance-Produktstandard sorgt dafür, dass dieser Aspekt nicht vernachlässigt wird. Er kann zum Beispiel Regeln für effiziente Datenbankzugriffe und die Skalierbarkeit von Anwendungslogik umfassen.
  • Sicherheit
Bei sicherheitskritischer Software - was in der Regel für jede Art von betriebswirtschaftlicher Software gelten dürfte - regelt ein Produktstandard Sicherheit alle sicherheitsrelevanten Aspekte eines Produktes, indem er zum Beispiel auf mögliche Sicherheitslücken oder auf gesetzliche Vorschriften hinweist und auch zugehörige Anleitungen zur Erfüllung des Standards enthält.
  • Benutzerfreundlichkeit
Der Begriff Benutzerfreundlichkeit (Usability) von Software bezieht sich auf die Anpassung von Benutzeroberflächen an die Anforderungen von menschlichen Endbenutzern und deren Aufgaben. Ein Produktstandard zur Benutzerfreundlichkeit soll dafür sorgen, dass ein Endbenutzer seine Aufgaben effizient und effektiv erfüllen kann. Schlagworte zur Benutzerfreundlichkeit umfassen Begriffe wie Konsistenz von Benutzeroberflächen, Einfachheit der Bedienung, intuitive aufgaben- und rollengerechte Oberflächen, individuelle Anpassbarkeit, Fehlertoleranz etc.

Diese Standards mögen teilweise zwar auch gesetzlichen Vorschriften entsprechen, entspringen im Wesentlichen aber dem selbstverständlichen und fundamentalen Ziel, die Korrektheit und die Qualität von an Kunden ausgelieferter Software zu garantieren. Programmierrichtlinien spielen dabei eine wichtige Rolle. Viele der hier aufgeführten Richtlinien unterstützen direkt oder indirekt einen der aufgeführten Standards bzw. leiten sich von einem solchen ab. Sie dienen damit ebenfalls der Unterstützung und Einhaltung solcher Standards und damit dem Schreiben korrekter Programme von hoher Qualität. Auf der anderen Seite sind die Programmierrichtlinien durchaus auch selbst dazu geeignet, in den Rang eines bindenden Produktstandards erhoben zu werden.

Da aber nicht alle möglichen Produktstandards von den Programmierrichtlinien vollständig umfasst werden können, wie zum Beispiel alle Regeln eines Performance- oder Sicherheitsstandards, führen wir folgende grundlegende Regel ein.

Vorhandene Produktstandards einhalten bzw. deren Einhaltung überprüfen

Befolgen Sie die in Ihrer Organisation vorhandenen Produktstandards, und sichern Sie die Korrektheit und Qualität Ihrer Programme, indem Sie sie sowohl während der Entwicklung als auch nach der Fertigstellung mit allen zur Verfügung stehenden Testwerkzeugen testen.

Dass Produktstandards eingehalten werden müssen, ist offensichtlich und braucht nicht weiter begründet zu werden. Es wird aber oft aus den Augen verloren, dass die in den ABAP-Entwicklungsumgebungen zur Verfügung stehenden statischen und dynamischen Analysewerkzeuge bei der Einhaltung wichtiger Produktstandards - und dabei insbesondere der Standards zur funktionalen Korrektheit und zur Performance - wertvolle Hilfestellung leisten. Wir empfehlen deshalb mit dieser grundlegenden Regel, alle zur Verfügung stehenden Werkzeuge umfassend zu verwenden, die helfen, die Korrektheit und Qualität von ABAP-Programmen zu sichern:

  • Führen Sie regelmäßig den Code Inspector (Transaktion SCI) mit der Standardprüfvariante aus, und beseitigen Sie alle Meldungen.
  • Überprüfen Sie die Benutzerfreundlichkeit und Barrierefreiheit Ihrer Oberflächenelemente mit den zugehörigen Werkzeugen (integriert in Workbench-Werkzeuge und im ABAP Test Cockpit.
  • Decken Sie die Funktionalität Ihrer prozeduralen Einheiten vollständig durch Modultests mit ABAP Unit ab (integriert in die ABAP Workbench, den Code Inspector und im ABAP Test Cockpit).
  • Decken Sie die Funktionalität Ihrer Anwendungen vollständig durch Szenarientests mit eCATT (Transaktion SECATT) ab.
  • Überprüfen Sie den Speicherverbrauch Ihrer Programme mit dem ABAP Memory Inspector (Transaktion S_MEMORY_INSPECTOR und als Funktion Speicheranalyse in den ABAP Debugger integriert).
  • Überprüfen Sie das Laufzeitverhalten und die Performance. Im SAP GUI mit der ABAP-Laufzeitanalyse (Transaktion SAT) und in den ABAP Development Tools (ADT) mit dem ABAP Profiler.
  • Überprüfen Sie die Testabdeckung mit dem Coverage Analyzer (Transaktion SCOV und in den ABAP Unit Browser der ABAP Workbench integriert).
  • Dokumentieren Sie Ihre Programme und Services mit allen zur Verfügung stehenden Mitteln: Angefangen bei Kommentaren, reicht dies von einfachen Datenelementdokumentationen für kontextsensitive Eingabehilfen über Klassen- und Methodendokumentationen für die Dokumentation von APIs bis zur Erklärung von Konzepten und der Erstellung von Tutorials in anderen Ablagen, wie dem SAP Knowledge Warehouse, der im Internet, wie zum Beispiel in der SAP Community (SCN, http://scn.sap.com).

Das in die ABAP Workbench und in das Change and Transport System (CTS) integrierte ABAP Test Cockpit (ATC) unterstützt die Ausführung und die Auswertung der wichtigsten Tests erheblich. Manche dieser Tests überprüfen auch die Einhaltung einiger der im weiteren Verlauf vorgestellten Regeln der ABAP-Programmierrichtlinien.

Hinweis

Im Zweifelsfall übersteuern Produktstandards die Richtlinien und Empfehlungen dieser Dokumentation. Wenn beispielsweise Performance- oder Sicherheitsaspekte hier aufgeführte Programmierpraktiken verbieten, hat die Einhaltung des Standards immer Vorrang.

Eine Ausführung von Modultests für die Klassen des Pakets SABAP_DEMOS_CAR_RENTAL_APPL und die Anzeige des Ergebnisses im ABAP Unit Browser des Object Navigators ergibt eine hundertprozentige Testabdeckung. Dieses Paket wird als Unterpaket für den Applikationsteil einer kleinen Beispielanwendung ausgeliefert, die neben Modultests auch die strikte Befolgung der Trennung der Belange demonstriert.






CL_GUI_FRONTEND_SERVICES - Frontend Services   General Material Data  
Diese Dokumentation steht unter dem Copyright der SAP AG.

Length: 12213 Date: 20240523 Time: 152825     sap01-206 ( 250 ms )