DGLGUI Pflichtenheft

Aus DGL Wiki
Wechseln zu: Navigation, Suche

Zielbestimmungen

Das Ziel ist eine allgemeine grafische Schnittstelle (Graphical User Interface, "GUI") zur Kommunikation zwischen Anwendung und Benutzer. Die Hilfsmittel (grafische Elemente und Programm-Reaktionen) dazu sollen möglichst intuitiv benutzbar/interpretierbar sein.

Musskriterien

  • Das GUI ist den Anwendern inklusive Source Code zur Verfügung zu stellen
  • Das GUI darf nicht auf bestimmte Betriebssysteme oder Bibliotheken festgelegt werden, sondern muss für Funktionen, die Bibliotheks- oder betriebssystemspezifischen Code benötigen, einen Wrapper (ein Hilfsprogramm) verwenden
  • Das GUI soll mindestens von Pascal-Anwendungen genutzt werden können
  • Die Benutzer-Interaktionen und die GUI-Reaktionen sind dem allgemeinen Standard (Verhalten von Windows) anzupassen
  • Das Standard-Aussehen des GUI folgt dem Betriebssystem Windows. Stehen verschiedene Möglichkeiten zur Auswahl, ist die schnellere Variante vorzuziehen
  • Das GUI muss auch durch eine Scriptsprache bedienbar sein (Funktionen aufrufen / Ereignisse bearbeiten)
  • Die Daten, die nötig sind, um die grafischen Elemente am Bildschirm darzustellen, müssen geladen und gespeichert werden können. Als Speicherformate dafür sind XML und ein binäres Format zu implementieren.
  • Das GUI muss erweiterbar sein
  • Liste der vorgegebenen Standard-GUI-Elemente, die zu implementieren sind:
    • Button
    • Panel
    • CheckBox
    • RadioBox
    • Label
    • Image
    • Window
    • EditBox
    • ComboBox
    • ListBox
    • ScrollBar
    • ProgressBar
    • TreeList
    • Memo
    • TabSheet
    • DropDownMenu

Wunschkriterien

  • Mehrsprachigkeit
  • Benutzbarkeit durch andere Programmiersprachen
  • Das Aussehen des GUI muss zur Laufzeit geändert werden können ("Themes")

Produkteinsatz

Das GUI ist seinem Wesen nach ein Teil einer Computer-Anwendung. Der Einsatz ist daher vom Benutzer abhängig und unterliegt keinerlei Beschränkung.

Anwendungsbereiche

Das GUI ist für Pascal-Anwendungen und -spiele konzipiert, die auf mehreren Plattformen lauffähig sein sollen, ohne die grafische Benutzeroberfläche wechseln zu müssen.

Zielgruppen

Das GUI ist für Pascal- und OpenGL-Programmierer gedacht.

Betriebsbedingungen

  • Das GUI setzt eine aufrufende Anwendung voraus, in die es eingebunden ist
  • Ein Hilfsprogramm für das Entgegennehmen der betriebssystemspezifischen Benutzereingaben wird vorausgesetzt
  • Hilfsprogramme für die Grafikroutinen, das Laden der Schriften und Texturen werden vorausgesetzt

Produktübersicht

GUIDiagramm01.jpg

Produktfunktionen

Userprozesse

Benutzereingaben

  • Tastatureingabe
(in Abhängig vom Tastaturschema, daher Z ist Z auch auf amerikanischen Tastaturen)
  • Mauseingabe
Mindestens linke, rechte und mittlere Maustaste sowie das Scrollrad.


Prozesse der aufrufenden Anwendung/des Scripts

  • Entgegennehmen und Verarbeiten der Benutzereingaben vom GUI (Ereignisse)
  • Daten an das GUI zur Bildschirm-Anzeige weiterreichen
  • Verwalten und Steuern des GUI (grafische Elemente erzeugen/löschen/laden/speichern/Eigenschaften ändern usw.)


Entwicklerprozesse (Prozesse des GUI)

Produktdaten

Produktdaten sind Daten, die für das Anzeigen der Elemente am Bildschirm nötig sind:

  • Ausmasse der Elemente (Breite, Höhe)
  • Position der Elemente (Koordinaten)
  • Texturkoordinaten
  • spezielle Ausformungen (Randbreiten, Zeichenroutinen,...)
  • Farben
  • Bilder (Texturen)
  • Schriften

Hier ist pro Standard-Element (Edit, Scrollbar, Window, ...) zu definieren, welche Daten nötig sind

Produktleistungen

  • Verwalten (erzeugen/löschen/laden/speichern/ändern)
  • Benutzen

von benutzerdefinierbaren visuellen GUI-Elementen

Qualitätsanforderungen

Qualitätskriterium sehr gut gut normal nicht relevant
Funktionalität X - - -
Richtigkeit - - X -
Interoperabilität X - - -
Code-Lesbarkeit X - - -
Sicherheit - - X -
Zuverlässigkeit - X - -
Fehlertoleranz - - X -
Reife - - - X
Backupfähigkeit - - - X
Benutzbarkeit X - - -
Verständlichkeit X - - -
Erlernbarkeit - X - -
Bedienbarkeit X - - -
Effizienz - X - -
Zeitverhalten X - - -
Verbrauchsverhalten - - - X
Änderbarkeit - X - -
Analysierbarkeit - - - X
Modifizierbarkeit - - X -
Stabilität - X - -
Übertragbarkeit - - - X
Anpassbarkeit - - - X
Installierbarkeit - - - X
Konformität - - - X
Austauschbarkeit - - - X

Benutzungsoberfläche

Es ist keine Benutzungsoberfläche vorgesehen.

Technische Produktumgebung

Für den Betrieb gelten folgende technische Voraussetzungen:

  • ein PC mit VGA-fähigem Bildschirm, Tastatur und Maus
  • OpenGL 1.1 Unterstützung (Verwendung von Texturen)
  • Betriebsystemspezifische Hilfs-Funktionen zum Entgegennehmen der Benutzereingaben
  • ein Pascal-Compiler (eine integrierte Entwicklungsumgebung ist nicht notwendig), vorzugsweise Delphi ab Version 5 oder Free Pascal ab Version 2.0

Spezielle Anforderungen an die Entwicklungs-Umgebung

Mindestens Delphi 5 oder Free Pascal 2.0.0. Für kleinere Versionen wird keine Unterstützung garantiert.

Gliederung in Teilprodukten

Nicht vorgesehen.

ANHANG: Technische Spezifikation

Beschreibung der Baumstruktur