DGLGUI Pflichtenheft: Unterschied zwischen den Versionen
Traude (Diskussion | Beiträge) (→Technische Produktumgebung) |
Traude (Diskussion | Beiträge) (→Sichtbare TGUIDescendants) |
||
Zeile 188: | Zeile 188: | ||
* die Darstellung der Elemente am Bildschirm ("Look") | * die Darstellung der Elemente am Bildschirm ("Look") | ||
* das Laden und Speichern ihrer Selbst und der Identität ihrer visuellen Eigenschaften (das Speichern der visuellen Eigenschaften selbst ist dem TThemes-Manager vorbehalten). | * das Laden und Speichern ihrer Selbst und der Identität ihrer visuellen Eigenschaften (das Speichern der visuellen Eigenschaften selbst ist dem TThemes-Manager vorbehalten). | ||
+ | |||
+ | N.B.: Die sichtbaren TGUIDescendants haben Direktzugriff auf die Listenenelemente des TThemes-Managers, sind aber nicht Eigentümer dieser Eigenschaften. | ||
==Nicht sichtbare TGUIDescendants: TGUIManager== | ==Nicht sichtbare TGUIDescendants: TGUIManager== |
Version vom 26. Dezember 2006, 21:35 Uhr
Inhaltsverzeichnis
- 1 Zielbestimmungen
- 2 Produkteinsatz
- 3 Produktübersicht
- 4 Produktfunktionen
- 5 Produktdaten
- 6 Produktleistungen
- 7 Qualitätsanforderungen
- 8 Benutzungsoberfläche
- 9 Technische Produktumgebung
- 10 Spezielle Anforderungen an die Entwicklungs-Umgebung
- 11 Gliederung in Teilprodukten
- 12 ANHANG: Technische Spezifikation
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
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)
- Entgegennehmen und visuelles Bearbeiten der Benutzereingaben
- Benutzereingaben an die aufrufende Anwendung/ans Script weiterleiten (Ereignisse)
- Änderungen von GUI-Eigenschaften durch die aufrufende Anwendung/das Script und Anzeige am Bildschirm
- Funktionen zum Verwalten der grafischen Elemente bereitstellen
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
- Grafikbibliothek mit Texturunterstützung
- 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
Nomenklatur
Das GUI besteht aus Pascal-Objekten, im weiteren "TGUIItems" genannt, die durch ihren besonderen Aufbau befähigt sind, miteinander eine Baumstruktur aufzubauen. Der Vaterknoten des TGUIItems wird "Parent" genant, seine Kindknoten "Children". Aus dem TGUIItem werden weitere Elemente abgeleitet, die "TGUIDescendants". Der "TThemesManager" ist für das Erscheinungsbild des GUI verantwortlich.
TGUIItems
Die TGUIItems sind für folgende Funktionen zuständig:
- die Weiterleitung von Daten und Befehlen an sein Parent oder seine Children
Jedes TGUIItem kann dabei nur seine unmittelbaren Nachbarn erreichen, also sein Parent und seine Children. Die Anzahl der Children soll mit nicht weniger als High(Word) begrenzt werden.
- das Implementieren eines bestimmten Verhaltens ("Feel")
Sichtbare TGUIDescendants
Die sichtbaren TGUIDescendents sind für folgende Funktionen zuständig:
- die Darstellung der Elemente am Bildschirm ("Look")
- das Laden und Speichern ihrer Selbst und der Identität ihrer visuellen Eigenschaften (das Speichern der visuellen Eigenschaften selbst ist dem TThemes-Manager vorbehalten).
N.B.: Die sichtbaren TGUIDescendants haben Direktzugriff auf die Listenenelemente des TThemes-Managers, sind aber nicht Eigentümer dieser Eigenschaften.
Nicht sichtbare TGUIDescendants: TGUIManager
Die Wurzel des GUI-Baums ist ebenfalls ein TGUIDescendent und wird TGUIManager genannt. Er ist zuständig für:
- die Weiterleitung von Daten und Befehlen, die den gesamten GUI-Baum erreichen sollen
- das Erzeugen und Verwalten des TThemesManagers
TThemesManager
Der TThemesManager ist kein TGUIDescendent. Er beinhaltet Listen von visuellen Eigenschaften und ist zuständig für:
- die einheitliche visuelle Darstellung des Baums durch seine speziellen Listenelemente
- das Laden und Speichern dieser Listenelemente