exend the section "Varianten"

This commit is contained in:
Andreas Zweili 2018-02-15 20:20:02 +01:00
parent 1fbdd83bb0
commit 588e048d9d
1 changed files with 140 additions and 0 deletions

View File

@ -224,6 +224,146 @@ Am ende des Projekts die nicht lauffähigen teile ausgrenzen. :-)
* Projektmanagement
** Organigram
** Projektstrukturplan
** Varianten
Wir haben uns 3 mögliche Varianten überlegt im Bezug auf die zu
verwendende Software. Die Varianten wurden bewertet und die Variante
mit den meisten Punkten dann schlussendlich ausgewählt.
Bei jeder Variante wurden die gleichen Kriterien mit der gleichen
Gewichtung bewertet. Die Punktzahl pro Kriterium wird nach der
folgenden Formel berechnet:
\begin{equation}
G * EP = KE
\end{equation}
Also die Gewichtung(/G/) multipliziert mit der erreichten
Punktzahl(/EP/) ergibt das Kriteriumsergebnis(/KE/).
**** ASP.NET und SQL Server
ASP.NET und SQL Server haben vorallem viele Punkte verloren da C\# nur
in Teilen und SQL Server gar nicht unter einer freien Lizenz steht.
Desweiteren läuft .NET Core zwar auch auf Unix Systemen allerdings ist
das verhältnismässig ein relativ kleiner Teil der gesamten Sprache.
SQL Server läuft hingegen nur unter Windows und Linux.
Desweiteren ist es sehr schwierig C\# Applikationen ohne Visual Studio
zu entwickeln. Es geht in der Theorie, in der Praxis ist es jedoch
eher umständlich. Die Vorkenntnisse wurden mit 6 von Punkten bewertet
da wir C\# zwar im Rahmen der Ausbildung lernen. Allerdings noch nicht
das Gefühl haben sonderlich gut mit C\# umgehen zu können.
#+CAPTION: Bewertung der Variante ASP.NET und SQL Server
#+ATTR_LATEX: :align |>{\columncolor[HTML]{EFEFEF}}p{4cm}|c|p{2cm}|p{2cm}|p{2cm}|
#+NAME: tab:asp\_net
|----------------------+----------------------+----------------------+----------------------+----------------------|
| <20> | <20> | <20> | <20> | <20> |
| *Kriterium*\cellcolor[HTML]{C0C0C0} | *Gewichtung*\cellcolor[HTML]{C0C0C0} | *max. Punktzahl*\cellcolor[HTML]{C0C0C0} | *erreichte Punktzahl*\cellcolor[HTML]{C0C0C0} | *Kriteriums- ergebnis*\cellcolor[HTML]{C0C0C0} |
|----------------------+----------------------+----------------------+----------------------+----------------------|
| Freie Software | 5 | 10 | 5 | 25 |
| Cross Plattform nutzbar | 5 | 10 | 6 | 30 |
| Lesbarkeit des Codes | 5 | 5 | 4 | 20 |
| Einfachheit des Setups | 3 | 5 | 5 | 15 |
| Ohne spezielle Tools nutzbar | 3 | 5 | 1 | 3 |
| Vorkenntnisse | 3 | 10 | 6 | 18 |
| Lernfaktor | 5 | 10 | 6 | 30 |
|----------------------+----------------------+----------------------+----------------------+----------------------|
| *Total* | | | | 141 |
#+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
#+TBLFM: @9$5=@9$2 * @9$4
#+TBLFM: @10$5=vsum(@3$5..@9$5)
**** PHP und MySQL
Die Variante PHP und MySQL hat insgesamt ein sehr gute Bewertung
erhalten. Beide Projekte sind zumindest teilweise unter einer freien
Lizenz verfügbar und sind sowohl unter Windows, wie auch Mac und Linux
einsetzbar. Allerdings gibt es von MySQL noch eine proprietäre
Enterprise Variante weshalb wir hier nicht die volle Punktzahl
vergeben konnten. Abstriche gab es bei der Lesbarkeit des Codes. Da
PHP insgesamt eine ziemlich inkonsistente und ausschweifende Sprache
ist. Dafür ist das Setup sehr einfach und man kann eine PHP basierte
Applikation ohne spezielle Werkzeuge entwickeln. Da wir jedoch bereits
sehr intensiv mit PHP und MySQL in Berürung kamen haben wir beim
Lernfaktor abstriche gemacht. In Zusammenhang mit einem Framework
hätten wir sich auch viel dazugelernt im Vergleich zu den anderen
Varianten jedoch sicher weniger.
#+CAPTION: Bewertung der Variante PHP und MySQL
#+ATTR_LATEX: :align |>{\columncolor[HTML]{EFEFEF}}p{4cm}|c|p{2cm}|p{2cm}|p{2cm}|
#+NAME: tab:php
|----------------------+----------------------+----------------------+----------------------+----------------------|
| <20> | <20> | <20> | <20> | <20> |
| *Kriterium*\cellcolor[HTML]{C0C0C0} | *Gewichtung*\cellcolor[HTML]{C0C0C0} | *max. Punktzahl*\cellcolor[HTML]{C0C0C0} | *erreichte Punktzahl*\cellcolor[HTML]{C0C0C0} | *Kriteriums- ergebnis*\cellcolor[HTML]{C0C0C0} |
|----------------------+----------------------+----------------------+----------------------+----------------------|
| Freie Software | 5 | 10 | 8 | 40 |
| Cross Plattform nutzbar | 5 | 10 | 8 | 40 |
| Lesbarkeit des Codes | 5 | 5 | 2 | 10 |
| Einfachheit des Setups | 3 | 5 | 5 | 15 |
| Ohne spezielle Tools nutzbar | 3 | 5 | 5 | 15 |
| Vorkenntnisse | 3 | 10 | 7 | 21 |
| Lernfaktor | 5 | 10 | 4 | 20 |
|----------------------+----------------------+----------------------+----------------------+----------------------|
| *Total* | | | | 161 |
#+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
#+TBLFM: @9$5=@9$2 * @9$4
#+TBLFM: @10$5=vsum(@3$5..@9$5)
**** Django(Python) und MariaDB
Diese Variante hat am meisten Punkte erhalten. Wie bei der Variante "PHP
und MySQL" sind auch hier beide Komponenten freie Software. Im
Gegensatz zu der vorherigen Variante gibt es bei diesen Komponenten
nur eine mögliche Lizenz Form. Womit sie die volle Punktzahl in dieser
Kategorie erreichten.
Beide Projekte laufen unter Windows, Linux sowie Mac. Wobei das Setup
unter für Django(Python) unter Windows etwas komplizierter ausfällt
als wir gerne hätten weshalb wir hier bei der Cross Plattform
Kompatibilität und dem Setup einen Abstrich gemacht haben. Python kann
ohne spezielle Tools programmiert werden und gilt als eine der
Sprachen mit der schönsten Syntax. Die Vorkenntnisse haben wir hier
als eher niedrig eingestuft dafür den Lernfaktor umso höher.
#+CAPTION: Bewertung der Variante Django und MariaDB
#+ATTR_LATEX: :align |>{\columncolor[HTML]{EFEFEF}}p{4cm}|c|p{2cm}|p{2cm}|p{2cm}|
#+NAME: tab:django
|----------------------+----------------------+----------------------+----------------------+----------------------|
| <20> | <20> | <20> | <20> | <20> |
| *Kriterium*\cellcolor[HTML]{C0C0C0} | *Gewichtung*\cellcolor[HTML]{C0C0C0} | *max. Punktzahl*\cellcolor[HTML]{C0C0C0} | *erreichte Punktzahl*\cellcolor[HTML]{C0C0C0} | *Kriteriums- ergebnis*\cellcolor[HTML]{C0C0C0} |
|----------------------+----------------------+----------------------+----------------------+----------------------|
| Freie Software | 5 | 10 | 10 | 50 |
| Cross Plattform nutzbar | 5 | 10 | 9 | 45 |
| Lesbarkeit des Codes | 5 | 5 | 5 | 25 |
| Einfachheit des Setups | 3 | 5 | 3 | 9 |
| Ohne spezielle Tools nutzbar | 3 | 5 | 5 | 15 |
| Vorkenntnisse | 3 | 10 | 4 | 12 |
| Lernfaktor | 5 | 10 | 8 | 40 |
|----------------------+----------------------+----------------------+----------------------+----------------------|
| *Total* | | | | 196 |
#+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
#+TBLFM: @9$5=@9$2 * @9$4
#+TBLFM: @10$5=vsum(@3$5..@9$5)
**** Ergebnis
Aufgrund der erreichten Punktzahl haben wir uns dafür entschieden die
Variante "Django(Python) und MariaDB" umzusetzen. In der Sektion [[Werkzeuge]]
beschreiben wir noch die weiteren Mittel welche beim Erstellen der
Case Study verwendet wurden und erklären wenn möglich auch weshalb wir
uns dafür entschieden haben.
#+CAPTION: Variantenbewertung Ergebnis
#+ATTR_LATEX: :align |>{\columncolor[HTML]{EFEFEF}}p{4.5cm}|r|
#+NAME: tab:result
|------------------------------------+-----------------------------------------------|
| *Variante*\cellcolor[HTML]{C0C0C0} | *Erreichte Punktzahl*\cellcolor[HTML]{C0C0C0} |
|------------------------------------+-----------------------------------------------|
| ASP.NET und SQL Server | 141 |
| PHP und MySQL | 161 |
| Django und MariaDB | 196 |
** Architektur vorbereiten
** Arbeitspakete definieren
* TODO Umsetzung