add section about "Variantenbewertung"
This commit is contained in:
parent
ae2ffe27ad
commit
6e1f8ae3be
|
@ -131,4 +131,51 @@
|
|||
month = {Oct},
|
||||
note = {[Online; accessed 12. Dec. 2018]},
|
||||
url = {https://www.apache.org/licenses/LICENSE-2.0}
|
||||
}
|
||||
@misc{python,
|
||||
author = {{Python Software Foundation}},
|
||||
title = {{History and License {\ifmmode---\else\textemdash\fi} Python 3.7.2rc1 documentation}},
|
||||
year = {2018},
|
||||
month = {Dec},
|
||||
note = {[Online; accessed 16. Dec. 2018]},
|
||||
url = {https://docs.python.org/3/license.html}
|
||||
}
|
||||
@misc{mit,
|
||||
title = {{MIT License}},
|
||||
year = {2018},
|
||||
month = {Dec},
|
||||
note = {[Online; accessed 16. Dec. 2018]},
|
||||
url = {https://mit-license.org}
|
||||
}
|
||||
@misc{cpp17,
|
||||
title = {{ISO/IEC 14882:2017}},
|
||||
journal = {ISO},
|
||||
year = {2018},
|
||||
month = {Dec},
|
||||
note = {[Online; accessed 16. Dec. 2018]},
|
||||
url = {https://www.iso.org/standard/68564.html}
|
||||
}
|
||||
@misc{cpp98,
|
||||
title = {{ISO/IEC 14882:1998}},
|
||||
journal = {ISO},
|
||||
year = {2018},
|
||||
month = {Dec},
|
||||
note = {[Online; accessed 16. Dec. 2018]},
|
||||
url = {https://www.iso.org/standard/25845.html}
|
||||
}
|
||||
@misc{csharp,
|
||||
title = {{dotnet/coreclr}},
|
||||
journal = {GitHub},
|
||||
year = {2018},
|
||||
month = {Dec},
|
||||
note = {[Online; accessed 16. Dec. 2018]},
|
||||
url = {https://github.com/dotnet/coreclr/blob/master/LICENSE.TXT}
|
||||
}
|
||||
@misc{roslyn,
|
||||
title = {{dotnet/roslyn}},
|
||||
journal = {GitHub},
|
||||
year = {2018},
|
||||
month = {Dec},
|
||||
note = {[Online; accessed 16. Dec. 2018]},
|
||||
url = {https://github.com/dotnet/roslyn/blob/master/License.txt}
|
||||
}
|
|
@ -74,4 +74,14 @@
|
|||
freie Software. Die aktuellste Version ist GPLv3},
|
||||
first={GNU Public License (GPL)},
|
||||
text={GPL}
|
||||
}
|
||||
\newglossaryentry{ide}
|
||||
{
|
||||
name={Integrated Development Environment (IDE)},
|
||||
description={Ein Integrated Development Environment, zu Deutsch integrierte
|
||||
Entwicklungsumgebung, ist eine Software welche Programmierer beim
|
||||
erstellen von Software helfen soll in dem es ihn bei häufig
|
||||
wiederkehrenden Aufgaben unterstützt.},
|
||||
first={Integrated Development Environment (IDE)},
|
||||
text={IDE}
|
||||
}
|
|
@ -206,11 +206,96 @@ PLACEHOLDER
|
|||
|
||||
** TODO Varianten
|
||||
|
||||
PLACEHOLDER
|
||||
Da Borg eine JSON API zur Verfügung stellt bieten sich diverse Möglichkeiten um
|
||||
das Programm anzubinden. Da das Ziel ist, das Programm normalen Nutzern
|
||||
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
|
||||
somit etwas was sie kennen.
|
||||
|
||||
*** TODO Ergebnis
|
||||
Daraus ergeben sich weitere Möglichkeiten für das Projekt.
|
||||
|
||||
PLACEHOLDER
|
||||
*** Backend
|
||||
|
||||
Fürs Backend bieten sich folgende Sprachen an.
|
||||
- C#
|
||||
- C++
|
||||
- Python
|
||||
|
||||
*C#*
|
||||
|
||||
C# ist eine von Microsoft entwickelte Programmiersprache sowie mit .NET auch
|
||||
ein Framework. Zudem ist es die Programmierspache welche an der IBZ
|
||||
hauptsächlich gelehrt wird. Dadurch sind die Kenntnisse der Sprache und ihrer
|
||||
Anwendung bereits relativ gross. Insbesondere Aufgrund der grossen
|
||||
kommerziellen Nutzung in Windows hat C# eine relative grosse Verbreitung.
|
||||
|
||||
C# ist eine stark typisierte Sprache, heisst man muss bei Objekten den
|
||||
Datentyp bereits beim erstellen definieren. Desweiteren ist C# eine kompilierte
|
||||
Sprache und setzt stark auf objekt-orientierte Programmierung.
|
||||
|
||||
C# wird dabei hauptsächlich mit der gls:ide Microsoft Visual Studio. Eine sehr
|
||||
umfangreiche und komlexe Software. Visual Studio ist dabei nur für Windows und
|
||||
OS X erhältlich. Es ist auch möglich C# Projekte ausserhalb von Visual Studio
|
||||
zu erstellen ist jedoch nicht sehr einfach.
|
||||
|
||||
C# ist zu Teilen freie Software. Die Common Language Runtime welche für das
|
||||
Ausführen von Software zuständig ist, ist unter der MIT Lizenz lizenziert
|
||||
footcite:csharp der aktuelle Compiler Roslyn ist unter der Apache Lizenz
|
||||
verfügbar footcite:roslyn.
|
||||
|
||||
*C++*
|
||||
|
||||
C++ ist eine stark typisierte und kompilierte Programmiersprache. Sie ist seit
|
||||
1998 Teil des ISO Standards footcite:cpp98. ISO/IEC 14882:2017 footcite:cpp17
|
||||
ist zur Zeit die aktuellste Variante. Die Sprache existiert seit ca. 33 Jahren
|
||||
und hat eine weitreichende Verbreitung gefunden. C++ ist auf allen
|
||||
Betriebssystemen gut unterstützt.
|
||||
|
||||
C++ kompiliert direkt zu Maschinensprache und ist dadurch sehr performant. C++
|
||||
ist im Vergleich zu modernen Sprachen jedoch relativ komplex und bietet diverse
|
||||
Stolpersteine für Programmierer.
|
||||
|
||||
Da C++ auch heute noch zu den meistgenutzten Sprachen gehört gibt es
|
||||
entsprechend viele Ressourcen dazu und Beispiel Projekte von denen man ableiten
|
||||
kann. Auch hilfreiche Libraries gibts es sehr viele welche den Programmierer
|
||||
unterstützen können.
|
||||
|
||||
*Python*
|
||||
|
||||
Python ist eine dynamisch typisierte und interpretierte Sprache. Dies bedeutet
|
||||
das man bei Variabeln nicht explizit den Typ angeben muss und die Programme zur
|
||||
Laufzeit für den Computer übersetzt werden. Interpretierte Sprachen haben den
|
||||
Vorteil das man mit ihnen in der Regel sehr schnell und unkompliziert
|
||||
entwickeln kann, dies jedoch auf Kosten der Performance.
|
||||
|
||||
Python unterstützt mehrere Programmierungsparadigmen wie etwa
|
||||
objekt-orientiert, funktionale oder Prozedurale Paradigmen. Der Python
|
||||
Interpreter ist für eine Vielzahl an Betriebssystemen erhältlich, inklusive
|
||||
Windows, OS X und Linux. Nahezu jedes Desktop Linux System kommt mit Python vor
|
||||
installiert.
|
||||
|
||||
Bei der Entwicklung von Python wurde sehr grossen Wert auf die Lesbarkeit der
|
||||
Sprache gelegt. Dies mit dem Hintergedanken das eine Programmierspache viel
|
||||
häufiger gelesen als effektiv geschrieben wird.
|
||||
|
||||
Python ist freie Software unter der Python Software Foundation License
|
||||
footcite:python und wird durch die Python Software Foundation in einem
|
||||
Community basierten Modell entwickelt.
|
||||
|
||||
*** FrontEnd
|
||||
|
||||
Fürs Frontend sind folgende Projekte interessant:
|
||||
- Qt
|
||||
- Gtk
|
||||
- Electron
|
||||
|
||||
*** TODO Bewertung
|
||||
|
||||
Die Bewertungspunkte setzen sich einerseits aus den Projektzielen anderseits
|
||||
aus für das Projekt sinnvollen Punkten zusammen. Dadurch ergeben sich dann die
|
||||
Punkte welche in der nachfolgenden Tabelle aufgenommen wurden. Die möglichen
|
||||
Varianten wurden dann bewertet und die Variante mit der höchsten Bewertung
|
||||
wurde für das Projekt ausgewählt.
|
||||
|
||||
** TODO Vorkenntnisse
|
||||
|
||||
|
|
Reference in New Issue