• Keine Ergebnisse gefunden

Angular ist ein Framework zur Entwicklung von Single-Page-Webanwendungen. Es ist jedoch ebenso möglich native Anwendungen mit Angular zu entwickeln. Das Framework ist modular aufgebaut. Durch den Fokus auf eine modulare Entwicklung ist ein einfaches Wiederverwenden von Komponenten möglich. Dies reduziert den Entwicklungsaufwand für das Frontend, wes-halb ein größerer Fokus auf die eigentliche Anwendungslogik gelegt werden kann. [Woi+18, S. vii]

Die Entwicklung einer Angular-Anwendung gliedert sich in zwei Teile. Den für den Nutzer sichtbaren Teil und die Anwendungslogik. Ersterer ist nahe an der Entwicklung statischer Web-seiten angelehnt. Es gibt je Modul eine HTML- und eine CSS-Datei. Für die HTML-Datei stellt Angular viele eigene Tags bereit, mit denen auf Komponenten von Angular zugegriffen werden kann. Die Nutzung klassischer HTML-Tags ist ebenfalls möglich. [Flu+19]

Angular unterstützt neben herkömmlichem CSS auch SCSS und SASS, welche eine hierarchi-sche Struktur in der CSS-Datei ermöglichen [Arj19]. Die Anwendungslogik jedes Moduls wird in einer weiteren Datei geführt, welche auch die HTML- und CSS-Dateien mit sich verknüpft.

Somit wird eine Kommunikation mit den dargestellten Inhalten ermöglicht [Woi+18, S. 27–28].

Diese wird in TypeScript geschrieben, einer Erweiterung von JavaScript. Der Hauptunterschied zu JavaScript ist, wie der Name schon andeutet, die Einführung einer Typisierung [Woi+18, S. 27–28].

Angular wurde mit der Version 2 komplett neu entwickelt. Die vorherige Version 1.x.x wird zur Abgrenzung vom aktuellen Angular als AngularJS bezeichnet und ist inkompatibel zur Version 2 und allen folgenden Versionen. Alle sechs Monate soll eine neue Major- und anschließend jeden Monat eine Minor-Version erscheinen. [Woi+18, S. viii]

Die derzeit aktuelle Version 8 ist Ursprünglich am 28. Mai 2019 erschienen [Fel+19].

4 Anforderungsanalyse

Vor der Umsetzung des Projekts mussten die Anforderungen definiert werden. Dabei wird zwi-schen zwei Arten von Anforderungen unterschieden, die Funktionalen und die Nichtfunktiona-len.

Funktionale Anforderungen

Nach dem Lehrbuch der Softwaretechnik beschreibt dieser Anforderungstyp "welche Funktionalität oder welches Verhalten das Softwareprodukt unter festgelegten Bedingun-gen besitzen bzw. erfüllen soll" [Bal11, S. 109], alsowasdie Anwendung tut. Diese kön-nen klar definiert und überprüft werden. [Bal11, S. 109]

Nichtfunktionale Anforderungen

Im Gegensatz zu den funktionalen Anforderungen sind die Nichtfunktionalen nicht so einfach zu definieren. Diese beziehen sich meist auf die gesamte Anwendung und stehen oft in Konkurrenz zueinander. Dabei handelt es sich beispielsweise um Benutzbarkeit oder Effizienz. Anders ausgedrückt also,wiedie Anwendung die Funktionalen Anforde-rungen erfüllen soll.

Die Abgrenzung zwischen den Anforderungstypen ist oft fließend. So können beispielsweise Zeitanforderungen in beide Arten von Anforderungen fallen. [Bal11, S. 109]

4.1 Funktionale Anforderungen

Folgende funktionale Anforderungen wurden anhand des Dokuments Craftbuddy Definitionen für die Anwendung identifiziert [Gmb19].

4.1.1 Multiplattform

Die Anwendung soll sowohl am Computer über ein Webinterface als auch mobil über eine App genutzt werden können. Während das Webinterface insbesondere die Verwaltung im Büro über-nimmt, ist die App für den mobilen Einsatz auf der Baustelle gedacht. Entsprechend übernimmt die App vorwiegend das Anzeigen von Informationen, welche im Webinterface eingepflegt wer-den.

