From c0d4d9e3862f61594c89e30e3dd25f84fdb2f6e9 Mon Sep 17 00:00:00 2001 From: Seil0 Date: Sat, 13 Apr 2019 14:53:53 +0200 Subject: [PATCH] improved description of the main window --- doc/pflichtenheft/pflichtenheft.fodt | 383 ++++++++++++++------------- doc/pflichtenheft/pflichtenheft.pdf | Bin 236011 -> 236056 bytes 2 files changed, 193 insertions(+), 190 deletions(-) diff --git a/doc/pflichtenheft/pflichtenheft.fodt b/doc/pflichtenheft/pflichtenheft.fodt index f20d3b9..13973d5 100644 --- a/doc/pflichtenheft/pflichtenheft.fodt +++ b/doc/pflichtenheft/pflichtenheft.fodt @@ -1,29 +1,29 @@ - 2019-03-26T16:04:36.670567469PT3H36S85LibreOffice/6.2.2.2$Linux_X86_64 LibreOffice_project/20$Build-2Pflichtenheft2019-04-08T22:41:24.0953258271.1.0 + 2019-03-26T16:04:36.670567469PT3H8M34S86LibreOffice/6.2.2.2$Linux_X86_64 LibreOffice_project/20$Build-2Pflichtenheft2019-04-13T14:52:12.8983096491.1.0 - 201685 + 249767 0 50034 - 21936 + 20904 true false view2 - 16514 - 258798 + 32523 + 255917 0 - 201685 + 249767 50033 - 223619 + 270669 0 1 false 100 - true + false false @@ -105,7 +105,7 @@ true false true - 4013633 + 4030678 true false false @@ -117915,172 +117915,172 @@ - - + + - - - + + - + - + + + + + + + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - - - - - - + - - - - - - - - - - - - - - - - - - - - + + - - + + - + + + + - - + + - - + + + + + + + + + + + + + + + + + - + - + + + + - + - - - - + @@ -118110,22 +118110,25 @@ - - + + - + - + - + - + + + + @@ -118207,15 +118210,15 @@ + + + - - - @@ -118369,7 +118372,7 @@ - TextureSync Pflichtenheft Version 1.1.0Seite 8/11 + TextureSync Pflichtenheft Version 1.1.0Seite 9/11 @@ -118387,7 +118390,7 @@ - + Pflichtenheft TextureSync @@ -118408,15 +118411,15 @@ - Version + Version - 1.1.0 + 1.1.0 - Datum + Datum 22.03.19 @@ -118424,25 +118427,25 @@ - Autor + Autor - Lukas Fürderer, Jannik Seiler + Lukas Fürderer, Jannik Seiler - Projektmitglieder + Projektmitglieder - Hendrik Schutter, - Lukas Fürderer, - Robin Willmann, - Jannik Seiler + Hendrik Schutter, + Lukas Fürderer, + Robin Willmann, + Jannik Seiler - + Inhaltsverzeichnis @@ -118529,49 +118532,49 @@ - Inhaltsverzeichnis + Inhaltsverzeichnis - 1 Einleitung3 - 1.1 Musskriterien3 - 1.2 Wunschkriterien4 - 1.3 Abgrenzungskriterien5 - 2 Produktumgebung5 - 2.1 Architektur5 - 2.2 Server5 - 2.3 Client6 - 3 Technologien6 - 3.1 Server6 - 3.2 Client6 - 4 Gegenmaßnahmen für Risiken7 - 4.1 Gegenmaßnahmen für Produktrisiken7 - 4.2 Gegenmaßnahmen für Produktrisiken7 - 5 Mockups8 - 5.1 Erster Start8 - 5.2 Hauptfenster8 - 5.3 Dialog9 - 5.4 Textur importieren9 + 1 Einleitung3 + 1.1 Musskriterien3 + 1.2 Wunschkriterien4 + 1.3 Abgrenzungskriterien5 + 2 Produktumgebung5 + 2.1 Architektur5 + 2.2 Server5 + 2.3 Client6 + 3 Technologien6 + 3.1 Server6 + 3.2 Client6 + 4 Gegenmaßnahmen für Risiken7 + 4.1 Gegenmaßnahmen für Produktrisiken7 + 4.2 Gegenmaßnahmen für Produktrisiken7 + 5 Mockups8 + 5.1 Erster Start8 + 5.2 Hauptfenster8 + 5.3 Dialog9 + 5.4 Textur importieren9 - - Einleitung + + Einleitung TextureSync ist eine Client-Server Applikation zur Verwaltung und Verteilung von 3D-Texturen in einem Unternehmensnetzwerk. Ein 3D-Designer soll hierbei so wenig Aufwand wie möglich mit der Organisation und Verteilung seiner Texturen haben. TextureSync übernimmt die zentrale Speicherung und macht erstellte Werke allen teilnehmenden Mitarbeitern des Unternehmens zugänglich. - Musskriterien - MK#1 Texturensammlung + Musskriterien + MK#1 Texturensammlung Der Server kann mindestens 1000 Texturen (Grafikdateien) speichern. Jeder verbundene Client kann Grafiken hinzufügen und die Sammlung durchsuchen. - MK#2 Bildformate + MK#2 Bildformate TextureSync kann mindestens die Bildformate JPEG und PNG korrekt verwalten und darstellen. - MK#3 Metadaten + MK#3 Metadaten Beim Importieren von Texturen erfasst TextureSync automatsich die Auflösung der Textur und das aktuelle Datum als Einpflegedatum. Der Nutzer kann den Texturen bei Bedarf Tags hinzufügen und den eindeutigen Namen editieren. - MK#4 Tags + MK#4 Tags Tags sind Zeichenketten, mit denen Texturen in bestimmte Gruppen eingeteilt werden können. Als Tags sind maximal 32 Zeichen und mindestens 1 Zeichen aus Buchstaben, Zahlen, Bindestrichen, Unterstrichen und Umlauten erlaubt. Die Groß- und Kleinschreibung (auch der Umlaute) wird nicht berücksichtigt. Jeder Textur können beliebig viele Tags zugewiesen werden und umgekehrt kann ein Tag beliebig vielen Texturen zugewiesen werden. Die Zuordnung der gesammelten Texturen zu ihren Tags lässt sich jederzeit von beliebigen Nutzern wieder ändern durch Hinzufügen und Löschen von Tags bei den betreffenden Texturen. - - MK#5 Filter + + MK#5 Filter Der Nutzer kann die am Client angezeigten Texturen nach verschiedenen Kriterien filtern. Mögliche Kriterien sind: - + Das Vorhandensein von Tags @@ -118592,37 +118595,37 @@ Beliebige Kombinationen dieser Kriterien sind möglich, um nur die Texturen anzuzeigen, die alle eingestellten Kriterien erfüllen. Als Auflösung wird die Breite bzw. Höhe der Textur in Pixeln gezählt. Sollte eine Textur nicht quadratisch sein, zählt das quadratische Mittel aus Breite und Höhe. Alle gefundenen Ergebnisse werden jeweils mit einer 2D-Vorschau aufgelistet. - MK#6 Synchronisation + MK#6 Synchronisation Hat ein Nutzer eine Textur erfolgreich zur Sammlung hinzugefügt oder Tags zu einer Textur hinzugefügt bzw. entfernt, ist diese geänderte Textur sowie deren Metadaten für alle anderen Nutzer sichtbar. - MK#7 Export + MK#7 Export Jede gewünschte Textur lässt sich aus der Sammlung exportieren und im lokalen Dateisystem des Clients an einem beliebigen Ort abspeichern. - MK#8 Atomarer Upload + MK#8 Atomarer Upload Eine neue Textur wird erst dann in die Sammlung übernommen, wenn der Upload auf den Server vollständig und erfolgreich war. Sollte ein Upload durch einen Netzwerkausfall abbrechen, wird keine defekte Textur in die Sammlung aufgenommen. - MK#9 3D-Ansicht + MK#9 3D-Ansicht Der Nutzer könnte bei Auswahl einer Textur eine 3D-Vorschau angezeigt bekommen um eine räumliche Vorstellung davon zu erhalten. - Wunschkriterien - - WK#1 Einfache Installation + Wunschkriterien + + WK#1 Einfache Installation Wünschenswert wäre, sowohl Client als auch Server, jeweils über eine einzelnes Shell-Skript installieren zu können. Dieses würde auch die Inbetriebnahme des Server übernehmen. Alternativ könnte dies auch von einem debian Paket erledigt werden. - WK#2 Update durch die Paketverwaltung + WK#2 Update durch die Paketverwaltung TextureSync könnte als Paket in apt installiert werden, sodass es beim üblichen Systemupdate von Ubuntu ebenfalls aktualisiert wird. - WK#3 Backup + WK#3 Backup Von der Texturensammlung lässt sich im laufenden Betrieb ein konsistentes Backup erstellen, indem man ein bestimmtes, im Handbuch angegebenes Verzeichnis mit einem einfachen Kopierprogramm auf das Backuplaufwerk kopiert. Zur Wiederherstellung des Backups reicht es aus, den Server zu stoppen, das Verzeichnis aus dem Backup zurück zu spielen und den Server erneut zu starten. WK#4 Automatische Konfiguration des Clients Der Client findet automatisch den Server innerhalb von 30 Sekunden, ohne dass eine IP-Adresse von Hand eingeben werden muss. Änderungen der Server IP-Adresse werden automatisch erkannt. - WK#5 W3D Ansicht als Standard Ansicht + WK#5 W3D Ansicht als Standard Ansicht Der Nutzer könnte ohne Auswahl einer Textur alle gefunden Texturen als 3D-Vorschau angezeigt bekommen um eine räumliche Vorstellung davon zu erhalten.. - Abgrenzungskriterien - Texturen erstellen oder bearbeiten + Abgrenzungskriterien + Texturen erstellen oder bearbeiten TextureSync ist keine Bildbearbeitung. Um Texturen zu ändern, müssen diese exportiert, mit einem dafür vorgesehenen Programm bearbeitet und schließlich neu importiert werden. - Produktumgebung - Architektur + Produktumgebung + Architektur TextureSync ist eine Client-Server Applikation. Ein Client reicht zur Verwendung nicht aus. Um TextureSync lokal zu verwenden, muss ein lokaler Server installiert werden, auf den der Client anschließend zugreifen kann. - Server + Server Der Server lässt sich auf einem Ubuntu Server 18.04 mit Internetzugang installieren, sofern ein root-Zugriff vorhanden ist. - Client + Client Der Client lässt sich auf einem Ubuntu 18.04 System mit Internetzugang und root-Zugriff installieren. Technologien Server @@ -118648,35 +118651,35 @@ - PjR#1 + PjR#1 - Puffer einplanen, Worst-Case beachten. + Puffer einplanen, Worst-Case beachten. - PjR#2 + PjR#2 - Frühzeitig Prototyp bauen, testen. Anforderungen analysieren. + Frühzeitig Prototyp bauen, testen. Anforderungen analysieren. - PjR#3 + PjR#3 - Puffer einplanen. + Puffer einplanen. - PjR#4 + PjR#4 - Frühzeitig Proof-of-Concept/Prototypen erstellen. Alternativen: - + Frühzeitig Proof-of-Concept/Prototypen erstellen. Alternativen: + Server erstellt Preview @@ -118691,18 +118694,18 @@ - PjR#5 + PjR#5 - Aktuelle Versionen verwenden, freie Frameworks und Tools + Aktuelle Versionen verwenden, freie Frameworks und Tools - PjR#6 + PjR#6 - Tests bei Planung definieren, während Implementieren testen + Tests bei Planung definieren, während Implementieren testen @@ -118715,75 +118718,75 @@ - PdR#1 + PdR#1 - Möglichkeiten zum Backup schaffen; Server-Dateistruktur einfach halten. + Möglichkeiten zum Backup schaffen; Server-Dateistruktur einfach halten. - PdR#2 + PdR#2 - Server: Nach solchen Daten beim Start scannen. - Client: Cache leeren beim Start oder beim Beenden. + Server: Nach solchen Daten beim Start scannen. + Client: Cache leeren beim Start oder beim Beenden. - PdR#3 + PdR#3 - Edge-Cases testen. Server sendet Nachricht, um zu zeigen, dass die Transaktion erfolgreich war. + Edge-Cases testen. Server sendet Nachricht, um zu zeigen, dass die Transaktion erfolgreich war. - PdR#4 + PdR#4 - Schon ausgewählte Texturen könnten lokal gecached werden. + Schon ausgewählte Texturen könnten lokal gecached werden. - PdR#5 + PdR#5 - Auflösung verringern, Animationen deaktivieren, nur 2D Previews + Auflösung verringern, Animationen deaktivieren, nur 2D Previews - PdR#6 + PdR#6 - Bestätigung für löschen erforderlich. - Backup kann wieder eingespielt werden + Bestätigung für löschen erforderlich. + Backup kann wieder eingespielt werden - PdR#7 + PdR#7 - Atomarer Upload, Möglichkeit Metadaten zu ändern. + Atomarer Upload, Möglichkeit Metadaten zu ändern. - PdR#8 + PdR#8 - Bestätigungs-Nachricht nach Upload an Client, nach Erfolg. User Interface informiert Nutzer über den Erfolg. + Bestätigungs-Nachricht nach Upload an Client, nach Erfolg. User Interface informiert Nutzer über den Erfolg. - + Mockups Erster Start - + iVBORw0KGgoAAAANSUhEUgAAAvAAAAGQCAYAAADIulS9AAAgAElEQVR4nOzdd3gVddrG8ScF EiAkhNBbaFJDDTWACb2XSEB6pHdBLChFsBdUQBcRBEXW7gq4iIotCOKyiuKuuxZkRUXgVVFU VJB2v3/gnHCSk5CQkJno93NdzyVkZn7zzBwMN5OZ39jnn3+uihUrqlSpUipVqpSKFy/u+3VB @@ -119107,7 +119110,7 @@ Das Startfenster besteht aus einem Spinner, der während des Verbindens aktiv ist und einer Textbox, in welche sich manuell die Server-IP eingeben lässt. Hauptfenster - + iVBORw0KGgoAAAANSUhEUgAABIUAAAKbCAYAAABrQDp8AAAgAElEQVR4nOydeVgV973/xy3u gFtWG701zZ5oXJImJoUmN22TtjemSW/SX9qYNEvb3KQoiriDu4gIrqgRcd8jKGo0LiBqTNxw V3ZRcMfjviDw/v1hv5M5c2bOxpkzI+f9ep738wjIOQfkS2Ze+SzSsWPH8MADDyAkJAQhISFo @@ -120432,9 +120435,9 @@ QmCC - Das Hauptfenster besteht aus einer Pane für die Anzeige der Texturen und einer Detailansicht. Die Detailansicht beinhaltet eine 3D-Preview, eine ChipView zur Darstellung der Tags, sowie die zur Textur gehörenden Metadaten. Über den Butten rechts unten lässt sie das Textur importieren Fenster öffnen - Dialog - + Das Hauptfenster besteht aus einer Pane für die Anzeige der Texturen und einer Detailansicht. Die Detailansicht beinhaltet eine 3D-Preview, eine ChipView zur Darstellung der Tags, sowie die zur Textur gehörenden Metadaten. Über die ChipView lassen sich Tags bearbeiten und hinzufügen. Der Button rechts unten öffnet das Textur importieren Fenster. + Dialog + iVBORw0KGgoAAAANSUhEUgAABIUAAAKbCAYAAABrQDp8AAAgAElEQVR4nOzde5hbVb3w8bQF W6BQtOAj6gMeq+mFMpRepjBtpzLTmcxkppOZzDWZmWQmmQRBON4O6MHL6+ODHLxwUI9aL+hR vMtR9BzEI94QRUXwcMALgoigFkQUUBGOBfp7/6g7JJmdZO+dvbJWsr/reT7PA512kmlnlb2+ @@ -121493,7 +121496,7 @@ Textur importieren - + iVBORw0KGgoAAAANSUhEUgAAAvAAAAGQCAYAAADIulS9AAAgAElEQVR4nOzdeVhV1eI+8MWM zAioIII5oowKioAKkkqO4DwWlkNqGta362w4p+kNNUstNfNWzmCOqSkomrPmvV27qaU55oiG Cg7w/v7gt7fsMzMczlHfz/Os5wHO2vustfc+57zss/ba4sKFC/D29oabmxvc3Nzg4OAg/1zR @@ -121954,7 +121957,7 @@ Texturen lassen sich über eine eigenes Fenster hinzufügen. Diese besteht aus einer Textbox für den Pfad, welcher sich auch durch einen Filechooser festlegen lässt, einer Textbox für die Eingabe des Namens sowie einer ChipView für die Eingabe von Tags. - Changelog + Changelog @@ -121968,18 +121971,18 @@ - 1.0.1 + 1.0.1 - Typo + Typo - 1.1.0 + 1.1.0 - Nummerierung der Kriterien; MK#9 von Wunsch- nach Musskriterium + Nummerierung der Kriterien; MK#9 von Wunsch- nach Musskriterium diff --git a/doc/pflichtenheft/pflichtenheft.pdf b/doc/pflichtenheft/pflichtenheft.pdf index 808bac80bb4e323d95af777fcb5611d65e817704..1078484d3c5199df0f058b0a3c72a3ccca961e8c 100644 GIT binary patch delta 3523 zcmai0Yg80R77jh}fFq3JD{e$~TmjitnXc-t?kM>%N~-eRp(Oq>uZE!t6(%-7>yDrts4F z{Ll9`#cn~_9nojk4%z-B(7g8Qm9X}Bi|6$_iH_eJjn%g-y%w*BNnYdSnT7Tf8TYdv zwg&HE71UI|ia*&s ze1y2p=e0jA6Gms9Ji7U)sk%5Ue(BV+Sqp3de=cY+^FEngvtlR%niMwy@wC?Hh zi{|?+oAcMFjXeAQFRS`;SAVeJ@n_TKo0Hx9P2UasxA%j&!$*#O^Q?B~oci~JzSTzg zMAu_$)sd)(Rl9nZuc%+zri;DqU?;6<@||d_uNocufiYu5?Zna!*5o}+DVn{MM(2 z=J}i}vLii4`QFiTy~q7yN03DmQZr|h+wf__--tW9|LU73?;qHpY1VqSH_p71aBIV2 zrtB+2z(=2Sd07_Dk~W3+E~$2J65YSa9aePZ+~S87d~bFXzFVDrvAEY%GUbnv%fs*K z?!COIJ3MwOKN2nF-n4+F8)yC9LQQRu z2jBpYAcV@vGEFceaEhi}gEbt-D zC$a-ML81yII!JV4!V_7lK)@j$5%FEmBfSkShU8}f5+t6g+KCC2 z3IK_mKotlf5l|H?auTHsKoU!1&QO`Int&WfbwV&+P-6(IF_9h_Ai6d}^e4fRx)VrnItc{oPKX)QJRZ=V;aDQ8>v?1( zfR!mC5O_{CcY;Zn3Kn>T2OG)hBZ0?AbshquM8!(Z4e}I|f4z1<5=hG`B8Tb3WHCY7 z)so1oiopUW(TTCZ16KpfEWm;QXa{4Fr6mMdgd$xa#z1vt38qp3V@`F$FsTs9RL2;L zbSID{+mBMgiHXz|BbeHlESV-%G~qqJ?((y(2g&x~sChauL`g_6M0W=P&(i)N7}-d! z%|U=MrZ5>oVjRku1cQL?4zgs;QwNeK1=7kupjt>|Ns;N%u^dFA-nsvtuV6wXR#y>; zlT?^Qn-D^tWhrA442Y`4Jomh4`RSuWh&(L~!30SiEb*#h5X-9)BccsmG~%7lyGz3| zL;|NKVwSoQ5DKiIN+M)4~q00JD;<4&9vSw8Cz)t(PY6>w>zuB0h-)smmdb*Qm z4|X6H29-DP9|<8!5?u^&uSyn<=qD)SD>bjme5jG*ZvPx%+4_Y delta 3466 zcmai0dr(x@84q_Qi`xhxK|yGAsX+lj?m73~bMKL8VIM$74e=522@*#wQiHHS0Xw~M z7aBnYwZ^MqFhlTdL?{YAK%vwJK9Vs&KuXi7D5O?t(8TEY=vg!c&go3|uRFi_zVrQl z-*dMgalc*VUhyDJ-B=&eUOD1U=#n1)`&&_-X~C9h&;AfSF6nnApH~MpSi--m&Ca=Z zWIuvp#G-S)+wPC3=NFTwBI?1Hni8qxRF}_n)?B82#zo6Fkt!`SM?>%A0@Rpm!C#E>;^*6&}J;Ludj#4ut9Di%b{we2S zEnbWsTzs$T%L6apDPKRnMfrlunvuLK>*$>=e>Ul%U^{1?4mZ3d1~%5#$9S#&WZdX6 zdsl_HT{E>*w_02SM;^a4$`;(cW;FK~ugMEnyra7t;#>Ub{z(@qUrTM=mbN9VC}q!; zZD7u^xn&{l*#*bX{qan}r~jO*?%Hl?_|>LM0bjH~I^pwjZ1`$>^sz5XJ-sdu`=r_T z(Mzcxb^E`&qpGwbylrtyD5qanRX#8NPW6HD{*lVIyy@#R&2Q$cy7m5pmnt?@&NmSgn}RlH?5vvKyYq+1wYR@17(M@TPVT=-gM-RL9M_Gz{5O;|dF@Wx?*>a|t}L{D z7MEO8JS?#}ym5DIW9zl@Wedi2kNH5qtaUaJaOM#d@*Y8ljxL5 zeo1MU`YxY|{y`_l9X#=S+tK-Bf4w?21DEtkUAaD8rI*d{D;2 z2Hf;tgBN)YR<{F2UT!|S~Cv-Q2L>))T~dh`7GS<(Ca1M)VXJsjHPo$nj=Z=W-_)84er%DjK$ z-mM>-tE?H14=vxmwX5vA(?)!5#=2_%r>-gE-^UqdD(W|t zwe8Li5%F3}k*RJftvzhq6LpvLx|{#UQ3JBr0Gi z1_S}2{ut^&U?-?Zw4sOuiXengp#uX!L=r_12$BeR`aMY$29qK2c_1MfQ>+O_a!xr* zvH&Q8gbbD$UztdueHEU@puhu_W=%k-P)Z0U0v3}*7DIHIh_Ax4c360hssF7z6abGH zLjW*~36RA^RtS(-AwV7~gyf$DR#+tfvq~Ufl|cAH$si$6KuphIOp_t>cuA!UfsA=t zi4$WwSjNmm5If9^RNYD0WvXX@f{^&4G1Z^P&Ivvri9r*gAO+FQrN|I656Yr6xT~E_ zjgcS<6d8h{p}wlqP-22$gy|HLf(KN05O$9f(d|1A;BbC9RwmT(gcAh(q)1GV{vHudDRIr zV+VPFXmyY$Ykp|9AmkN=4ovP6y^zR^0Et>=1cLw?o%?T~;Rq;TS}_!)|AEO0wOWZU zMhr%-786*61EkgGM~9p@kxmW4kjOfdfuge@IVDg+B!HOANPAoE2kMJtg>UKvc17}7GLM~u9OdFDNZ7YE)` z`)@wEsDSByQYDd5r^xhw1LBJ%s;kLS1nk+y0)4h2oP$MrFB4}ph~W!@SP^J40u-6d z2oNbii`k)zP?1S6iIKp9fg)MVydYVjISK$|RRC|bipo^OTmRR@xY!V8Nm*+C&9bG* zwv1KAut?ENo{a+LNX3kRg}0b3