Systemdesign\Wareneingangsverbuchung (Julian Linus) - notrautmann/TINF23CS1 GitHub Wiki

Requirements

Lesezugriff auf Daten im System

  • Zutaten mit EAN
    • Annahme: Jedes Produkt hat eine EAN und damit automatisch eine Mengeneinheit, da verschiedene Packungsgrößen unterschiedliche EANs haben
    • Jede EAN darf nur einmal vergeben sein
  • Bestellungen (erwartete Ware)
    • Einem Lieferanten zugewiesen
    • Zutaten inklusive Menge

Schreibzugriff auf Daten im System

  • Bestellung: ausstehende Ware aktualisieren
  • Lagerbestand: pro Zutat erhöhen

Extern

UI Funktionen

  1. Auswahl Lieferant / Bestellung

    • Lieferant / Bestellung soll auf Basis des Namen des Lieferanten, Bestell-Nr. oder der EAN eines gelieferten Produktes gesucht und ausgewählt werden, damit die Wareneingänge der korrekten Bestellung zugeordnet werden.
  2. Manuelle Buchung

    • Suche & Auswahl der Ware (Zutat) in der Bestellung über Name des Artikels, EAN oder aus Liste der gesamten Bestellung
    • Option Ware zu akzeptieren / abzulehnen, wenn beschädigt, falsch geliefert o.ä.

Workflow

flowchart TD;
    start[Warenanlieferung];
    vendor[Auswahl Bestellung im UI];
    check{Barcode mit EAN auf Ware vorhanden und lesbar?}
    scan[Scan];
    manual[Manuelle Eingabe UI];
    scanInterface[Schnittstelle Applikation];
    checkAPI{Produkt in Bestellung und Bestellmenge noch nicht komplett verbucht?};
    accept[Ware einbuchen];
    deny[Ware ablehnen];
    checkManual{Ware einbuchen?};
    stock[Bestand aktualisieren];
    order[Ausstehende Menge reduzieren];
    start-->vendor;
    vendor-->check;
    check-->|Ja| scan;
    check-->|Nein| manual;
    scan-->|Übertragung EAN| scanInterface;
    scanInterface-->checkAPI;
    checkAPI-->|Ja| accept;
    checkAPI-->|Nein| manual;
    manual-->checkManual;
    checkManual-->|Ja| accept;
    checkManual-->|Nein| deny;
    accept-->stock;
    accept-->order;

UI Wireframes

Aufnahme Bestellung

image

Buchung Ware

image