User Tools

Site Tools


requirements:informelle_anforderungen

This is an old revision of the document!


Funktionale Anforderungen

Allgemeine Anforderungen

  • die App besteht aus einem Kern (“core”)
    • der core darf zu keinem Zeitpunkt network-permission bekommen
      • das sollte auch beworben werden
  • geplant sind Zusatzmodule für erweiterte Funktionen
    • diese Module können auch network-permission bekommen
    • die Module sollen sich über den Play-Store nachinstallieren lassen (wie z.B. die App “TaskBomb”)
    • UNKLAR: wie bewirbt man neue Module ohne network-permission?

Datenbank

  • für die persistente Datenhaltung speichert die App Informationen in einer Datenbank
  • die Datenbank hält Tabellen bereit für
    • Lebensmittel
    • Rezepte
    • Statistiken
    • Benutzerdaten
  • die Suche nach Werten in der Datenbank muss mit AutoCompleteTextViews oder vergleichbaren UI-Elementen passieren
  • die Datenbank kommt mit zentral moderierten und manuell ergänzten default-Einträgen
    • VISION: Benutzerinteraktion:
      • Benutzer können über ein Zusatzmodul Rezepte austauschen oder irgendwie zentral hochladen
      • wenn ein Rezept zentral hochgeladen wurde, darf ein Rezept erst nach Moderation freigegeben werden
  • die Datenbank kann durch den Benutzer durch Eingabe Lebensmitteln, Rezepten und Benutzerdaten

Lebensmittel

  • Benutzer kann Lebensmittel (“food”) eingeben und speichern.
  • ein Lebensmittel hat Angabe über
    • kcal
    • Protein
    • Kohlehydrate
    • Bezugseinheit
      • die Maßeinheit, auf die sich die oben genannten Werte beziehen, z.B. 100 g)
      • default ist “Portion”
    • EAN
  • die Angaben der Lebensmittel müssen erweiterbar sein (für den späteren Gebrauch, z.B. Angaben über Vitamingehalt → evtl. sogar für Benutzer einstellbar?)

Rezepte

  • Benutzer kann Rezepte (“recipes”) eingeben und speichern
  • ein recipe besteht aus
    • einem Namen
    • >1 Zutaten, die wiederum Lebensmitteln (“food”) oder anderen recipes entsprechen
      • UNKLAR: Was passiert, wenn ein food eingegeben wird, das bisher noch nicht als food gespeichert wurde?
    • gewichteter Mittelwert aller Nährstoffangaben
    • Bezugseinheit
      • wie bei food. Wenn eine gemeinsame Einheit gefunden wird, dann wird auf diese Einheit Bezug genommen. Ist keine gemeinsame Einheit vorhanden, wird ein default “Portion” verlangt (“das Rezept ist für 4 Portionen”)

Tagebuch

  • die App hat ein Tagebuch
  • das Tagebuch besteht aus Einträgen (“entries”)
  • ein Entry besteht >=1 Mahlzeiten (“meals”)
  • ein meal besteht aus einem food oder eine Portion eines Rezepts
  • NEU und UNKLAR ein Eintrag kann ein “temporäres recipe” sein
    • ein temporäres Recipe ist ein generisches Rezept, dass sich häufig ändert (“Butterbrot mit XY-Belag”)
    • Idee dahinter ist, dass einige entries merkwürdig erscheinen können, wenn sie einzeln und nicht summiert erscheinen: z.B.: “66g Brot, 5g Margarine, 16g Salami” → das ergibt zusammen “ein Butterbrot”, ist aber kein dauerhaftes Rezept
  • das Tagebuch zeigt die neusten Einträge oben
  • jeder neu eingefügte entry muss zuverlässig gespeichert werden
  • jeder entry summiert alle Nährstoffe in einer Übersicht
  • jeder entry vergleicht die summierten Nährstoffe mit einem Tagessoll
    • ein Tagessoll ist z.B. die maximale Menge an kcal, die ein Benutzer am Tag zu sich nehmen möchte
    • dieser Tagessoll muss vom Benutzer festgelegt werden
    • es müssen für unerfahrene Benutzer hier Vorschläge über durchschnittliche Werte angegeben werden (eine erwachsene Frau im Alter von 30 Jahren benötigt im Durchschnitt 2000 kcal/Tag, um nicht zuzunehmen)
    • Vision: es gibt solche Rechner im INet zuhauf, aber vielleicht integriert man einen einfachen Schätzer, der durch Fragen an den Benutzer (Welche Tätigkeit üben sie aus → sitzend, vorwiegend sitzend, leichte körperliche Arbeit…; wie viel Sport treiben Sie…) einen zirka-Wert für die Sollwerte berechnet
    • UNKLAR: Was passiert beim Unterschreiten oder Überschreiten? Da müssen Toleranzwerte festgelegt werden

Statistiken

Benutzerdaten

  • Benutzerdaten sind Daten, die für einen Benutzer individuell angelegt werden und diesen beschreiben
  • Bestandteil der Benutzerdaten sind
    • Angaben über Zielwerte der Nährstoffe (kcal, Protein,…)
requirements/informelle_anforderungen.1377944846.txt.gz · Last modified: 2013/08/31 12:27 by martin