move a section
This commit is contained in:
parent
a616a709a2
commit
1fbdd83bb0
397
docs/doku.org
397
docs/doku.org
|
@ -81,201 +81,7 @@ nach Prioritäten gewichtet.
|
|||
| 7. | Die Punkte der Bewertung werden erfüllt. | Hoch |
|
||||
|-------+--------------------------------------------------------------------+----------------------|
|
||||
|
||||
** Mittel und Methoden
|
||||
*** Werkzeuge
|
||||
|
||||
Während dem Erstellen dieser Arbeit wurde eine Vielzahl an Werkzeugen
|
||||
eingesetzt. Nachfolgend werden diese Werkzeuge kurz beschrieben sowie
|
||||
ihre Verwendung begründet. Wir haben dabei darauf geachtet soviel Open
|
||||
Source Software wie möglich zu verwenden. Nicht nur für den Web-Shop an
|
||||
sich sondern generell für alle Tasks im Projekt.
|
||||
|
||||
**** Versionkontrolle
|
||||
|
||||
Eine Versionskontrollsoftware erschien uns als notwendig um den Code
|
||||
auf einfache und zuverlässige Weise untereinander austauschen zu
|
||||
können. Andere Lösungen wie Dropbox, etc. hätten es uns nicht erlaubt
|
||||
Konflikte zu vermeinden.
|
||||
|
||||
Als Software für die Versionskontrolle wurde Git \footcite{git} gewählt.
|
||||
Git wurde aus diversen Gründen gewählt:
|
||||
|
||||
- Ist der de facto Standard bei Versionskontrollsoftware
|
||||
- Läuft auf allen gängigen Betriebsystemen
|
||||
- Es gäbe gratis Services die man nutzen könnte (Github, Gitlab)
|
||||
- Man kann offline arbeiten und Commits erstellen
|
||||
- Das Team hat bereits einen eigenen Git Server zur Verfügung
|
||||
- Das Team ist bereits mit Git aus vorhergehenden Projekten vertraut
|
||||
dadurch muss man keine Ressourcen aufwenden eine neue Software zu lernen.
|
||||
Zusätzlich hat sich Git in den vorhergehenden Projekten als robuste
|
||||
und schnelle Software erwiesen.
|
||||
- Git ist freie Software unter GNU Public License v2.
|
||||
|
||||
**** Entwicklungsumgebung
|
||||
|
||||
Damit beide Studenten auf der gleichen Basis arbeiten haben wir uns
|
||||
dazu entschieden den Web-Shop in einer virtuellen Maschine zu
|
||||
entwickeln. Dies führt jedoch in der Regel zum Problem das die
|
||||
Änderungen in der virtuellen Maschine miteinander abgesprochen und
|
||||
ausgetauscht werden müssen. Um dieses Problem zu beheben haben wir uns
|
||||
dazu entschieden Vagrant\footcite{vagrant} zu verwenden.
|
||||
Vagrant ist freie Software unter der MIT Lizenz.
|
||||
|
||||
Vagrant erlaubt es einem den Zustand einer virtuellen Maschine in
|
||||
einer Text Datei zu beschreiben und diese dann gemäss der Beschreibung
|
||||
automatisiert aufzusetzen. Dies hat den Vorteil das die Konfiguration
|
||||
der virtuellen Maschine auch ohne weiteres mit dem restlichen Code in
|
||||
der Versionskontrollsoftware gepflegt werden kann.
|
||||
|
||||
Desweiteren hilft das automatisierte Aufsetzen das vermeiden von
|
||||
menschlichen Fehlern. Somit kann davon ausgegangen werden dass, das
|
||||
System in der virtuellen Maschine immer den korrekten Stand zum
|
||||
entwickeln sein. Sollte dies nicht mehr der Fall sein lässt sich die
|
||||
virtuelle Maschine mit einem maxmimal zwei Befehlen wieder in den
|
||||
Ursprungszustand zurücksetzen.
|
||||
|
||||
Als Hypervisor der virtuellen Maschine wurde
|
||||
Virtualbox\footcite{virtualbox} eingesetzt. Virtualbox ist im Kern
|
||||
freie Software unter der GNU Public License v2. Das unter einer
|
||||
proprietären Lizenz erhältliche Erweiterungspacket ist für unser Setup
|
||||
nicht notwendig.
|
||||
|
||||
**** Hostsystem
|
||||
|
||||
Als Hostsystem für unseren Web-Shop haben wir uns für die Linux
|
||||
Distribution Debian\footcite{debian} in der Version 9 (Stretch)
|
||||
entschieden. Für Debian haben wir uns vor allem aus folgenden Gründen
|
||||
entschieden:
|
||||
|
||||
- Stabiles System
|
||||
- Sehr guter Packetmanager was einem das Scripting vereinfacht.
|
||||
- Gilt als sehr sicher
|
||||
- Hat sich in vorhergehenden Projekten bereits als gute Basis bewiesen
|
||||
- Enthält in der Grundkonfiguration nur freie Software (nicht freie
|
||||
Software muss aktiv hinzugefügt werden)
|
||||
- In der Linux Welt sehr verbreitet
|
||||
- Im Gegensatz zu Ubuntu nicht von einer Firma abhängig
|
||||
|
||||
**** Deployment Software für Produktionsserver
|
||||
|
||||
Auch auf dem produktiven Server haben wir uns für Debian entschieden.
|
||||
Um diesen aufzusetzen hatten wir in etwa die ähnlichen Anforderungen
|
||||
wie für die Entwicklungsumgebung. Also einen Weg um das System
|
||||
möglichst automatisch und reproduzierbar aufzusetzen. Die für die
|
||||
Entwicklungsumgebung verwendete Software Vagrant ist für produktive
|
||||
System allerdings eher weniger geeignet.
|
||||
|
||||
Für solche Fälle bietet sich eine Software Namens
|
||||
"Ansible"\footcite{ansible} an. Diese bietet einem ähnlich wie Vagrant
|
||||
die Möglichkeit den Zustand eines Systems in Text Dateien zu
|
||||
beschreiben. Allerdings bietet einem Ansible noch zusätzliche
|
||||
Möglichkeiten und bietet einem ein standardisiertes Interface um
|
||||
unterschiedliche Systeme auf die selbe Weise zu konfigurieren.
|
||||
|
||||
Der Vorteil gegenüber anderen System ist vorallem das Ansible mit sehr
|
||||
wenig Abhängigkeiten für das zu konfigurierende System daherkommt. Auf
|
||||
einem Linux System ist nur SSH Zugriff und Python notwendig. Einen
|
||||
Client braucht man nicht zu installieren.
|
||||
Ansible ist freie Software unter der GNU Public License v3.
|
||||
|
||||
**** Framework
|
||||
|
||||
Um die Entwicklung der Applikation zu vereinfachen haben wir uns dazu
|
||||
entschlossen ein Framework einzusetzen. Frameworks bringen einem in
|
||||
der Entwicklung diverse Vorteile. Unter anderem bieten sie Hilfen bei
|
||||
sich wiederholenden Programmieraufgaben und bieten je nachdem die
|
||||
Möglichkeit die Applikation in einer einzigen Sprache zu schreiben da
|
||||
sich das Framework auch um die Datenbank kümmert. In der
|
||||
Webentwicklung helfen sie einem insbesondere auch dabei
|
||||
Sicherheitslücken wie Cross Site Scripting und SQL Injections
|
||||
abzufangen.
|
||||
|
||||
Wir haben uns dabei für das Framework Django\footcite{django}
|
||||
entschieden. Django ist ein Python basiertest Framework. Django ist
|
||||
freie Software unter der drei Klausen BSD Lizenz. Wir haben uns aus
|
||||
folgenden Gründen für ein Python basiertes Framework gegenüber einem
|
||||
PHP basierten Framework entschieden:
|
||||
|
||||
- Python gilt als die Sprache mit der schöneren Syntax
|
||||
- Wir wollten im Bezug auf das Programmieren etwas neues ausprobieren
|
||||
was sich im Rahmen einer Case Study sehr gut machen lässt. Da man
|
||||
ein "realistisches" Szenarium erhält und dieses in einem relativ
|
||||
kontrollierten Rahmen ausführen kann.
|
||||
- Python ist in dem von uns gewählten Hostsystem wie in den meisten
|
||||
Linux Distributionen bereits integriert.
|
||||
|
||||
Die verwendete Version war dabei 1.10.7-2 aus dem Debian Stretch Repository.
|
||||
|
||||
**** Webserver
|
||||
|
||||
Als Webserver verwenden wir ganz klassisch Apache\footcite{apache}.
|
||||
Dies vorallem aus dem Grund das wir Apache aus diversen vorhergehenden
|
||||
Projekten bereits sehr gut kennen und sich der Webserver dort sehr gut
|
||||
bewährt hat. Apache wird dabei auch noch gut von Django unterstützt.
|
||||
Der Apache Webserver ist freie Software unter der Apache License 2.0
|
||||
und gehört der gemeinnützigen Organisation "Apache Foundation".
|
||||
|
||||
**** Datenbank
|
||||
|
||||
Bei der Datenbank haben wir uns für MariaDB\footcite{mariadb}
|
||||
entschieden. Auch hier hauptsächlich weil wir MariaDB bereits aus
|
||||
vorhergehenden Projekt kennen. MariaDB ist ein Fork von MySQL welcher
|
||||
gegenüber MySQL rückwärtskompatibel ist. MariaDB ist dabei jedoch viel
|
||||
Community näher als MySQL und wird dabei auch sehr demokratisch
|
||||
entwickelt\footcite{mariadbgov}. MariaDB gehört dabei keiner einzelnen
|
||||
Firma oder Person sonder der gemeinnützigen Organisation "MariaDB
|
||||
Foundation". Was für zusätzliche Stabilität sorgen sollte.
|
||||
MariaDB ist freie Software unter GNU Public License v2.
|
||||
|
||||
**** Editoren
|
||||
|
||||
Das Hauptwerkzeug von jedem Entwickler ist sein Text Editor. Dabei
|
||||
hat jeder meistens seine ganz eigene Präferenzen wenn es um die Wahl
|
||||
des Editors geht.
|
||||
|
||||
- Atom :: Ivan hat während der Case Study hauptsächlich mit
|
||||
Atom\footcite{atom} gearbeitet. Atom wird von Github Inc.
|
||||
entwickelt und basiert auf dem Electron Framework welches
|
||||
seinerseit auf Webtechnologien wie Node.js und Chromium
|
||||
basiert. Atom ist freie Software unter der MIT Lizenz.
|
||||
|
||||
- GNU Emacs :: Andreas arbeitet hauptsächlich mit dem Editor GNU
|
||||
Emacs\footcite{emacs}. GNU Emacs ist mit 32 Jahren
|
||||
(obwohl seine Wurzeln bis ins Jahre 1976 zurückgehen)
|
||||
wohl eines der ältesten noch "aktiven" Software
|
||||
Projekte. Emacs ist freie Software unter der GNU Public
|
||||
License v3.
|
||||
|
||||
**** Dokumentation
|
||||
|
||||
Diese Dokumentation wurde in Org-mode\footcite{orgmode} einer
|
||||
Erweiterung für den Text Editor Emacs geschrieben. Anschliessend wurde
|
||||
die Dokumentation in LaTeX\footcite{latex} Code konvertiert und
|
||||
finalisiert. Der Zwischenschritt über Org-mode wurde gewählt weil
|
||||
Org-mode etwas einfacher zu schreiben ist als reines LaTeX.
|
||||
|
||||
LaTeX ist eine Software welche einem die Benutzung des Textsatzsystems
|
||||
TeXs vereinfacht. Wir haben LaTeX gegenüber einem "What You See Is
|
||||
What You Get" Editor gewählt weil es einem mit seiner Markup Sprache
|
||||
erlaubt das Dokument in Text Dateien zu erstellen. Was wir als
|
||||
Programmierer sehr angenehm finden. Dadurch das LaTeX auch nur aus
|
||||
reinen Textdateien besteht kann man die Dokumente auch ohne weiteres
|
||||
in die Versionskontrollsoftware einchecken und somit auf einfache
|
||||
Weise zusammen daran arbeiten und die Entwicklung im Log
|
||||
zurückverfolgen kann.
|
||||
LaTeX ist freie Software unter der LaTeX Project Public License.
|
||||
|
||||
Die Grafiken in diesem Dokument wurden hauptächlich mit dem Vektor
|
||||
Grafik Editor Inkscape\footcite{inkscape} erstellt. Inkscape ist freie
|
||||
Software unter der GNU Public License v3. Für das Entity Relation
|
||||
Diagramm in [[Models]] haben wir jedoch Dia\footcite{dia} verwendet. Dia
|
||||
ist freie Software unter der GNU Public License v2.
|
||||
|
||||
Die Klassen Diagramme haben wir mit der Django Erweiterung
|
||||
"Django-Extensions"\footcite{django_extensions} erstellt.
|
||||
Django-Extensions ist freie Software unter der MIT Lizenz.
|
||||
|
||||
*** Methoden
|
||||
** Methoden
|
||||
|
||||
Die Methodik die die Gruppe wählt ist Aufgrund der nur zwei Personen
|
||||
im Team beschränkt. Da jedoch Fehler und Rückschläge erwartet werden
|
||||
|
@ -286,7 +92,7 @@ eingenommen und die Backlog-Tasks dementsprechend erstellt resp.
|
|||
verteilt. Während der Woche arbeiten beide Team-Mitglieder an der
|
||||
Arbeit als Team-Kolegen.
|
||||
|
||||
*** Vorkenntnisse
|
||||
** Vorkenntnisse
|
||||
|
||||
Die benötigten Vorkenntnisse wurden in den vorangeganenen Semestern
|
||||
erarbeitet und sind in der Basis gefestigt. Diese Arbeit wird
|
||||
|
@ -418,11 +224,206 @@ Am ende des Projekts die nicht lauffähigen teile ausgrenzen. :-)
|
|||
* Projektmanagement
|
||||
** Organigram
|
||||
** Projektstrukturplan
|
||||
** Varianten erarbeiten
|
||||
** Architektur vorbereiten
|
||||
** Arbeitspakete definieren
|
||||
|
||||
* TODO Umsetzung
|
||||
** Werkzeuge
|
||||
|
||||
Während dem Erstellen dieser Arbeit wurde eine Vielzahl an Werkzeugen
|
||||
eingesetzt. Nachfolgend werden diese Werkzeuge kurz beschrieben sowie
|
||||
ihre Verwendung begründet. Wir haben dabei darauf geachtet soviel Open
|
||||
Source Software wie möglich zu verwenden. Nicht nur für den Web-Shop an
|
||||
sich sondern generell für alle Tasks im Projekt.
|
||||
|
||||
*** Versionkontrolle
|
||||
|
||||
Eine Versionskontrollsoftware erschien uns als notwendig um den Code
|
||||
auf einfache und zuverlässige Weise untereinander austauschen zu
|
||||
können. Andere Lösungen wie Dropbox, etc. hätten es uns nicht erlaubt
|
||||
Konflikte zu vermeinden.
|
||||
|
||||
Als Software für die Versionskontrolle wurde Git \footcite{git} gewählt.
|
||||
Git wurde aus diversen Gründen gewählt:
|
||||
|
||||
- Ist der de facto Standard bei Versionskontrollsoftware
|
||||
- Läuft auf allen gängigen Betriebsystemen
|
||||
- Es gäbe gratis Services die man nutzen könnte (Github, Gitlab)
|
||||
- Man kann offline arbeiten und Commits erstellen
|
||||
- Das Team hat bereits einen eigenen Git Server zur Verfügung
|
||||
- Das Team ist bereits mit Git aus vorhergehenden Projekten vertraut
|
||||
dadurch muss man keine Ressourcen aufwenden eine neue Software zu lernen.
|
||||
Zusätzlich hat sich Git in den vorhergehenden Projekten als robuste
|
||||
und schnelle Software erwiesen.
|
||||
- Git ist freie Software unter GNU Public License v2.
|
||||
|
||||
*** Entwicklungsumgebung
|
||||
|
||||
Damit beide Studenten auf der gleichen Basis arbeiten haben wir uns
|
||||
dazu entschieden den Web-Shop in einer virtuellen Maschine zu
|
||||
entwickeln. Dies führt jedoch in der Regel zum Problem das die
|
||||
Änderungen in der virtuellen Maschine miteinander abgesprochen und
|
||||
ausgetauscht werden müssen. Um dieses Problem zu beheben haben wir uns
|
||||
dazu entschieden Vagrant\footcite{vagrant} zu verwenden.
|
||||
Vagrant ist freie Software unter der MIT Lizenz.
|
||||
|
||||
Vagrant erlaubt es einem den Zustand einer virtuellen Maschine in
|
||||
einer Text Datei zu beschreiben und diese dann gemäss der Beschreibung
|
||||
automatisiert aufzusetzen. Dies hat den Vorteil das die Konfiguration
|
||||
der virtuellen Maschine auch ohne weiteres mit dem restlichen Code in
|
||||
der Versionskontrollsoftware gepflegt werden kann.
|
||||
|
||||
Desweiteren hilft das automatisierte Aufsetzen das vermeiden von
|
||||
menschlichen Fehlern. Somit kann davon ausgegangen werden dass, das
|
||||
System in der virtuellen Maschine immer den korrekten Stand zum
|
||||
entwickeln sein. Sollte dies nicht mehr der Fall sein lässt sich die
|
||||
virtuelle Maschine mit einem maxmimal zwei Befehlen wieder in den
|
||||
Ursprungszustand zurücksetzen.
|
||||
|
||||
Als Hypervisor der virtuellen Maschine wurde
|
||||
Virtualbox\footcite{virtualbox} eingesetzt. Virtualbox ist im Kern
|
||||
freie Software unter der GNU Public License v2. Das unter einer
|
||||
proprietären Lizenz erhältliche Erweiterungspacket ist für unser Setup
|
||||
nicht notwendig.
|
||||
|
||||
*** Hostsystem
|
||||
|
||||
Als Hostsystem für unseren Web-Shop haben wir uns für die Linux
|
||||
Distribution Debian\footcite{debian} in der Version 9 (Stretch)
|
||||
entschieden. Für Debian haben wir uns vor allem aus folgenden Gründen
|
||||
entschieden:
|
||||
|
||||
- Stabiles System
|
||||
- Sehr guter Packetmanager was einem das Scripting vereinfacht.
|
||||
- Gilt als sehr sicher
|
||||
- Hat sich in vorhergehenden Projekten bereits als gute Basis bewiesen
|
||||
- Enthält in der Grundkonfiguration nur freie Software (nicht freie
|
||||
Software muss aktiv hinzugefügt werden)
|
||||
- In der Linux Welt sehr verbreitet
|
||||
- Im Gegensatz zu Ubuntu nicht von einer Firma abhängig
|
||||
|
||||
*** Deployment Software für Produktionsserver
|
||||
|
||||
Auch auf dem produktiven Server haben wir uns für Debian entschieden.
|
||||
Um diesen aufzusetzen hatten wir in etwa die ähnlichen Anforderungen
|
||||
wie für die Entwicklungsumgebung. Also einen Weg um das System
|
||||
möglichst automatisch und reproduzierbar aufzusetzen. Die für die
|
||||
Entwicklungsumgebung verwendete Software Vagrant ist für produktive
|
||||
System allerdings eher weniger geeignet.
|
||||
|
||||
Für solche Fälle bietet sich eine Software Namens
|
||||
"Ansible"\footcite{ansible} an. Diese bietet einem ähnlich wie Vagrant
|
||||
die Möglichkeit den Zustand eines Systems in Text Dateien zu
|
||||
beschreiben. Allerdings bietet einem Ansible noch zusätzliche
|
||||
Möglichkeiten und bietet einem ein standardisiertes Interface um
|
||||
unterschiedliche Systeme auf die selbe Weise zu konfigurieren.
|
||||
|
||||
Der Vorteil gegenüber anderen System ist vorallem das Ansible mit sehr
|
||||
wenig Abhängigkeiten für das zu konfigurierende System daherkommt. Auf
|
||||
einem Linux System ist nur SSH Zugriff und Python notwendig. Einen
|
||||
Client braucht man nicht zu installieren.
|
||||
Ansible ist freie Software unter der GNU Public License v3.
|
||||
|
||||
*** Framework
|
||||
|
||||
Um die Entwicklung der Applikation zu vereinfachen haben wir uns dazu
|
||||
entschlossen ein Framework einzusetzen. Frameworks bringen einem in
|
||||
der Entwicklung diverse Vorteile. Unter anderem bieten sie Hilfen bei
|
||||
sich wiederholenden Programmieraufgaben und bieten je nachdem die
|
||||
Möglichkeit die Applikation in einer einzigen Sprache zu schreiben da
|
||||
sich das Framework auch um die Datenbank kümmert. In der
|
||||
Webentwicklung helfen sie einem insbesondere auch dabei
|
||||
Sicherheitslücken wie Cross Site Scripting und SQL Injections
|
||||
abzufangen.
|
||||
|
||||
Wir haben uns dabei für das Framework Django\footcite{django}
|
||||
entschieden. Django ist ein Python basiertest Framework. Django ist
|
||||
freie Software unter der drei Klausen BSD Lizenz. Wir haben uns aus
|
||||
folgenden Gründen für ein Python basiertes Framework gegenüber einem
|
||||
PHP basierten Framework entschieden:
|
||||
|
||||
- Python gilt als die Sprache mit der schöneren Syntax
|
||||
- Wir wollten im Bezug auf das Programmieren etwas neues ausprobieren
|
||||
was sich im Rahmen einer Case Study sehr gut machen lässt. Da man
|
||||
ein "realistisches" Szenarium erhält und dieses in einem relativ
|
||||
kontrollierten Rahmen ausführen kann.
|
||||
- Python ist in dem von uns gewählten Hostsystem wie in den meisten
|
||||
Linux Distributionen bereits integriert.
|
||||
- Desweiteren hat Django bei einer Variantenbewertung das beste
|
||||
Ergebnis geholt.
|
||||
|
||||
Die verwendete Version war dabei 1.10.7-2 aus dem Debian Stretch Repository.
|
||||
|
||||
*** Webserver
|
||||
|
||||
Als Webserver verwenden wir ganz klassisch Apache\footcite{apache}.
|
||||
Dies vorallem aus dem Grund das wir Apache aus diversen vorhergehenden
|
||||
Projekten bereits sehr gut kennen und sich der Webserver dort sehr gut
|
||||
bewährt hat. Apache wird dabei auch noch gut von Django unterstützt.
|
||||
Der Apache Webserver ist freie Software unter der Apache License 2.0
|
||||
und gehört der gemeinnützigen Organisation "Apache Foundation".
|
||||
|
||||
*** Datenbank
|
||||
|
||||
Bei der Datenbank haben wir uns für MariaDB\footcite{mariadb}
|
||||
entschieden. Auch hier hauptsächlich weil wir MariaDB bereits aus
|
||||
vorhergehenden Projekt kennen. MariaDB ist ein Fork von MySQL welcher
|
||||
gegenüber MySQL rückwärtskompatibel ist. MariaDB ist dabei jedoch viel
|
||||
Community näher als MySQL und wird dabei auch sehr demokratisch
|
||||
entwickelt\footcite{mariadbgov}. MariaDB gehört dabei keiner einzelnen
|
||||
Firma oder Person sonder der gemeinnützigen Organisation "MariaDB
|
||||
Foundation". Was für zusätzliche Stabilität sorgen sollte. MariaDB ist
|
||||
freie Software unter GNU Public License v2. Desweiteren hat MariaDB bei
|
||||
einer Variantenbewertung das beste Ergebnis geholt.
|
||||
|
||||
|
||||
*** Editoren
|
||||
|
||||
Das Hauptwerkzeug von jedem Entwickler ist sein Text Editor. Dabei
|
||||
hat jeder meistens seine ganz eigene Präferenzen wenn es um die Wahl
|
||||
des Editors geht.
|
||||
|
||||
- Atom :: Ivan hat während der Case Study hauptsächlich mit
|
||||
Atom\footcite{atom} gearbeitet. Atom wird von Github Inc.
|
||||
entwickelt und basiert auf dem Electron Framework welches
|
||||
seinerseit auf Webtechnologien wie Node.js und Chromium
|
||||
basiert. Atom ist freie Software unter der MIT Lizenz.
|
||||
|
||||
- GNU Emacs :: Andreas arbeitet hauptsächlich mit dem Editor GNU
|
||||
Emacs\footcite{emacs}. GNU Emacs ist mit 32 Jahren
|
||||
(obwohl seine Wurzeln bis ins Jahre 1976 zurückgehen)
|
||||
wohl eines der ältesten noch "aktiven" Software
|
||||
Projekte. Emacs ist freie Software unter der GNU Public
|
||||
License v3.
|
||||
|
||||
*** Dokumentation
|
||||
|
||||
Diese Dokumentation wurde in Org-mode\footcite{orgmode} einer
|
||||
Erweiterung für den Text Editor Emacs geschrieben. Anschliessend wurde
|
||||
die Dokumentation in LaTeX\footcite{latex} Code konvertiert und
|
||||
finalisiert. Der Zwischenschritt über Org-mode wurde gewählt weil
|
||||
Org-mode etwas einfacher zu schreiben ist als reines LaTeX.
|
||||
|
||||
LaTeX ist eine Software welche einem die Benutzung des Textsatzsystems
|
||||
TeXs vereinfacht. Wir haben LaTeX gegenüber einem "What You See Is
|
||||
What You Get" Editor gewählt weil es einem mit seiner Markup Sprache
|
||||
erlaubt das Dokument in Text Dateien zu erstellen. Was wir als
|
||||
Programmierer sehr angenehm finden. Dadurch das LaTeX auch nur aus
|
||||
reinen Textdateien besteht kann man die Dokumente auch ohne weiteres
|
||||
in die Versionskontrollsoftware einchecken und somit auf einfache
|
||||
Weise zusammen daran arbeiten und die Entwicklung im Log
|
||||
zurückverfolgen kann.
|
||||
LaTeX ist freie Software unter der LaTeX Project Public License.
|
||||
|
||||
Die Grafiken in diesem Dokument wurden hauptächlich mit dem Vektor
|
||||
Grafik Editor Inkscape\footcite{inkscape} erstellt. Inkscape ist freie
|
||||
Software unter der GNU Public License v3. Für das Entity Relation
|
||||
Diagramm in [[Models]] haben wir jedoch Dia\footcite{dia} verwendet. Dia
|
||||
ist freie Software unter der GNU Public License v2.
|
||||
|
||||
Die Klassen Diagramme haben wir mit der Django Erweiterung
|
||||
"Django-Extensions"\footcite{django_extensions} erstellt.
|
||||
Django-Extensions ist freie Software unter der MIT Lizenz.
|
||||
|
||||
** TODO Spezifikation
|
||||
*** User Stories
|
||||
|
||||
|
|
Loading…
Reference in New Issue