web_AI-5/docs/doku.org

15 KiB
Raw Blame History

Casestudy Webtechnologien

Über dieses Dokument

Im nachfolgenden Abschnitt finden Sie allgemeine Informationen zu diesem Dokument. Bei der Erstellung dieses Dokuments haben wir das Versionierungs-Tool "Git" mit dem passenden Client "magit" verwendet und das Dokument auf unseren Laptops lokal mit dem Emacs Plugin org-mode bearbeitet.

Titel der Dokumentation

Die Gruppe hat verschiedene Varianten gelistet und sich für die lustigste entschieden.

  • Marktplatz
  • Shopshop
  • Barewahre-Shop
  • Didgeridoo-Shop

Beschreibung

Planung und Erstellung eines konfigurierbaren Web-Shops für Didgeridoo's.

Zweck und Inhalt

Zweck dieses Dokuments ist die vollständige und nachvollziehbare Dokumentation zu unserer Case Study Webtechnologie 3.

Aufbau

Alle Inhalte sind chronologisch sortiert, vom ältesten zum jüngsten Ereigniss, und nach Kapiteln getrennt.

Über die Autoren

Dieses Dokument wurde von Ivan Hörler und Andreas Zweili im Auftrag der IBZ erstellt und darf ohne Einverständniss der Autoren kopiert und vervielfälltigt werden. Erwähnung der Autoren vorausgesetzt.

Projektanalyse und Planung

Projektziele

Der Student erarbeitet in einer Zweiergruppe einen selbstentwickelten Web-Shop. Die einzusezenden Technologien sollen Opensource sein. Die zur verfügungstehende Zeit ist pro Student mit 80h zu veranschlagen. Am Ende dieser Zeitspanne soll ein funktionaler Web-Shop mit minimalem graphischen Userinterface entstehen, die dazugehörige Dokumentation umfasst alle Aspekte um die gewählte Lösung nachzuvollziehen.

Nr. Beschreibung Priorität
1. Das Datenmodel muss korrekt konzipiert sein. Hoch
2. Alle Vorgehen müssen in diesem Dokument erläutert werden. Mittel
3. Die Arbeitsstunden müssen eingehalten werden. Tief
4. Der Shop muss funktionstüchtig sein. Mittel
5. Die Applikation muss vor der Übergabe vollständig getestet werden. Hoch
6. Problemstellungen müssen ersichtlich dokumentiert werden. Mittel
Projektziele

Mittel und Methoden

Werkzeuge

Als Testumgebung wurde eine VM Lösung mit Vagrant gewählt. Diese über eine MIT-Lizenz frei verfügbare Lösung für Containerautomation eignet sich durch seine crossplattform Anwendung hervorragend um die Entwicklung schnellstmöglich ohne lästige Einzelkonfigurationen auf die Beine zu bringen. Der Hypervisor für Vagrant war dabei Virtualbox.

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 ist eine itterative Methodik unabdingbar. Daher wandte die Gruppe eine angepasste version von Scrum an. In dieser wird jeweils während Sitzungen die Position des Product Owners und des Scrum Masters eingenommen und die Backlog-Tasks dementsprechend erstellt resp. verteilt. Während der Woche arbeiten beide Team-Mitglieder an der Arbeit als Team-Kolegen.

Vorkenntnisse

Die benötigten Vorkenntnisse wurden in den vorangeganenen Semestern erarbeitet und sind in der Basis gefestigt. Diese Arbeit wird vorwiegend weiterführende Elemente wie Frameworks neu einbringen deren Verhalten letztendlich nicht abgeschätzt werden kann.

Vision

Wir wollen einen Web-Shop mit geeigneter Software erstellen. Dabei setzen wir nur freie Software ein (frei im Bezug auf Freiheit nicht Preis). Wir untersuchen die Anforderung und wählen die uns als geeignet erscheinenden Frameworks. Jede noch so kleine Zeiteinsparung durch vorgefertigte Entwicklungen werden angenommen und dennoch wollen wir keine fertigen Software Produkte einsetzen.

TODO SWOT-Analyse

