continue working on the thesis
This commit is contained in:
parent
a022f24c22
commit
1a6573f7ec
|
@ -29,8 +29,9 @@ zur Diplomarbeit von Andreas Zweili.
|
||||||
|
|
||||||
** Aufbau
|
** Aufbau
|
||||||
|
|
||||||
Alle Inhalte sind chronologisch sortiert, vom ältesten zum jüngsten
|
Alle Inhalte sind in der Regel chronologisch sortiert, vom ältesten zum jüngsten
|
||||||
Ereignis, und nach Kapiteln getrennt.
|
Ereignis, und nach Kapiteln getrennt. An gewissen Stellen kann die
|
||||||
|
chronologische Reihenfolge allenfalls nicht gewährleistet werden.
|
||||||
|
|
||||||
** Lizenz
|
** Lizenz
|
||||||
|
|
||||||
|
@ -134,7 +135,7 @@ integriert werden und ist nicht unwichtig.
|
||||||
|------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------+----------------------------------------------------------------|
|
|------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------+----------------------------------------------------------------|
|
||||||
| 4. | Der User kann ein Archiv mit 3 Klicks löschen. | x | |
|
| 4. | Der User kann ein Archiv mit 3 Klicks löschen. | x | |
|
||||||
|------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------+----------------------------------------------------------------|
|
|------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------+----------------------------------------------------------------|
|
||||||
| 5. | Der User kann unter Linux ein Archiv mit zwei Klicks "read-only" als Laufwerk mounten. | x | |
|
| 5. | Der User kann unter Linux ein Archiv mit zwei Klicks "red-only" als Laufwerk mounten. | x | |
|
||||||
|------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------+----------------------------------------------------------------|
|
|------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------+----------------------------------------------------------------|
|
||||||
| 6. | Der User kann ein Archiv wieder herstellen. | x | |
|
| 6. | Der User kann ein Archiv wieder herstellen. | x | |
|
||||||
|------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------+----------------------------------------------------------------|
|
|------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------+----------------------------------------------------------------|
|
||||||
|
@ -301,7 +302,7 @@ Die Diagramme wurden mit Draw.io footcite:draw erstellt. Draw.io ist gls:libre
|
||||||
unter Apache Lizenz Version 2.0 footcite:apache und kann sowohl als Desktop
|
unter Apache Lizenz Version 2.0 footcite:apache und kann sowohl als Desktop
|
||||||
Applikation wie auch als Webanwendung genutzt werden.
|
Applikation wie auch als Webanwendung genutzt werden.
|
||||||
|
|
||||||
Beim Design der Arbeit wurden soweit als möglich die typografischen Regeln aus
|
Beim Design der Arbeit wurden soweit als möglich die typographischen Regeln aus
|
||||||
dem Buch "Practical Typography" von Matthew Butterick footcite:typo angewandt.
|
dem Buch "Practical Typography" von Matthew Butterick footcite:typo angewandt.
|
||||||
Bei den Diagrammen wurden ausschliesslich Farben aus der von Google
|
Bei den Diagrammen wurden ausschliesslich Farben aus der von Google
|
||||||
entwickelten Design Sprache "Material" footcite:material eingesetzt.
|
entwickelten Design Sprache "Material" footcite:material eingesetzt.
|
||||||
|
@ -315,13 +316,13 @@ kollidiert An einem normalen Arbeitstag wurde dabei damit gerechnet das ca. 2
|
||||||
Stunden Arbeit am Abend möglich sein sollten. An einem arbeitsfreien Tag wurde
|
Stunden Arbeit am Abend möglich sein sollten. An einem arbeitsfreien Tag wurde
|
||||||
mit 6 Stunden Arbeit gerechnet. Über die Festtage wurden diverse Tage von der
|
mit 6 Stunden Arbeit gerechnet. Über die Festtage wurden diverse Tage von der
|
||||||
Planung ausgenommen, da es nicht realistisch schien das an diesen Tagen die
|
Planung ausgenommen, da es nicht realistisch schien das an diesen Tagen die
|
||||||
Arbeit signifikant vorwärtsgehen würde. Auch Schultage wurde nicht, als
|
Arbeit signifikant vorwärts gehen würde. Auch Schultage wurde nicht, als
|
||||||
Arbeitstage gerechnet da man meist nicht mehr für weitere Tätigkeiten gross
|
Arbeitstage gerechnet da man meist nicht mehr für weitere Tätigkeiten gross
|
||||||
motiviert ist.
|
motiviert ist.
|
||||||
|
|
||||||
Als zusätzliche Massnahme um die Arbeitslast zu verteilen wurde vom 14. Januar
|
Als zusätzliche Massnahme um die Arbeitslast zu verteilen wurde vom 14. Januar
|
||||||
bis zum 11. März jeder Montag auf der Arbeitsstelle als frei eingegeben.
|
bis zum 11. März jeder Montag auf der Arbeitsstelle als frei eingegeben.
|
||||||
Dadurch steht wägend des Projektes etwas mehr Zeit zur Verfügung als sonst mit
|
Dadurch steht während des Projektes etwas mehr Zeit zur Verfügung als sonst mit
|
||||||
einer 100 Prozent Arbeitsstelle möglich wäre.
|
einer 100 Prozent Arbeitsstelle möglich wäre.
|
||||||
|
|
||||||
** TODO Controlling
|
** TODO Controlling
|
||||||
|
@ -333,7 +334,7 @@ Lehren gezogen werden.
|
||||||
|
|
||||||
#+LATEX:\newpage
|
#+LATEX:\newpage
|
||||||
#+LATEX:\begin{landscape}
|
#+LATEX:\begin{landscape}
|
||||||
*** TODO Zeit
|
*** TODO Zeitaufwand
|
||||||
|
|
||||||
#+CAPTION: Zeitcontrolling
|
#+CAPTION: Zeitcontrolling
|
||||||
#+ATTR_LATEX: :environment longtable :align |p{3cm}|p{5cm}|p{3cm}|p{7cm}|
|
#+ATTR_LATEX: :environment longtable :align |p{3cm}|p{5cm}|p{3cm}|p{7cm}|
|
||||||
|
@ -344,34 +345,34 @@ Lehren gezogen werden.
|
||||||
|-----------------------------------+------------------------------------------+-------------------------------------------+--------------------------------------|
|
|-----------------------------------+------------------------------------------+-------------------------------------------+--------------------------------------|
|
||||||
| | *Gesamter Aufwand* | | |
|
| | *Gesamter Aufwand* | | |
|
||||||
|-----------------------------------+------------------------------------------+-------------------------------------------+--------------------------------------|
|
|-----------------------------------+------------------------------------------+-------------------------------------------+--------------------------------------|
|
||||||
|
#+LATEX:\end{landscape}
|
||||||
|
|
||||||
#+LATEX:\newpage
|
|
||||||
*** Ressourcen
|
*** Ressourcen
|
||||||
|
|
||||||
Folgende Ressourcen werden während der Arbeit benötigt:
|
Folgende Ressourcen werden während der Arbeit benötigt:
|
||||||
#+CAPTION: Ressourcen
|
#+CAPTION: Ressourcen
|
||||||
#+ATTR_LATEX: :environment longtable :align |p{5cm}|p{3cm}|p{3cm}|p{7cm}|
|
#+ATTR_LATEX: :environment longtable :align |p{4cm}|p{2cm}|p{2cm}|p{4cm}|
|
||||||
#+NAME: tab:zeitcontr
|
#+NAME: tab:zeitcontr
|
||||||
|-------------------------------------+--------------------------------------------+-----------------------------------------+--------------------------------------|
|
|-------------------------------------+--------------------------------------------+-----------------------------------------+--------------------------------------|
|
||||||
| *Ressource*\cellcolor[HTML]{C0C0C0} | *geschätzte Stück*\cellcolor[HTML]{C0C0C0} | *effekt. Stück*\cellcolor[HTML]{C0C0C0} | *Begründung*\cellcolor[HTML]{C0C0C0} |
|
| *Ressource*\cellcolor[HTML]{C0C0C0} | *geschätzte Stück*\cellcolor[HTML]{C0C0C0} | *effekt. Stück*\cellcolor[HTML]{C0C0C0} | *Begründung*\cellcolor[HTML]{C0C0C0} |
|
||||||
|-------------------------------------+--------------------------------------------+-----------------------------------------+--------------------------------------|
|
|-------------------------------------+--------------------------------------------+-----------------------------------------+--------------------------------------|
|
||||||
| Projektleiter/Mitarbeiter | 1 | 1 | - |
|
| Projektleiter/Mitarbeiter | 1 | 1 | keine Abweichung |
|
||||||
| Diplombetreuer | 1 | 1 | - |
|
| Diplombetreuer | 1 | 1 | keine Abweichung |
|
||||||
| Testuser | 5 | 5 | - |
|
| Testuser | 5 | 5 | keine Abweichung |
|
||||||
| Korrekturleser | 3 | 3 | - |
|
| Korrekturleser | 3 | 3 | keine Abweichung |
|
||||||
| iPad | 1 | 1 | - |
|
| iPad | 1 | 1 | keine Abweichung |
|
||||||
| Notebook | 1 | 1 | - |
|
| Notebook | 1 | 1 | keine Abweichung |
|
||||||
|-------------------------------------+--------------------------------------------+-----------------------------------------+--------------------------------------|
|
|-------------------------------------+--------------------------------------------+-----------------------------------------+--------------------------------------|
|
||||||
#+LATEX:\end{landscape}
|
|
||||||
|
|
||||||
*** TODO Kosten
|
*** TODO Kosten
|
||||||
|
|
||||||
Werden die internen Lohnkosten des Projektleiters auf ca. 60 CHF pro Stunde
|
Werden die internen Lohnkosten des Projektleiters auf ca. 60 CHF pro Stunde
|
||||||
geschätzt ergeben sich aus der Zeitplanung somit theoretische Kosten von 19'200
|
geschätzt, ergeben sich gemäss der Berechnung in der Tabelle:([[tab:kosten]]),
|
||||||
CHF für die Umsetzung dieser Arbeit. Da dieses Projekt finanziell jedoch in
|
theoretische Kosten von 19'200 CHF für die Umsetzung dieser Arbeit. Die Kosten
|
||||||
keinster Weise wirtschaftliche relevant ist, sind die Kosten nur ein rein
|
für die Entwicklung werden im Projekt jedoch nicht berücksichtigt, somit sind
|
||||||
theoretischer Faktor.
|
die Kosten nur ein rein theoretischer Faktor.
|
||||||
#+CAPTION: Kostenrechnung
|
#+CAPTION: Kostenrechnung
|
||||||
|
#+ATTR_LATEX: :align |l|c|c|r|
|
||||||
#+NAME: tab:kosten
|
#+NAME: tab:kosten
|
||||||
|--------------------------------+----------------------------------------+-----------------------------------------|
|
|--------------------------------+----------------------------------------+-----------------------------------------|
|
||||||
| *Name*\cellcolor[HTML]{C0C0C0} | *Aufwand in h*\cellcolor[HTML]{C0C0C0} | *Kosten in CHF*\cellcolor[HTML]{C0C0C0} |
|
| *Name*\cellcolor[HTML]{C0C0C0} | *Aufwand in h*\cellcolor[HTML]{C0C0C0} | *Kosten in CHF*\cellcolor[HTML]{C0C0C0} |
|
||||||
|
@ -401,13 +402,11 @@ unvorbereitet gegenüber, sollten sie eintreffen.
|
||||||
*** Risikobeschreibung
|
*** Risikobeschreibung
|
||||||
|
|
||||||
In der Tabelle: ([[tab:risikobeschreibung]]), sind die Risiken des Projektes
|
In der Tabelle: ([[tab:risikobeschreibung]]), sind die Risiken des Projektes
|
||||||
gemeinsam mit ihren Gegenmassnahmen aufgelistet. Jedes Risiko wurde
|
gemeinsam mit ihren Gegenmassnahmen aufgelistet. Somit können gewisse Risiken
|
||||||
entsprechend der Tabelle: ([[tab:wahrscheinlichkeit]]) nach der Wahrscheinlichkeit
|
bereits vorher abgefangen werden.
|
||||||
des Eintreffens bewertet und entsprechend der Tabelle: ([[tab:auswirkung]]) nach
|
|
||||||
seiner Auswirkung bewertet.
|
|
||||||
|
|
||||||
#+CAPTION: Projektrisiken
|
#+CAPTION: Projektrisiken
|
||||||
#+ATTR_LATEX: :environment longtable :align |p{0.45\textwidth}|p{0.45\textwidth}| :placement [H]
|
#+ATTR_LATEX: :environment longtable :align |p{0.45\textwidth}|p{0.45\textwidth}|
|
||||||
#+NAME: tab:projektrisiken
|
#+NAME: tab:projektrisiken
|
||||||
|-----------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------|
|
|-----------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------|
|
||||||
| <30> | <30> |
|
| <30> | <30> |
|
||||||
|
@ -458,7 +457,7 @@ Verfügung gestellt.
|
||||||
|
|
||||||
#+LATEX:\newpage
|
#+LATEX:\newpage
|
||||||
#+LATEX:\begin{landscape}
|
#+LATEX:\begin{landscape}
|
||||||
#+CAPTION: Umwelt-Analyse
|
#+CAPTION: Umweltanalyse
|
||||||
#+ATTR_LATEX: :align |>{\columncolor[HTML]{EFEFEF}}p{0.8cm}|l|l|p{8cm}|l|
|
#+ATTR_LATEX: :align |>{\columncolor[HTML]{EFEFEF}}p{0.8cm}|l|l|p{8cm}|l|
|
||||||
#+NAME: tab:umweltanalyse
|
#+NAME: tab:umweltanalyse
|
||||||
|-------------------------------+---------------------------------------+------------------------------------+----------------------------------------------------------+----------------------------------------------|
|
|-------------------------------+---------------------------------------+------------------------------------+----------------------------------------------------------+----------------------------------------------|
|
||||||
|
@ -477,7 +476,7 @@ Verfügung gestellt.
|
||||||
|-------------------------------+---------------------------------------+------------------------------------+----------------------------------------------------------+----------------------------------------------|
|
|-------------------------------+---------------------------------------+------------------------------------+----------------------------------------------------------+----------------------------------------------|
|
||||||
| 4. | Projektleiter | hoch | - Stabile Anwendung erstellen | mittel |
|
| 4. | Projektleiter | hoch | - Stabile Anwendung erstellen | mittel |
|
||||||
| | | | - Ein nachhaltiges Projekt starten | mittel |
|
| | | | - Ein nachhaltiges Projekt starten | mittel |
|
||||||
| | | | - Anerkennung im fachlichen Umfeld | hoch |
|
| | | | - Anerkennung im fachlichen Umfeld | niedrig |
|
||||||
|-------------------------------+---------------------------------------+------------------------------------+----------------------------------------------------------+----------------------------------------------|
|
|-------------------------------+---------------------------------------+------------------------------------+----------------------------------------------------------+----------------------------------------------|
|
||||||
#+LATEX:\end{landscape}
|
#+LATEX:\end{landscape}
|
||||||
|
|
||||||
|
@ -568,13 +567,9 @@ Abbildung:([[fig:swot]]) zu sehen.
|
||||||
** Anforderungskatalog
|
** Anforderungskatalog
|
||||||
|
|
||||||
Der Anforderungskatalog entspricht 1 zu 1 den Zielen, welche in der Tabelle
|
Der Anforderungskatalog entspricht 1 zu 1 den Zielen, welche in der Tabelle
|
||||||
[[tab:projektziele]] definiert wurden. Es wurde jedoch beschlossen noch die
|
[[tab:projektziele]] definiert wurden. Im Zeitplan wurde der Fokus hauptsächlich
|
||||||
Kann-Ziele Nr. 26 und Nr. 19 in die Detail Planung mit aufzunehmen. Die
|
auf die Muss-Ziele gelegt. Ein paar der Kann-Ziele sind im Konzept jedoch auch
|
||||||
grafische Konfiguration der Anwendung (Ziel Nr. 26) ist mit einer Einstufung
|
abgebildet.
|
||||||
von 3 zwar relativ tief bewertet. Es vereinfacht einem durchschnittlichen
|
|
||||||
Computer Benutzer die Konfiguration der Anwendung enorm. Das automatische
|
|
||||||
erstellen Backups im Hintergrund (Ziel Nr. 19) wurde fix eingeplant da es einen
|
|
||||||
sehr grossen Einfluss auf die Risikobwertung im Kapitel [[Risiko-Analyse][Risiko-Analyse]] hat.
|
|
||||||
|
|
||||||
** Use Cases
|
** Use Cases
|
||||||
|
|
||||||
|
@ -964,26 +959,27 @@ Use Cases und zeigt einem gut die Zuständigkeiten der Aktoren auf.
|
||||||
#+attr_latex: :center :placement [H]
|
#+attr_latex: :center :placement [H]
|
||||||
|
|
||||||
#+LATEX:\newpage
|
#+LATEX:\newpage
|
||||||
* TODO Konzept
|
* Konzept
|
||||||
|
|
||||||
** Varianten
|
** Varianten
|
||||||
|
|
||||||
Da Borg eine JSON API zur Verfügung stellt bieten sich diverse Möglichkeiten, um
|
Da Borg eine JSON API zur Verfügung stellt gibt es diverse Möglichkeiten, um
|
||||||
das Programm anzubinden. Da das Ziel ist, das Programm normalen Nutzern
|
das Programm anzubinden. Da das Ziel ist, das Programm normalen Nutzern
|
||||||
zugänglicher zu machen, bietet sich ein normales Desktop Programm am ehesten
|
zugänglicher zu machen, bietet sich ein normales Desktop Programm am ehesten
|
||||||
an. Desktop Programme werden von allen Computer Usern täglich genutzt und sind
|
an. Desktop Programme werden von allen Computer Usern täglich genutzt und sind
|
||||||
somit etwas was sie kennen.
|
somit etwas was sie kennen. Zudem ist es für die User auch viel einfacher zu
|
||||||
|
verstehen als sie vor der Nutzung einen lokalen Webserver starten müssten und
|
||||||
Daraus ergeben sich die in diesem Kapitel aufgeführten Möglichkeiten für das
|
diesen im Anschluss zur Nutzung wieder beenden müssten.
|
||||||
Projekt.
|
|
||||||
|
|
||||||
*** Bewertung
|
*** Bewertung
|
||||||
|
|
||||||
Die Bewertungspunkte setzen sich einerseits aus den Projektzielen anderseits
|
Mit der Idee aus der Einleitung zu den Varianten wurde dann eine Tabelle, mit
|
||||||
aus für das Projekt sinnvollen Punkten zusammen. Dadurch ergeben sich dann die
|
Anforderungen an die Technologien, erstellt. Die Bewertungspunkte setzen sich
|
||||||
Bewertungen, welche in der nachfolgenden Tabelle aufgenommen wurden. Die
|
einerseits aus Projektzielen anderseits aus für das Projekt sinnvollen Punkten
|
||||||
möglichen Varianten wurden danach bewertet. Die effektive Berechnung des
|
zusammen. Dadurch ergeben sich dann die Bewertungen, welche in der
|
||||||
Resultats wird nach folgender Formel durchgeführt.
|
Tabelle:([[tab:muster]]) aufgenommen wurden. Die möglichen Varianten wurden danach
|
||||||
|
bewertet. Die effektive Berechnung des Resultats wird nach folgender Formel
|
||||||
|
durchgeführt.
|
||||||
|
|
||||||
\begin{equation}
|
\begin{equation}
|
||||||
G * EP = KE
|
G * EP = KE
|
||||||
|
@ -1169,6 +1165,7 @@ ungeeignet.
|
||||||
#+TBLFM: @3$5=@3$2 * @3$4::@4$5=@4$2 * @4$4::@5$5=@5$2 * @5$4::@6$5=@6$2 * @6$4::@7$5=@7$2 * @7$4::@8$5=@8$2 * @8$4::@9$5=@9$2 * @9$4::@10$5=@10$2 * @10$4::@11$5=@11$2 * @11$4::@12$5=@12$2 * @12$4
|
#+TBLFM: @3$5=@3$2 * @3$4::@4$5=@4$2 * @4$4::@5$5=@5$2 * @5$4::@6$5=@6$2 * @6$4::@7$5=@7$2 * @7$4::@8$5=@8$2 * @8$4::@9$5=@9$2 * @9$4::@10$5=@10$2 * @10$4::@11$5=@11$2 * @11$4::@12$5=@12$2 * @12$4
|
||||||
#+TBLFM: @>$5=vsum(@3..@-1)
|
#+TBLFM: @>$5=vsum(@3..@-1)
|
||||||
|
|
||||||
|
#+latex:\newpage
|
||||||
**** Python
|
**** Python
|
||||||
|
|
||||||
Der Python Interpreter ist für eine Vielzahl an Betriebssystemen erhältlich,
|
Der Python Interpreter ist für eine Vielzahl an Betriebssystemen erhältlich,
|
||||||
|
@ -1488,7 +1485,7 @@ Als Testdateien wird jeweils das Code Repository von Borg-Qt selber verwendet.
|
||||||
Der Pfad des gls:borg Repository für lokale Backups soll ~/tmp/test-borgqt~
|
Der Pfad des gls:borg Repository für lokale Backups soll ~/tmp/test-borgqt~
|
||||||
sein, in den Testfällen "Lokales Repository", genannt und das Passwort ~foo~.
|
sein, in den Testfällen "Lokales Repository", genannt und das Passwort ~foo~.
|
||||||
Im Makefile des Repository wird dieses Setup definiert. Somit kann man als
|
Im Makefile des Repository wird dieses Setup definiert. Somit kann man als
|
||||||
Entwickler nur ~make repo~ ausführen und hat eine funktionsfähige Testumgebung.
|
Entwickler nur ~make init~ ausführen und hat eine funktionsfähige Testumgebung.
|
||||||
|
|
||||||
Um Backups über SSH testen zu können wird eine virtuelle Maschine mit Ubuntu
|
Um Backups über SSH testen zu können wird eine virtuelle Maschine mit Ubuntu
|
||||||
18.04 verwendet. Die Konfiguration der virtuellen Maschine sieht dabei wie
|
18.04 verwendet. Die Konfiguration der virtuellen Maschine sieht dabei wie
|
||||||
|
@ -1514,26 +1511,29 @@ wurde ein Klassendiagramm, Abbildung:([[fig:class_diagramm]]), erstellt. Das
|
||||||
Klassendiagramm basiert auf dem UML Standard. Im Diagramm wurden nicht alle
|
Klassendiagramm basiert auf dem UML Standard. Im Diagramm wurden nicht alle
|
||||||
"Properties" und Methoden alles Klassen aufgezeichnet sondern nur solche die
|
"Properties" und Methoden alles Klassen aufgezeichnet sondern nur solche die
|
||||||
auf eine andere Klasse verweisen. Dadurch bleibt das Diagramm übersichtlicher.
|
auf eine andere Klasse verweisen. Dadurch bleibt das Diagramm übersichtlicher.
|
||||||
|
Die Klassennamen welche in fetter Schrift gehalten sind wurden dabei vom
|
||||||
|
Projektleiter erstellt Die Klassennamen welche kursiv sind, sind Klassen welche
|
||||||
|
entweder von Python oder Qt bereitgestellt werden.
|
||||||
|
|
||||||
** Benutzerfreundlichkeitsstudie
|
** Benutzerfreundlichkeitsstudie
|
||||||
|
|
||||||
Um Borg-Qt auf seine Nutzerfreundlichkeit zu testen wird im Rahmen der
|
Um Borg-Qt auf seine Nutzerfreundlichkeit zu testen wird im Rahmen der
|
||||||
Diplomarbeit noch eine kleine Benutzerfreundlichkeitsstudie gemacht. Bei einer
|
Diplomarbeit noch eine kleine Benutzerfreundlichkeitsstudie gemacht. Bei einer
|
||||||
solchen Studie erhalten die Probanden, Tabelle:([[tab:probanden]]) ein paar
|
solchen Studie erhalten die Probanden, Tabelle:([[tab:probanden]]), ein paar
|
||||||
Aufgaben, abgebildet in der Sektion [[Aufgaben]], welche sie in einer begrenzten
|
Aufgaben, Sektion [[Aufgaben]], welche sie in einer begrenzten
|
||||||
Zeit zu erledigen haben. Die Aufsichtsperson gibt ihnen dabei keinerlei
|
Zeit zu erledigen haben. Die Aufsichtsperson gibt ihnen dabei keinerlei
|
||||||
Hilfestellungen. Die Probanden sollen die Aufgaben alleine mit Hilfe der Tipps
|
Hilfestellungen. Die Probanden sollen die Aufgaben alleine mit Hilfe der Tipps
|
||||||
und Hinweisen in der Anwendung lössen. Im Anschluss bewerten die Probanden dann
|
und Hinweisen in der Anwendung lösen Im Anschluss bewerten die Probanden dann
|
||||||
die einzelnen Aufgaben nach ihrer Schwierigkeit,
|
die einzelnen Aufgaben nach ihrer Schwierigkeit,
|
||||||
Tabelle:([[tab:usability_colours]]). Daraus lässt sich dann eine sogenannte Heatmap
|
Tabelle:([[tab:usability_colours]]). Daraus lässt sich dann eine sogenannte Heatmap
|
||||||
erstellen. Aus der Heatmap kann man anschaulich herauslesen welche Bereiche für
|
erstellen. Aus der Heatmap kann man anschaulich herauslesen welche Bereiche für
|
||||||
die User noch zu kompliziert sind und Nacharbeit benötigen.
|
die User noch zu kompliziert sind und Nacharbeit benötigen.
|
||||||
|
|
||||||
Die Propanden wurden aus dem Umfeld des Projektleiters ausgewählt. Es wurde
|
Die Probanden wurden aus dem Umfeld des Projektleiters ausgewählt. Es wurde
|
||||||
dabei versucht ein einigermassen breites Spektrum an Computerkenntnissen
|
dabei versucht ein einigermassen breites Spektrum an Computerkenntnissen
|
||||||
abzudecken die Anwendung allen Erfahrungsstufen behilflich sein soll. Die
|
abzudecken. Da die Anwendung allen Erfahrungsstufen behilflich sein soll. Die
|
||||||
Angaben in der Tabelle:([[tab:probanden]]) sind jedoch die Selbsteinschätzung der
|
Angaben in der Tabelle:([[tab:probanden]]) sind jedoch die Selbsteinschätzung der
|
||||||
Probanden und nicht die des Projektleiters zum jweiligen Tester.
|
Probanden und nicht die des Projektleiters.
|
||||||
|
|
||||||
#+CAPTION: Benutzerfreundlichkeitsstudie Probanden
|
#+CAPTION: Benutzerfreundlichkeitsstudie Probanden
|
||||||
#+ATTR_LATEX: :align |>{\columncolor[HTML]{EFEFEF}}r|c|c|c|c| :placement [H]
|
#+ATTR_LATEX: :align |>{\columncolor[HTML]{EFEFEF}}r|c|c|c|c| :placement [H]
|
||||||
|
@ -1578,6 +1578,7 @@ Probanden und nicht die des Projektleiters zum jweiligen Tester.
|
||||||
5. Du möchtest das der Ordner ~/home/testuser/Pictures/~ nicht mehr gesichert
|
5. Du möchtest das der Ordner ~/home/testuser/Pictures/~ nicht mehr gesichert
|
||||||
wird. Konfiguriere die Applikation entsprechend.
|
wird. Konfiguriere die Applikation entsprechend.
|
||||||
|
|
||||||
|
#+latex: \newpage
|
||||||
*** Resultate
|
*** Resultate
|
||||||
|
|
||||||
#+CAPTION: Benutzerfreundlichkeitsstudie Resultate
|
#+CAPTION: Benutzerfreundlichkeitsstudie Resultate
|
||||||
|
@ -1613,18 +1614,21 @@ wahrgenommen.
|
||||||
|
|
||||||
**** Proband 3
|
**** Proband 3
|
||||||
|
|
||||||
Proband 3 kam mit der Anwendung an sich gut klar. Bei der Aufgabe zwei wurde
|
Proband 3 kam mit der Anwendung an sich gut klar. Die Aufgabe zwei fand er über
|
||||||
noch ein Bug entdeckt der näher untersucht werden muss. Die Aufgabe zwei fand
|
alles gesehen auch am schwierigsten da er mit der Materie nahezu nicht vertraut
|
||||||
er über alles gesehen auch am schwierigsten da er mit der Materie nahezu nicht
|
ist. Als zusätzlichen Input gab er an das ein Kontextmenü welches sich mit
|
||||||
vertraut ist. Als zusätzlichen Input gab er an das ein Kontextmenü welches sich
|
Rechtsklick auf ein Element öffnet etwas sei was er gerne hätte da er andere
|
||||||
mit Rechtsklick auf ein Element öffnet etwas sei was er gerne hätte da er
|
Anwendungen oft so steuert. Aufgabe 5 war auch etwas herausfordernder als 1,3
|
||||||
andere Anwendungen oft so steuert. Aufgabe 5 war auch etwas herausfordernder
|
und 4 insbesondere war unklar wie der Ordner zu der Liste hinzugefügt werden
|
||||||
als 1,3 und 4 insbesondere war unklar wie der Ordner zu der Liste hinzugefügt
|
sollte.
|
||||||
werden sollte.
|
|
||||||
|
Während des Tests ist in der Anwendung noch ein Bug aufgetaucht welcher
|
||||||
|
Probleme beim erstellen von Backups machte. Die detaillierte Lösung dafür ist im
|
||||||
|
Kapitel [[Realisierung]] beschrieben.
|
||||||
|
|
||||||
**** Proband 4
|
**** Proband 4
|
||||||
|
|
||||||
Bei Proband 4 war die grösste Hürde dass, das Interface nur in English
|
Bei Proband 4 war die grösste Hürde dass, das Interface nur in Englisch
|
||||||
verfügbar war. Bei Aufgabe zwei hat er sich nach eigenen Angaben etwas verloren
|
verfügbar war. Bei Aufgabe zwei hat er sich nach eigenen Angaben etwas verloren
|
||||||
gefühlt und hätte sich auch ein Kontextmenü auf dem Rechtsklick gewünscht.
|
gefühlt und hätte sich auch ein Kontextmenü auf dem Rechtsklick gewünscht.
|
||||||
Mit etwas Hilfe bei der Übersetzung waren die restlichen Aufgaben jedoch gut zu
|
Mit etwas Hilfe bei der Übersetzung waren die restlichen Aufgaben jedoch gut zu
|
||||||
|
@ -1637,7 +1641,7 @@ die Tooltips auf den Buttons entdeckt und dann genutzt. Aufgabe 2 war jedoch
|
||||||
auch schwierig zu lösen danach ging es jedoch ohne Probleme. Als Feedback wurde
|
auch schwierig zu lösen danach ging es jedoch ohne Probleme. Als Feedback wurde
|
||||||
genannt, dass 21:00 Uhr etwas spät für solche Tests sei.
|
genannt, dass 21:00 Uhr etwas spät für solche Tests sei.
|
||||||
|
|
||||||
*** TODO Auswertung
|
*** Auswertung
|
||||||
|
|
||||||
Nach den 5 Tests liess sich feststellen das die Anwendung für die Anwender
|
Nach den 5 Tests liess sich feststellen das die Anwendung für die Anwender
|
||||||
insgesamt einfach zu bedienen ist sobald sie einmal wissen welche Buttons
|
insgesamt einfach zu bedienen ist sobald sie einmal wissen welche Buttons
|
||||||
|
@ -1657,46 +1661,29 @@ ist, ist eine sehr gute Idee und sollte sich auch realisieren lassen. Dieses
|
||||||
Feature wird nicht im Rahmen der Diplomarbeit umgesetzt und für die zukünftige
|
Feature wird nicht im Rahmen der Diplomarbeit umgesetzt und für die zukünftige
|
||||||
Entwicklung aufgenommen.
|
Entwicklung aufgenommen.
|
||||||
|
|
||||||
Ein Dialog welcher ein erfolgreiches Erstellen eines Archives bestätigt wird
|
Ein Dialog welcher ein erfolgreiches Erstellen eines Archivs bestätigt wird
|
||||||
nicht eingebaut. Bei erfolgreicher Durchführung verschwindet der
|
nicht eingebaut. Bei erfolgreicher Durchführung verschwindet der
|
||||||
Fortschrittsdialog und in der Archivlist erscheint ein weiterer Eintrag. Das
|
Fortschrittsdialog und in der Archivlist erscheint ein weiterer Eintrag. Das
|
||||||
sind zwar nicht die offensichtlichsten Hinweise im Falle eines Fehlers
|
sind zwar nicht die offensichtlichsten Hinweise im Falle eines Fehlers
|
||||||
erscheint jedoch sofort ein Dialog der darauf hinweist. Somit sollten die
|
erscheint jedoch sofort ein Dialog der darauf hinweist. Somit sollten die
|
||||||
beiden Vorgänge genügend unterschieden sein und es hat auch kein andere Proband
|
beiden Vorgänge genügend unterschieden sein und es hat auch kein anderer Proband
|
||||||
das Bedürfnis nach einer Bestätigung.
|
das Bedürfnis nach einer Bestätigung.
|
||||||
|
|
||||||
Auch für die Zukunft wird eine deutsche Übersetzung geplant. Dies würde die
|
Für die Zukunft wird eine Deutsche Übersetzung geplant. Dies würde die
|
||||||
Anwendung dann vor allem Leuten mit weniger guten Englisch Kenntnissen
|
Anwendung dann vor allem Leuten mit weniger guten Englisch Kenntnissen
|
||||||
zugänglich machen.
|
zugänglich machen.
|
||||||
|
|
||||||
Im Rahmen der Diplomarbeit werden noch einige Texte angepasst. An gewissen
|
Im Rahmen der Diplomarbeit werden noch einige Texte angepasst. An gewissen
|
||||||
Stellen redet die Anwendung von "Backups" und an anderen von "Archives". Da
|
Stellen redet die Anwendung von "Backups" und an anderen von "Archivs". Da
|
||||||
gls:borg sie selber "Archives" nennt sollte Borg-Qt noch so angepasst werden
|
gls:borg sie selber "Archivs" nennt sollte Borg-Qt noch so angepasst werden
|
||||||
das überall von "Archives" die Rede ist. Zudem wird bei den "Include" und
|
das überall von "Archivs" die Rede ist. Zudem wird bei den "Includes" und
|
||||||
"Exclude" Optionen über der Liste noch ein Label hinzugefügt um die Elemente zu
|
"Exclude" Optionen über der Liste noch ein Label hinzugefügt um die Elemente zu
|
||||||
beschreiben. Desweiteren werden die Buttons "Add file" und "Add folder" zu
|
beschreiben. Des weiteren werden die Buttons "Add file" und "Add folder" zu
|
||||||
"Exclude file" und "Exclude folder" sowie "Include file" und "Include folder"
|
"Exclude file" und "Exclude folder" sowie "Include file" und "Include folder"
|
||||||
umbenannt. Somit zeigen die Buttons dann auch direkt das sie Dateien respektive
|
umbenannt. Somit zeigen die Buttons dann auch direkt das sie Dateien respektive
|
||||||
Ordner ein-/auschliessen. Ein paar der Probanden hatten es zuerst über den
|
Ordner ein-/ausschliessen Ein paar der Probanden hatten es zuerst über den
|
||||||
"Remove" Button versucht.
|
"Remove" Button versucht.
|
||||||
|
|
||||||
Der Bug der entdeckt wurde tritt immer dann auf wenn ein Archiv gemountet
|
|
||||||
ist und man ein Backup erstellen möchte. Dies ist jedoch offenbar eine Funktion
|
|
||||||
die von gls:borg nicht unterstützt wird footcite:borgmount. gls:borg könnte
|
|
||||||
eigentlich mehrere Archive gleichzeitig mounten. Der User müsste jedoch jedes
|
|
||||||
der Archive zuerst wieder unmounten bevor er eine neue Datensicherung erstellen
|
|
||||||
kann. Die genaue Lösung wird dann in der [[UI Anpassungen nach Benutzerfreundlichkeitsstudie][Realisierung]] beschrieben.
|
|
||||||
|
|
||||||
Insgesamt war der Test eine sehr interessante Erfahrung. Enduser sehen eine
|
|
||||||
Anwendung mit ganz anderen Augen als der Entwickler der Anwendung der von jedem
|
|
||||||
Element weiss wie der Code dazu aussieht. Er hat auch gezeigt das die Aufgaben
|
|
||||||
auch richtig gestellt werden müssen ansonsten wissen die Probanden schon gar
|
|
||||||
nicht erst was gefordert ist. Auch sollte wenn möglich darauf geachtet werden
|
|
||||||
das auf einem Betriebsystem getestet mit welchem die Probanden bereits etwas
|
|
||||||
Erfahrung haben. Zwei der Probanden waren ab dem Verhalten und Aussehen des
|
|
||||||
Dateimanagers von Ubuntu 18.04 etwas verwirrt da sie ihn zuvor noch nicht
|
|
||||||
gesehen und bentuzt hatten.
|
|
||||||
|
|
||||||
* TODO Realisierung
|
* TODO Realisierung
|
||||||
** Cross-plattform Kompatibilität
|
** Cross-plattform Kompatibilität
|
||||||
|
|
||||||
|
@ -1750,7 +1737,7 @@ sieht wie sich die Oberflächen auf dem System verhalten.
|
||||||
Auf Basis der Ziele und der Use Cases wurde eine erste Version des glspl:gui
|
Auf Basis der Ziele und der Use Cases wurde eine erste Version des glspl:gui
|
||||||
erstellt. Im Hauptfenster, Abbildung:([[fig:borgqt_main_v1]]), befinden sich wie
|
erstellt. Im Hauptfenster, Abbildung:([[fig:borgqt_main_v1]]), befinden sich wie
|
||||||
auch bei "Back in Time" in der einen Hälfte eine Liste der vorhandenen Archive
|
auch bei "Back in Time" in der einen Hälfte eine Liste der vorhandenen Archive
|
||||||
und in der anderen Hälfte ein Dateimanagemer. Dieser dient zur Auswahl des zu
|
und in der anderen Hälfte ein Dateimanager. Dieser dient zur Auswahl des zu
|
||||||
sichernden Pfades. Im oberen Bereich findet sich die Toolbar mit den Aktionen
|
sichernden Pfades. Im oberen Bereich findet sich die Toolbar mit den Aktionen
|
||||||
die der User ausführen kann. Gemäss den Use Cases sind dies "Backup",
|
die der User ausführen kann. Gemäss den Use Cases sind dies "Backup",
|
||||||
"Restore", "Mount", "Delete" und "Settings".
|
"Restore", "Mount", "Delete" und "Settings".
|
||||||
|
@ -1775,7 +1762,7 @@ Im Einstellungsfenster gibt es drei Tabs zur Auswahl. Einmal den "General" Tab,
|
||||||
Abbildung:([[fig:borgqt_settings_general_v1]]), dieser zeigt allgemeine Optionen
|
Abbildung:([[fig:borgqt_settings_general_v1]]), dieser zeigt allgemeine Optionen
|
||||||
an. Im zweiten Tab "Include", Abbildung:([[fig:borgqt_settings_include_v1]]), kann
|
an. Im zweiten Tab "Include", Abbildung:([[fig:borgqt_settings_include_v1]]), kann
|
||||||
der User die Ordner und Dateien auswählen die er sichern will. Der dritte Tab
|
der User die Ordner und Dateien auswählen die er sichern will. Der dritte Tab
|
||||||
"Exlcude", Abbildung:([[fig:borgqt_settings_exclude_v1]]), gibt dem User die
|
"Exclude", Abbildung:([[fig:borgqt_settings_exclude_v1]]), gibt dem User die
|
||||||
Möglichkeit einzelne Ordner oder Dateien von den Backups auszuschliessen.
|
Möglichkeit einzelne Ordner oder Dateien von den Backups auszuschliessen.
|
||||||
|
|
||||||
#+caption: Screenshot der Borg-Qt "General" Einstellungen Version 1
|
#+caption: Screenshot der Borg-Qt "General" Einstellungen Version 1
|
||||||
|
@ -1871,14 +1858,14 @@ def _return_list_option(self, option):
|
||||||
|
|
||||||
Die Datei wird jeweils beim Start der Applikation gelesen und angewendet. Somit
|
Die Datei wird jeweils beim Start der Applikation gelesen und angewendet. Somit
|
||||||
weiss die Applikation bereits nach dem Start wo das Repository liegen sollte
|
weiss die Applikation bereits nach dem Start wo das Repository liegen sollte
|
||||||
und wie die Login Daten dafür sind. Dies geschiet mittels der Method
|
und wie die Login Daten dafür sind. Dies geschiet mittels der Methode
|
||||||
~_get_path~, Codesnippet:([[code:config_path]]). Es gibt dabei zwei mögliche Pfade
|
~_get_path~, Codesnippet:([[code:config_path]]). Es gibt dabei zwei mögliche Pfade
|
||||||
wo die Konfigurationsdatei liegen könnte. Befindet sich die Datei nicht am
|
wo die Konfigurationsdatei liegen könnte. Befindet sich die Datei nicht am
|
||||||
vergegeben Pfad ~~/.config/borg_qt/borg_qt.conf~ oder direkt "neben" dem
|
vorgegeben Pfad ~~/.config/borg_qt/borg_qt.conf~ oder direkt "neben" dem
|
||||||
Binary, gibt die Applikation eine entsprechende Meldung,
|
Binary, gibt die Applikation eine entsprechende Meldung,
|
||||||
Abbildung:([[fig:borgqt_missing_config]]), aus. Der Hauptfad unter
|
Abbildung:([[fig:borgqt_missing_config]]), aus. Der Hauptpfad unter
|
||||||
~~/.config/borg_qt/borg_qt.conf~ wird dabei gemäss dem Ziel Nr. 21 über die
|
~~/.config/borg_qt/borg_qt.conf~ wird dabei gemäss dem Ziel Nr. 21 über die
|
||||||
Umgebungsvariabel ~HOME~ zusammengesestzt.
|
Umgebungsvariable ~HOME~ zusammengesetzt
|
||||||
|
|
||||||
#+caption: Methode zum Suchen der Konfigurationsdatei
|
#+caption: Methode zum Suchen der Konfigurationsdatei
|
||||||
#+name: code:config_path
|
#+name: code:config_path
|
||||||
|
@ -1918,7 +1905,7 @@ Einzel-Werte funktioniert es in etwa gleich. Beim Speichern der geänderten
|
||||||
Listen jedoch trat eine weitere Herausforderung auf.
|
Listen jedoch trat eine weitere Herausforderung auf.
|
||||||
|
|
||||||
Qt kennt keinen Mechanismus zum auslesen aller Elemente aus einem sogenannten
|
Qt kennt keinen Mechanismus zum auslesen aller Elemente aus einem sogenannten
|
||||||
~QListWidget~, einem UI Element welches Liste darstellt. Somit ist es nötig das
|
~QListWidget~, einem gls:gui Element welches Liste darstellt. Somit ist es nötig das
|
||||||
man die Elemente zuerst in einer Zwischenliste speichert bevor man sie zurück
|
man die Elemente zuerst in einer Zwischenliste speichert bevor man sie zurück
|
||||||
in das ~Configparser~ Objekt schreiben kann. Im Code sieht dies dann wie in
|
in das ~Configparser~ Objekt schreiben kann. Im Code sieht dies dann wie in
|
||||||
Codesnippet:([[code:qlistwidgets_items]]) aus. Dabei wird jedes Element einzeln aus
|
Codesnippet:([[code:qlistwidgets_items]]) aus. Dabei wird jedes Element einzeln aus
|
||||||
|
@ -1952,7 +1939,8 @@ Zuerst erschien es sinnvoll die Kommunikation zwischen gls:borg und Borg-Qt
|
||||||
über einfache Funktionen laufen zu lassen. Dieser Ansatz hatte allerdings zwei
|
über einfache Funktionen laufen zu lassen. Dieser Ansatz hatte allerdings zwei
|
||||||
Probleme. Zum Einen wurde es relativ umständlich Informationen zu verarbeiten
|
Probleme. Zum Einen wurde es relativ umständlich Informationen zu verarbeiten
|
||||||
und weiterzugeben zum anderen führte es zu dem unschönen Nebeneffekt dass, das
|
und weiterzugeben zum anderen führte es zu dem unschönen Nebeneffekt dass, das
|
||||||
gls:ui eingefroren ist. Threads sollten hier abhilfe schaffen.
|
gls:gui eingefroren ist. Eine Recherche ergab dann das Threads hier Abhilfe
|
||||||
|
schaffen könnten.
|
||||||
|
|
||||||
Python würde hierzu ein Modul, ~threading.Thread~ footcite:threading,
|
Python würde hierzu ein Modul, ~threading.Thread~ footcite:threading,
|
||||||
mitliefern. Allerdings war es nicht möglich den Fortschrittsdialog und den
|
mitliefern. Allerdings war es nicht möglich den Fortschrittsdialog und den
|
||||||
|
@ -1972,24 +1960,23 @@ Das effektive Kommando wird dann aus dem Property ~self.command~ gelesen.
|
||||||
Damit gls:borg die Ausgabe im gls:json Format ausgibt muss man man noch die
|
Damit gls:borg die Ausgabe im gls:json Format ausgibt muss man man noch die
|
||||||
Parameter ~--log-json~ und ~--json~ ausgeben. Der erste Parameter ändert
|
Parameter ~--log-json~ und ~--json~ ausgeben. Der erste Parameter ändert
|
||||||
hauptsächlich das Format von Errormeldungen und der zweite formatiert dann die
|
hauptsächlich das Format von Errormeldungen und der zweite formatiert dann die
|
||||||
finale Ausgabe. Die Ausgaben werden dann jeweils an Variabeln weitergegeben
|
finale Ausgabe. Die Ausgaben werden jeweils an Variablen weitergegeben
|
||||||
(~json_output~ und ~json_error~) welche dann im weiteren Code verarbeitet
|
(~json_output~ und ~json_error~) welche im weiteren Code verarbeitet werden.
|
||||||
werden.
|
|
||||||
|
|
||||||
Insbesondere ~json_error~ ist für den weiteren Programmablauf von grosser
|
Insbesondere ~json_error~ ist für den weiteren Programmablauf von grosser
|
||||||
Wichtigkeit. Wenn Borg ein Problem feststellt wird dieses an diese Variabel
|
Wichtigkeit. Wenn Borg ein Problem feststellt wird die Error Meldung von
|
||||||
weitergegeben. Mittels der Methode im Codesnippet:([[code:json_err]]), wird die
|
gls:borg an ~json_error~ weitergegeben. Mittels der Methode im
|
||||||
Variabel ausgewertet und im Falle eines Fehlers wirft der Code eine Exception
|
Codesnippet:([[code:json_err]]), wird die Variabel ausgewertet und im Falle eines
|
||||||
welche im Hauptprogramm abgefangen wird. Dabei wird dann eine Fehlermeldung in
|
Fehlers wirft der Code eine Exception welche im Hauptprogramm abgefangen wird.
|
||||||
einem separaten Fenster ausgegeben. Die Methode wurde dabei auf der Klasse
|
Dabei wird eine Fehlermeldung in einem separaten Fenster ausgegeben. Die
|
||||||
~BorgQtThread~ umgesetzt und steht somit allen Funktionen zur Verfügung. Die
|
Methode wurde dabei auf der Klasse ~BorgQtThread~ umgesetzt und steht somit
|
||||||
Fehlermeldung bei einer fehlenden Konfigurationsdatei,
|
allen Funktionen zur Verfügung. Die Fehlermeldung bei einer fehlenden
|
||||||
Abbildung:([[fig:borgqt_missing_config]]), funktioniert nach dem gleichen Prinzip
|
Konfigurationsdatei, Abbildung:([[fig:borgqt_missing_config]]), funktioniert nach
|
||||||
und konnte somit zum grössten Teil wiederverwendet werden. Der restliche
|
dem gleichen Prinzip und konnte somit zum grössten Teil wiederverwendet werden.
|
||||||
gls:json Output kann dann einfach mit dem ~json~ Modul geparst werden.
|
Der restliche gls:json Output kann dann einfach mit dem ~json~ Modul geparst
|
||||||
Somit werden dem User direkt die Fehlermeldungen von gls:borg angezeigt und es
|
werden. Somit werden dem User, gemäss Ziel Nr. 14, direkt die Fehlermeldungen
|
||||||
muss nur an gewissen Stellen noch applikationsspezifisches Exception Handling
|
von gls:borg angezeigt und es muss nur an gewissen Stellen noch
|
||||||
betrieben werden.
|
applikationsspezifisches Exception Handling betrieben werden.
|
||||||
|
|
||||||
#+caption: Auswertung der json err Variabel.
|
#+caption: Auswertung der json err Variabel.
|
||||||
#+name: code:json_err
|
#+name: code:json_err
|
||||||
|
@ -2011,36 +1998,36 @@ zusammengefasst. Somit kann für jede Funktion von gls:borg eine einzelne Klasse
|
||||||
geschrieben werden welche dann von ~BorgQtThread~ die Funktionen erbt. Die
|
geschrieben werden welche dann von ~BorgQtThread~ die Funktionen erbt. Die
|
||||||
Funktionsklassen müssen dann jeweils nur die Methode
|
Funktionsklassen müssen dann jeweils nur die Methode
|
||||||
~self.create_command(self)~ implementieren welche das Property ~self.command~
|
~self.create_command(self)~ implementieren welche das Property ~self.command~
|
||||||
erstellt und die einfachen Funktionen von gls:borg sollten direkt funktioneren.
|
erstellt und die einfachen Funktionen von gls:borg sollten direkt funktionieren
|
||||||
|
|
||||||
** Backup
|
** Backup
|
||||||
|
|
||||||
Bei den Backups handelt es sich ohne Zweifel um die wichtigste Funktion von
|
Bei den Backups handelt es sich ohne Zweifel um die wichtigste Funktion von
|
||||||
Borg-Qt. Deshalb soll das erstellen eines Backups so schnell und unkompliziert
|
Borg-Qt. Deshalb soll das Erstellen eines Backups so schnell und unkompliziert
|
||||||
wie möglich von statten gehen.
|
wie möglich von statten gehen.
|
||||||
|
|
||||||
*** Backend
|
*** Backend
|
||||||
|
|
||||||
Um Backups erstellen zu können wurde die Klasse ~BackupThread~ erstellt welche
|
Um Backups erstellen zu können wurde die Klasse ~BackupThread~ erstellt welche
|
||||||
von ~BorgQtThread~ erbt. Die Klasse ~BackupThread~ nimmt beim instanzieren 3
|
von ~BorgQtThread~ erbt. Die Klasse ~BackupThread~ nimmt beim instantiieren 3
|
||||||
Argumente auf: ~includes~, ~excludes~, ~prefix~. Wobei ~excludes~ und ~prefix~
|
Argumente auf: ~includes~, ~excludes~, ~prefix~. Wobei ~excludes~ und ~prefix~
|
||||||
beide optional sind. Im Hauptcode werden diese Argumente aus der
|
beide optional sind. Im Hauptcode werden diese Argumente aus der
|
||||||
Konfigurationsdatei ausgelesen und übergeben. Die Includes werden im Falle
|
Konfigurationsdatei ausgelesen und übergeben. Die Includes werden im Falle
|
||||||
eines Backups im Hintergrund auch aus der Konfigurationsdatei gelesen. Wenn es
|
eines Backups im Hintergrund aus der Konfigurationsdatei gelesen. Wenn es
|
||||||
der User manuell ausführt wird der im Frontend ausgewählte Pfad mitgegeben.
|
der User manuell ausführt wird der im Frontend ausgewählte Pfad mitgegeben.
|
||||||
|
|
||||||
Die "Excludes" haben lange nicht funktionert. Der Grund dafür waren zusätzliche
|
Die "Excludes" haben lange nicht funktioniert Der Grund dafür waren zusätzliche
|
||||||
Anführungszeichen um die Exclude Pfade. Diese wurden aus Versehen hinzugefügt
|
Anführungszeichen um die Exclude Pfade. Diese wurden aus Versehen hinzugefügt
|
||||||
da gls:borg normalerweise auf der Kommandozeile ausgeführt wird und die
|
da gls:borg normalerweise auf der Kommandozeile ausgeführt wird und die
|
||||||
Anführungszeichen dort notwendig sind um allfällige Leer- oder Sonderzeichen
|
Anführungszeichen dort notwendig sind um allfällige Leer- oder Sonderzeichen
|
||||||
abzufangen. Es wurde davon ausgegangen dass, da ~subprocess~ Modull ähnlich
|
abzufangen. Es wurde davon ausgegangen dass, da ~subprocess~ Modul ähnlich
|
||||||
funktioniert wie die Kommandozeile. Da man an das Modull direkt einen String
|
funktioniert wie die Kommandozeile. Da man an das Modul direkt einen String
|
||||||
übergibt sind die zusätzlichen Anführungszeichen nicht notwendig und führen
|
übergibt sind die zusätzlichen Anführungszeichen nicht notwendig und führen
|
||||||
sogar dazu das die Pfade gar nicht funktioneren. Somit werden die "Excludes"
|
sogar dazu das die Pfade gar nicht funktionieren Somit werden die "Excludes"
|
||||||
einfach mit dem entsprechenden Parameter gepaart und als gesamte Liste an das
|
mittels der Methode ~_process_excludes~ mit dem entsprechenden Parameter
|
||||||
finale Kommando angehängt. Die Includes funktionieren auf die gleiche Weise ins
|
gepaart und als gesamte Liste an das finale Kommando angehängt. Die "Includes"
|
||||||
finale Kommando eingebaut benötigen jedoch keine zusätzlichen Paramteter. Zu
|
funktionieren auf die gleiche Weise, benötigen jedoch keine zusätzlichen
|
||||||
sehen ist dies im Codesnippet:([[code:excludes]]).
|
Parameter Zu sehen ist dies im Codesnippet:([[code:excludes]]).
|
||||||
|
|
||||||
#+caption: Erstellen des "borg create" Kommandos fürs erstellen von Backups.
|
#+caption: Erstellen des "borg create" Kommandos fürs erstellen von Backups.
|
||||||
#+name: code:excludes
|
#+name: code:excludes
|
||||||
|
@ -2067,19 +2054,14 @@ def create_command(self):
|
||||||
self.command.extend(self.excludes)
|
self.command.extend(self.excludes)
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
Aus zeitlichen Gründen konnte die Funktion zur Erkennung eines laufenden
|
|
||||||
Hypervisors nicht während der Diplomarbeit entwickelt werden. Dies ist ein
|
|
||||||
recht komplexes Features und braucht genügend Zeit damit es richtig umgesetzt
|
|
||||||
wird.
|
|
||||||
|
|
||||||
*** Frontend
|
*** Frontend
|
||||||
|
|
||||||
Damit die Backups im Frontend funktionieren musste zum einen der "Backup" Knopf
|
Damit die Backups im Frontend funktionieren musste zum einen der "Backup" Knopf
|
||||||
mit der Method ~create_backup~ verknüpft werden. Desweiteren wurde ein Dateibaum, in
|
mit der Methode ~create_backup~ verknüpft werden. Des weiteren wurde ein Dateibaum, in
|
||||||
Abbildung:([[fig:borgqt_file_tree]]) grün umrahmt, eingefügt. Dieser gibt den Pfad
|
Abbildung:([[fig:borgqt_file_tree]]) grün umrahmt, eingefügt. Dieser gibt den Pfad
|
||||||
des angewählten Objektes and die ~create_backup~ Methode weiter.
|
des angewählten Objektes and die ~create_backup~ Methode weiter.
|
||||||
|
|
||||||
#+caption: Screenhot des Dateibaumes.
|
#+caption: Screenshot des Dateibaumes.
|
||||||
#+name: fig:borgqt_file_tree
|
#+name: fig:borgqt_file_tree
|
||||||
[[file:pictures/borgqt_file_tree.png]]
|
[[file:pictures/borgqt_file_tree.png]]
|
||||||
|
|
||||||
|
@ -2088,19 +2070,20 @@ angezeigt, Abbildung:([[fig:borgqt_progress_v2]]). Dieser dient hauptsächlich d
|
||||||
dem User das Gefühl zu geben das die Applikation noch am Arbeiten ist.
|
dem User das Gefühl zu geben das die Applikation noch am Arbeiten ist.
|
||||||
|
|
||||||
Der Dialog musste gegenüber der ersten Version in Sektion: [[Erste Umsetzung][Erste Umsetzung]] noch
|
Der Dialog musste gegenüber der ersten Version in Sektion: [[Erste Umsetzung][Erste Umsetzung]] noch
|
||||||
etwas angepasst werden. gls:borg gibt während dem Erstellen eines Archives keine
|
etwas angepasst werden. gls:borg gibt während dem Erstellen eines Archivs
|
||||||
Informationen zurück welches einem erlauben würden einen Fortschrittsbalken zu
|
keine Informationen zurück welches einem erlauben würden einen
|
||||||
generieren, welcher den effektiven Fortschritt anzeigt. gls:borg gibt einzig die
|
Fortschrittsbalken zu generieren, welcher den effektiven Fortschritt anzeigt.
|
||||||
Anzahl der verarbeiteten Dateien in regelmässigen Abständen zurück. Da gls:borg
|
gls:borg gibt einzig die Anzahl der verarbeiteten Dateien in regelmässigen
|
||||||
jedoch zu Beginn nicht meldet wieviele Dateien gesichert werden lässt sich
|
Abständen zurück. Da gls:borg jedoch zu Beginn nicht meldet wie viele Dateien
|
||||||
damit keine Prozentzahl erstellen. Ein paar Experimente bei denen die zu
|
gesichert werden lässt sich damit keine Prozentzahl erstellen. Ein paar
|
||||||
sichernenden Dateien zuerst von Borg-Qt gezählt werden sollten, wurden
|
Experimente bei denen die zu sichernden Dateien zuerst von Borg-Qt gezählt
|
||||||
verworfen. Einerseits weil keine Methode gefunden werden konnte welche die
|
werden sollten, wurden verworfen. Einerseits weil keine Methode gefunden werden
|
||||||
gleiche Anzahl Dateien zurückgab wie gls:borg. Anderseits weil es den Backup
|
konnte welche die gleiche Anzahl Dateien zurückgab wie gls:borg. Anderseits
|
||||||
Vorgang unnötig in die Länge zieht. Dies ist insbesondere der Fall wenn sich
|
weil es den Backup Vorgang unnötig in die Länge zieht. Dies ist insbesondere
|
||||||
sehr viele Dateien im Quellverzeichnis befinden. Aus diesem Grund wurde der
|
der Fall wenn sich sehr viele Dateien im Quellverzeichnis befinden. Es kann
|
||||||
Fortschrittsbalken mit Prozentanzeige durch einen sich wiederholenden
|
sogar soweit kommen dass, das Zählen länger als das eigentliche Sichern dauert.
|
||||||
Ladebalken ersetzt.
|
Aus diesem Grund wurde der Fortschrittsbalken mit Prozentanzeige durch einen
|
||||||
|
sich wiederholenden Ladebalken ersetzt.
|
||||||
|
|
||||||
#+caption: Screenshot des "Aktion in Ausführung" Dialogs.
|
#+caption: Screenshot des "Aktion in Ausführung" Dialogs.
|
||||||
#+name: fig:borgqt_progress_v2
|
#+name: fig:borgqt_progress_v2
|
||||||
|
@ -2109,17 +2092,30 @@ Ladebalken ersetzt.
|
||||||
|
|
||||||
Wurde das Archiv erfolgreich erstellt, wird die Liste mit den Archiven sowie
|
Wurde das Archiv erfolgreich erstellt, wird die Liste mit den Archiven sowie
|
||||||
die Repository Statistik aktualisiert. Beide Elemente sind in der,
|
die Repository Statistik aktualisiert. Beide Elemente sind in der,
|
||||||
Abbildung:([[fig:borgqt_archive_list]]), grün respektive rot umrahmt. Beide
|
Abbildung:([[fig:borgqt_archive_list]]), grün respektive rot umrahmt. Für die
|
||||||
Funktionen wurden im Grossen und Ganzen gleich wie bereits die ~backup~
|
Beiden Funktionen wurde jeweils eine eigene Klasse, ~ListThread~ und
|
||||||
Funktion implementiert. Die zurückerhaltenen gls:json Strings werden wieder auf
|
~InfoThread~, erstellt. Beide erben von ~BorgQtThread~. In den Klassen wird wie
|
||||||
die jeweilige Information geparst und die Archive in Python Listen, die
|
bei ~BackupThread~ gls:borg über einen ~subprocess~ aufgerufen um die Archiv Liste
|
||||||
Repository Statisk in Ganzzahlen umgewahndelt.
|
respektive Statistik zurückzuerhalten Die gls:json Strings werden wieder auf
|
||||||
|
die jeweilige Information geparst und die Archive in eine Python List, die
|
||||||
|
Repository Statistik in Zahlen umgewandelt.
|
||||||
|
|
||||||
Da gls:borg die Repository Grössen in Bytes zurück gibt sollten diese zur
|
Da gls:borg die Repository Grössen in Bytes zurück gibt sollten diese zur
|
||||||
Anzeige noch in eine menschenlesbarses Format umgerechnet werden. In Borg-Qt
|
Anzeige noch in eine menschenlesbarses Format umgerechnet werden. In Borg-Qt
|
||||||
geschieht dies mit der Helferfunktion ~convert_size~. Die Funktion wurde von
|
geschieht dies mit der Helferfunktion ~convert_size~. Die Funktion wurde von
|
||||||
Stackoverflow footcite:sizeformat übernommen.
|
Stackoverflow footcite:sizeformat übernommen.
|
||||||
|
|
||||||
|
Beim Durchführen der Benutzerfreundlichkeitsstudie wurde noch ein Bug entdeckt.
|
||||||
|
Der Bug der entdeckt wurde tritt immer dann auf wenn ein Archiv gemountet ist
|
||||||
|
und man ein Backup erstellen möchte. Dies ist jedoch offenbar eine Funktion die
|
||||||
|
von gls:borg nicht unterstützt wird footcite:borgmount. gls:borg kann mehrere
|
||||||
|
Archive gleichzeitig mounten. Der User müsste jedoch jedes der Archive zuerst
|
||||||
|
wieder unmounten bevor er eine neue Datensicherung erstellen kann. Das Problem
|
||||||
|
wurde dadurch gelöst das dem User ein Dialog angezeigt wird, über welchen er
|
||||||
|
vor einer Datensicherung zuerst die gemounteten Archive aushängen kann.
|
||||||
|
Anschliessend startet die Datensicherung dann wie wenn kein Archiv gemountet
|
||||||
|
gewesen wäre.
|
||||||
|
|
||||||
#+caption: Screenshot der aktualisierten Archivliste und Repository Statistik.
|
#+caption: Screenshot der aktualisierten Archivliste und Repository Statistik.
|
||||||
#+name: fig:borgqt_archive_list
|
#+name: fig:borgqt_archive_list
|
||||||
[[file:pictures/borgqt_archive_list.png]]
|
[[file:pictures/borgqt_archive_list.png]]
|
||||||
|
@ -2127,7 +2123,7 @@ Stackoverflow footcite:sizeformat übernommen.
|
||||||
** Restore
|
** Restore
|
||||||
|
|
||||||
Der Code für das Wiederherstellen eines Backups ist sehr ähnlich wie der Code
|
Der Code für das Wiederherstellen eines Backups ist sehr ähnlich wie der Code
|
||||||
für das Erstellen. Die Besonderheiten bei dieser Funktion sind vorallem die
|
für das Erstellen. Die Besonderheiten bei dieser Funktion sind vor allem die
|
||||||
Kontrolle das ein Archiv angewählt wurde bevor man die Wiederherstellung
|
Kontrolle das ein Archiv angewählt wurde bevor man die Wiederherstellung
|
||||||
startet, das Erstellen des Zielpfades sowie das Aufräumen bei einem Fehler.
|
startet, das Erstellen des Zielpfades sowie das Aufräumen bei einem Fehler.
|
||||||
|
|
||||||
|
@ -2135,7 +2131,7 @@ Wird der "Restore" Knopf gedrückt ohne das ein Backup angewählt wurde erschein
|
||||||
folgende Fehlermeldung, Abbildung:([[fig:no_archive_selected]]), um den Benutzer
|
folgende Fehlermeldung, Abbildung:([[fig:no_archive_selected]]), um den Benutzer
|
||||||
darauf hinzuweisen das er dies noch tun sollte.
|
darauf hinzuweisen das er dies noch tun sollte.
|
||||||
|
|
||||||
#+caption: Screenshot der Fehlermeldung eines fehlenden Archives während einem Restore.
|
#+caption: Screenshot der Fehlermeldung eines fehlenden Archivs während einem Restore.
|
||||||
#+name: fig:no_archive_selected
|
#+name: fig:no_archive_selected
|
||||||
#+attr_latex: :width .2\paperwidth :placement [H]
|
#+attr_latex: :width .2\paperwidth :placement [H]
|
||||||
[[file:pictures/borgqt_no_archive_selected.png]]
|
[[file:pictures/borgqt_no_archive_selected.png]]
|
||||||
|
@ -2143,7 +2139,7 @@ darauf hinzuweisen das er dies noch tun sollte.
|
||||||
Das Wiederherstellen an sich läuft so ab das der Benutzer zuerst ein Archiv
|
Das Wiederherstellen an sich läuft so ab das der Benutzer zuerst ein Archiv
|
||||||
auswählt und dann auf "Restore" klickt. Daraufhin öffnet sich ein Dialog in
|
auswählt und dann auf "Restore" klickt. Daraufhin öffnet sich ein Dialog in
|
||||||
welchem der Benutzer den Zielort auswählen kann. Sobald er dies getan hat
|
welchem der Benutzer den Zielort auswählen kann. Sobald er dies getan hat
|
||||||
erstellt Borg-Qt darin einen Order mit dem Namen des Archives und beginnt mit
|
erstellt Borg-Qt darin einen Order mit dem Namen des Archivs und beginnt mit
|
||||||
dem eigentlichen Wiederherstellen. Sollte der Zielort für die Applikation nicht
|
dem eigentlichen Wiederherstellen. Sollte der Zielort für die Applikation nicht
|
||||||
beschreibbar sein erscheint eine entsprechende Fehlermeldung,
|
beschreibbar sein erscheint eine entsprechende Fehlermeldung,
|
||||||
Abbildung:([[fig:not_writeable]]), und der Vorgang wird abgebrochen. Nach einer
|
Abbildung:([[fig:not_writeable]]), und der Vorgang wird abgebrochen. Nach einer
|
||||||
|
@ -2156,14 +2152,14 @@ Dateimanager damit der User gleich mit den Dateien weiterarbeiten kann.
|
||||||
[[file:pictures/borgqt_not_writeable.png]]
|
[[file:pictures/borgqt_not_writeable.png]]
|
||||||
|
|
||||||
Gibt es während dem Wiederherstellen einen Fehler gibt die Anwendung den
|
Gibt es während dem Wiederherstellen einen Fehler gibt die Anwendung den
|
||||||
entsprechenden Fehler aus und löscht zusätlich noch den zu Beginn erstellten
|
entsprechenden Fehler aus und löscht zusätzlich noch den zu Beginn erstellten
|
||||||
Archiv Ordner. Dies aus dem Grund da die Wiederherstellung ja nicht komplett
|
Archiv Ordner. Dies aus dem Grund da die Wiederherstellung ja nicht komplett
|
||||||
durchgelaufen ist befindet sich das Archiv in einem unfertigen Zustand. Somit
|
durchgelaufen ist, somit befindet sich das Archiv in einem unfertigen Zustand.
|
||||||
ist es sinnvoller die wiederhergestellten Dateien wegzuräumen als unter
|
Es ist deshalb sinnvoller die wiederhergestellten Dateien wegzuräumen als unter
|
||||||
Umständen defekte Dateien zurückzulassen.
|
Umständen defekte Dateien zurück zulassen
|
||||||
|
|
||||||
Wird das gleiche Archiv nochmal an den gleichen Zielort wiederhergestellt ist
|
Wird das gleiche Archiv nochmal an den gleichen Zielort wiederhergestellt ist
|
||||||
das für gls:borg kein Problem. Es überschreibt die Dateien einfach nocheinmal.
|
das für gls:borg kein Problem. Es überschreibt die Dateien einfach noch einmal
|
||||||
|
|
||||||
** Mount
|
** Mount
|
||||||
|
|
||||||
|
@ -2173,24 +2169,24 @@ dies nicht der Fall ist eine entsprechende Fehlermeldung aus. Im Gegensatz zur
|
||||||
"Restore" Funktion zeigt die "Mount" Funktion jedoch keinen Dialog zum
|
"Restore" Funktion zeigt die "Mount" Funktion jedoch keinen Dialog zum
|
||||||
Auswählen des Zielpfades. Die Funktion erstellt sich diesen selbst. Der
|
Auswählen des Zielpfades. Die Funktion erstellt sich diesen selbst. Der
|
||||||
Zielpfad ist dabei kombiniert aus dem ~/tmp~ Verzeichnis und dem Namen des
|
Zielpfad ist dabei kombiniert aus dem ~/tmp~ Verzeichnis und dem Namen des
|
||||||
Archives.
|
Archivs
|
||||||
|
|
||||||
gls:borg mountet jedes Archiv nur mit Leserechten. Da es relativ
|
gls:borg mountet jedes Archiv nur mit Leserechten. Es ist relativ
|
||||||
unwahrscheinlich ist das der Zielpfad in unbeschreibbarer Form bereits vor dem
|
unwahrscheinlich das der Zielpfad in unbeschreibbarer Form bereits vor dem
|
||||||
Ausführen der Appliation bereits vorhanden ist. Sollte dies jedoch der Fall
|
Ausführen der ~mount_backup~ Methode bereits vorhanden ist. Sollte dies jedoch
|
||||||
sein kann davon ausgegangen werden das der Benutzer das Archiv bereits einmal
|
der Fall sein kann davon ausgegangen werden das der Benutzer das Archiv bereits
|
||||||
gemountet wurde. Genau dies wird in der Applikation auch so überprüft. Falls
|
einmal gemountet hat. Genau dies wird in der Applikation auch so überprüft.
|
||||||
der Zielort schreibbar ist wird das ausgewählte Archiv auf diesem Pfad
|
Falls der Zielort schreibbar ist wird das ausgewählte Archiv auf diesem Pfad
|
||||||
gemountet. Anschliessend wird wie auch bei der Restore Funktion der Pfad in
|
gemountet. Anschliessend wird wie auch bei der Restore Funktion der Pfad in
|
||||||
einem Dateimanager geöffnet damit der Benutzer direkt mit den Dateien
|
einem Dateimanager geöffnet damit der Benutzer direkt mit den Dateien
|
||||||
weiterarbeiten kann. Wurde erkannt dass, das Archiv bereits gemountet wurde
|
weiterarbeiten kann. Wurde erkannt dass, das Archiv bereits gemountet wurde,
|
||||||
öffnet die Applikation direkt den Dateimanager ohne zu versuchen das Archiv
|
also der Pfad nicht schreibbar ist, öffnet die Applikation direkt den
|
||||||
nocheinmal zu mounten.
|
Dateimanager ohne zu versuchen das Archiv noch einmal zu mounten.
|
||||||
|
|
||||||
Zusätlich wird der Pfad jedes gemounteten Archives in einer Liste gespeichert.
|
Zusätzlich wird der Pfad jedes gemounteten Archivs in einer Liste gespeichert.
|
||||||
Beim Beenden der Applikation iteriert die Applikation über jeden Pfad in der
|
Beim Beenden der Applikation iteriert die Applikation über jeden Pfad in der
|
||||||
Liste unmountet und löscht ihn. Somit befindet sich das System wieder im
|
Liste unmountet das Archiv und löscht den Ordner. Somit befindet sich das
|
||||||
gleichen Zustand wie vor dem Start der Applikation.
|
System wieder im gleichen Zustand wie vor dem Start der Applikation.
|
||||||
|
|
||||||
** Delete
|
** Delete
|
||||||
|
|
||||||
|
@ -2199,9 +2195,10 @@ löschen. Hierbei greift wie bei der "Restore" und "Mount" Funktion auch wieder
|
||||||
die Überprüfung ob der Benutzer ein Archiv ausgewählt hat. Ist dies gegeben
|
die Überprüfung ob der Benutzer ein Archiv ausgewählt hat. Ist dies gegeben
|
||||||
zeigt die Applikation dem Benutzer einen Dialog, Abbildung:([[fig:yes_no]]), zum
|
zeigt die Applikation dem Benutzer einen Dialog, Abbildung:([[fig:yes_no]]), zum
|
||||||
sicherstellen das er das Archiv wirklich löschen möchte. Bestätigt er diesen
|
sicherstellen das er das Archiv wirklich löschen möchte. Bestätigt er diesen
|
||||||
mit "Yes" wird der Vorgang vortgesetzt und das Archiv gelöscht. Anschliessend
|
mit "Yes" wird der Vorgang fortgesetzt und das Archiv gelöscht. Anschliessend
|
||||||
werden die Archivliste und die Repository Statistik aktualisiert um den neuen
|
werden die Archivliste und die Repository Statistik aktualisiert um den neuen
|
||||||
Zustand wiederzugeben.
|
Zustand wiederzugeben. Klickt der Benutzer stattdessen auf "No" schliesst sich
|
||||||
|
der Dialog wieder und nichts weiter passiert.
|
||||||
|
|
||||||
#+caption: Screenshot des Yes/No Dialogs in der "Delete" Funktion.
|
#+caption: Screenshot des Yes/No Dialogs in der "Delete" Funktion.
|
||||||
#+name: fig:yes_no
|
#+name: fig:yes_no
|
||||||
|
@ -2221,28 +2218,27 @@ Oberfläche angezeigt wird. Bei Borg-Qt wird dies über ein Kommandozeilen
|
||||||
Parameter realisiert. Hierfür wurde das Python Standard Paket ~argparser~
|
Parameter realisiert. Hierfür wurde das Python Standard Paket ~argparser~
|
||||||
verwendet. Konkret bedeutet dies dass, wenn man die Applikation auf
|
verwendet. Konkret bedeutet dies dass, wenn man die Applikation auf
|
||||||
der Kommandozeile wie folgt ausführt ~borg_qt -B~ wird die grafische Oberfläche
|
der Kommandozeile wie folgt ausführt ~borg_qt -B~ wird die grafische Oberfläche
|
||||||
nicht angezeigt und es wird direkt die Method ~background_backup~ der Klasse
|
nicht angezeigt und es wird direkt die Methode ~background_backup~ der Klasse
|
||||||
~MainWindow~ ausgeführt. Dabei werden alle Ordner welche in den Einstellungen
|
~MainWindow~ ausgeführt. Dabei werden alle Ordner, welche in den Einstellungen
|
||||||
unter "Include" sowie "Exclude" gespeichert wurden, im Archiv gesichert,
|
unter "Include" sowie "Exclude" gespeichert wurden, im Archiv gesichert,
|
||||||
respektive davon ausgeschlossen. Damit sind die Voraussetzungen für
|
respektive davon ausgeschlossen. Damit sind die Voraussetzungen für
|
||||||
automatische Backups gegeben.
|
automatische Backups gegeben.
|
||||||
|
|
||||||
Um die Backups in regelmässigen Intervalen auszuführen gibt es zwei
|
Um die Backups in regelmässigen Intervallen auszuführen gibt es zwei
|
||||||
Möglichkeiten wie man dies implementieren könnte. Zum einen könnte man die
|
Möglichkeiten wie man dies implementieren könnte. Zum einen könnte man die
|
||||||
Applikation permanent im Hintergrund laufen lassen, etwa als Trayicon wie man
|
Applikation permanent im Hintergrund laufen lassen, etwa als Trayicon wie man
|
||||||
das von anderen Applikationen wie etwas Dropbox kennt zum anderen kann man es
|
das von anderen Applikationen wie etwas Dropbox kennt zum anderen kann man es
|
||||||
über Werkzeuge des Betriebssystems bewerkstelligen.
|
über Werkzeuge des Betriebssystems bewerkstelligen. Die drei
|
||||||
Die drei Desktopbetriebsysteme, Windows, OS X und Linux, bringen alle drei
|
Desktopbetriebsysteme, Windows, OS X und Linux, bringen alle drei Werkzeuge
|
||||||
Werkzeuge mit um periodisch einen ein Programm auszuführen. Unter Linux wurde
|
mit, um periodisch ein Programm auszuführen. Unter Linux wurde dies früher mit
|
||||||
dies früher mit sogenannten Cron Jobs gemacht. Die moderne Lösung sind
|
sogenannten Cron Jobs gemacht. Die moderne Lösung sind heutzutage jedoch
|
||||||
heutzutage jedoch sogenannte Systemd Timer. Für Borg-Qt wurde beschlossen es
|
Systemd Timer. Für Borg-Qt wurde beschlossen es mit den Werkzeugen des
|
||||||
mit den Werkzeugen des Betriebssystems zu machen. Also konkret Systemd. Dies
|
Betriebssystems zu machen. Also konkret Systemd. Dies aus dem Grund das Systemd
|
||||||
einerseits aus dem Grund das ein Grossteil der Funktion bereits programmiert
|
genau für das Managen von Applikationen programmiert wurde. Ein Grossteil der
|
||||||
wurde und man somit Zeit sparen kann, zum anderen wurden die Systemd Timer
|
Funktion ist bereits in Systemd enthalten somit kann man Zeit sparen. Zudem
|
||||||
genau für solche Zwecke programmiert. Zu guter Letzt soll die Anwendung dem
|
soll die Anwendung dem Benutzer auch soweit als möglich aus dem Weg gehen. Eine
|
||||||
Benutzer auch soweit als möglich aus dem Weg gehen. Eine Applikation welche
|
Applikation welche permanent in der Taskleiste lebt scheint hier nicht wirklich
|
||||||
permanent in der Taskleiste lebt scheint hier nicht wirklich das Kriterium zu
|
das Kriterium zu erfüllen.
|
||||||
erfüllen.
|
|
||||||
|
|
||||||
Systemd ist ein init System welches dazu dient dazu die Benutzerumgebung und
|
Systemd ist ein init System welches dazu dient dazu die Benutzerumgebung und
|
||||||
die dazugehörigen Prozesse zu starten und zu verwalten footcite:systemd. Die
|
die dazugehörigen Prozesse zu starten und zu verwalten footcite:systemd. Die
|
||||||
|
@ -2251,9 +2247,9 @@ einfach in Klartextdateien mit der Dateiendung ~.service~ definiert. Der Inhalt
|
||||||
orientiert sich dabei praktischerweise am "INI" Stil. In Borg-Qt wurde das INI
|
orientiert sich dabei praktischerweise am "INI" Stil. In Borg-Qt wurde das INI
|
||||||
Format bereits bei den Konfigurationsdateien verwendet. Somit können dort
|
Format bereits bei den Konfigurationsdateien verwendet. Somit können dort
|
||||||
gesammelte Erfahrungen wiederverwendet werden. Soll ein Service in einem
|
gesammelte Erfahrungen wiederverwendet werden. Soll ein Service in einem
|
||||||
gewissen Zeitinterval ausgeführt werden benötigt Systemd eine weiter Datei mit
|
gewissen Zeitintervall ausgeführt werden benötigt Systemd eine weiter Datei mit
|
||||||
dem gleichen Namen jedoch mit der Dateiendung Timer. Der Inhalt ist auch wieder
|
dem gleichen Namen jedoch mit der Dateiendung ~.timer~ . Der Inhalt ist auch
|
||||||
im INI Stil gehalten. Systemd versteht eine Vielzahl an Datumsformaten
|
wieder im INI Stil gehalten. Systemd versteht eine Vielzahl an Datumsformaten
|
||||||
footcite:systemddate. In Borg-Qt wurden zwei Varianten in den Einstellungen
|
footcite:systemddate. In Borg-Qt wurden zwei Varianten in den Einstellungen
|
||||||
umgesetzt. Eine welche "Predefined Schedule" genannt wurde und eine mit dem
|
umgesetzt. Eine welche "Predefined Schedule" genannt wurde und eine mit dem
|
||||||
Namen "Custom Schedule", zu sehen in, Abbildung:([[fig:schedule]]). Die Predefined
|
Namen "Custom Schedule", zu sehen in, Abbildung:([[fig:schedule]]). Die Predefined
|
||||||
|
@ -2272,10 +2268,11 @@ Freitag stündliche Backups." (~Monday, Wednesday, Friday *-*-* *:00:00~).
|
||||||
#+attr_latex: :placement [H]
|
#+attr_latex: :placement [H]
|
||||||
[[file:pictures/borgqt_settings_schedule.png]]
|
[[file:pictures/borgqt_settings_schedule.png]]
|
||||||
|
|
||||||
Das erstellen der eigentlichen Systemd Konfiguration passiert in Borg-Qt in der
|
Das Erstellen der eigentlichen Systemd Konfiguration passiert in Borg-Qt in der
|
||||||
~Config~ Klasse. Zum schreiben, und de-/aktivieren des Systemd Services, respektive
|
~Config~ Klasse zum gleichen Zeitpunkt wie die eigentliche Konfigurationsdatei
|
||||||
Timers wurde wurde eine Klasse ~SystemdFile~. Somit könnte die Funktion auch
|
geschrieben wird. Zum schreiben, und de-/aktivieren des Systemd Services,
|
||||||
einfach in einem anderen Projekt verwendet werden.
|
respektive Timers wurde wurde eine Klasse ~SystemdFile~ erstellt. Somit könnte
|
||||||
|
die Funktion auch einfach in einem anderen Projekt verwendet werden.
|
||||||
|
|
||||||
Systemd benötigt zum Starten der Anwendung den absoluten Pfad in der Service
|
Systemd benötigt zum Starten der Anwendung den absoluten Pfad in der Service
|
||||||
Datei. Da davon ausgegangen werden kann das Borg-Qt im ~PATH~ des Systems
|
Datei. Da davon ausgegangen werden kann das Borg-Qt im ~PATH~ des Systems
|
||||||
|
@ -2285,8 +2282,8 @@ Speicherort der Datei. Zusammen mit den Daten aus den Einstellungen wird diese
|
||||||
Information in einem ~Configparser~ Objekt gespeichert welches dann mithilfe
|
Information in einem ~Configparser~ Objekt gespeichert welches dann mithilfe
|
||||||
der ~SystemdFile~ Klasse in eine ~borg_qt.service~,
|
der ~SystemdFile~ Klasse in eine ~borg_qt.service~,
|
||||||
Codesnippet:([[code:systemdservice]]), respektive ~borg_qt.timer~,
|
Codesnippet:([[code:systemdservice]]), respektive ~borg_qt.timer~,
|
||||||
Codesnippet:([[code:systemdtimer]]), Datei im Systemd Pfad für Benutzerdaten
|
Codesnippet:([[code:systemdtimer]]), Datei, im Systemd Pfad
|
||||||
~/home/username/.config/systemd/user/~ gespeichert wird und aktiviert.
|
~/home/username/.config/systemd/user/~ geschrieben und aktiviert wird.
|
||||||
|
|
||||||
Eine Option in der ~borg_qt.timer~ die noch erwähnenswert ist, ist ~Persistent
|
Eine Option in der ~borg_qt.timer~ die noch erwähnenswert ist, ist ~Persistent
|
||||||
= true~. Ist ~Persistent~ auf ~true~ gesetzt holt Systemd den Tasks nach sollte
|
= true~. Ist ~Persistent~ auf ~true~ gesetzt holt Systemd den Tasks nach sollte
|
||||||
|
@ -2298,7 +2295,7 @@ eingeschaltet wird kommt.
|
||||||
|
|
||||||
Mit dem Abschluss des automatischen Backups wurde die für die Entwicklung
|
Mit dem Abschluss des automatischen Backups wurde die für die Entwicklung
|
||||||
reservierte Zeit aufgebraucht und die Entwicklung neuer Funktionen für den
|
reservierte Zeit aufgebraucht und die Entwicklung neuer Funktionen für den
|
||||||
Zeitrahmen der Diplomarbeit angehalten.
|
Zeitrahmen der Diplomarbeit gestoppt.
|
||||||
|
|
||||||
#+caption: Systemd Service Datei für Borg-Qt
|
#+caption: Systemd Service Datei für Borg-Qt
|
||||||
#+name: code:systemdservice
|
#+name: code:systemdservice
|
||||||
|
@ -2327,14 +2324,15 @@ Persistent = true
|
||||||
WantedBy = timers.target
|
WantedBy = timers.target
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
** UI Anpassungen nach Benutzerfreundlichkeitsstudie
|
** gls:gui Anpassungen nach Benutzerfreundlichkeitsstudie
|
||||||
|
|
||||||
Im Rahmen der durchgeführten [[Benutzerfreundlichkeitsstudie][Benutzerfreundlichkeitsstudie]] wurden einige Punkte
|
Im Rahmen der durchgeführten [[Benutzerfreundlichkeitsstudie][Benutzerfreundlichkeitsstudie]] wurden einige Punkte
|
||||||
festgestellt welche im Rahmen der Diplomarbeit angepasst werden konnten. Zum
|
festgestellt welche im Rahmen der Diplomarbeit angepasst werden konnten. Zum
|
||||||
einen wurden einige Buttons neu beschriftet um klarer auf ihre Funktion
|
einen wurden in den "Include" sowie "Exclude" Optionen einige Buttons neu
|
||||||
hinzuweisen. Dies wurde bei den "Include" Optionen,
|
beschriftet und zwei Labels hinzugefügt um klarer auf ihre Funktion
|
||||||
Abbildungen:([[fig:borgqt_settings_include_v2]]) und bei den "Exclude" Optionen,
|
hinzuweisen. Zu sehen ist dies in den
|
||||||
Abbildung([[fig:borgqt_settings_exclude_v2]]), gemacht.
|
Abbildungen:([[fig:borgqt_settings_include_v2]]) und
|
||||||
|
([[fig:borgqt_settings_exclude_v2]]).
|
||||||
|
|
||||||
#+caption: Screenshot der Borg-Qt "Include" Einstellungen Version 2
|
#+caption: Screenshot der Borg-Qt "Include" Einstellungen Version 2
|
||||||
#+name: fig:borgqt_settings_include_v2
|
#+name: fig:borgqt_settings_include_v2
|
||||||
|
@ -2346,12 +2344,13 @@ Abbildung([[fig:borgqt_settings_exclude_v2]]), gemacht.
|
||||||
#+attr_latex: :placement [H]
|
#+attr_latex: :placement [H]
|
||||||
[[file:pictures/borgqt_settings_exclude_v2.png]]
|
[[file:pictures/borgqt_settings_exclude_v2.png]]
|
||||||
|
|
||||||
Zudem wurde ein kleines Hilfe Fenster, Abbildung:([[fig:borgqt_help]]), eingebaut
|
Zudem wurde ein Hilfe Fenster, Abbildung:([[fig:borgqt_help]]), eingebaut welches
|
||||||
welches dem Benutzer beim Start der Applikation angezeigt wird. Dieses soll ihm
|
dem Benutzer beim Start der Applikation angezeigt wird. Dieses soll ihm einen
|
||||||
einen kurzen Überblick darüber geben welcher Button welche Aktion auslöst.
|
kurzen Überblick darüber geben welcher Button welche Aktion auslöst und welche
|
||||||
Optional kann der Benutzer dann noch entscheiden das er das Fenster beim
|
Elemente welche Information anzeigen. Optional kann der Benutzer dann noch
|
||||||
nächsten Start nicht mehr angezeigt bekokmmen möchte. Über den Button "Help"
|
entscheiden das er das Fenster beim nächsten Start nicht mehr angezeigt
|
||||||
kann das Fenster jederzeit unabhängig der Einstellungen wieder angezeigt werden.
|
bekommen möchte. Über den Button "Help" kann das Fenster jederzeit unabhängig
|
||||||
|
der Einstellungen wieder angezeigt werden.
|
||||||
|
|
||||||
#+caption: Screenshot des Borg-Qt Hilfe Fenster
|
#+caption: Screenshot des Borg-Qt Hilfe Fenster
|
||||||
#+name: fig:borgqt_help
|
#+name: fig:borgqt_help
|
||||||
|
@ -2360,18 +2359,18 @@ kann das Fenster jederzeit unabhängig der Einstellungen wieder angezeigt werden
|
||||||
|
|
||||||
** Releases
|
** Releases
|
||||||
|
|
||||||
Für die finale Veröffentlichung wird Borg-Qt als ein sogennantes ausführbares
|
Für die finale Veröffentlichung wird Borg-Qt als ein sogenanntes ausführbares
|
||||||
"Binary" zur Verfügung gestellt. Man kennt diese auf Windows Systemen etwa als
|
"Binary" zur Verfügung gestellt. Man kennt diese auf Windows Systemen etwa als
|
||||||
die Dateien mit der Endung ".exe". In diesem Fall handelt es sich beim Binary
|
die Dateien mit der Endung ~.exe~. In diesem Fall handelt es sich beim Binary
|
||||||
um ein selbstenpackendes Dateiarchiv. Darin enthalten sind alle benötigten
|
um ein selbstentpackendes Dateiarchiv. Darin enthalten sind alle benötigten
|
||||||
Python Modulle und sonstige Dateien wie etwa die Icons oder gls:gui
|
Python Module und sonstige Dateien wie etwa die Icons oder gls:gui
|
||||||
Definitionsdateien. Beim Ausführen entpackt sich das Archiv in einen temporären
|
Definitionsdateien. Beim Ausführen entpackt sich das Archiv in einen temporären
|
||||||
Ordner und liesst dann von dort aus alle benötigten Dateien.
|
Ordner und liest dann von dort aus alle benötigten Dateien.
|
||||||
|
|
||||||
Diese Art der Auslieferung hat dabei den Vorteil das der User das Programm
|
Diese Art der Auslieferung hat dabei den Vorteil das der User das Programm
|
||||||
nicht speziell installieren muss oder dafür irgendwelche zusätzlichen Dinge
|
nicht speziell installieren muss oder dafür irgendwelche zusätzlichen Dinge
|
||||||
installieren muss. Der Nachteil ist jedoch das so ein Binary nur auf dem
|
installieren muss. Der Nachteil ist jedoch das so ein Binary nur auf dem
|
||||||
jeweilgen Betriebssystem erstellt werden kann. Das heisst das man unter Linux
|
jeweiligen Betriebssystem erstellt und ausgeführt werden kann. Das heisst das man unter Linux
|
||||||
etwa keine Binaries für Mac erstellen kann oder umgekehrt.
|
etwa keine Binaries für Mac erstellen kann oder umgekehrt.
|
||||||
|
|
||||||
Erstellt werden die Dateien mit einem Programm namens
|
Erstellt werden die Dateien mit einem Programm namens
|
||||||
|
@ -2392,11 +2391,28 @@ pyinstaller --hidden-import=PyQt5.sip \
|
||||||
-F borg_qt/borg_qt.py; \
|
-F borg_qt/borg_qt.py; \
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
|
Auf Github wird jeweils ein Release erstellt und dazu die passenden Binaries
|
||||||
|
hochgeladen. Github packt dabei den Source Code beim Erstellen des Releases in
|
||||||
|
ein Zip Archiv. Somit kann eine interessierte Person sich zum Binary auch
|
||||||
|
direkt den Source Code herunterladen.
|
||||||
|
|
||||||
* TODO Ausblick
|
* TODO Ausblick
|
||||||
** TODO Erreichte Ziele
|
** TODO Erreichte Ziele
|
||||||
|
|
||||||
|
| Ziel Nr. | Erfüllt | Bemerkung |
|
||||||
|
|----------+---------+-----------|
|
||||||
|
| | | |
|
||||||
|
|
||||||
|
|
||||||
*** TODO Risikoanalyse der neuen Ist-Situation
|
*** TODO Risikoanalyse der neuen Ist-Situation
|
||||||
|
|
||||||
|
Das Risiko konnte masgeblich gesenkt. Mit den automatischen Backups gibt es nun
|
||||||
|
auch eine Möglichkeit das Vergessen zu minimieren.
|
||||||
|
|
||||||
|
#+caption: Risikoanalyse der neuen Ist-Situation
|
||||||
|
#+name: fig:new-is-risk
|
||||||
|
[[file:pictures/ist_risiko_neu.pdf]]
|
||||||
|
|
||||||
** TODO Projektmanagement
|
** TODO Projektmanagement
|
||||||
|
|
||||||
Gantt Chart sehr hilfreich beim behalten des Überblickes für das Projekt. Gibt
|
Gantt Chart sehr hilfreich beim behalten des Überblickes für das Projekt. Gibt
|
||||||
|
@ -2410,8 +2426,27 @@ Umständen enorme Zeitersparnise.
|
||||||
Die regelmässigen Arbeitsessions haben sich als eine gute Variante des Arbeiten
|
Die regelmässigen Arbeitsessions haben sich als eine gute Variante des Arbeiten
|
||||||
erwiesen und haben die Last der Diplomarbeit gut verteilt.
|
erwiesen und haben die Last der Diplomarbeit gut verteilt.
|
||||||
|
|
||||||
|
** TODO Benutzerfreundlichkeitsstudie
|
||||||
|
|
||||||
|
Die Studie war eine sehr interessante Erfahrung. Enduser sehen eine
|
||||||
|
Anwendung mit ganz anderen Augen als der Entwickler der Anwendung der von jedem
|
||||||
|
Element weiss wie der Code dazu aussieht. Er hat auch gezeigt das die Aufgaben
|
||||||
|
auch richtig gestellt werden müssen ansonsten wissen die Probanden schon gar
|
||||||
|
nicht erst was gefordert ist. Auch sollte wenn möglich darauf geachtet werden
|
||||||
|
das auf einem Betriebsystem getestet mit welchem die Probanden bereits etwas
|
||||||
|
Erfahrung haben. Zwei der Probanden waren ab dem Verhalten und Aussehen des
|
||||||
|
Dateimanagers von Ubuntu 18.04 etwas verwirrt da sie ihn zuvor noch nicht
|
||||||
|
gesehen und bentuzt hatten. Alternativ kann auch die Gruppe der Probanden so
|
||||||
|
gewählt werden das sie mit dem Betriebssystem bereits vertraut sind.
|
||||||
|
Auf jeden Fall etwas was man bei zukünftigen Projekten wieder machten sollte.
|
||||||
|
|
||||||
** TODO Umsetzung
|
** TODO Umsetzung
|
||||||
|
|
||||||
|
Aus zeitlichen Gründen konnte die Funktion zur Erkennung eines laufenden
|
||||||
|
Hypervisors nicht während der Diplomarbeit entwickelt werden. Dies ist ein
|
||||||
|
recht komplexes Features und braucht genügend Zeit damit es richtig umgesetzt
|
||||||
|
wird.
|
||||||
|
|
||||||
Unittests sind der Shit brauchen allerdings Zeit und eine gewisse Erfahrung mit
|
Unittests sind der Shit brauchen allerdings Zeit und eine gewisse Erfahrung mit
|
||||||
der Sprache. Qt ist eine hilfreiches Framework wenn auch sehr umfangreich. Wenn
|
der Sprache. Qt ist eine hilfreiches Framework wenn auch sehr umfangreich. Wenn
|
||||||
man gewillt ist sich mit dem C++ Code auseinanderzusetzen ist die Dokumentation
|
man gewillt ist sich mit dem C++ Code auseinanderzusetzen ist die Dokumentation
|
||||||
|
@ -2419,6 +2454,8 @@ jedoch sehr detailiert.
|
||||||
|
|
||||||
** TODO Weiterverwendung von Borg-Qt
|
** TODO Weiterverwendung von Borg-Qt
|
||||||
|
|
||||||
|
Wird bereits produktiv vom Projektleiter eingesetzt.
|
||||||
|
|
||||||
** TODO Gelerntes
|
** TODO Gelerntes
|
||||||
|
|
||||||
PLACEHOLDER
|
PLACEHOLDER
|
||||||
|
@ -2443,49 +2480,49 @@ PLACEHOLDER
|
||||||
|------------------------------+----------------------------------------------------+---------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------------------------------|
|
|------------------------------+----------------------------------------------------+---------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------------------------------|
|
||||||
| *TC-03* | Anwendung starten | - | 1. Anwendung starten. | - | Die wirft eine Fehlermeldung das sie die Konfigurationsdatei nicht finden kann. | Die geöffnete Fehlermeldung blockiert die Applikation. | Erfolgreich durchgeführt 25.02.2019 A.Z. |
|
| *TC-03* | Anwendung starten | - | 1. Anwendung starten. | - | Die wirft eine Fehlermeldung das sie die Konfigurationsdatei nicht finden kann. | Die geöffnete Fehlermeldung blockiert die Applikation. | Erfolgreich durchgeführt 25.02.2019 A.Z. |
|
||||||
|------------------------------+----------------------------------------------------+---------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------------------------------|
|
|------------------------------+----------------------------------------------------+---------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------------------------------|
|
||||||
| *TC-04* | Lokales Backup erstellen | TC-01 ausgeführt. | 1. In der Ordnerübersicht das Code Repository auswählen.\newline 2. Den Button “Backup” betätigen. | Testdateien | Die Anwendung zeigt einen Fortschrittsbalken der nach erfolgtem Backup verschwindet. | Die Backup Liste wird aktualisiert und zeigt ein Backup an. | Erfolgreich durchgeführt 25.02.2019 A.Z. |
|
| *TC-04* | Lokales Backup erstellen | TC-01 ausgeführt. | 1. In der Ordnerübersicht das Code Repository auswählen.\newline 2. Den Button “Backup” betätigen. | Testdateien | Die Anwendung zeigt einen Fortschrittsbalken der nach erfolgreichem Backupen verschwindet. | Die Archiv Liste wird aktualisiert und zeigt ein Archiv an. | Erfolgreich durchgeführt 25.02.2019 A.Z. |
|
||||||
|------------------------------+----------------------------------------------------+---------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------------------------------|
|
|------------------------------+----------------------------------------------------+---------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------------------------------|
|
||||||
| *TC-05* | Lokales Backup erstellen | TC-01 ausgeführt.\newline BorgBackup macht bereits ein Backup. | 1. In der Ordnerübersicht das Code Repository auswählen.\newline 2. Den Button “Backup” betätigen. | Testdateien | Die Anwendung wirft eine Fehlermeldung das BorgBackup bereits ausgeführt wird. | Die geöffnete Fehlermeldung blockiert die Applikation. | Erfolgreich durchgeführt 25.02.2019 A.Z. |
|
| *TC-05* | Lokales Backup erstellen | TC-01 ausgeführt.\newline BorgBackup erstellt bereits ein Archiv. | 1. In der Ordnerübersicht das Code Repository auswählen.\newline 2. Den Button “Backup” betätigen. | Testdateien | Die Anwendung wirft eine Fehlermeldung das BorgBackup bereits ausgeführt wird. | Die geöffnete Fehlermeldung blockiert die Applikation. | Erfolgreich durchgeführt 25.02.2019 A.Z. |
|
||||||
|------------------------------+----------------------------------------------------+---------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------------------------------|
|
|------------------------------+----------------------------------------------------+---------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------------------------------|
|
||||||
| *TC-06* | Lokales Backup erstellen | TC-01 ausgeführt. | 1. Das Lokale Repository an einen beliebigen Ort verschieben.\newline 2. In der Ordnerübersicht das Code Repository auswählen.\newline 3. Den Button “Backup” betätigen. | Testdateien | Die Anwendung wirft eine Fehlermeldung das sie das lokale Repository nicht finden kann. | Die geöffnete Fehlermeldung blockiert die Applikation. | Erfolgreich durchgeführt 25.02.2019 A.Z. |
|
| *TC-06* | Lokales Backup erstellen | TC-01 ausgeführt. | 1. Das Lokale Repository an einen beliebigen Ort verschieben.\newline 2. In der Ordnerübersicht das Code Repository auswählen.\newline 3. Den Button “Backup” betätigen. | Testdateien | Die Anwendung wirft eine Fehlermeldung das sie das lokale Repository nicht finden kann. | Die geöffnete Fehlermeldung blockiert die Applikation. | Erfolgreich durchgeführt 25.02.2019 A.Z. |
|
||||||
|------------------------------+----------------------------------------------------+---------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------------------------------|
|
|------------------------------+----------------------------------------------------+---------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------------------------------|
|
||||||
| *TC-07* | Lokales Backup erstellen | TC-01 ausgeführt. | 1. Den Button “Backup” betätigen. | - | Die Anwendung wirft eine Fehlermeldung das der User einen Pfad angeben soll. | Die geöffnete Fehlermeldung blockiert die Applikation. | Erfolgreich durchgeführt 25.02.2019 A.Z. |
|
| *TC-07* | In lokales Repository sichern | TC-01 ausgeführt. | 1. Den Button “Backup” betätigen. | - | Die Anwendung wirft eine Fehlermeldung das der User einen Pfad angeben soll. | Die geöffnete Fehlermeldung blockiert die Applikation. | Erfolgreich durchgeführt 25.02.2019 A.Z. |
|
||||||
|------------------------------+----------------------------------------------------+---------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------------------------------|
|
|------------------------------+----------------------------------------------------+---------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------------------------------|
|
||||||
| *TC-08* | Lokales Backup löschen | TC-04 ausgeführt. | 1. In der Backup Liste das Backup auswählen.\newline 2. Den Button “Delete” betätigen. | - | Die Anwendung zeigt einen Fortschrittsbalken der nach erfolgtem Löschen verschwindet. | Die Backup Liste wird aktualisiert und ist nun leer. | Erfolgreich durchgeführt 25.02.2019 A.Z. |
|
| *TC-08* | Lokales Archiv löschen | TC-04 ausgeführt. | 1. In der Backup Liste das Backup auswählen.\newline 2. Den Button “Delete” betätigen. | - | Die Anwendung zeigt einen Fortschrittsbalken der nach erfolgtem Löschen verschwindet. | Die Archiv Liste wird aktualisiert und ist nun leer. | Erfolgreich durchgeführt 25.02.2019 A.Z. |
|
||||||
|------------------------------+----------------------------------------------------+---------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------------------------------|
|
|------------------------------+----------------------------------------------------+---------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------------------------------|
|
||||||
| *TC-09* | Lokales Backup löschen | TC-04 ausgeführt. | 1. Das Lokale Repository an einen beliebigen Ort verschieben.\newline 2. In der Backup Liste das Backup auswählen.\newline 3. Den Button “Delete” betätigen. | - | Die Anwendung wirft eine Fehlermeldung das sie das lokale Repository nicht finden kann. | Die geöffnete Fehlermeldung blockiert die Applikation. | Erfolgreich durchgeführt 25.02.2019 A.Z. |
|
| *TC-09* | Lokales Archiv löschen | TC-04 ausgeführt. | 1. Das Lokale Repository an einen beliebigen Ort verschieben.\newline 2. In der Archiv Liste das Archiv auswählen.\newline 3. Den Button “Delete” betätigen. | - | Die Anwendung wirft eine Fehlermeldung das sie das lokale Repository nicht finden kann. | Die geöffnete Fehlermeldung blockiert die Applikation. | Erfolgreich durchgeführt 25.02.2019 A.Z. |
|
||||||
|------------------------------+----------------------------------------------------+---------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------------------------------|
|
|------------------------------+----------------------------------------------------+---------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------------------------------|
|
||||||
| *TC-10* | Lokales Backup löschen | TC-04 ausgeführt. | 1. Den Button “Delete” betätigen. | - | Die Anwendung wirft eine Fehlermeldung das der User ein Backup auswählen soll. | Die geöffnete Fehlermeldung blockiert die Applikation. | Erfolgreich durchgeführt 25.02.2019 A.Z. |
|
| *TC-10* | Lokales Archiv löschen | TC-04 ausgeführt. | 1. Den Button “Delete” betätigen. | - | Die Anwendung wirft eine Fehlermeldung das der User ein Archiv auswählen soll. | Die geöffnete Fehlermeldung blockiert die Applikation. | Erfolgreich durchgeführt 25.02.2019 A.Z. |
|
||||||
|------------------------------+----------------------------------------------------+---------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------------------------------|
|
|------------------------------+----------------------------------------------------+---------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------------------------------|
|
||||||
| *TC-11* | Lokales Backup wiederherstellen | TC-04 ausgeführt. | 1. In der Backup Liste das Backup auswählen.\newline 2. Den Button “Restore” betätigen.\newline 3. Im geöffneten Dateidialog den Pfad "/home/andreas/Downloads" auswählen.\newline 4. Den Button “Open” anklicken. | - | Nach erfolgtem Wiederherstellen öffnet ein Dateiexplorer den Ziel Pfad. | Die Anwendung und ein Dateiexplorer wird angezeigt. | Erfolgreich durchgeführt 25.02.2019 A.Z. |
|
| *TC-11* | Lokales Archiv wiederherstellen | TC-04 ausgeführt. | 1. In der Archiv Liste das Archiv auswählen.\newline 2. Den Button “Restore” betätigen.\newline 3. Im geöffneten Dateidialog den Pfad "/home/andreas/Downloads" auswählen.\newline 4. Den Button “Open” anklicken. | - | Nach erfolgtem Wiederherstellen öffnet ein Dateiexplorer den Ziel Pfad. | Die Anwendung und ein Dateiexplorer wird angezeigt. | Erfolgreich durchgeführt 25.02.2019 A.Z. |
|
||||||
|------------------------------+----------------------------------------------------+---------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------------------------------|
|
|------------------------------+----------------------------------------------------+---------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------------------------------|
|
||||||
| *TC-12* | Lokales Backup wiederherstellen | TC-01 ausgeführt. | 1. Den Button “Backup” betätigen. | - | Die Anwendung wirft eine Fehlermeldung das der User ein Backup auswählen soll. | Die geöffnete Fehlermeldung blockiert die Applikation. | Erfolgreich durchgeführt 25.02.2019 A.Z. |
|
| *TC-12* | Lokales Archiv wiederherstellen | TC-01 ausgeführt. | 1. Den Button “Backup” betätigen. | - | Die Anwendung wirft eine Fehlermeldung das der User ein Archiv auswählen soll. | Die geöffnete Fehlermeldung blockiert die Applikation. | Erfolgreich durchgeführt 25.02.2019 A.Z. |
|
||||||
|------------------------------+----------------------------------------------------+---------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------------------------------|
|
|------------------------------+----------------------------------------------------+---------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------------------------------|
|
||||||
| *TC-13* | Lokales Backup wiederherstellen | TC-01 ausgeführt. | 1. Das Lokale Repository an einen beliebigen Ort verschieben.\newline 2. In der Backup Liste das Backup auswählen.\newline 3. Den Button “Restore” betätigen. | - | Die Anwendung wirft eine Fehlermeldung das sie das lokale Repository nicht finden kann. | Die geöffnete Fehlermeldung blockiert die Applikation. | Erfolgreich durchgeführt 25.02.2019 A.Z. |
|
| *TC-13* | Lokales Archiv wiederherstellen | TC-01 ausgeführt. | 1. Das Lokale Repository an einen beliebigen Ort verschieben.\newline 2. In der Archiv Liste das Archiv auswählen.\newline 3. Den Button “Restore” betätigen. | - | Die Anwendung wirft eine Fehlermeldung das sie das lokale Repository nicht finden kann. | Die geöffnete Fehlermeldung blockiert die Applikation. | Erfolgreich durchgeführt 25.02.2019 A.Z. |
|
||||||
|------------------------------+----------------------------------------------------+---------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------------------------------|
|
|------------------------------+----------------------------------------------------+---------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------------------------------|
|
||||||
| *TC-14* | Lokales Backup wiederherstellen | TC-01 ausgeführt. | 1. In der Backup Liste das Backup auswählen.\newline 2. Den Button “Restore” betätigen.\newline 3. Im geöffneten Dateidialog den Pfad "/home/andreas/Downloads" auswählen.\newline 4. Den Button “Cancel” anklicken. | - | Der Datei Dialog schliesst sich wieder. | Die Anwendung wird angezeigt. | Erfolgreich durchgeführt 25.02.2019 A.Z. |
|
| *TC-14* | Lokales Archiv wiederherstellen | TC-01 ausgeführt. | 1. In der Archiv Liste das Archiv auswählen.\newline 2. Den Button “Restore” betätigen.\newline 3. Im geöffneten Dateidialog den Pfad "/home/andreas/Downloads" auswählen.\newline 4. Den Button “Cancel” anklicken. | - | Der Datei Dialog schliesst sich wieder. | Die Anwendung wird angezeigt. | Erfolgreich durchgeführt 25.02.2019 A.Z. |
|
||||||
|------------------------------+----------------------------------------------------+---------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------------------------------|
|
|------------------------------+----------------------------------------------------+---------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------------------------------|
|
||||||
| *TC-15* | Home Directory sichern und wiederherstellen | TC-01 ausgeführt. | 1. Vom Pfad "/home/andreas/" ein Backup erstellen.\newline 2. In der Backup Liste das gemachte Backup auswählen.\newline 3. Den Button “Restore” betätigen.\newline 4. Im geöffneten Dateidialog den Pfad "/home/andreas/Downloads" auswählen.\newline 5. Den Button “Open” anklicken. | "/home/andreas/" | Nach erfolgtem Wiederherstellen öffnet ein Dateiexplorer den Ziel Pfad.\newline Darin fehlen jedoch temporäre Pfade wie “~/.cache” etc. | Die Anwendung und ein Dateiexplorer wird angezeigt. | Erfolgreich durchgeführt 25.02.2019 A.Z. |
|
| *TC-15* | Home Directory sichern und wiederherstellen | TC-01 ausgeführt. | 1. Vom Pfad "/home/andreas/" ein Archiv erstellen.\newline 2. In der Archiv Liste das gemachte Archiv auswählen.\newline 3. Den Button “Restore” betätigen.\newline 4. Im geöffneten Dateidialog den Pfad "/home/andreas/Downloads" auswählen.\newline 5. Den Button “Open” anklicken. | "/home/andreas/" | Nach erfolgtem Wiederherstellen öffnet ein Dateiexplorer den Ziel Pfad.\newline Darin fehlen jedoch temporäre Pfade wie “~/.cache” etc. | Die Anwendung und ein Dateiexplorer wird angezeigt. | Erfolgreich durchgeführt 25.02.2019 A.Z. |
|
||||||
|------------------------------+----------------------------------------------------+---------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------------------------------|
|
|------------------------------+----------------------------------------------------+---------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------------------------------|
|
||||||
| *TC-16* | Einzelne Datei wiederherstellen | TC-04 ausgeführt. | 1. In der Backup Liste das Backup auswählen.\newline 2. Den Button “Mount” betätigen.\newline 3. Aus dem sich öffnenden Dateiexplorer die Datei README.org nach "/home/andreas/Downloads" kopieren. | - | Die wiederhergestellte Datei ist identisch mit der in TC-04 gesicherten. | Die Anwendung und ein Dateiexplorer wird angezeigt. | Erfolgreich durchgeführt 25.02.2019 A.Z. |
|
| *TC-16* | Einzelne Datei wiederherstellen | TC-04 ausgeführt. | 1. In der Backup Liste das Backup auswählen.\newline 2. Den Button “Mount” betätigen.\newline 3. Aus dem sich öffnenden Dateiexplorer die Datei README.org nach "/home/andreas/Downloads" kopieren. | - | Die wiederhergestellte Datei ist identisch mit der in TC-04 gesicherten. | Die Anwendung und ein Dateiexplorer wird angezeigt. | Erfolgreich durchgeführt 25.02.2019 A.Z. |
|
||||||
|------------------------------+----------------------------------------------------+---------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------------------------------|
|
|------------------------------+----------------------------------------------------+---------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------------------------------|
|
||||||
| *TC-17* | Einzelne Datei wiederherstellen | TC-01 ausgeführt. | 1. Das Lokale Repository an einen beliebigen Ort verschieben.\newline 2. In der Backup Liste das Backup auswählen.\newline 3. Den Button “Mount” betätigen. | - | Die Anwendung wirft eine Fehlermeldung das sie das lokale Repository nicht finden kann. | Die geöffnete Fehlermeldung blockiert die Applikation. | Erfolgreich durchgeführt 25.02.2019 A.Z. |
|
| *TC-17* | Einzelne Datei wiederherstellen | TC-01 ausgeführt. | 1. Das Lokale Repository an einen beliebigen Ort verschieben.\newline 2. In der Archiv Liste das Archiv auswählen.\newline 3. Den Button “Mount” betätigen. | - | Die Anwendung wirft eine Fehlermeldung das sie das lokale Repository nicht finden kann. | Die geöffnete Fehlermeldung blockiert die Applikation. | Erfolgreich durchgeführt 25.02.2019 A.Z. |
|
||||||
|------------------------------+----------------------------------------------------+---------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------------------------------|
|
|------------------------------+----------------------------------------------------+---------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------------------------------|
|
||||||
| *TC-18* | Pfad des lokalen Backup Repository anpassen | TC-04 ausgeführt.\newline Backup Repository nach "/tmp/test-borgqt2" verschoben | 1. Den Button "Settings" betätigen.\newline 2. Den Repository Pfad auf "/tmp/test-borgqt2/" ändern.\newline 3. Den Button "Apply" betätigen. | - | Die Backup Liste wird aktualisiert und zeigt wieder das Backup von TC-04 an. | Die Anwendung wird angezeigt. Die Konfigurationsdatei zeigt auf den neuen Pfad. | Erfolgreich durchgeführt 25.02.2019 A.Z. |
|
| *TC-18* | Pfad des lokalen Backup Repository anpassen | TC-04 ausgeführt.\newline Backup Repository nach "/tmp/test-borgqt2" verschoben | 1. Den Button "Settings" betätigen.\newline 2. Den Repository Pfad auf "/tmp/test-borgqt2/" ändern.\newline 3. Den Button "Apply" betätigen. | - | Die Archiv Liste wird aktualisiert und zeigt wieder das Archiv von TC-04 an. | Die Anwendung wird angezeigt. Die Konfigurationsdatei zeigt auf den neuen Pfad. | Nicht implementiert |
|
||||||
|------------------------------+----------------------------------------------------+---------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------------------------------|
|
|------------------------------+----------------------------------------------------+---------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------------------------------|
|
||||||
| *TC-19* | Backup Name ändern | TC-01 ausgeführt. | 1. Den Button "Settings" betätigen.\newline 2. Bei der Option "Archive Prefix" "Muster" eintragen.\newline 3. Den Button "Apply" betätigen.\newline 4. TC-04 durchführen. | Backupname: Muster | Die Anwendung zeigt einen Fortschrittsbalken der nach erfolgtem Backup verschwindet. | Die Backup Liste wird aktualisiert und zeigt ein Backup mit dem Präfix "Muster" an. Die Konfigurationsdatei beinhaltet die Option des Präfixes. | Erfolgreich durchgeführt 25.02.2019 A.Z. |
|
| *TC-19* | Archiv Name ändern | TC-01 ausgeführt. | 1. Den Button "Settings" betätigen.\newline 2. Bei der Option "Archive Prefix" "Muster" eintragen.\newline 3. Den Button "Apply" betätigen.\newline 4. TC-04 durchführen. | Archiv Name: Muster | Die Anwendung zeigt einen Fortschrittsbalken der nach erfolgtem Backup verschwindet. | Die Archiv Liste wird aktualisiert und zeigt ein Archiv mit dem Präfix "Muster" an. Die Konfigurationsdatei beinhaltet die Option des Präfixes. | Erfolgreich durchgeführt 25.02.2019 A.Z. |
|
||||||
|------------------------------+----------------------------------------------------+---------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------------------------------|
|
|------------------------------+----------------------------------------------------+---------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------------------------------|
|
||||||
| *TC-20* | Keine Einstellungen ändern | TC-01 ausgeführt. | 1. Den Button "Settings" betätigen.\newline 2. Eine beliebige Option ändern.\newline 3. Den Button "Cancel" betätigen. | - | Der Einstellungsdialog schliesst sich. | Die Anwendung wird angezeigt. Die Konfigurationsdatei ist noch im selben Zustand wie bei TC-01. | Erfolgreich durchgeführt 25.02.2019 A.Z. |
|
| *TC-20* | Keine Einstellungen ändern | TC-01 ausgeführt. | 1. Den Button "Settings" betätigen.\newline 2. Eine beliebige Option ändern.\newline 3. Den Button "Cancel" betätigen. | - | Der Einstellungsdialog schliesst sich. | Die Anwendung wird angezeigt. Die Konfigurationsdatei ist noch im selben Zustand wie bei TC-01. | Erfolgreich durchgeführt 25.02.2019 A.Z. |
|
||||||
|------------------------------+----------------------------------------------------+---------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------------------------------|
|
|------------------------------+----------------------------------------------------+---------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------------------------------|
|
||||||
| *TC-21* | Automatische Backups konfigurieren | TC-01 ausgeführt. | 1. Den Button "Settings" betätigen.\newline 2. Bei der Option "Automatic Backups" bei "Backup Path" die Testdateien angeben sowie "Hourly" auswählen und bei "Time" die nächste Stunde angeben.\newline 3. Den Button Apply betätigen. | Backup-zeit: 2 Minuten nach aktueller Zeit Testdateien | Der Datei Dialog schliesst sich wieder. | Die Anwendung wird angezeigt. Die Konfigurationsdatei wurde um die Option des automatischen Backups erweitert. Die Anwendung hat einen "Service" auf dem System erstellt. | Erfolgreich durchgeführt 25.02.2019 A.Z. |
|
| *TC-21* | Automatische Backups konfigurieren | TC-01 ausgeführt. | 1. Den Button "Settings" betätigen.\newline 2. Bei der Option "Includes" die Testdateien angeben sowie unter Schedule "Custom" auswählen und bei "Time" die nächste Stunde angeben.\newline 3. Den Button Apply betätigen. | Backup-zeit: 2 Minuten nach aktueller Zeit Testdateien | Der Datei Dialog schliesst sich wieder. | Die Anwendung wird angezeigt. Die Konfigurationsdatei wurde um die Option des automatischen Backups erweitert. Die Anwendung hat einen "Service" auf dem System erstellt. | Erfolgreich durchgeführt 25.02.2019 A.Z. |
|
||||||
|------------------------------+----------------------------------------------------+---------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------------------------------|
|
|------------------------------+----------------------------------------------------+---------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------------------------------|
|
||||||
| *TC-22* | Automatische Backups durchführen | TC-16 ausgeführt. | 1. TC-21 durchführen.\newline 2. Auf Ablauf der Zeit warten.\newline 3. Die Anwendung öffnen. | - | In der Backup Liste wird ein Backup angezeigt. | Die Anwendung wird angezeigt. | Erfolgreich durchgeführt 25.02.2019 A.Z. |
|
| *TC-22* | Automatische Backups durchführen | TC-16 ausgeführt. | 1. TC-21 durchführen.\newline 2. Auf Ablauf der Zeit warten.\newline 3. Die Anwendung öffnen. | - | In der Archiv Liste wird ein Archiv angezeigt. | Die Anwendung wird angezeigt. | Erfolgreich durchgeführt 25.02.2019 A.Z. |
|
||||||
|------------------------------+----------------------------------------------------+---------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------------------------------|
|
|------------------------------+----------------------------------------------------+---------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------------------------------|
|
||||||
| *TC-23* | Server Backup erstellen | Server Repository bereit.\newline Server Konfigurationsdatei erstellt. | TC-04 durchführen. | Testdateien | Die Anwendung zeigt einen Fortschrittsbalken der nach erfolgtem Backup verschwindet. | Die Backup Liste wird aktualisiert und zeigt ein Backup an. | Erfolgreich durchgeführt 25.02.2019 A.Z. |
|
| *TC-23* | Server Archiv erstellen | Server Repository bereit.\newline Server Konfigurationsdatei erstellt. | TC-04 durchführen. | Testdateien | Die Anwendung zeigt einen Fortschrittsbalken der nach erfolgtem Backup verschwindet. | Die Archiv Liste wird aktualisiert und zeigt ein Archiv an. | Erfolgreich durchgeführt 25.02.2019 A.Z. |
|
||||||
|------------------------------+----------------------------------------------------+---------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------------------------------|
|
|------------------------------+----------------------------------------------------+---------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------------------------------|
|
||||||
| *TC-24* | Lokales Backup erstellen während dem eine VM läuft | TC-01 ausgeführt.\newline Virtualbox VM Starten. | 1. In der Ordnerübersicht das Code Repository auswählen.\newline 2. Den Button “Backup” betätigen. | Testdateien | Die Anwendung wirft eine Fehlermeldung aus das es zur Zeit aufgrund einer laufenden VM unsicher sei ein Backup durchzuführen. | Die geöffnete Fehlermeldung blockiert die Applikation. | Nicht implementiert |
|
| *TC-24* | Lokales Archiv erstellen während dem eine VM läuft | TC-01 ausgeführt.\newline Virtualbox VM Starten. | 1. In der Ordnerübersicht das Code Repository auswählen.\newline 2. Den Button “Backup” betätigen. | Testdateien | Die Anwendung wirft eine Fehlermeldung aus das es zur Zeit aufgrund einer laufenden VM unsicher sei ein Backup durchzuführen. | Die geöffnete Fehlermeldung blockiert die Applikation. | Nicht implementiert |
|
||||||
|------------------------------+----------------------------------------------------+---------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------------------------------|
|
|------------------------------+----------------------------------------------------+---------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------------------------------|
|
||||||
| *TC-25* | Abgebrochenes Backup bereinigen | TC-01 ausgeführt. | 1. In der Ordnerübersicht das Code Repository auswählen.\newline 2. Den Button “Backup” betätigen.\newline 3. Die Anwendung schliessen.\newline 4. Anwendung wieder öffnen.\newline 5. TC-04 Durchführen. | Testdateien | Bei Schritt 4. sollte ein Teilbackup zu sehen sein.\newline Bei Schritt 5 sollte einfach ein normales Backup zu sehen sein. | Die Anwendung wird angezeigt. | Erfolgreich durchgeführt 25.02.2019 A.Z. |
|
| *TC-25* | Abgebrochenes Backup bereinigen | TC-01 ausgeführt. | 1. In der Ordnerübersicht das Code Repository auswählen.\newline 2. Den Button “Backup” betätigen.\newline 3. Die Anwendung schliessen.\newline 4. Anwendung wieder öffnen.\newline 5. TC-04 Durchführen. | Testdateien | Bei Schritt 4. sollte ein Teilarchiv zu sehen sein.\newline Bei Schritt 5 sollte einfach ein normales Archiv zu sehen sein. | Die Anwendung wird angezeigt. | Erfolgreich durchgeführt 25.02.2019 A.Z. |
|
||||||
|------------------------------+----------------------------------------------------+---------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------------------------------|
|
|------------------------------+----------------------------------------------------+---------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------------------------------|
|
||||||
#+LATEX:}
|
#+LATEX:}
|
||||||
#+LATEX:\end{landscape}
|
#+LATEX:\end{landscape}
|
||||||
|
|
Reference in New Issue