diff --git a/README.md b/README.md index 7a4788a..8a04e58 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,24 @@ # TextureSync +##Seminar PM - Projekt 1 + +Many 3D designers work in a team on large projects with a huge number of textures. The +Textures are often distributed on the computers of project members and are difficult to search. This +leads to more time being spent on coordination. + +We want to deliver a product that stores the textures centrally and makes them available for each employee. +that makes it easy to search. These can then see directly from previews which textures +are possible. The central administration on the server also allows backups of the +texture data can be enabled. + + + + +##Authors + +- Lukas Fürderer +- Robin Willmann +- Jannik Seiler +- Hendrik Schutter + +###Angewandte Informatik Sommersemester 2019 diff --git a/doc/tests/mastertestplan/mastertestplan.fodt b/doc/tests/mastertestplan/mastertestplan.fodt index ce53e6b..16656cc 100644 --- a/doc/tests/mastertestplan/mastertestplan.fodt +++ b/doc/tests/mastertestplan/mastertestplan.fodt @@ -1,24 +1,24 @@ - 2019-03-22T18:11:56.7688408422019-04-23T23:04:00.824264854PT7H56M37S210LibreOffice/6.2.2.2$Linux_X86_64 LibreOffice_project/20$Build-2Mastertestplan1.0.3 + 2019-03-22T18:11:56.7688408422019-04-25T21:12:42.590040244PT8H31M9S225LibreOffice/6.2.2.2$Linux_X86_64 LibreOffice_project/20$Build-2Mastertestplan1.0.5 - 0 + 271992 0 50034 - 21618 + 22650 true false view2 16514 - 47953 + 281485 0 - 0 + 271992 50033 - 21616 + 294640 0 1 false @@ -105,7 +105,7 @@ true false true - 3852115 + 4135449 true false false @@ -117,7 +117,7 @@ false false false - true + false false false false @@ -117856,9 +117856,6 @@ - - - @@ -117973,7 +117970,7 @@ - + @@ -118517,6 +118514,18 @@ + + + + + + + + + + + + @@ -118630,166 +118639,162 @@ - + + + + + + + + + + + + + + + + - + - + - + - + + + + + - + - + - + - + - + - + - + - + + + + + + + - + - + - + - + - + - + - + - + - + - + - + - + - - - - + - - + + - - - - + - + - + - + - + - + - + - + - - - - + - + - - - - - - - - - - - - - - - - - - - - @@ -118862,6 +118867,18 @@ + + + + + + + + + + + + @@ -118919,58 +118936,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -119015,7 +118980,7 @@ - TextureSync Mastertestplan Version 1.0.3Seite 10/10 + TextureSync Mastertestplan Version 1.0.5Seite 8/10 @@ -119032,9 +118997,9 @@ - - - Mastertestplan + + + Mastertestplan TextureSync @@ -119057,7 +119022,7 @@ Version - 1.0.3 + 1.0.5 @@ -119073,7 +119038,7 @@ Autor - Hendrik Schuter + Hendrik Schutter @@ -119088,7 +119053,7 @@ - + Inhaltsverzeichnis @@ -119175,36 +119140,36 @@ - Inhaltsverzeichnis + Inhaltsverzeichnis - 1 Einleitung3 - 1.1 Ziel des Mastertestplans3 - 1.2 Durchführung der Test-Phasen3 - 2 Modultests4 - 2.1 Testumgebung4 - 2.2 Test Definitionen4 - 3 Integrationstests5 - 3.1 Testumgebung5 - 3.2 Test Definitionen5 - 4 Systemtests6 - 4.1 Testumgebung6 - 4.2 Test Definitionen6 - 5 Akzeptanztests8 - 5.1 Testumgebung8 - 5.2 Test Definitionen8 - 6 Changelog10 + 1 Einleitung3 + 1.1 Ziel des Mastertestplans3 + 1.2 Durchführung der Test-Phasen3 + 2 Modultests4 + 2.1 Testumgebung4 + 2.2 Test Definitionen4 + 3 Integrationstests5 + 3.1 Testumgebung5 + 3.2 Test Definitionen5 + 4 Systemtests6 + 4.1 Testumgebung6 + 4.2 Test Definitionen6 + 5 Akzeptanztests8 + 5.1 Testumgebung8 + 5.2 Test Definitionen8 + 6 Changelog10 - - Einleitung - Ziel des Mastertestplans - Das Ziel des Mastertestplans ist es die einzelnen Test-Phasen zu definieren und zu kontrollieren. - In den Tests des Mastertestplans werden die Voraussetzungen und die Durchführung der Test beschrieben. + + Einleitung + Ziel des Mastertestplans + Das Ziel des Mastertestplans ist es, die einzelnen Test-Phasen zu definieren und zu kontrollieren. + In den Tests des Mastertestplans werden die Voraussetzungen und die Durchführung der Tests beschrieben. Die einzelnen Testpläne (Modultest, Integrationstest, Systemtest und Akzeptanztest) werden aus dem Mastertestplan abgeleitet. In den einzelnen Testplänen werden auch die Ergebnisse festgehalten. Im Mastertestplan nur die erwarteten Ergebnisse. - Durchführung der Test-Phasen - Die Test-Phasen werden nacheinander durchgeführt. Bei einem fehlgeschlagenen Test und der Änderung im Code werden die zuvor durchgeführten Phasen bei relevanten Tests wiederholt. Bei kritischen Änderungen werden alle Test wiederholt. - Die Reihenfolge der Test ist im V-Modell beschrieben. + Durchführung der Test-Phasen + Die Test-Phasen werden nacheinander durchgeführt. Bei einem fehlgeschlagenen Test und der Änderung im Code werden die zuvor durchgeführten Phasen bei relevanten Tests wiederholt. Bei kritischen Änderungen werden alle Tests wiederholt. + Die Reihenfolge der Tests ist im V-Modell beschrieben. Bei erfolgreichem Abschluss aller Tests einer Test-Phase wird diese als komplett angesehen und die nächste Phase beginnt. @@ -119216,28 +119181,28 @@ - Modultests - Testumgebung - Teile der Server bzw. Client Software werden nach dem entwickeln einzeln getestet. Als Testwerkzeuge dienen eigens geschriebene Test-Anwendungen welche die Module ansprechen und deren Ergebnisse darstellen. Da die Tests direkt am Source-Code in der IDE vorgenommen werden wird mittels White-Box Verfahren getestet. - Test Definitionen + Modultests + Testumgebung + Teile der Server- bzw. Client-Software werden nach dem Entwickeln einzeln getestet. Als Testwerkzeuge dienen eigens geschriebene Test-Anwendungen, welche die Module ansprechen und deren Ergebnisse darstellen. Da die Tests direkt am Source-Code in der IDE vorgenommen werden wird mittels White-Box Verfahren getestet. + Test Definitionen - Nummer + Nummer - Titel + Titel - Erklärung + Erklärung - MT#1 + MT#1 Client: Textur auswählen @@ -119248,7 +119213,7 @@ - MT#2 + MT#2 Client: Steuerelemente der Suche @@ -119259,112 +119224,112 @@ - MT#3 + MT#3 Client: Validierung Name - Der Name der Textur wird nur akzeptiert wenn er den Regeln aus der UI-Feindesign entspricht. + Der Name der Textur wird nur akzeptiert, wenn er den Regeln aus der UI-Feindesign entspricht. - MT#4 + MT#4 - + Client: Textur importieren - + Es kann über ein File-Chooser eine Datei auf dem Dateisystem ausgewählt werden. - MT#5 - - - Client: Textur exportieren - - - Eine Datei kann lokal auf dem Client-Rechner abgespeichert werden - - - - - MT#6 - - - Client: Einfügedatum - - - Der Client erfasst das korrekte Datum an dem die neue Textur eingefügt wird - - - - - MT#7 + MT#5 - Server: Metadaten abspeichern + Client: Textur exportieren + Eine Datei kann lokal auf dem Client-Rechner abgespeichert werden. + + + + + MT#6 + + + Client: Einfügedatum + + + Der Client erfasst das korrekte Datum an dem die neue Textur eingefügt wird. + + + + + MT#7 + + + Client: Metadaten automatisch erkennen + + + Der Client ermittelt automatisch die Auflösung einer Textur. + + + + + MT#8 + + + Server: Metadaten abspeichern + + Neue oder veränderte Metadaten werden persistent als Datei abgespeichert. - MT#8 + MT#9 - + Server: Metadaten lesen - + Zuvor gespeicherte Metadaten können korrekt eingelesen werden. - MT#9 + MT#10 - + Server: Suchanfrage bearbeiten - - Die Suche wird wie in der Such-Feindesign beschrieben korrekt bearbeitet. + + Die Suche wird wie im Such-Feindesign beschrieben korrekt bearbeitet. - MT#10 - - - Server: Textur lokal abspeichern - - - Der Server speichert eine Textur lokal ab. - - - - - MT#1 + MT#11 - Server: Metadaten automatisch erkennen + Server: Textur lokal abspeichern - Der Server erkennt an einer Textur die Mindestauflösung und + Der Server speichert eine Textur lokal ab. - + - Integrationstests - Testumgebung + Integrationstests + Testumgebung Mehrere komplette Arbeitsaufträge für die komplette Software werden getestet. Aus einem bestimmten Ausgangspunkt muss mit den gleichen Interaktionen das gleiche Ergebnis entstehen. - Als Ausgangspunkt werden speziell präparierte Situationen gewählt welche wiederholt werden können. - Die fehlerfreie Kommunikation innerhalb der Client und der Serversoftware wie auch die Kommunikation des Servers und des Clients werden dadurch verifiziert. - Test Definitionen + Als Ausgangspunkt werden speziell präparierte Situationen gewählt, welche wiederholt werden können. + Die fehlerfreie Kommunikation innerhalb der Client- und der Server-Software wie auch die Kommunikation des Servers und des Clients werden dadurch verifiziert. + Test Definitionen @@ -119372,18 +119337,18 @@ - Nummer + Nummer - Titel + Titel - Erklärung + Erklärung - IT#1 + IT#1 Verbindung aufbauen @@ -119394,18 +119359,18 @@ - IT#2 + IT#2 Alle Texturen anzeigen - Der Client muss bei einer Suche ohne angetriebenen Suchkriterien alle Texturen anzeigen. + Der Client muss bei einer Suche ohne angegebene Suchkriterien alle Texturen anzeigen. - IT#3 + IT#3 Einstelldatum @@ -119416,7 +119381,7 @@ - IT#4 + IT#4 Textur hinzufügen @@ -119427,68 +119392,66 @@ - IT#5 + IT#5 - Textur löschen + Textur löschen - Ein Client löscht eine Textur, diese wird auch auf dem Server gelöscht und kommt ein keinem Suchergebnis vor. + Ein Client löscht eine Textur, diese wird auch auf dem Server gelöscht und kommt bei keinem Suchergebnis mehr vor. - IT#6 + IT#6 - - Metadaten aktualisieren + Metadaten aktualisieren - Ein Client ändert einen Tag ab und ein weitere macht danach eine Suchanfrage mit diesem neuen Tag. Die dazugehörige Textur wird angezeigt. + Ein Client ändert einen Tag ab und ein weiterer macht danach eine Suchanfrage mit diesem neuen Tag. Die dazugehörige Textur wird angezeigt. - IT#7 + IT#7 - Verbindung schließen + Verbindung schließen - Ein verbundener Client schließt die Verbindung und kann diese wieder danach aufbauen. + Ein verbundener Client schließt die Verbindung und kann diese danach wieder aufbauen. - - - - - - - Systemtests - Testumgebung - Die Musskriterien wie auch die implementierten Wunschkriterien aus dem Pflichtenheft werden einzeln getestet. Dabei werden auf Randbedingungen wie auch auf Fehlerfälle besonders geachtet. Mittels Black-Box Tests werden dabei der Output des kompletten Software verifiziert. - Test Definitionen - + + + + + + + Systemtests + Testumgebung + Die Musskriterien wie auch die implementierten Wunschkriterien aus dem Pflichtenheft werden einzeln getestet. Dabei werden auf Randbedingungen wie auch auf Fehlerfälle besonders geachtet. Mittels Black-Box-Tests wird dabei der Output der kompletten Software verifiziert. + Test Definitionen - Nummer + Nummer - Titel + Titel - Erklärung + Erklärung - ST#1 + ST#1 Anzahl @@ -119499,62 +119462,62 @@ - ST#2 + ST#2 Bildformat - Texturen mit den Bildformaten JPEG und PNG können ins System eingefügt werden. Bei der nächsten Suchanfrage mit passenden Kriterien werden diese angezeigt in der 2D- und 3D-Preview korrekt angezeigt. + Texturen mit den Bildformaten JPEG und PNG können ins System eingefügt werden. Bei der nächsten Suchanfrage mit passenden Kriterien werden diese in der 2D- und 3D-Preview korrekt angezeigt. - ST#3 + ST#3 Metadaten - Eine Textur blue_water.png (512px x 1024px) wird hinzugefügt. Das System erfasst automatisch die Metadaten über Name, Einstelldatum und Auflösung. Tages des Nutzers werden mit diesen Metadaten und dem Bild vom Server gespeichert. + Eine Textur blue_water.png (512px x 1024px) wird hinzugefügt. Das System erfasst automatisch die Metadaten über Name, Einstelldatum und Auflösung. Tags des Nutzers werden mit diesen Metadaten und dem Bild vom Server gespeichert. - ST#4 + ST#4 Tags - Beim hinzufügen einer Textur wird ein 32 Zeichen langer Name als Tag angegeben. Dieser wird akzeptiert und korrekt verwaltet. + Beim Hinzufügen einer Textur wird ein 32 Zeichen langer Name als Tag angegeben. Dieser wird akzeptiert und korrekt verwaltet. - ST#5 + ST#5 Tags - Beim hinzufügen einer Textur wird einen 1 Zeichen langer Name als Tag angegeben. Dieser wird akzeptiert und korrekt verwaltet. + Beim Hinzufügen einer Textur wird ein Name eingegeben, der nur aus 1 Zeichen besteht. Dieser wird akzeptiert und korrekt verwaltet. - ST#6 + ST#6 Tags - Beim hinzufügen einer Textur wird versucht einen 0 Zeichen langer Name als Tag anzugeben. Dieser wird nicht akzeptiert. + Beim Hinzufügen einer Textur wird versucht ein Name eingegeben, der aus 0 Zeichen besteht. Dieser wird nicht akzeptiert. - ST#7 + ST#7 Filter @@ -119565,63 +119528,63 @@ - ST#8 + ST#8 Filter - Bei einer Suchanfrage mit dem Kriterium eines negierten Tags werden alle Texturen welchen diesen Tag nicht haben angezeigt. + Bei einer Suchanfrage mit dem Kriterium eines negierten Tags werden alle Texturen, welche diesen Tag nicht haben angezeigt. - - ST#9 + ST#9 Filter - Bei einer Suchanfrage mit dem Kriterium einer Mindestauflösung Tags werden alle Texturen welchen diese Mindestauflösung haben angezeigt. + Bei einer Suchanfrage mit dem Kriterium einer Mindestauflösung werden alle Texturen, welche diese Mindestauflösung haben angezeigt. + - ST#10 + ST#10 Filter - Bei einer Suchanfrage mit dem Kriterium einer Maximalauflösung Tags werden alle Texturen welchen diese Maximalauflösung haben angezeigt. + Bei einer Suchanfrage mit dem Kriterium einer Maximalauflösung werden alle Texturen, welche diese Maximalauflösung haben angezeigt. - ST#11 + ST#11 Filter - Bei einer Suchanfrage mit dem Kriterium eines Namen werden alle Texturen welchen diesen Namen haben angezeigt. + Bei einer Suchanfrage mit dem Kriterium eines Namen werden alle Texturen, welche diesen Namen enthalten angezeigt. - ST#12 + ST#12 Synchronisation - Es wird eine Textur hinzufügt. Alle Nutzer können bei der nächsten Suchanfrage diese angezeigt bekommen. + Es wird eine Textur hinzugefügt. Alle Nutzer können bei der nächsten Suchanfrage diese angezeigt bekommen. - ST#13 + ST#13 Synchronisation @@ -119632,18 +119595,18 @@ - ST#14 + ST#14 Synchronisation - Es wird bei einer Textur eineTag hinzugefügt. Alle Nutzer können bei der nächsten Suchanfrage diese angezeigt bekommen. + Es wird bei einer Textur ein Tag hinzugefügt. Alle Nutzer können bei der nächsten Suchanfrage diesen Tag angezeigt bekommen. - ST#15 + ST#15 Synchronisation @@ -119654,7 +119617,7 @@ - ST#16 + ST#16 Export @@ -119665,7 +119628,7 @@ - ST#17 + ST#17 Atomarer Upload @@ -119676,7 +119639,7 @@ - ST#18 + ST#18 3D-Ansicht @@ -119687,7 +119650,7 @@ - ST#19 + ST#19 Installation @@ -119698,7 +119661,7 @@ - ST#20 + ST#20 Installation @@ -119709,7 +119672,7 @@ - ST#21 + ST#21 Update durch Paketverwaltung @@ -119720,18 +119683,18 @@ - ST#22 + ST#22 Backup - Das Daten-Verzeichnis des Servers kann durch kopieren gesichert werden. + Das Daten-Verzeichnis des Servers kann durch Kopieren gesichert werden. - ST#23 + ST#23 Backup @@ -119742,20 +119705,20 @@ - ST#24 + ST#24 Automatische Konfiguration - Server und Client waren noch nie verbunden. Der Client findet automatisch innerhalb 30 Sekunden den Server. + Server und Client waren noch nie verbunden. Der Client findet automatisch innerhalb von 30 Sekunden den Server. - Akzeptanztests - Testumgebung - Als Testumgebung gilt hier kontre wie im Lastenheft angegeben Ubuntu 18.04 (x64) für die Server wie auch für die Client Software. Die funktionalen wie auch nicht-funktionalen Anforderungen werde getrennt von einander getestet. Die User-Stories werden von Endbenutzern durchgeführt. - Test Definitionen + Akzeptanztests + Testumgebung + Als Testumgebung gilt hier wie im Lastenheft angegeben Ubuntu 18.04 (x64) für die Server- wie auch für die Client-Software. Die funktionalen wie auch nicht-funktionalen Anforderungen werden getrennt voneinander getestet. Die User-Stories werden von Endbenutzern durchgeführt. + Test Definitionen @@ -119763,30 +119726,30 @@ - Nummer + Nummer - Titel + Titel - Erklärung + Erklärung - AT#1 + AT#1 Texturen hinzufügen - Jeder Nutzer ist in der Lage, neue Texturen in die Sammlung aufzunehmen und auf den Server zu laden. + Jeder Nutzer ist in der Lage neue Texturen in die Sammlung aufzunehmen und auf den Server zu laden. Bei doppelten Namen schlägt das Hinzufügen fehl und informiert den Nutzer. Zum Hinzufügen wählt der Nutzer eine Texturdatei aus, die auf dem Computer des Nutzers abgespeichert ist. - AT#2 + AT#2 Tags verwalten @@ -119797,7 +119760,7 @@ - AT#3 + AT#3 Metadaten speichern @@ -119808,38 +119771,38 @@ - AT#4 + AT#4 Filter Die Sammlung aller Texturen lässt sich zur besseren Übersicht nach Metadaten filtern. Mögliche Filterkriterien sind: - + - Das Vorhandensein von Tags + das Vorhandensein von Tags - Das Nichtvorhandensein von Tags + das Nichtvorhandensein von Tags - Mindestauflösung + Mindestauflösung - Maximalauflösung + Maximalauflösung - Filtern nach Einstelldatum + Filtern nach Einstelldatum - Namen + Namen - AT#5 + AT#5 Synchronisation @@ -119850,7 +119813,7 @@ - AT#6 + AT#6 Texturen extrahieren @@ -119861,7 +119824,7 @@ - AT#7 + AT#7 Detailansicht @@ -119912,7 +119875,7 @@ Defekte Daten - Wenn es beim Übertragen von Texturen auf den Server zu einem Fehler kommt wird die Textur nicht in das System übernommen, und der Benutzer wird gewarnt. + Wenn es beim Übertragen von Texturen auf den Server zu einem Fehler kommt wird die Textur nicht in das System übernommen und der Benutzer wird gewarnt. @@ -119945,7 +119908,7 @@ Sicherung von Daten - Alle Daten im System können gesichert werden durch das Kopieren eines einzelnen Ordners im Dateisystem des Servers. + Alle Daten im System können durch das Kopieren eines einzelnen Ordners im Dateisystem des Servers gesichert werden. So gesicherte Daten können wiederhergestellt werden, indem sie zurückkopiert werden und danach die Server-Software neu gestartet wird. Hierbei wird vorausgesetzt, dass die Struktur beibehalten wird. @@ -119979,7 +119942,7 @@ User-Story - Wenn ich eine passende Textur gefunden habe will ich diese auf meinem Rechner im Projekt abspeichern. + Wenn ich eine passende Textur gefunden habe, will ich diese auf meinem Rechner im Projekt abspeichern. @@ -120005,7 +119968,7 @@ - Changelog + Changelog @@ -120043,10 +120006,26 @@ - 1.0.3 + 1.0.3 - Weitere Testfälle hinzufügt + weitere Testfälle hinzufügt + + + + + 1.0.4 + + + Tippfehler und Inhalt korrigiert + + + + + 1.0.5 + + + Rechtschreibung überarbeitet diff --git a/doc/tests/mastertestplan/mastertestplan.pdf b/doc/tests/mastertestplan/mastertestplan.pdf index 4e322f6..937b3cc 100644 Binary files a/doc/tests/mastertestplan/mastertestplan.pdf and b/doc/tests/mastertestplan/mastertestplan.pdf differ diff --git a/orga/statusberichte/Statusbericht_KW17.md b/orga/statusberichte/Statusbericht_KW17.md index 2b7c927..e35a563 100644 --- a/orga/statusberichte/Statusbericht_KW17.md +++ b/orga/statusberichte/Statusbericht_KW17.md @@ -7,29 +7,17 @@ hier der Statusbericht der vergangenen Woche TextureSync. #Vergangene Arbeitswoche -##Grobdesign -Das Grobdesign wurde von Lukas Fürderer auf Grundlage einer Diskussion in der Gruppe erstellt. +##Feindesign +Das Feindesign zur Datenerhaltung wurde von Lukas Fürderer erweitert. ##Mastertestplan -Der Mastertestplan wurde von Hendrik Schutter erstellt. +Der Mastertestplan wurde von Hendrik Schutter vervollständigt. ##Netzwerkprotokoll -Robin Willmann ergänzte das Netzwerkprotokoll mit Fehlerhandhabungen, die bei der Erstellung des Mastertestplans auftraten. +Robin Willmann ergänzte das Netzwerkprotokoll. -##Suche -Robin Willman erstellte ein Feindesign-Dokument für die Suche. - -##Datenerhaltung -Lukas Fürderer erstellte ein Feindesign-Dokument für die Datenerhaltung des Servers. - -##Mockups -Jannik Seiler dokumetierte die Mockups im Pflichenheft. - -##3D-Preview Proof-of-Contept -Jannik Seiler portierte den in Java geschriebenen Code in Kotlin. - -##UI Proof-of-Concept -Jannik Seiler erstellte eine UI-Demo in Kotlin um die UI-Elemente zu testen. +##Impemeltieren +Robin Willmann erstellte das Grundgerüst des Servers. ##Planung In der Planung des Projektes wurden die erledigten Aufgaben aktuallisiert. @@ -37,14 +25,14 @@ In der Planung des Projektes wurden die erledigten Aufgaben aktuallisiert. #Nächste Arbeitswoche -##Feindesign fertigstellen - -##Diagramme in Dokumente hinzuzufügen +##Feindesign fertigstellen (UI Elemente) ##Alle Design Dokumente reviewen ##Milestone End of Design +###Durch die Osterfeiertage sowie der Abwesenheit von Jannik Seiler (auf dem RoboCup in Portugal mit Herrn Prof. Dorer) wurden nicht alle Ziele ereicht und werden deshalb in die nächste Woche übertragen. + #Aktuelle Informationen über das Projekt ##Website mit aktuellem Projektplan: https://planner.mosad.xyz/TextureSync.html