Qualitätsmerkmale

In diesem Abschnitt wird die Produktqualität beschrieben. Hier ist definiert, wie gut OpenCAGE für den Benutzer und die (zukünftigen) Entwickler sein soll.

Zur Beschreibung der Qualitätsmerkmale der Software halten wir uns an die DIN ISO 9126 (DIN ISO 9126: Informationstechnik - Beurteilen von Softwareprodukten, Qualitätsmerkmale und Leitfaden zu deren Verwendung, Beuth, 1991), denn in diesem Qualitätsmodell sind die Überschneidungen der Qualitätsmerkmale nur minimal.

Wir definieren nicht nur die Ziele für das Produkt selbst, sondern auch für den Prozess, in dem das Produkt entsteht. Die Qualität von OpenCAGE hängt im wesentlichen von der Qualität des Prozesses ab, in dem es entsteht.

Die Ziele des Projektes wie die Einhaltung von Terminen oder Kosten sowie weiterer Projektattribute sind im Projektplan beschrieben.

Änderbarkeit

Eine gute Architektur und gute Dokumentation bestimmen die Erweiterbarkeit von OpenCAGE. Die Güte von Architektur und Dokumentation werden durch Qualitätsmerkmale bestimmt. Dieser Abschnitt beschreibt diese Qualitätsmerkmale und den Aufwand für Dritte, welche die entstehende Software warten und erweitern werden. Dies schließt Änderungen, Korrekturen und Verbesserungen ein. Wartung kann durch Anpassungen an Änderungen der Umgebung oder geänderte Anforderungen der funktionale Spezifikation nötig sein.

Analysierbarkeit

Der Aufwand, änderungsbedürftige Teile zu bestimmen oder Ursachen möglicher Mängel diagnostizieren zu können, soll so gering wie möglich sein. Dies wird vor allem durch eine umfassende, hochwertige Dokumentation erreicht. Dies umfasst die Dokumentation der Anforderungen, der Lösungsstrategien, der Entwurfsideen sowie der Architektur bzw. des Designs. Ebenso wichtig ist deren stetige Aktualisierung. Zusätzlich wird der Quellcode ausführlich dokumentiert und der Testplan sowie ein Testprotokoll erstellt. Das Design von OpenCAGE ist auf Zuwachs ausgelegt. Dies bedeutet, dass bereits bei der Planung der Software und des Entwurfs dafür Vorsorge getroffen wird, und daher die Architektur klar strukturiert und einzelne Komponenten sauber getrennt werden. Die einzelnen Komponenten von OpenCAGE kommunizieren über einheitliche und wohldefinierte Schnittstellen, die ausführlich dokumentiert und offen gelegt sind.

Modifizierbarkeit

