From 588e048d9d4e90f3a37179576b1a7debbce32279 Mon Sep 17 00:00:00 2001 From: Andreas Zweili Date: Thu, 15 Feb 2018 20:20:02 +0100 Subject: [PATCH] exend the section "Varianten" --- docs/doku.org | 140 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 140 insertions(+) diff --git a/docs/doku.org b/docs/doku.org index a9ec227..38bb9ca 100644 --- a/docs/doku.org +++ b/docs/doku.org @@ -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