Die SWOT-Analyse ist eine Methode, die Stärken, Schwächen, Chancen und Gefahren zu erkennen, indem eine 4-Felder-Matrix ausgefüllt wird.

Wichtig vor dem Ausfüllen der SWOT-Analyse ist es, ein klares Ziel zu haben.

Stärken Schwächen Chancen Gefahren
Wir als Programmierer haben ein gutes Know-How im Bereich Datenbanken Wir als Programmierer haben keine Erfahrung im Konsumsegment unseres Nutzers
Die Umsetzung der graphischen Anwendungsoberfläche könnte sich als schwierig erweisen. Die Umsetzungszeit ist knapp bemessen
SWOT-Analyse

Umweltanalyse

Die Projektumwelt-Analyse ist eine Methode, die Beziehungen, Erwartungshaltungen und Einflüsse auf das Projekt durch interne und externe soziale Umwelten zu betrachten und zu bewerten. Auf Grundlage der Analyseergebnisse werden erforderliche Massnahmen zur Gestaltung der Umweltbeziehungen abgeleitet. Die Gestaltung der Projektumweltbeziehungen ist eine Projektmanagementaufgabe. In dieser Tabelle wurden die Anforderungen und Wünsche mit Einschätzung der Wahrscheinlichkeit der Einflussnahme aufgenommen.

Nr. Stakeholder Einfluss Anforderung/Wünsche Warscheinlichkeit
1. Auftraggeber hoch - Innovatives Produkt auf dem Markt anbieten. hoch
- Einhaltung von Terminen und Qualität. hoch
2. Nutzer gering - Einfache Lösung die anpassungsfähig ist. hoch
- Schnell anfangen können. hoch
- Viele Arbeitsschritte Automatisieren mittel
3. Nachfrager gering - Intuitiv bedienbare Webseite hoch
- schnell finden was gesucht wird. hoch
4. Projektleiter hoch - Gutes Innovatives Produkt erschaffen. mittel
- Anerkennung im fachlichen Umfeld hoch
Umwelt-Analyse

TODO Umweltgrafik

-wie zeichnen??

  • Einfach in Visio oder ähnlichem (Libreoffice) und dann als PNG reinwerfen

TODO Risikomanagement

TODO Risikobeschreibung

  • Note taken on [2017-10-31 Tue 22:09]
    Tönt noch sehr nach DB Case Study
Nr. Beschreibung Massnahmen W^1 A^2
1. Die Datenbank ist schlecht modeliert. Das ERM nach dessen Erstellung gründlich auf Fehler prüfen, falls nötig extern prüfen lassen. 2 3
2. Viel Arbeit an der Arbeitsstelle, dabei bleibt weniger Zeit für die Casestudy. Die Zeit die einem zur Verfügung steht nutzen und fixe Tage definieren. Projektplanung machen. 1 2
3. Know-How zur Umsetzung ist nicht vollständig vorhanden. Gute Informationsbeschaffung im Internet, Mitschülern, Arbeitgeber, Dozenten etc. 2 2
4. Kommunikation innerhalb des Teams. Klare Arbeitsaufteilung innerhalb des Teams und alle 2 Wochen Besprechungen über offene Aufgaben oder Problembehandlungen 1 1
5. Die Programmierung des Shops benötigt zuviel Zeit Beider Projektplanung genau definieren was die GUI Applikation beinhalten muss. Ziele definieren, abgrenzungen treffen. 3 1
Risikobeschreibung

TODO Risikobewertung

Bewertung Beschreibung: Warscheinlichkeit (W)
1 = gering Unwarscheinlich, <20%
2 = mittel Mässig warscheinlich, 20-50%
3 = hoch Hohe warscheinlichkeit > 50%
Risikobewertung Wahrscheinlichkeit
Bewertung Beschreibung: Auswirkung (A)
1 = gering geringe auswirkungen auf das Gesammtergebniss
2 = mittel Arbeitsumstellung oder grösserer Arbeitsaufwand
3 = hoch Projekt erfüllt nicht alle Anforderungen

> Graphik einfügen!!!

Risikobewertung Auswirkung

TODO Projektabgrenzung