Der Aufwand zur Ausführung von Wartung ist so gering wie möglich zu halten. Um dies zu erreichen, werden alle Teile des Quellcodes übersichtlich strukturiert und selbsterklärende Bezeichner verwendet. Um eine einheitliche Strukturierung und Dokumentation des Quellcodes sicherzustellen wird der vom Kunden gewünschte Programmierstyleguide (ADA 95 QUALITY AND STYLE: GUIDELINES FOR PROFESSIONAL PROGRAMMERS, SPC-94093-CMC, Version 01.00.10, October 1995, http://adaic.org/docs/style-guide/95style/, Kap. 2 und 3) Anwendung finden.

Stabilität

Stabilität bedeutet hier, dass bei Änderungen der Software möglichst nur an geänderten Komponenten Effekte auftreten sollen und alle anderen Teile unempfindlich sind. Nur ein guter Entwurf kann die Wahrscheinlichkeit des Auftretens unerwarteter Wechselwirkungen bei Änderungen minimieren. Erreicht wird dies durch hohe Lokalität, die die Reichweite von Änderungen auf die modifizierte Komponente einschränkt. Solche Änderungen werden durch das Testprotokoll für OpenCAGE unterstützt.

Prüfbarkeit

Der Aufwand, der zur Prüfung der geänderten Software notwendig ist, soll so gering wie möglich sein. Der Kunde bekommt alle entworfenen Testfälle sowie alle Testprotokolle und muss somit nur den Test der von ihm vorgenommenen Erweiterungen, sowie der davon betroffenen Teile von OpenCAGE, planen.

Übertragbarkeit

Dieser Abschnitt beschreibt die Eignung der Software, von einer Umgebung in eine andere übertragen zu werden. Dies kann eine andere Hardware- bzw. Softwareumgebung oder eine andere organisatorische Umgebung sein.

Anpassbarkeit

OpenCAGE kann in verschiedenen Umgebungen genutzt werden, solange die Anforderungen an die externe Umgebung erfüllt sind. Dies sind

  • es existiert ein Ada95-Compiler

  • es existiert eine Portierung der GtkAda-Bibliothek

auf dem Zielsystem. Dies wird durch folgende Maßnahmen ermöglicht:

  • Plattformunabhängige Realisierung von OpenCAGE durch die Verwendung von Ada95.

  • möglichst keine Verwendung plattformspezifischer Möglichkeiten und Bibliotheken.

Installierbarkeit

Der Aufwand zum Installieren von OpenCAGE soll so gering wie möglich sein. Bei der Erstellung des Programms wird auf möglichst hohe Plattformunabhängigkeit Wert gelegt, siehe Anpassbarkeit (Abschnitt namens Anpassbarkeit). Um dies zu gewährleisten, wird ein kleines Installierungstool mit bereitgestellt (z.B. make). So ist es möglich, OpenCAGE komplett ohne große Probleme auf jedem Zielsystem, für das es zusätzlich das Programm GNU make gibt, zu compilieren, zu linken und zu installieren.

Konformität

OpenCAGE ist konform zu folgenden Normen:

  • Styleguide: ADA 95 QUALITY AND STYLE: GUIDELINES FOR PROFESSIONAL PROGRAMMERS, SPC-94093-CMC, Version 01.00.10, October 1995, http://adaic.org/docs/style-guide/95style/, Kap. 2 und 3

  • Dokumentation in SGML

  • Ada95

Austauschbarkeit

OpenCAGE ist eine Neuentwicklung, die eine bereits existierende Lösung ersetzen soll. Ansonsten ist nicht vorgesehen, dass eine andere Anwendung durch OpenCAGE ersetzt werden kann. Die Hauptkomponenten (GUI, API und Schnittstellen) von OpenCAGE werden so unabhängig wie möglich entworfen, um einen späteren Austausch der einzelnen Komponenten zu ermöglichen.

Benutzbarkeit

Wie hoch ist der Aufwand, der zur Benutzung erforderlich ist? Die Zielgruppe dieser Anwendung sind anfangs Experten aus der Universität. OpenCAGE soll jedoch auch von Anwendern eingesetzt werden, die nur über Erfahrung bei der Bedienung gängiger Softwareprodukte verfügen. Um dieser Zielgruppe gerecht zu werden, orientiert sich OpenCAGE an der Bildschirmverarbeitungsverordnung bzw. den Ergonomierichtlinien nach DIN EN ISO 9241 Teil 10 - „Gestaltungsgrundsätze zur Dialoggestaltung“. Diese geben einen Orientierungsrahmen für die Entwicklung von graphischen Benutzungsoberflächen, der folgende Punkte beinhaltet:

Aufgabenangemessenheit

Das GUI von OpenCAGE soll den Benutzer bei der Erledigung seiner Aufgabe unterstützen, ohne ihn durch andere Eigenschaften von OpenCAGE zu belasten.

Selbstbeschreibungsfähigkeit

Dem Benutzer soll Leistungsumfang und Einsatzzweck jedes Elements des GUI unmittelbar verständlich sein bzw. auf Verlangen des Benutzers sollen diese Informationen erläutert werden.

Steuerbarkeit

Der Benutzer soll die Geschwindigkeit des Ablaufs und die Reihenfolge der Eingabe von Informationen beeinflussen können.

Erwartungskonformität

Das GUI von OpenCAGE soll sich so verhalten, wie der Benutzer es aufgrund des Benutzerhandbuchs bzw. der Online-Hilfe, der Benutzerschulung und der bisherigen Arbeit mit OpenCAGE und anderen GUIs erwartet.

Fehlertoleranz

Bei Fehleingaben kann der Benutzer mit keinem oder nur geringem Korrekturaufwand das gewünschte Arbeitsergebnis erzielen. Dazu müssen dem Benutzer die Fehler verdeutlicht werden.

Individualisierbarkeit

Das GUI von OpenCAGE sollte Anpassungen an die Erfordernisse der Aufgabe und Vorlieben des Benutzers zulassen.

Lernförderlichkeit

Der Benutzer sollte beim Erlernen des GUI von selbigem unterstützt und angeleitet werden.

Funktionalität

Die Software besitzt Funktionen, um die definierten Anforderungen zu erfüllen, wie sie mittels der UML-Notation in den Use Cases (Kapitel 5) beschrieben sind. Einige Zusatzfunktionen von OpenCAGE, die die Benutzerfreundlichkeit und Interaktionsmöglichkeiten weiter verbessern würden, werden im Rahmen dieses Projektes nicht implementiert da sonst der Gesamtaufwand und die Entwicklungsdauer zu hoch wären.

Richtigkeit

OpenCAGE soll genau die Operationen durchführen, die der Benutzer, mittels der ihm gegebenen Interaktionsmöglichkeiten, ausgeführt haben will.

Interoperabilität

Die Fähigkeit mit anderen System zusammenzuarbeiten ist im Fall von OpenCAGE nicht wichtig. Es muss lediglich auf Funktionen der RFG-Bibliothek arbeiten.

Sicherheit

Da der Kunde von einer gutartigen Umgebung ausgeht und es sich bei den Daten, die mit OpenCAGE bearbeitet werden, nicht um sicherheitsrelevante Daten handelt, sind keine Sicherheitseinstellungen außer dem Read-Only-Mode (siehe Zustände, Abschnitt namens Zustände in Kapitel 3) vorgesehen.

Effizienz

Dieser Abschnitt beschreibt das Verhältnis von Leistungsniveau der Software und Umfang der eingesetzten Betriebsmittel.

Zeitverhalten

Der Kunde verlangt nach besonderen Anstrengungen, um die Antwort- und Verarbeitungszeit in engen Grenzen zu halten. Genaue Daten sind unter Leistungsanforderungen (Abschnitt namens Leistungsanforderungen) zu finden.

Wieviele Benutzer können mit OpenCAGE gleichzeitig arbeiten? OpenCAGE ist als ein Ein-Benutzer-System konzipiert, da eine Mehr-Benutzer-Lösung eine massive Änderung des RFGs zur Folge hätte.

Verbrauchsverhalten

In der folgenden Tabelle sind die Betriebsmittel aufgeführt, die abrufbar sein müssen, um die geforderten Funktionen erfüllen zu können:

Tabelle 1-1. Übersicht über die benötigten Betriebsmittel

SystemSolarisGNU/LinuxWindows
BetriebssystemSUN OS 5.1Kernel > 2.2.12 Windows NT 4.0
HardwareUltra Sparc 10Pentium-III-Klasse, mind. 256 MB RAM
Beispielsystemstormgspc32

Zuverlässigkeit

Welches Leistungsniveau muss unter festgelegten Bedingungen über einen festgelegten Zeitraum aufrecht erhalten werden?

Reife

Die Reife soll so hoch sein, dass OpenCAGE im vollen Umfang für die spezifizierten Aufgaben verwendet werden kann. Die Versagenshäufigkeit durch Fehlzustände soll so gering wie möglich gehalten werden.

Fehlertoleranz

Das Leistungsniveau kann bei einigen (unerwarteten) Softwarefehlern eingehalten werden. Die Fehlertoleranz ist aber nicht besonders hoch, da trotzdem Ausnahmesituationen auftreten können, in denen das Verhalten von OpenCAGE nicht definiert ist.

  • Fehler, die vom Betriebssystem oder anderen verwendeten Bibliotheken kommen, werden, soweit möglich, abgefangen und dem Benutzer angezeigt. Mit Hilfe des Benutzers wird versucht, den Fehler zu beheben und den normalen Programmablauf aufrechtzuerhalten.

  • Bei Fehlern des Betriebssystems oder verwendeter Bibliotheken, die nicht behoben werden können, wird versucht, OpenCAGE kontrolliert zu beenden und alle ungesicherten Daten zu sichern. Ob dies gelingt, hängt von der Art des Fehlers ab.

  • Bei Totalabstürzen des Betriebssystems oder verwendeter Bibliotheken ist das Verhalten undefiniert.

Wiederherstellbarkeit

Unter diesem Punkt versteht man die Fähigkeit von OpenCAGE, Daten bei Versagen wiedergewinnen zu können. OpenCAGE selbst sieht hier keine Möglichkeit vor, Daten wiederherstellen zu können, sollte der RFG oder die Konfiguration von OpenCAGE beschädigt werden. Bei Verlust der Konfiguration verwendet OpenCAGE die Standardeinstellungen und die ursprünglichen Daten sind verloren. Allerdings kann durch die Verwendung anderer Systeme, z.B. durch Backups usw., die Wiederherstellung verbessert werden.