Das Webinterface soll alle aktuellen Webbrowser unterstützen. Die Nutzung auf einem Tablet soll ebenso möglich sein, der Fokus liegt aber auf der Verwendung mit Maus und Tastatur. Die mobile Anwendung soll auf Android- und iOS-Geräten laufen. Auch die App soll auf einem Tablet einsetzbar sein, das Augenmerk liegt aber auf der Nutzung am Smartphone.

4.1.2 Bestandsverwaltung von Ressourcen

Das Softwaremodul soll den Bestand der Ressourcen verwalten können. Diese werden in drei Kategorien eingeteilt.

Maschinen / Equipment

Hierbei handelt es sich um alle Arbeitsgeräte, welche in einem Handwerksbetrieb einge-setzt werden und nicht selbständig fahren können. Dies sind beispielsweise Bohrmaschi-nen, Betonmischer oder Computer.

Material / Verbrauchsgüter

Dies sind alle Gegenstände, welche auf einer Baustelle verbraucht werden. Dies sind Beispielsweise Kies, Schrauben oder Ziegel.

Fahrzeuge

Hierunter werden alle selbstfahrenden Maschinen, wie Autos, Gabelstapler oder Trans-porter zusammengefasst.

Jede Ressource hat abhängig von ihrem Typ verschiedene Felder. Sie beinhalten alle relevan-ten Informationen der Ressource, wie Bezeichnung, Kategorie, technische Details, Bilder, und Weitere.

Über eine Weboberfläche sollen bestehende Ressourcen angezeigt, bearbeitet und gelöscht, so-wie neue angelegt werden können. Unterwegs soll überso-wiegend lesend auf die Informationen über eine App zugegriffen werden.

4.1.3 Reservieren von Ressourcen

Um sicherzustellen, dass alle notwendigen Ressourcen auf einer Baustelle verfügbar sind, sol-len diese reserviert werden können. Eine Reservierung kann in der App getätigt werden. Bei dieser wird immer der aktuell angemeldete Mitarbeiter als verantwortliche Person eingetragen.

Außerdem wird immer der Zeitraum des Bedarfs erfasst. Zusätzlich wird noch ein Ort angege-ben, welcher nicht zwangsläufig eine Baustelle sein muss.

Ziel ist es Doppelbelegungen zu vermeiden und Engpässe frühzeitig zu erkennen. Außerdem kann immer verfolgt werden, wo sich aktuell eine Ressource befindet.

4.1.4 Melden von Defekten und anstehenden Wartungen

Ist eine Ressource defekt oder es steht eine Wartung an, kann dies in der App gemeldet werden.

Dazu wird erfasst, ob es sich um einen Defekt oder eine Wartung handelt. Zusätzlich kann hier verlorenes Gerät gemeldet werden. Des Weiteren kann ein Freitext eingegeben werden, um zu beschreiben, um was für ein Problem es sich konkret handelt. In der Ressourcenübersicht soll angezeigt werden, ob eine aktuelle Meldung vorliegt. Wurde ein Problem gelöst, wird die Meldung als erledigt markiert und ist dann nur noch im Verlauf sichtbar.

4.1.5 Kategorisierung

Zur einfacheren Durchsuchbarkeit soll es eine Kategorisierung geben. Dazu gibt es eine Liste an Kategorien, die durch die jeweilige Firma verwaltet werden kann. Jede Ressource wird einer Kategorie zugeteilt. Bei einer Suche kann dann nicht nur nach dem Titel gesucht, sondern auch nach Kategorie gefiltert werden.

4.1.6 Ortsbestimmung und Kartendarstellung

Der aktuelle Standort von Ressourcen soll intelligent bestimmt werden. Hierzu sollen die In-formationen aus den Reservierungen sowie die standardmäßig in jeder Ressource hinterlegte Adresse genutzt werden.

Zur besseren Orientierung soll der aktuelle Standort in der App nicht nur als Adresse, son-dern auch auf einer Karte dargestellt werden. Außerdem soll eine Navigation zum jeweiligen Standort aufrufbar sein.