Am ende des Projekts die nicht lauffähigen teile ausgrenzen. :-)

Projektmanagement

Organigram

Projektstrukturplan

Varianten erarbeiten

Architektur vorbereiten

Arbeitspakete definieren

Umsetzung

Spezifikation

Anwendungsfälle

Klassendiagramme der Models

Category
/ibz/web_AI-5/media/commit/a6372c7b14f951546b5f02deb89e03f4dd90b560/docs/pictures/class_category.png
Klassenmodel für Kategorien
Option
/ibz/web_AI-5/media/commit/a6372c7b14f951546b5f02deb89e03f4dd90b560/docs/pictures/class_option.png
Klassenmodel für Optionen
Setting
/ibz/web_AI-5/media/commit/a6372c7b14f951546b5f02deb89e03f4dd90b560/docs/pictures/class_setting.png
Klassenmodel für Einstellungen
ArticleStatus
/ibz/web_AI-5/media/commit/a6372c7b14f951546b5f02deb89e03f4dd90b560/docs/pictures/class_articlestatus.png
Klassenmodel für Artikelstatus
ExchangeRate
/ibz/web_AI-5/media/commit/a6372c7b14f951546b5f02deb89e03f4dd90b560/docs/pictures/class_exchangerate.png
Klassenmodel für Wechselkurse
Article
/ibz/web_AI-5/media/commit/a6372c7b14f951546b5f02deb89e03f4dd90b560/docs/pictures/class_article.png
Klassenmodel für Artikel
OrderStatus
/ibz/web_AI-5/media/commit/a6372c7b14f951546b5f02deb89e03f4dd90b560/docs/pictures/class_orderstatus.png
Klassenmodel für Bestellstatus
OrderOfGoods
/ibz/web_AI-5/media/commit/a6372c7b14f951546b5f02deb89e03f4dd90b560/docs/pictures/class_orderofgoods.png
Klassenmodel für Warenbestellungen
Picture
/ibz/web_AI-5/media/commit/a6372c7b14f951546b5f02deb89e03f4dd90b560/docs/pictures/class_picture.png
Klassenmodel für Bilder
Order
/ibz/web_AI-5/media/commit/a6372c7b14f951546b5f02deb89e03f4dd90b560/docs/pictures/class_order.png
Klassenmodel für Bestellungen
ShoppingCart
/ibz/web_AI-5/media/commit/a6372c7b14f951546b5f02deb89e03f4dd90b560/docs/pictures/class_shoppingcart.png
Klassenmodel für Warenkörbe
City
/ibz/web_AI-5/media/commit/a6372c7b14f951546b5f02deb89e03f4dd90b560/docs/pictures/class_city.png
Klassenmodel für Städte
Salutation
/ibz/web_AI-5/media/commit/a6372c7b14f951546b5f02deb89e03f4dd90b560/docs/pictures/class_salutation.png
Klassenmodel für Anreden
Person
/ibz/web_AI-5/media/commit/a6372c7b14f951546b5f02deb89e03f4dd90b560/docs/pictures/class_person.png
Klassenmodel für Personen

Datenbank

Anforderungsanalyse

Relationen Model

Relationen Diagramm

SQL Create DB

SQL Insert Testdaten

SQL Restriktionen erarbeiten

SQL Views erstellen

SQL Prozeduren und Funktionen erarbeiten

Benutzerinterface

Mockup skizzieren

Frontend Umsetzung

Backend Umsetzung

TODO Testing

Test Cases

Fazit

Projektmanagement

Umsetzung

Gelerntes

TODO samples [to be deleted]

Subsubsection

  • List
  • List
  • List

TODO Subsubsection

  1. Numbered List
  2. Numbered List
  3. Numbered List
NEXT Subsubsubsection

Diese Section müssten man dann zuerst abschliesen damit die übergeordnete abgeschlossen werden kann.

Table

Name Funktion Beschreibung

Code Block

for var in collection:
    while variable = True:
Python Code Block
create FUNCTION functionname()
RETURNS varchar(100)
AS BEGIN
END
go
SQL Code Block

create FUNCTION functionname() RETURNS varchar(100) AS BEGIN END go