DGLGUI Pflichtenheft
Inhaltsverzeichnis
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 von Pascal-Anwendungen genutzt werden können
- Die Benutzer-Interaktionen und die GUI-Reaktionen sind dem allgemeinen Standard anzupassen
- Das Standard-Aussehen des GUI folgt dem Betriebssystem Windows. Stehen verschiedene Möglichkeiten zur Auswahl, ist die schnellere Variante vorzuziehen
- Das Aussehen des GUI muss zur Laufzeit geändert werden können ("Themes")
- 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
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
Die Anwendung ist für Pascal-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
Produktfunktionen
Userprozesse
Benutzereingaben
- Tastatureingabe
- Mauseingabe
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)
- Entgegennehmen und visuelles Bearbeiten der Benutzereingaben
- Benutzereingaben an die aufrufende Anwendung/ans Script weiterleiten (Ereignisse)
- Entgegennehmen von Daten der aufrufenden Anwendung/des Scripts
- Daten der aufrufenden Anwendung/des Scripts am Bildschirm anzeigen
- Funktionen zum Verwalten und Steuern der grafischen Elemente bereitstellen (erzeugen/löschen/laden/speichern/ Eigenschaften ändern usw.)
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
Keine
Gliederung in Teilprodukten
Nicht vorgesehen.