You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
250 lines
13 KiB
250 lines
13 KiB
diff --git a/_Dokumente/Ausgearbeitete Dokumente/Pflichtenheft.md b/_Dokumente/Ausgearbeitete Dokumente/Pflichtenheft.md |
|
index 81225fe..4cebbf2 100644 |
|
--- a/_Dokumente/Ausgearbeitete Dokumente/Pflichtenheft.md |
|
+++ b/_Dokumente/Ausgearbeitete Dokumente/Pflichtenheft.md |
|
@@ -1,41 +1,61 @@ |
|
# Pflichtenheft |
|
|
|
## Inhalt |
|
-1. Zielbestimmung |
|
- 1. Musskriterien |
|
- 1. Abgrenzungskriterien |
|
-1. Produkteinsatz |
|
- 1. Anwendungsbereiche |
|
- 1. Zielgruppen |
|
- 1. Betriebsbedingungen |
|
-1. Produktumgebung |
|
- 1. Software |
|
- 1. Hardware |
|
-1. Produktfunktionen |
|
- 1. Dozentenfunktionen |
|
- 1. Wochenübersicht |
|
- 2. Kursdetails |
|
- 2. Verwaltungsfunktionen |
|
- 1. Offene Anträge |
|
- 2. Kurse erstellen |
|
- 1. Kursübersicht |
|
- 2. Schülerübersicht |
|
- 3. Schüler eines Dozenten |
|
- 4. Raumübersicht m. Raumplan |
|
- 5. Raumdetails |
|
- 6. Offene Anträge |
|
- 7. Finanzübersichrt |
|
- 1. Sonstige Funktionen |
|
- 1. Login |
|
- 2. Mitglied zu Kurs hinzufügen |
|
- 1. Benutzeroberfläche |
|
- 1. Dialogstruktur |
|
- 2. Bildschirmlayout |
|
- |
|
- |
|
-## Zielbestimmung |
|
- |
|
-> Das Ziel von Parsec Iron Puffin (*PIP*) ist es, eine Anwendung zu bieten welche die Organisation der Musikschule erlaubt. Hierzu werden für Dozenten und Verwaltung verschiedene administrative Funktionen bereitgestellt. Die aktuellen Betriebsprozesse sollen vereinfacht und beschleunigt werden. |
|
+- [Pflichtenheft](#pflichtenheft) |
|
+ - [Inhalt](#inhalt) |
|
+ - [Zielbestimmungsss](#zielbestimmungsss) |
|
+ - [Musskriterien](#musskriterien) |
|
+ - [Wunschkriterien](#wunschkriterien) |
|
+ - [Abgrenzungungskriterien](#abgrenzungungskriterien) |
|
+ - [Produktübersicht](#produkt%C3%BCbersicht) |
|
+ - [Produktdaten](#produktdaten) |
|
+ - [Speichernutzung](#speichernutzung) |
|
+ - [Produktleistungen](#produktleistungen) |
|
+ - [Benutzeroberfläche **/L01/**](#benutzeroberfl%C3%A4che-l01) |
|
+ - [Datenschutz **/L02/**](#datenschutz-l02) |
|
+ - [Loggin und Nachvollziehbarkeit **/L03/**](#loggin-und-nachvollziehbarkeit-l03) |
|
+ - [Produkteinsatz](#produkteinsatz) |
|
+ - [Anwendungsbereiche](#anwendungsbereiche) |
|
+ - [Zielgruppe](#zielgruppe) |
|
+ - [Betriebsbedingungen](#betriebsbedingungen) |
|
+ - [Produktumgebung](#produktumgebung) |
|
+ - [Software](#software) |
|
+ - [Hardware](#hardware) |
|
+ - [Produktfunktionen](#produktfunktionen) |
|
+ - [Annahmen und Definitionen zu Produktfunktionen](#annahmen-und-definitionen-zu-produktfunktionen) |
|
+ - [Dozentenfunktionen](#dozentenfunktionen) |
|
+ - [Wochenübersicht **/FD01/**](#wochen%C3%BCbersicht-fd01) |
|
+ - [Kursdetails **/FD02/**](#kursdetails-fd02) |
|
+ - [Verwaltungsfunktionen](#verwaltungsfunktionen) |
|
+ - [Offene Anträge **/FV01/**](#offene-antr%C3%A4ge-fv01) |
|
+ - [Kurs Erstellen **/FV02/**](#kurs-erstellen-fv02) |
|
+ - [Kursübersicht **/FV03/**](#kurs%C3%BCbersicht-fv03) |
|
+ - [Schülerübersicht **/FV04/**](#sch%C3%BCler%C3%BCbersicht-fv04) |
|
+ - [Schüler eines Dozenten **/FV05/**](#sch%C3%BCler-eines-dozenten-fv05) |
|
+ - [Raumübersicht **/FV06/**](#raum%C3%BCbersicht-fv06) |
|
+ - [Raumdetails **/FV07/**](#raumdetails-fv07) |
|
+ - [Finanzübersicht **/FV09/**](#finanz%C3%BCbersicht-fv09) |
|
+ - [Sonstige Funktionen](#sonstige-funktionen) |
|
+ - [Login **/F01/**](#login-f01) |
|
+ - [Mitglied zu Kurs hinzufügen **/F02/**](#mitglied-zu-kurs-hinzuf%C3%BCgen-f02) |
|
+ - [Antrag Stellen **/F03/**](#antrag-stellen-f03) |
|
+ - [Benutzeroberfläche](#benutzeroberfl%C3%A4che) |
|
+ - [Dialogstruktur](#dialogstruktur) |
|
+ - [Startseite](#startseite) |
|
+ - [Übersichtsseite Dozenten](#%C3%BCbersichtsseite-dozenten) |
|
+ - [Übersichtsseite Verwaltung](#%C3%BCbersichtsseite-verwaltung) |
|
+ - [Bildschirmlayout](#bildschirmlayout) |
|
+ - [Testfälle](#testf%C3%A4lle) |
|
+ |
|
+## Zielbestimmungsss |
|
+ |
|
+> Das Ziel von Parsec Iron Puffin (*PIP*) ist es, eine Anwendung zu bieten welche die Organisation der Musikschule erlaubt. Hierzu werden für Dozenten und Verwaltung verschiedene administrative Funktionen bereitgestellt. Die aktuellen Betriebsprozesse sollen vereinfacht und beschleunigt werden. |
|
+ |
|
+Die Anwendung bietet der Verwaltung Übersichten über die Schüler, Dozenten, Kurse und Finanzen. Es können Schüler der Kurse und Dozenten der Schüler angezeigt werden. |
|
+ |
|
+Der Dozent erhält eine Übersicht über die Stunden, welche er in der Woch zu unterrichten hat. Außerdem kann er eine Detailansicht eines Kurses aufrufen, welche ihm Informationen über die Schüler in diesem Kurs und die Unterrichtsinhalte der vergangenen Stunden bietet. |
|
+ |
|
+Nutzer können mithilfe der Anwendung Kurse beantragen und "Band"-Kursen beitreten. |
|
|
|
### Musskriterien |
|
* Es besteht ein Authentifizierung um den Zugriff auf alle Funktionen auf die jeweils berechtigten Personen zu beschränken. |
|
@@ -56,12 +76,6 @@ |
|
* Der Administrative Nutzer |
|
* Konfiguriert die Betriebsparameter des Systems |
|
* Sichert die Datenbank |
|
- * Ein Kurs hat |
|
- * einen Dozenten |
|
- * einen Typ (Einzel-, Bandunterricht, Früherziehung) |
|
- * einen Raum |
|
- * ein oder zwei Zeitpunkte |
|
- * und eine Laufzeit |
|
* Der Schüler |
|
* kann einen Aufnahmeantrag über ein Webformular abschicken |
|
* erhält, nachdem die Verwaltung einen Kurs aus dem Antrag erstellt hat, eine Bestätigung (Kursbestätigung) mit den Zeiten Seiner Unterrichtseinheiten |
|
@@ -83,6 +97,33 @@ |
|
* Das *PIP* |
|
* soll keine Abrechnung erstellen oder verschicken. |
|
|
|
+## Produktübersicht |
|
+ * Das System wird von den Rollen Verwaltung, Dozent und Anonym bedient. |
|
+ * Die Rollen Verwaltung und Dozent werden über einen Login authentizifiert, ihnen stehen abhängig von ihrer Rolle verschiedene Funktionen zur verfügung, diese werden unter [Produktfunktionen](#produktfunktionen) spezifiziert. Sonstige Funktionen stehen _allen_ Rollen zur verfügung. |
|
+ |
|
+## Produktdaten |
|
+ * Datenstrukturen der Anwendung: |
|
+  |
|
+ * Aus einem Antrag wird ein _Schüler_, eine von _Person_ erbende Klasse, erstellt, welche alle personenbezogene Daten erhält. (siehe Diagramm) |
|
+ * Außerdem werden Angaben zu der Auswahl des Antragstellers zu _Instrument_ und _Unterrichtstyp_ gespeichert. |
|
+ * Einem _Kurs_ wird stehts ein _Schüler_ zugewiesen, es sei denn es handelt sich um einen Kurs mit Typ "Band". In diesem Fall können beliebig viele _Schüler_ zugewiesen werden. |
|
+ * Ein _Kurs_ hat _Unterrichtseinheiten_. Diese Stellen einzelne eindeutige Zeitpunkte dar, an welchen der _Kurs_ unterrichtet wird/wurde. |
|
+ * Es wird der Startzeitpunkt gespeichert, "Wed Jun 12 2019 12:15:00 GMT+0200 (Central European Summer Time)" stellt die _Unterrichtseinheit_ von 12:15 bis 12:30 dar. |
|
+ * Für jede Unterrichtseinheit kann der Dozent den Inhalt pflegen, um die Unterrichtsinhalte zu Dokumentieren. |
|
+ |
|
+### Speichernutzung |
|
+ * Ein Personendatensatz kann bis zu 5KB groß sein, typisch ~300 Byte. |
|
+ * Ein Kursdatensatzen kann bis zu 55 Byte groß sein. |
|
+ * Ein Unterrichtseinheitendatensatz kann bis zu 2056 Byte groß sein. |
|
+ |
|
+## Produktleistungen |
|
+### Benutzeroberfläche **/L01/** |
|
+ * Die Anwendung bietet eine deutschsprachige Benutzeroberfläche |
|
+### Datenschutz **/L02/** |
|
+ * Daten werden in einer passwordgeschützten Datenbank abgelegt |
|
+### Loggin und Nachvollziehbarkeit **/L03/** |
|
+ * Zugriffe wie das Schreiben von Daten (anlegen und modifizieren von Datensätzen) werden in einem Log dokumentiert und können so nachvollzogen werden. |
|
+ |
|
## Produkteinsatz |
|
|
|
### Anwendungsbereiche |
|
@@ -100,7 +141,7 @@ Die Zielgruppe besteht aus der Verwaltung und allen aktuellen und zukünftigen D |
|
## Produktumgebung |
|
### Software |
|
* Client |
|
- * Chrome oder Chromium basierter Browser der Version 74 |
|
+ * Chrome oder Chromium basierter Browser der Version 74, Firefox 67 |
|
* Server |
|
* Docker unter Linux (Version 18.09.5) |
|
|
|
@@ -113,7 +154,16 @@ Die Zielgruppe besteht aus der Verwaltung und allen aktuellen und zukünftigen D |
|
|
|
## Produktfunktionen |
|
|
|
-### **Dozentenfunktionen** |
|
+#### Annahmen und Definitionen zu Produktfunktionen |
|
+> Getroffene Annahmen und Definitionen zu unterliegenen Produktfunktionen und Geschäftsprozessen, mit denen die Nutzer nicht direkt in Kontakt kommen und daher nicht einer speziellen Funktion zugeordnet werden können. |
|
+ |
|
+ * Aus einem eingegangenen Antrag wird wird von der Verwaltung mithilfe der gebotenen Funktion ein Kurs erstellt. Hierfür wählt diese einene passenden Dozenten, Raum, und Zeitpunkt(e) aus. Diese werden dem Antragsteller auf geeignetem Weg, zusammen mit einem ausgefertigtem Vertrag zustellt. Der Antragsteller hat bis zum ersten Unterrichtszeitpunkt Zeit, um diesen Vertrag unterschrieben vorzulegen, ansonsten verfällt der Kurs und Dozent und Raum werden zu dem Zeitpunkt(en) freigegeben. |
|
+ * Im Falle eines "Band"-Kurses wird dem Antragsteller zusammen mit dem Vertrag ein Einzigartiger Link zugestellt. Über diesen Link können sich weiter Mitglieder durch angeben ihrer personenbezogenen Daten zu diesem bereits erstellten Kurs anmelden. Die Anmeldung ist bis zum ersten Unterrichtszeitpunkt möglich. |
|
+ * Die Laufzeit des Vertrags startet zum ersten Unterrichtstermin. |
|
+ * Unterrichtszeiten werden in 15min (1/4 Stunden) blöcken gegeben und geplant. |
|
+ |
|
+ |
|
+### Dozentenfunktionen |
|
#### Wochenübersicht **/FD01/** |
|
* Der Nutzer sieht eine Übersicht mit von Ihm gegebenen Kursen in den kommenden 7 Tagen, gruppiert nach Wochentag |
|
* Mit einem Klick auf einen Kurs gelangt man zu den entsprechenden Kursdetails |
|
@@ -123,11 +173,11 @@ Die Zielgruppe besteht aus der Verwaltung und allen aktuellen und zukünftigen D |
|
* Er sieht alle Schüler, welche an dem Kurs teilnehmen |
|
* Er sieht die Einträge zu den den Unterrichtsinhalten der vergangen Unterrichtseinheiten und kann den Inhalt des letzten Termins bearbeiten / erfassen. |
|
|
|
-### **Verwaltungsfunktionen |
|
+### Verwaltungsfunktionen |
|
|
|
#### Offene Anträge **/FV01/** |
|
* Es werden alle neu eingegangenen und nicht bestägtigten Anträge angzeigt. |
|
-* Mit einem Klick auf einen eingegangen Antrag wird die [Kurs erstellen](#kurs-erstellen) Seite aufgerufen. |
|
+* Mit einem Klick auf einen eingegangen Antrag wird die [Kurs erstellen](#kurs-erstellen-fv02) Seite aufgerufen. |
|
|
|
#### Kurs Erstellen **/FV02/** |
|
* Nach einem eingegegangen Antrag kann basierent auf diesem ein Kurs erstellt werden. |
|
@@ -140,7 +190,7 @@ Die Zielgruppe besteht aus der Verwaltung und allen aktuellen und zukünftigen D |
|
#### Kursübersicht **/FV03/** |
|
* In der Kursübersicht werden in Tabellenform alle Kurse zusammen mit ihren Dozenten angezeigt. |
|
* Die Tabelle kann spaltenweise sortiert und nach Dozenten- und Kursname gefiltert werden. |
|
-* Ein Klick auf einen Kurs führt zu [Kursdetails](#kursdetails-f02). |
|
+* Ein Klick auf einen Kurs führt zu [Kursdetails](#kursdetails-fd02). |
|
* Ein Klick auf einen Dozenten führt zu [Schüler eines Dozenten](#sch%C3%BCler-eines-dozenten-fv05) |
|
|
|
#### Schülerübersicht **/FV04/** |
|
@@ -168,7 +218,7 @@ Die Zielgruppe besteht aus der Verwaltung und allen aktuellen und zukünftigen D |
|
* Es werden die gesamten monatlichen Einnahmen der Musikschule angzeigt. |
|
* Es werden die Zahlungen an die Dozenten, aufgeschlüsselt nacht Dozent angezeigt. |
|
|
|
-### **Sonstige Funktionen** |
|
+### Sonstige Funktionen |
|
|
|
#### Login **/F01/** |
|
* Der Nutzer kann sich mit Benutzername und Passwort anmelden. |
|
@@ -180,6 +230,26 @@ Die Zielgruppe besteht aus der Verwaltung und allen aktuellen und zukünftigen D |
|
* Dafür müssen diese nur Ihre Personenbezogenen Daten angeben, Sie werden in der über den Link identifizierten Kurs eingeschrieben. |
|
* Dies muss vor dem ersten Unterrichtstermin geschehen. |
|
|
|
+#### Antrag Stellen **/F03/** |
|
+* Der Nutzer gibt personenbezogene- und kursbezogenen Daten an, aus diesen wird beim Absenden ein Antrag in der Datenbank erstellt, welche von der Verwaltung mithilfe der Funktion [Offene Anträge](#offene-antr%C3%A4ge-fv01) eingesehen und weiter verarbeitet werden können. |
|
+* Personenbezogene Daten: |
|
+ * Vorname |
|
+ * Nachname |
|
+ * Geb. Datum |
|
+ * Geb. Ort |
|
+ * PLZ |
|
+ * Ort |
|
+ * Straße |
|
+ * Hausnummer |
|
+ * Telefon |
|
+ * EMail |
|
+ * BLZ |
|
+ * Bankname |
|
+ * Kontonummer |
|
+* Kursbezogene Daten: |
|
+ * Instrumente |
|
+ * Laufzeit |
|
+ * Unterrichtstyp |
|
|
|
## Benutzeroberfläche |
|
|
|
@@ -210,4 +280,12 @@ Die Übersichtsseite Verwaltung ist die Startseite der Verwaltung, die die Verwa |
|
|
|
Das Frontend wird mithilfe der JavaScript Bibliothek React erstellt, das Design wird mithilfe der MIT-lizensierten Designbibliothek Material-UI realisiert. Die Anwendung ist für Mobilegeräte optimiert und wird nach den Prinzipien des Responsiven Desings entwickelt. |
|
|
|
-> Ausnahme sind die Administrationsfunktionen |
|
\ No newline at end of file |
|
+> Ausnahme sind die Administrationsfunktionen |
|
+ |
|
+## Testfälle |
|
+ |
|
+1. Der Login funktioniert und erlaubt nur Zugriff auf authorisierte Bereiche / Ansichten. |
|
+2. Anonyme Nutzer können Anträge stellen, diese gehen in der Datenbank ein. |
|
+3. Die Verwaltung kann Anträge verarbeiten und daraus Kurse erstellen. |
|
+ * Der Antragsteller wird über die Verarbeitung informiert. |
|
+4. Die Übersichtsseiten zeigen korrekte Informationen an. |
|
\ No newline at end of file
|
|
|