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 Betriebssystem-spezifischen Benutzereingaben wird vorausgesetzt
- Hilfsprogramme für die Grafikroutinen, das Laden der Schriften und Texturen werden vorausgesetzt
Produktübersicht
DIAGRAMM: fehlt noch
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.)
Entwicklerprozess
- 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ätsanforderungstabelle: FEHLT NOCH
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
- ein Pascal-Compiler (eine integrierte Entwicklungsumgebung ist nicht notwendig), vorzugsweise Delphi ab Version 5 oder Free Pascal ab Version 2.0