it-swarm.com.de

Besserer Weg, um eine dynamische Hierarchie zu implementieren

Nur ein bisschen Hintergrundwissen, ich schreibe Geschäftsanwendungen und habe mich nie mit der Benutzererfahrung befasst. Wenn die Anwendung funktioniert, wird diese ausgeliefert. Ich habe angefangen, mein Denken zu ändern, da ich meine Software verwenden musste und fand es unangenehm, sie zu verwenden. Es war nichts falsch daran, es machte Sinn und es funktionierte, aber es war sehr mühsam zu benutzen. Das hat mich dazu gebracht, UX-Blogs zu lesen und das Gehirn zum Nachdenken zu bringen. Es muss einen besseren Weg geben.

Nun zum Punkt der Frage, ich habe ein neues Projekt für eine Bergbauabteilung, die Arbeiten gegen einen Quellort (wo der Schmutz/die Kohle aufgenommen wird) und einen Zielort (wo er abgeladen wird) und ein Material (das Budget) budgetieren muss. verschiedene Arten von Schmutz und Kohle)

Auf einem Minenstandort kann es viele Standorte geben, je nach Mine zwischen 1000 und 30000, aber für die Budgetierung in einem Monat könnten beispielsweise 20 bis 50 Standorte verwendet werden. Die Anzahl der Ziele ist zwischen 10 und 100 weitaus geringer. Je nach Mine sind die Materialien zwischen 3 und 20 weitaus geringer.

Für eine bestimmte Kombination aus Standort, Zielort und Material muss nun ein Budget/eine Schätzung gespeichert werden. Grundsätzlich plant der Standort, für den Monat Juni 2012 10.000 Tonnen Kohle von diesem Standort an diesen Bestimmungsort zu bringen.

Für die Benutzeroberfläche sehe ich eine Baumansichtsstruktur, die den Standort, das Ziel und die Materialkombination enthält. Unten ist ein grobes Modell der Baumstruktur. Rechts neben dem Baum habe ich eine Liste mit Start- und Enddaten und -mengen, die angezeigt werden, wenn ein Material im Baum ausgewählt wird.

Location30 
    Destination5
        Material2
        Material3
    Destination8
        Material2
        Material6
Location443
    Destination5
        Material1
        Material2
        Material3

Die Mengenansicht sieht folgendermaßen aus (sie verfügt über eigene neue Schaltflächen zum Bearbeiten/Löschen), die dem ausgewählten Material in der Baumansicht zugewiesen werden.

Start date   End date       Qty
1/June/2012  30/June/2012   10000
1/July/2012  31/July/2012   12000

Normalerweise wäre mein erster Gedanke, den Benutzer dazu zu bringen, jede mögliche Kombination einzeln zur Baumansicht hinzuzufügen, indem er eine Schaltfläche zum Hinzufügen verwendet, um ein Formular anzuzeigen, das die drei Felder mit Speichern und Abbrechen enthält. Das ist aus Anwendersicht eine wirklich unkühle Art, aber aus Entwicklersicht sehr einfach und schnell zu implementieren.

Aber wie kann ich den Benutzer die Baumliste aus 30000 Standorten, 50 Zielen und 20 Materialien so erstellen lassen, dass ein guter UX entsteht?

Ich habe darüber nachgedacht, 3 Umschaltbereiche neben der Baumansicht hinzuzufügen, jeweils einen für Standort, Ziel und Material. Wenn Sie auf den Standortschalter klicken, wird eine Liste mit Standorten angezeigt, an der der Benutzer mehrere Standorte gleichzeitig auf den Baum ziehen kann. Das Gleiche gilt für Ziele und Materialien (Ziele, die auf Orte und Materialien auf Ziele gezogen wurden. Obwohl mir das viel besser erscheint als mein ursprünglicher Plan, scheint es immer noch nicht der beste Weg zu sein.

Um die Sache etwas komplizierter zu machen, kann ich sehen, dass einige Benutzer mit Material als erstem Knoten wie Material-> Ort-> Ziel anstelle von Ort-> Ziel-> Material und möglicherweise, aber weniger wahrscheinlich anderen Kombinationen arbeiten möchten.

Hat jemand bessere Ideen, Hinweise oder Tipps? oder sogar eine ganz andere Idee, die es für den Benutzer großartig machen würde? Ich werde C # und WPF verwenden.

4
John Petrak

Vielleicht könnten Sie eine entkoppelte Denkweise verwenden. Wir haben ähnliche Lösungen auf unserer Seite, die mit Tags gelöst wurden, z.

Sie könnten einen Ort als Kohlengrube "markieren" und Sie haben Ihre Materialien auch so markiert. Jedes in einer Kohlenmine verwendete Material wird auch als "Kohlenmine" bezeichnet. Dann können Sie einfach alle Kombinationen durch Tag-Beziehungen finden.

Andere Idee. Wenn Sie darüber nachdenken, wie Benutzer die Datenbank füllen, kann ein Upload-/Import-Tool sehr hilfreich sein. Das Hochladen einer einfachen CSV-Datei mit einer vordefinierten Struktur kann dazu beitragen, dass Hunderte von Speicherorten sehr schnell in die Datenbank aufgenommen werden. Und die meisten Kunden können solche Dinge einfach aus anderen Tools exportieren. Weil sie diese Strukturen meistens schon irgendwo haben.

1
Timo