Merge commit 'd7d6e709401859f78526ced843f605008ef80fc6' into currency
* commit 'd7d6e709401859f78526ced843f605008ef80fc6': add links from the use cases list to the actuall use case remove todo states add german language to the document change the "Artikel erfassen" erfassen change the use case tables to footnotesize and longtable environment add two additional use cases add description about the detailed use cases add some use cases change the placement of the test cases table correct section titles add citations which where used to create the models rephrase section title remove the settings model from the documentation correct some positions of figures correct the picture paths correct some typos escape an underscore update bibliography update the apache configuration in the ansible role
This commit is contained in:
commit
363d0cd053
|
@ -13,7 +13,7 @@ WSGIPythonPath /vagrant/django/didgeridoo/
|
|||
|
||||
ServerAdmin webmaster@localhost
|
||||
|
||||
Alias /media/ /vagrant/django/didgeridoo/media/
|
||||
Alias /media/ /srv/media/
|
||||
Alias /static/ /vagrant/django/didgeridoo/static/
|
||||
|
||||
<Directory /vagrant/django/didgeridoo/didgeridoo>
|
||||
|
@ -23,7 +23,7 @@ WSGIPythonPath /vagrant/django/didgeridoo/
|
|||
</Directory>
|
||||
|
||||
|
||||
<Directory /vagrant/django/didgeridoo/media>
|
||||
<Directory /srv/media>
|
||||
Require all granted
|
||||
</Directory>
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
@misc{django_extensions,
|
||||
@misc{djangoextensions,
|
||||
month = {{01}},
|
||||
note = {{\url{https://github.com/django-extensions/django-extensions}}},
|
||||
Urldate = {{2018-01-05}},
|
||||
|
@ -16,3 +16,93 @@
|
|||
year = {2016},
|
||||
}
|
||||
|
||||
@misc{removeadd,
|
||||
month = {{01}},
|
||||
note = {{\url{https://stackoverflow.com/a/21454467/7723859}}},
|
||||
Urldate = {{2018-01-15}},
|
||||
author = {Avinash Garg},
|
||||
title = {{How to remove Add button in Django admin, for specific Model?}},
|
||||
year = {2014},
|
||||
}
|
||||
|
||||
@misc{removedelete,
|
||||
month = {{08}},
|
||||
note = {{\url{https://stackoverflow.com/a/7031093/7723859}}},
|
||||
Urldate = {{2018-01-15}},
|
||||
author = {Jonathan R.},
|
||||
title = {{In Django Admin how do I disable the Delete link}},
|
||||
year = {2011},
|
||||
}
|
||||
|
||||
@misc{readonly,
|
||||
month = {{09}},
|
||||
note = {{\url{https://stackoverflow.com/a/46124159/7723859}}},
|
||||
Urldate = {{2018-01-15}},
|
||||
author = {gdlmx},
|
||||
title = {{Display a model field as readonly in Django admin}},
|
||||
year = {2017},
|
||||
}
|
||||
|
||||
@misc{timezone,
|
||||
month = {{07}},
|
||||
note = {{\url{https://stackoverflow.com/a/38239673}}},
|
||||
Urldate = {{2018-01-15}},
|
||||
author = {Antoine Pinsard},
|
||||
title = {{Django: timezone.now vs timezone.now()}},
|
||||
year = {2016},
|
||||
}
|
||||
|
||||
@misc{usermodel,
|
||||
month = {{07}},
|
||||
note = {{\url{https://simpleisbetterthancomplex.com/tutorial/2016/07/22/how-to-extend-django-user-model.html}}},
|
||||
Urldate = {{2018-01-15}},
|
||||
author = {Vitor Freitas},
|
||||
title = {{How to Extend Django User Model}},
|
||||
year = {2016},
|
||||
}
|
||||
|
||||
@misc{djangogirls,
|
||||
month = {{10}},
|
||||
note = {{\url{https://tutorial.djangogirls.org/en/}}},
|
||||
Urldate = {{2018-01-15}},
|
||||
author = {DjangoGirls},
|
||||
title = {{Django Girls Tutorial}},
|
||||
year = {2017},
|
||||
}
|
||||
|
||||
@misc{images,
|
||||
month = {{08}},
|
||||
note = {{\url{https://stackoverflow.com/a/1235542}}},
|
||||
Urldate = {{2018-01-15}},
|
||||
author = {steve},
|
||||
title = {{How do I include image files in Django templates?}},
|
||||
year = {2009},
|
||||
}
|
||||
|
||||
@misc{djangodoc,
|
||||
month = {{01}},
|
||||
note = {{\url{https://docs.djangoproject.com/en/1.11/}}},
|
||||
Urldate = {{2018-01-15}},
|
||||
author = {Django Foundation},
|
||||
title = {{Django documentation}},
|
||||
year = {2018},
|
||||
}
|
||||
|
||||
@misc{upload,
|
||||
month = {{12}},
|
||||
note = {{\url{https://stackoverflow.com/a/8542030}}},
|
||||
Urldate = {{2018-01-15}},
|
||||
author = {Akseli Pal{\'{e}}n},
|
||||
title = {{Need a minimal Django file upload example [closed]}},
|
||||
year = {2011},
|
||||
}
|
||||
|
||||
@misc{tree,
|
||||
month = {{09}},
|
||||
note = {{\url{https://stackoverflow.com/a/39729832}}},
|
||||
Urldate = {{2018-01-15}},
|
||||
author = {ht\_},
|
||||
title = {{Tree view in django template}},
|
||||
year = {2016},
|
||||
}
|
||||
|
||||
|
|
606
docs/doku.org
606
docs/doku.org
|
@ -5,6 +5,7 @@
|
|||
#+LATEX_CLASS_OPTIONS: [a4paper,11pt]
|
||||
#+LaTeX_HEADER: \input{style}
|
||||
#+OPTIONS: H:5 todo:t
|
||||
#+LANGUAGE: de
|
||||
#+STARTUP: align
|
||||
|
||||
|
||||
|
@ -390,7 +391,7 @@ Abbildung: ([[fig:umweltgrafik]]) grafisch dargestellt.
|
|||
*** NEXT Risikobewertung
|
||||
|
||||
#+CAPTION: Risikobewertung Wahrscheinlichkeit
|
||||
#+ATTR_LATEX: :align l|l
|
||||
#+ATTR_LATEX: :align l|l :placement [H]
|
||||
#+NAME: tab:wahrscheinlichkeit
|
||||
| *Bewertung* | *Beschreibung: Warscheinlichkeit (W)* |
|
||||
|-------------+---------------------------------------|
|
||||
|
@ -399,7 +400,7 @@ Abbildung: ([[fig:umweltgrafik]]) grafisch dargestellt.
|
|||
| 3 = hoch | Hohe warscheinlichkeit > 50% |
|
||||
|
||||
#+CAPTION: Risikobewertung Auswirkung
|
||||
#+ATTR_LATEX: :align l|l
|
||||
#+ATTR_LATEX: :align l|l :placement [H]
|
||||
#+NAME: tab:auswirkung
|
||||
| *Bewertung* | *Beschreibung: Auswirkung (A)* |
|
||||
|-------------+-------------------------------------------------|
|
||||
|
@ -408,7 +409,7 @@ Abbildung: ([[fig:umweltgrafik]]) grafisch dargestellt.
|
|||
| 3 = hoch | Projekt erfüllt nicht alle Anforderungen |
|
||||
|
||||
#+CAPTION: Grafische Darstellung der Risikoanalyse
|
||||
#+ATTR_LATEX: :width 9cm
|
||||
#+ATTR_LATEX: :width 9cm :placement [H]
|
||||
#+NAME: fig:risk
|
||||
[[file:diagrammes/risk_analysis.eps]]
|
||||
|
||||
|
@ -475,7 +476,7 @@ Als Interessent möchte ich...
|
|||
- die Preise in einer anderen Währung anzeigen können um die
|
||||
Preise in einer mir bekannten Währung vergleichen zu können.
|
||||
|
||||
*** TODO Use Cases
|
||||
*** Use Cases
|
||||
|
||||
Ein Use Case sammelt alle möglichen Szenarien, die eintreten können,
|
||||
wenn ein Akteur versucht, mit Hilfe des betrachteten Systems ein
|
||||
|
@ -506,158 +507,617 @@ Webshops beschränkt.
|
|||
#+LATEX:\end{landscape}
|
||||
#+LATEX:\newpage
|
||||
|
||||
**** NEXT Use Case Detailbeschreibung
|
||||
**** Use Case Detailbeschreibung
|
||||
|
||||
#+CAPTION: Use Case
|
||||
#+ATTR_LATEX: :align |>{\columncolor[HTML]{EFEFEF}}p{.25\textwidth}|p{.7\textwidth}|
|
||||
Use Cases werden in der Regel mit Hilfe einer sogenannten Use Case
|
||||
Schablone im Detail beschrieben damit klar ist wie der Ablauf jeweils
|
||||
genau aussieht. Die von uns verwendete Schablone wurde von Alistair
|
||||
Cockburn definiert.
|
||||
|
||||
Da ein Web-Shop eine sehr umfangreiche Applikation ist gibt es sehr
|
||||
viele Use Cases welche beschrieben und umgesetzt werden müssen. Aus
|
||||
zeitlichen Gründen haben wir nur einen kleinen Teil der Use Cases im
|
||||
Detail ausgearbeitet. Insbesondere diese welche wir selber
|
||||
ausprogrammiert haben. Die gesamte Liste an Use Cases sieht wie folgt
|
||||
aus, die Use Cases mit den Nummern wurden dabei im Detail ausgearbeitet:
|
||||
|
||||
#+LATEX: {\footnotesize
|
||||
| - [[*Artikel durchst%C3%B6bern][1.0 Artikel durchstöbern]] | - Kategorie erfassen (Admin Funktion) |
|
||||
| - [[Registration][2.0 Registration]] | - Kategorie ändern (Admin Funktion) |
|
||||
| - [[User Login][2.1 User Login]] | - Kategorie löschen (Admin Funktion) |
|
||||
| - User Profil ansehen | - Bild hochladen (Admin Funktion) |
|
||||
| - [[Artikel in Warenkorb legen][3.0 Artikel in Warenkorb legen]] | - Bild ändern (Admin Funktion) |
|
||||
| - [[W%C3%A4hrung %C3%A4ndern][3.1 Währung ändern]] | - Bild löschen (Admin Funktion) |
|
||||
| - Währung aktualisieren (Admin Funktion) | - Bestellung erfassen (Admin Funktion) |
|
||||
| - [[Checkout][3.2 Checkout]] | - [[Bestellung %C3%A4ndern/korrigieren][7.0 Bestellung ändern/korrigieren (Admin Funktion)]] |
|
||||
| - [[User Passwort %C3%A4ndern][4.0 User Passwort ändern (Admin Funktion)]] | - Bestellung löschen (Admin Funktion) |
|
||||
| - [[Artikel erfassen][5.0 Artikel erfassen (Admin Funktion)]] | - [[max_pictures Option anpassen][6.0 max_pictures Option anpassen (Admin Funktion)]] |
|
||||
| - Artikel ändern (Admin Funktion) | - max_pictures Option deaktivieren (Admin Funktion) |
|
||||
| - Artikel löschen (Admin Funktion) | - User erfassen (Admin Funktion) |
|
||||
| - Materialbestellung erfassen (Admin Funktion) | - User/Personen Daten ändern (Admin Funktion) |
|
||||
| - Materialbestellung ändern/korrigieren (Admin Funktion) | - User löschen (Admin Funktion) |
|
||||
| - Materialbestellung löschen (Admin Funktion) | - User Berechtigungen anpassen (Admin Funktion) |
|
||||
| - Stadt hinzufügen (Admin Funktion) | |
|
||||
| - Stadt ändern (Admin Funktion) | |
|
||||
| - Stadt löschen (Admin Funktion) | |
|
||||
#+LATEX:}
|
||||
|
||||
***** Artikel durchstöbern
|
||||
|
||||
#+LATEX:{\footnotesize
|
||||
#+CAPTION: Use 1.0 Artikel durchstöbern
|
||||
#+ATTR_LATEX::environment longtable :align |>{\columncolor[HTML]{EFEFEF}}p{.25\textwidth}|p{.7\textwidth}| :placement [H]
|
||||
#+NAME: tab:browse_article
|
||||
|---------------------+--------------------------------|
|
||||
| | <30> |
|
||||
| *Identifier + Name* | 1.0 Artikel durchstöbern |
|
||||
|---------------------+--------------------------------|
|
||||
| *Description* | Durchklicken der verschiedenen Kategorieren und ansehen der Artikel Details und Bilder. |
|
||||
|---------------------+--------------------------------|
|
||||
| *Actors* | Kunden, Interessenten |
|
||||
|---------------------+--------------------------------|
|
||||
| *Status* | Freigegeben |
|
||||
|---------------------+--------------------------------|
|
||||
| *Includes* | - |
|
||||
|---------------------+--------------------------------|
|
||||
| *Trigger* | User möchte Artikel einsehen |
|
||||
|---------------------+--------------------------------|
|
||||
| *Preconditions* | Website aufgerufen |
|
||||
|---------------------+--------------------------------|
|
||||
| *Postconditions* | - |
|
||||
|---------------------+--------------------------------|
|
||||
| *Normal Flow* | 1. Website aufrufen |
|
||||
| | 2. Kategorienen durchsehen |
|
||||
| | 3. Artikel anklicken |
|
||||
|---------------------+--------------------------------|
|
||||
| *Alternative Flow* | - |
|
||||
|---------------------+--------------------------------|
|
||||
| *Notes* | - |
|
||||
|---------------------+--------------------------------|
|
||||
| *UC History* | 1.0 Darft erstellt durch AZ |
|
||||
|---------------------+--------------------------------|
|
||||
| *Author* | A. Zweili & I. Hörler |
|
||||
|---------------------+--------------------------------|
|
||||
| *Date* | 16.01.2018 |
|
||||
|---------------------+--------------------------------|
|
||||
#+LATEX:}
|
||||
|
||||
***** Registration
|
||||
|
||||
#+LATEX:{\footnotesize
|
||||
#+CAPTION: Use Case 2.0 Registration
|
||||
#+ATTR_LATEX: :environment longtable :align |>{\columncolor[HTML]{EFEFEF}}p{.25\textwidth}|p{.7\textwidth}| :placement [H]
|
||||
#+NAME: tab:registration
|
||||
|---------------------+--------------------------------|
|
||||
| | <30> |
|
||||
| *Identifier + Name* | 2.0 Registration |
|
||||
|---------------------+--------------------------------|
|
||||
| *Description* | Ein User registriert sich einen Account. |
|
||||
|---------------------+--------------------------------|
|
||||
| *Actors* | Interessent |
|
||||
|---------------------+--------------------------------|
|
||||
| *Status* | Freigebgen |
|
||||
|---------------------+--------------------------------|
|
||||
| *Includes* | - |
|
||||
|---------------------+--------------------------------|
|
||||
| *Trigger* | User möchte einen Account erstellen. |
|
||||
|---------------------+--------------------------------|
|
||||
| *Preconditions* | Email Adresse vorhanden |
|
||||
|---------------------+--------------------------------|
|
||||
| *Postconditions* | Account wurde erfolgreich erstellt. |
|
||||
|---------------------+--------------------------------|
|
||||
| *Normal Flow* | 1. User klickt auf den Link "Go to registration.". |
|
||||
| | 2. User füllt das Registrations Formular aus. |
|
||||
| | 3. User schliesst die Registrierung mit Klick auf "Register" ab. |
|
||||
| | 4. Die Website leitet ihn in den Login Bereich um. |
|
||||
|---------------------+--------------------------------|
|
||||
| *Alternative Flow* | 1. User klickt auf den Link "Go to registration.". |
|
||||
| | 2. User füllt das Registrations Formular mir falschen Daten aus. |
|
||||
| | 3. Die Website gibt die entsprechenden Fehler aus. |
|
||||
| | 4. Der User korrigiert die Angaben. |
|
||||
| | 5. User schliesst die Registrierung mit Klick auf "Register" ab. |
|
||||
| | 6. Die Website leitet ihn in den Login Bereich um. |
|
||||
|---------------------+--------------------------------|
|
||||
| *Notes* | - |
|
||||
|---------------------+--------------------------------|
|
||||
| *UC History* | 1.0 Darft erstellt durch AZ |
|
||||
|---------------------+--------------------------------|
|
||||
| *Author* | A. Zweili & I. Hörler |
|
||||
|---------------------+--------------------------------|
|
||||
| *Date* | 16.01.2018 |
|
||||
|---------------------+--------------------------------|
|
||||
#+LATEX:}
|
||||
|
||||
***** User Login
|
||||
|
||||
#+LATEX:{\footnotesize
|
||||
#+CAPTION: Use Case 2.1 User Login
|
||||
#+ATTR_LATEX: :environment longtable :align |>{\columncolor[HTML]{EFEFEF}}p{.25\textwidth}|p{.7\textwidth}| :placement [H]
|
||||
#+NAME: tab:login
|
||||
|---------------------+-----------------------------|
|
||||
| *Identifier + Name* | |
|
||||
|---------------------+-----------------------------|
|
||||
| *Description* | |
|
||||
|---------------------+-----------------------------|
|
||||
| *Actors* | |
|
||||
|---------------------+-----------------------------|
|
||||
| *Status* | Freigegeben |
|
||||
|---------------------+-----------------------------|
|
||||
| *Includes* | - |
|
||||
|---------------------+-----------------------------|
|
||||
| *Trigger* | |
|
||||
|---------------------+-----------------------------|
|
||||
| *Preconditions* | |
|
||||
|---------------------+-----------------------------|
|
||||
| *Postconditions* | |
|
||||
|---------------------+-----------------------------|
|
||||
| *Normal Flow* | |
|
||||
|---------------------+-----------------------------|
|
||||
| *Alternative Flow* | - |
|
||||
|---------------------+-----------------------------|
|
||||
| *Notes* | - |
|
||||
|---------------------+-----------------------------|
|
||||
| *UC History* | 1.0 Darft erstellt durch AZ |
|
||||
|---------------------+-----------------------------|
|
||||
| *Author* | A. Zweili & I. |
|
||||
|---------------------+-----------------------------|
|
||||
| *Date* | |
|
||||
|---------------------+-----------------------------|
|
||||
|---------------------+--------------------------------|
|
||||
| | <30> |
|
||||
| *Identifier + Name* | 2.1 User Login |
|
||||
|---------------------+--------------------------------|
|
||||
| *Description* | Ein Kunde logt sich auf der Website ein. |
|
||||
|---------------------+--------------------------------|
|
||||
| *Actors* | Kunde |
|
||||
|---------------------+--------------------------------|
|
||||
| *Status* | Freigeben |
|
||||
|---------------------+--------------------------------|
|
||||
| *Includes* | - |
|
||||
|---------------------+--------------------------------|
|
||||
| *Trigger* | Ein Kunde möchte sich einloggen. |
|
||||
|---------------------+--------------------------------|
|
||||
| *Preconditions* | UC 2.0 erfolgreich abgeschlossen. |
|
||||
|---------------------+--------------------------------|
|
||||
| *Postconditions* | User hat sich erfolgreich eingeloggt. |
|
||||
|---------------------+--------------------------------|
|
||||
| *Normal Flow* | 1. User klickt in der Navigation auf "Login". |
|
||||
| | 2. User gibt Zugangsdaten ein. |
|
||||
| | 3. User beendet Login mit Klick auf "Login". |
|
||||
| | 4. Die Website leitet ihn auf die Index Seite um und zeigt neu eine "Profil" und "Logout" Schaltfläche. |
|
||||
|---------------------+--------------------------------|
|
||||
| *Alternative Flow* | 1. User klickt in der Navigation auf "Login". |
|
||||
| | 2. User gibt falsche Zugangsdaten ein. |
|
||||
| | 3. User beendet Login mit Klick auf "Login". |
|
||||
| | 4. Die Website gibt entsprechende Fehlermeldungen aus. |
|
||||
|---------------------+--------------------------------|
|
||||
| *Notes* | - |
|
||||
|---------------------+--------------------------------|
|
||||
| *UC History* | 1.0 Darft erstellt durch AZ |
|
||||
|---------------------+--------------------------------|
|
||||
| *Author* | A. Zweili & I. Hörler |
|
||||
|---------------------+--------------------------------|
|
||||
| *Date* | 16.01.2018 |
|
||||
|---------------------+--------------------------------|
|
||||
#+LATEX:}
|
||||
|
||||
***** Artikel in Warenkorb legen
|
||||
|
||||
#+LATEX:{\footnotesize
|
||||
#+CAPTION: Use Case 3.0 Artikel in Warenkorb legen
|
||||
#+ATTR_LATEX: :environment longtable :align |>{\columncolor[HTML]{EFEFEF}}p{.25\textwidth}|p{.7\textwidth}| :placement [H]
|
||||
#+NAME: tab:cart
|
||||
|---------------------+--------------------------------|
|
||||
| | <30> |
|
||||
| *Identifier + Name* | 3.0 Artikel in Warenkorb legen |
|
||||
|---------------------+--------------------------------|
|
||||
| *Description* | Ein Kunde legt einen Artikel in den Warenkorb. |
|
||||
|---------------------+--------------------------------|
|
||||
| *Actors* | Kunde |
|
||||
|---------------------+--------------------------------|
|
||||
| *Status* | Freigeben |
|
||||
|---------------------+--------------------------------|
|
||||
| *Includes* | - |
|
||||
|---------------------+--------------------------------|
|
||||
| *Trigger* | Ein Kunde möchte einen Artikel kaufen. |
|
||||
|---------------------+--------------------------------|
|
||||
| *Preconditions* | UC2.1 erfolgreich abgeschlossen. |
|
||||
|---------------------+--------------------------------|
|
||||
| *Postconditions* | Artikel wurde im Warenkorb gespeichert. |
|
||||
|---------------------+--------------------------------|
|
||||
| *Normal Flow* | 1. User klickt einen Artikel an. |
|
||||
| | 2. User klickt auf "Add to cart". |
|
||||
| | 3. Die Website speichert den Artikel im Warenkorb. |
|
||||
|---------------------+--------------------------------|
|
||||
| *Alternative Flow* | 1. User klickt einen Artikel mit Stock "0.0" an. |
|
||||
| | 2. User klickt auf "Add to cart". |
|
||||
| | 3. Die Website meldet "We are sorry but this item is out of stock.". |
|
||||
|---------------------+--------------------------------|
|
||||
| *Notes* | - |
|
||||
|---------------------+--------------------------------|
|
||||
| *UC History* | 1.0 Darft erstellt durch AZ |
|
||||
|---------------------+--------------------------------|
|
||||
| *Author* | A. Zweili & I. Hörler |
|
||||
|---------------------+--------------------------------|
|
||||
| *Date* | 16.01.2018 |
|
||||
|---------------------+--------------------------------|
|
||||
#+LATEX:}
|
||||
|
||||
***** Währung ändern
|
||||
|
||||
#+LATEX:{\footnotesize
|
||||
#+CAPTION: Use Case 3.1 Währung ändern
|
||||
#+ATTR_LATEX: :environment longtable :align |>{\columncolor[HTML]{EFEFEF}}p{.25\textwidth}|p{.7\textwidth}| :placement [H]
|
||||
#+NAME: tab:currency
|
||||
|---------------------+--------------------------------|
|
||||
| | <30> |
|
||||
| *Identifier + Name* | 3.1 Währung ändern |
|
||||
|---------------------+--------------------------------|
|
||||
| *Description* | Ein User ändert die Währung für die Preise. |
|
||||
|---------------------+--------------------------------|
|
||||
| *Actors* | Kunde, Interessent |
|
||||
|---------------------+--------------------------------|
|
||||
| *Status* | Freigeben |
|
||||
|---------------------+--------------------------------|
|
||||
| *Includes* | - |
|
||||
|---------------------+--------------------------------|
|
||||
| *Trigger* | Ein User möchte sich die Preise in einer anderen Währung anzeigen lassen. |
|
||||
|---------------------+--------------------------------|
|
||||
| *Preconditions* | - |
|
||||
|---------------------+--------------------------------|
|
||||
| *Postconditions* | Die Preise werden in der gewünschten Währung angezeigt. |
|
||||
|---------------------+--------------------------------|
|
||||
| *Normal Flow* | 1. Der User wählt im Drop-Down die gewünschte Währung aus. |
|
||||
| | 2. Die Website aktualisiert und zeigt die neu berechneten Preise an. |
|
||||
|---------------------+--------------------------------|
|
||||
| *Alternative Flow* | - |
|
||||
|---------------------+--------------------------------|
|
||||
| *Notes* | - |
|
||||
|---------------------+--------------------------------|
|
||||
| *UC History* | 1.0 Darft erstellt durch AZ |
|
||||
|---------------------+--------------------------------|
|
||||
| *Author* | A. Zweili & I. Hörler |
|
||||
|---------------------+--------------------------------|
|
||||
| *Date* | 16.01.2018 |
|
||||
|---------------------+--------------------------------|
|
||||
#+LATEX:}
|
||||
|
||||
***** Checkout
|
||||
|
||||
#+LATEX:{\footnotesize
|
||||
#+CAPTION: Use Case 3.2 Checkout
|
||||
#+ATTR_LATEX: :environment longtable :align |>{\columncolor[HTML]{EFEFEF}}p{.25\textwidth}|p{.7\textwidth}| :placement [H]
|
||||
#+NAME: tab:checkout
|
||||
|---------------------+--------------------------------|
|
||||
| | <30> |
|
||||
| *Identifier + Name* | 3.2 Checkout |
|
||||
|---------------------+--------------------------------|
|
||||
| *Description* | User gibt seinen Warenkorb als Bestellung auf. |
|
||||
|---------------------+--------------------------------|
|
||||
| *Actors* | Kunde |
|
||||
|---------------------+--------------------------------|
|
||||
| *Status* | Freigeben |
|
||||
|---------------------+--------------------------------|
|
||||
| *Includes* | - |
|
||||
|---------------------+--------------------------------|
|
||||
| *Trigger* | Ein Kunde möchte seine Artikel im Warenkorb bestellen. |
|
||||
|---------------------+--------------------------------|
|
||||
| *Preconditions* | UC2.1 und UC3.0 erfolgreich abgeschlossen. |
|
||||
|---------------------+--------------------------------|
|
||||
| *Postconditions* | Die Bestellung wurde von der Website gespeichert. |
|
||||
|---------------------+--------------------------------|
|
||||
| *Normal Flow* | 1. Der User klickt in der Navigation auf "Cart". |
|
||||
| | 2. Die Website leitet ihn zum Warenkorb um. |
|
||||
| | 3. Der User klickt dort auf "Checkout". |
|
||||
| | 4. Die Website gibt ihm eine komplette Übersicht der Bestellung sowie der Empfängeradresse. |
|
||||
| | 5. User klickt auf "Send order". |
|
||||
|---------------------+--------------------------------|
|
||||
| *Alternative Flow* | 1. Der User klickt in der Navigation auf "Cart". |
|
||||
| | 2. Die Website leitet ihn zum Warenkorb um. |
|
||||
| | 3. Der User klickt dort auf "Checkout". |
|
||||
| | 4. Die Website gibt ihm eine komplette Übersicht der Bestellung sowie der Empfängeradresse. |
|
||||
| | 5. Der User bricht die Bestellung mit Klick auf "Cancel" ab. |
|
||||
|---------------------+--------------------------------|
|
||||
| *Notes* | - |
|
||||
|---------------------+--------------------------------|
|
||||
| *UC History* | 1.0 Darft erstellt durch AZ |
|
||||
|---------------------+--------------------------------|
|
||||
| *Author* | A. Zweili & I. Hörler |
|
||||
|---------------------+--------------------------------|
|
||||
| *Date* | 16.01.2018 |
|
||||
|---------------------+--------------------------------|
|
||||
#+LATEX:}
|
||||
|
||||
***** User Passwort ändern
|
||||
|
||||
#+LATEX:{\footnotesize
|
||||
#+CAPTION: 4.0 User Passwort ändern
|
||||
#+ATTR_LATEX: :environment longtable :align |>{\columncolor[HTML]{EFEFEF}}p{.25\textwidth}|p{.7\textwidth}| :placement [H]
|
||||
#+NAME: tab:password
|
||||
|---------------------+--------------------------------|
|
||||
| | <30> |
|
||||
| *Identifier + Name* | 4.0 User Passwort ändern |
|
||||
|---------------------+--------------------------------|
|
||||
| *Description* | Ein Administrator ändert ein User Kennwort. |
|
||||
|---------------------+--------------------------------|
|
||||
| *Actors* | Verwaltung |
|
||||
|---------------------+--------------------------------|
|
||||
| *Status* | Freigeben |
|
||||
|---------------------+--------------------------------|
|
||||
| *Includes* | - |
|
||||
|---------------------+--------------------------------|
|
||||
| *Trigger* | Ein Administrator möchte ein Passwort zurücksetzen weil es vergessen wurde. |
|
||||
|---------------------+--------------------------------|
|
||||
| *Preconditions* | Account mit Administrationsrechten vorhanden. |
|
||||
|---------------------+--------------------------------|
|
||||
| *Postconditions* | Auf dem User Account wurde ein neues Passwort gesetzt. |
|
||||
|---------------------+--------------------------------|
|
||||
| *Normal Flow* | 1. Der Administrator loggt sich unter https://didgeridoo.ml/admin ein. |
|
||||
| | 2. Admin klickt auf "Users". |
|
||||
| | 3. Admin wählt den passenden Account aus. |
|
||||
| | 4. Klickt unterhalb des Passwort Hashes auf "this form". |
|
||||
| | 5. Gibt zweimal das neue Passwort ein und klickt "Change password". |
|
||||
| | 6. Die Website leitet den Admin zurück zu den User Details. |
|
||||
|---------------------+--------------------------------|
|
||||
| *Alternative Flow* | 1. Der Administrator loggt sich unter https://didgeridoo.ml/admin ein. |
|
||||
| | 2. Admin klicht auf "Users". |
|
||||
| | 3. Admin wählt den passenden Account aus. |
|
||||
| | 4. Klickt unterhalb des Passwort Hashes auf "this form". |
|
||||
| | 5. Gibt zweimal ein invalides Passwort ein und klickt "Change password". |
|
||||
| | 6. Die Website gibt eine entsprechende Fehlermeldung aus. |
|
||||
| | 7. Der Admin korrigiert die Passwörter und klickt auf "Change password". |
|
||||
| | 8. Die Website leitet den Admin zurück zu den User Details. |
|
||||
|---------------------+--------------------------------|
|
||||
| *Notes* | - |
|
||||
|---------------------+--------------------------------|
|
||||
| *UC History* | 1.0 Darft erstellt durch AZ |
|
||||
|---------------------+--------------------------------|
|
||||
| *Author* | A. Zweili & I. Hörler |
|
||||
|---------------------+--------------------------------|
|
||||
| *Date* | 16.01.2018 |
|
||||
|---------------------+--------------------------------|
|
||||
#+LATEX:}
|
||||
|
||||
***** Artikel erfassen
|
||||
|
||||
#+LATEX:{\footnotesize
|
||||
#+CAPTION: 5.0 Artikel erfassen
|
||||
#+ATTR_LATEX: :environment longtable :align |>{\columncolor[HTML]{EFEFEF}}p{.25\textwidth}|p{.7\textwidth}| :placement [H]
|
||||
#+NAME: tab:create_article
|
||||
|---------------------+--------------------------------|
|
||||
| | <30> |
|
||||
| *Identifier + Name* | 5.0 Artikel erfassen |
|
||||
|---------------------+--------------------------------|
|
||||
| *Description* | Ein Administrator erfasst einen neuen Artikel mit Bildern. |
|
||||
|---------------------+--------------------------------|
|
||||
| *Actors* | Verwaltung |
|
||||
|---------------------+--------------------------------|
|
||||
| *Status* | Freigeben |
|
||||
|---------------------+--------------------------------|
|
||||
| *Includes* | - |
|
||||
|---------------------+--------------------------------|
|
||||
| *Trigger* | Um das Sortiment zu erweitern möchte der Administrator einen neuen Artikel erfassen. |
|
||||
|---------------------+--------------------------------|
|
||||
| *Preconditions* | Account mit Administrationsrechten vorhanden. |
|
||||
|---------------------+--------------------------------|
|
||||
| *Postconditions* | Der Artikel wir im Webshop angezeigt. |
|
||||
|---------------------+--------------------------------|
|
||||
| *Normal Flow* | 1. Der Administrator loggt sich unter https://didgeridoo.ml/admin ein. |
|
||||
| | 2. Admin klickt neben "Articles" auf "+ Add". |
|
||||
| | 3. Admin füllt das Formular aus und lädt ein Bild hoch. |
|
||||
| | 4. Klickt unten rechts auf "Save". |
|
||||
| | 5. Die Website speichert den Artikel in der Datenbank. |
|
||||
|---------------------+--------------------------------|
|
||||
| *Alternative Flow* | 1. Der Administrator loggt sich unter https://didgeridoo.ml/admin ein. |
|
||||
| | 2. Admin klickt neben "Articles" auf "+ Add". |
|
||||
| | 3. Admin füllt das Formular aus und lädt zuviele Bilder hoch. |
|
||||
| | 4. Klickt unten rechts auf "Save". |
|
||||
| | 5. Die Website gibt eine entsprechende Fehlermeldung aus. |
|
||||
| | 6. Der Admin entfernt die überzähligen Bilder. |
|
||||
| | 7. Die Website speichert den Artikel in der Datenbank. |
|
||||
|---------------------+--------------------------------|
|
||||
| *Notes* | - |
|
||||
|---------------------+--------------------------------|
|
||||
| *UC History* | 1.0 Darft erstellt durch AZ |
|
||||
|---------------------+--------------------------------|
|
||||
| *Author* | A. Zweili & I. Hörler |
|
||||
|---------------------+--------------------------------|
|
||||
| *Date* | 16.01.2018 |
|
||||
|---------------------+--------------------------------|
|
||||
#+LATEX:}
|
||||
|
||||
***** max_pictures Option anpassen
|
||||
|
||||
#+LATEX:{\footnotesize
|
||||
#+CAPTION: Use Case 6.0 max_pictures Option anpassen
|
||||
#+ATTR_LATEX: :environment longtable :align |>{\columncolor[HTML]{EFEFEF}}p{.25\textwidth}|p{.7\textwidth}| :placement [H]
|
||||
#+NAME: tab:max_pictures
|
||||
|---------------------+--------------------------------|
|
||||
| | <30> |
|
||||
| *Identifier + Name* | 6.0 max_pictures Option anpassen |
|
||||
|---------------------+--------------------------------|
|
||||
| *Description* | Ein Administrator ändert die max_pictures Option. |
|
||||
|---------------------+--------------------------------|
|
||||
| *Actors* | Verwaltung |
|
||||
|---------------------+--------------------------------|
|
||||
| *Status* | Freigeben |
|
||||
|---------------------+--------------------------------|
|
||||
| *Includes* | - |
|
||||
|---------------------+--------------------------------|
|
||||
| *Trigger* | Ein Administrator möchte die maximale Anzahl Bilder pro Artikel anpassen. |
|
||||
|---------------------+--------------------------------|
|
||||
| *Preconditions* | Account mit Administrationsrechten vorhanden. |
|
||||
|---------------------+--------------------------------|
|
||||
| *Postconditions* | Der neue Wert wurde von der Website gespeichert. |
|
||||
|---------------------+--------------------------------|
|
||||
| *Normal Flow* | 1. Der Administrator loggt sich unter https://didgeridoo.ml/admin ein. |
|
||||
| | 2. Admin klickt auf "Options" und anschliessend auf "max_pictures". |
|
||||
| | 3. Admin ändert den Wert "Value" zu einer Ganzzahl seiner Wahl. |
|
||||
| | 4. Klickt unten rechts auf "Save". |
|
||||
| | 5. Die Website speichert den Wert in der Datenbank. |
|
||||
|---------------------+--------------------------------|
|
||||
| *Alternative Flow* | 1. Der Administrator loggt sich unter https://didgeridoo.ml/admin ein. |
|
||||
| | 2. Admin klickt auf "Options" und anschliessend auf "max_pictures". |
|
||||
| | 3. Admin ändert den Wert "Value" zu einer Gleitzahl seiner Wahl. |
|
||||
| | 4. Klickt unten rechts auf "Save". |
|
||||
| | 5. Die Website gibt eine entsprechende Fehlermeldung aus. |
|
||||
| | 6. Der Admin korrigiert den Wert und klickt "Save". |
|
||||
| | 7. Die Website speichert den Wert in der Datenbank. |
|
||||
|---------------------+--------------------------------|
|
||||
| *Notes* | - |
|
||||
|---------------------+--------------------------------|
|
||||
| *UC History* | 1.0 Darft erstellt durch AZ |
|
||||
|---------------------+--------------------------------|
|
||||
| *Author* | A. Zweili & I. Hörler |
|
||||
|---------------------+--------------------------------|
|
||||
| *Date* | 16.01.2018 |
|
||||
|---------------------+--------------------------------|
|
||||
#+LATEX:}
|
||||
|
||||
***** Bestellung ändern/korrigieren
|
||||
|
||||
#+LATEX:{\footnotesize
|
||||
#+CAPTION: Use Case 7.0 Bestellung ändern/korrigieren
|
||||
#+ATTR_LATEX: :environment longtable :align |>{\columncolor[HTML]{EFEFEF}}p{.25\textwidth}|p{.7\textwidth}| :placement [H]
|
||||
#+NAME: tab:change_order
|
||||
|---------------------+--------------------------------|
|
||||
| | <30> |
|
||||
| *Identifier + Name* | 7.0 Bestellung ändern/korrigieren |
|
||||
|---------------------+--------------------------------|
|
||||
| *Description* | Ein Administrator korrigiert eine Bestellung. |
|
||||
|---------------------+--------------------------------|
|
||||
| *Actors* | Verwaltung |
|
||||
|---------------------+--------------------------------|
|
||||
| *Status* | Freigeben |
|
||||
|---------------------+--------------------------------|
|
||||
| *Includes* | - |
|
||||
|---------------------+--------------------------------|
|
||||
| *Trigger* | Administrator ändert auf Wunsch eines Kunden eine Bestellung. |
|
||||
|---------------------+--------------------------------|
|
||||
| *Preconditions* | Account mit Administrationsrechten vorhanden. |
|
||||
|---------------------+--------------------------------|
|
||||
| *Postconditions* | Die Bestellung hat eine angepasste Artikel Menge. |
|
||||
|---------------------+--------------------------------|
|
||||
| *Normal Flow* | 1. Der Administrator loggt sich unter https://didgeridoo.ml/admin ein. |
|
||||
| | 2. Admin klickt auf "Orders" und anschliessend auf die passende Order ID. |
|
||||
| | 3. Admin ändert den Wert "Amount" des ersten Artikels zu 0. |
|
||||
| | 4. Klickt unten rechts auf "Save". |
|
||||
| | 5. Die Website speichert die Bestellung in der Datenbank. |
|
||||
|---------------------+--------------------------------|
|
||||
| *Alternative Flow* | - |
|
||||
|---------------------+--------------------------------|
|
||||
| *Notes* | - |
|
||||
|---------------------+--------------------------------|
|
||||
| *UC History* | 1.0 Darft erstellt durch AZ |
|
||||
|---------------------+--------------------------------|
|
||||
| *Author* | A. Zweili & I. Hörler |
|
||||
|---------------------+--------------------------------|
|
||||
| *Date* | 16.01.2018 |
|
||||
|---------------------+--------------------------------|
|
||||
#+LATEX:}
|
||||
|
||||
*** NEXT Mockup
|
||||
|
||||
#+CAPTION: Ein frühes Mockup des Shop
|
||||
#+ATTR_LATEX: :width \textwidth
|
||||
#+NAME: mockup
|
||||
[[file:pictures/mockup-full-snipet.png][file:pictures/mockup-full-snipet.png]]
|
||||
[[./pictures/mockup-full-snipet.png]]
|
||||
|
||||
*** TODO Models
|
||||
|
||||
\footcite{djangoextensions}
|
||||
|
||||
*** TODO Klassendiagramme der Models
|
||||
**** NEXT Category
|
||||
|
||||
#+ATTR_LATEX: :width 9cm
|
||||
\footcite{tree}
|
||||
|
||||
#+ATTR_LATEX: :width 9cm :placement [H]
|
||||
#+CAPTION: Klassenmodel für Kategorien
|
||||
#+NAME: fig:category
|
||||
[[file:pictures/class_category.png]]
|
||||
[[./pictures/class_category.png]]
|
||||
|
||||
|
||||
**** NEXT Option
|
||||
|
||||
#+ATTR_LATEX: :width 9cm
|
||||
\footcite{readonly}
|
||||
\footcite{removeadd}
|
||||
\footcite{removedelete}
|
||||
|
||||
#+ATTR_LATEX: :width 9cm :placement [H]
|
||||
#+CAPTION: Klassenmodel für Optionen
|
||||
#+NAME: fig:option
|
||||
[[file:pictures/class_option.png][file:pictures/class_option.png]]
|
||||
|
||||
**** NEXT Setting
|
||||
|
||||
#+ATTR_LATEX: :width 9cm
|
||||
#+CAPTION: Klassenmodel für Einstellungen
|
||||
#+NAME: fig:umweltgrafik
|
||||
[[file:pictures/class_setting.png][file:pictures/class_setting.png]]
|
||||
[[./pictures/class_option.png]]
|
||||
|
||||
**** NEXT ArticleStatus
|
||||
|
||||
#+ATTR_LATEX: :width 9cm
|
||||
#+ATTR_LATEX: :width 9cm :placement [H]
|
||||
#+CAPTION: Klassenmodel für Artikelstatus
|
||||
#+NAME: fig:articlestatus
|
||||
[[file:pictures/class_articlestatus.png][file:pictures/class_articlestatus.png]]
|
||||
[[./pictures/class_articlestatus.png]]
|
||||
|
||||
**** TODO ExchangeRate
|
||||
|
||||
#+ATTR_LATEX: :width 9cm
|
||||
\footcite{timezone}
|
||||
|
||||
#+ATTR_LATEX: :width 9cm :placement [H]
|
||||
#+CAPTION: Klassenmodel für Wechselkurse
|
||||
#+NAME: fig:exchangerate
|
||||
[[file:pictures/class_exchangerate.png][file:pictures/class_exchangerate.png]]
|
||||
[[./pictures/class_exchangerate.png]]
|
||||
|
||||
**** NEXT Article
|
||||
|
||||
#+ATTR_LATEX: :width 9cm
|
||||
#+ATTR_LATEX: :width 9cm :placement [H]
|
||||
#+CAPTION: Klassenmodel für Artikel
|
||||
#+NAME: fig:article
|
||||
[[file:pictures/class_article.png][file:pictures/class_article.png]]
|
||||
[[./pictures/class_article.png]]
|
||||
|
||||
**** NEXT OrderStatus
|
||||
|
||||
#+ATTR_LATEX: :width 9cm
|
||||
#+ATTR_LATEX: :width 9cm :placement [H]
|
||||
#+CAPTION: Klassenmodel für Bestellstatus
|
||||
#+NAME: fig:orderstatus
|
||||
[[file:pictures/class_orderstatus.png][file:pictures/class_orderstatus.png]]
|
||||
[[./pictures/class_orderstatus.png]]
|
||||
|
||||
**** NEXT OrderOfGoods
|
||||
|
||||
#+ATTR_LATEX: :width 9cm
|
||||
#+ATTR_LATEX: :width 9cm :placement [H]
|
||||
#+CAPTION: Klassenmodel für Warenbestellungen
|
||||
#+NAME: fig:orderofgoods
|
||||
[[file:pictures/class_orderofgoods.png][file:pictures/class_orderofgoods.png]]
|
||||
[[./pictures/class_orderofgoods.png]]
|
||||
|
||||
**** NEXT Picture
|
||||
|
||||
#+ATTR_LATEX: :width 9cm
|
||||
\footcite{upload}
|
||||
\footcite{images}
|
||||
|
||||
#+ATTR_LATEX: :width 9cm :placement [H]
|
||||
#+CAPTION: Klassenmodel für Bilder
|
||||
#+NAME: fig:picture
|
||||
[[file:pictures/class_picture.png][file:pictures/class_picture.png]]
|
||||
[[./pictures/class_picture.png]]
|
||||
|
||||
**** NEXT Order
|
||||
|
||||
#+ATTR_LATEX: :width 9cm
|
||||
#+ATTR_LATEX: :width 9cm :placement [H]
|
||||
#+CAPTION: Klassenmodel für Bestellungen
|
||||
#+NAME: fig:order
|
||||
[[file:pictures/class_order.png][file:pictures/class_order.png]]
|
||||
[[./pictures/class_order.png]]
|
||||
|
||||
**** NEXT ShoppingCart
|
||||
|
||||
#+ATTR_LATEX: :width 9cm
|
||||
#+ATTR_LATEX: :width 9cm :placement [H]
|
||||
#+CAPTION: Klassenmodel für Warenkörbe
|
||||
#+NAME: fig:shoppingcart
|
||||
[[file:pictures/class_shoppingcart.png][file:pictures/class_shoppingcart.png]]
|
||||
[[./pictures/class_shoppingcart.png]]
|
||||
|
||||
**** NEXT City
|
||||
|
||||
#+ATTR_LATEX: :width 9cm
|
||||
#+ATTR_LATEX: :width 9cm :placement [H]
|
||||
#+CAPTION: Klassenmodel für Städte
|
||||
#+NAME: fig:city
|
||||
[[file:pictures/class_city.png][file:pictures/class_city.png]]
|
||||
[[./pictures/class_city.png]]
|
||||
|
||||
**** NEXT Salutation
|
||||
|
||||
#+ATTR_LATEX: :width 9cm
|
||||
#+ATTR_LATEX: :width 9cm :placement [H]
|
||||
#+CAPTION: Klassenmodel für Anreden
|
||||
#+NAME: fig:salutation
|
||||
[[file:pictures/class_salutation.png][file:pictures/class_salutation.png]]
|
||||
[[./pictures/class_salutation.png]]
|
||||
|
||||
**** NEXT Person
|
||||
|
||||
#+ATTR_LATEX: :width 9cm
|
||||
\footcite{usermodel}
|
||||
|
||||
#+ATTR_LATEX: :width 9cm :placement [H]
|
||||
#+CAPTION: Klassenmodel für Personen
|
||||
#+NAME: fig:person
|
||||
[[file:pictures/class_person.png][file:pictures/class_person.png]]
|
||||
[[./pictures/class_person.png]]
|
||||
|
||||
** Benutzerinterface
|
||||
*** Mockup skizzieren
|
||||
*** Frontend Umsetzung
|
||||
*** Backend Umsetzung
|
||||
|
||||
** Testfälle
|
||||
** Testing
|
||||
|
||||
*** Fixtures
|
||||
|
||||
#+LATEX:\newpage
|
||||
#+LATEX:\begin{landscape}
|
||||
*** Testfälle
|
||||
|
||||
#+CAPTION: Testfälle
|
||||
#+ATTR_LATEX: :environment longtable :align |>{\columncolor[HTML]{EFEFEF}}p{1.5cm}|p{2.5cm}|p{2.5cm}|p{2.5cm}|p{2.5cm}|p{2.5cm}|p{2.5cm}|p{2.5cm}|
|
||||
#+ATTR_LATEX: :environment longtable :align |>{\columncolor[HTML]{EFEFEF}}p{1.5cm}|p{2.5cm}|p{2.5cm}|p{2.5cm}|p{2.5cm}|p{2.5cm}|p{2.5cm}|p{2.5cm}| :placement [H]
|
||||
#+NAME: tab:testcases
|
||||
|----------------------+----------------------+----------------------+----------------------+----------------------+----------------------+----------------------+----------------------|
|
||||
| <20> | <20> | <20> | <20> | <20> | <20> | <20> | <20> |
|
||||
|
|
Loading…
Reference in New Issue