Ich muss eine Benutzeroberfläche für die Eingabe von etwas wie "wenn x oder (y und z) dann tun a, b und c" entwickeln. Die einzugebenden Daten selbst sind schon ziemlich kompliziert, wie verpackt man sie in eine intuitive Benutzeroberfläche?Wie gestaltet man die Benutzeroberfläche zum Erstellen von bedingten Ausdrücken?
Antwort
Dies ist ein guter Artikel
http://www.lukew.com/ff/entry.asp?1007
ich die Ideen in diesem Artikel verwendet wird, wenn ein Formular Aufbau für die Eingabe Raten Benefit Deduktion. Kurz gesagt, er empfiehlt, die Form wie Mad Libs zu gestalten (erinnert euch an diese Bücher als Kind).
Ich glaube, dass diese Antwort nicht auf die Frage überhaupt nicht betreffen. – atoumey
@atoumy Wie verhält sich das nicht? Es ist eine neue und andere Art des Adlib-Typs zum Erstellen eines Formulars. Vielleicht ist es nicht die beste Antwort hier, aber es ist eine Alternative und lohnt einen Blick von jedem, der diese Frage suchen würde. – Zoidberg
für mich (und ich habe da nicht downvoted wie ich dies die Punktzahl von -1 ausreichend ist, schreiben), ist die Antwort nicht nützlich, weil es nicht die eigentliche Frage nicht befassen. Bei der Frage geht es darum, bedingte Ausdrücke zu erstellen, anstatt ein Formular auszufüllen. Das sind zwei verschiedene Probleme. Der "Mad-libs" -Stil des Formularentwurfs ist hauptsächlich für statische Formen, die zu Sätzen verarbeitet werden können. –
Wird es immer binäre Logik wie diese sein (nur Oder, Und, und Nicht)? Wenn dies der Fall ist, könnte die Benutzeroberfläche ein logic diagram Designer sein, ähnlich denen, die beim Entwerfen von Schaltungslogik verwendet werden.
Hier ist ein Beispiel, wie ich das Problem für eine Fehlerdatenbank gelöst habe. Dies wurde vor auf einer Linux-Box ein Jahrzehnt getan, so dass das L & F ist eher Motiv-ish, aber es zeigt das allgemeine Konzept:
alt text http://www1.clearlight.com/~oakley/dbquery.jpg
Es ziemlich viel wie erwartet funktioniert. Sie können "ANY of the following" auf "ALL of the fol- gement" setzen und die Bezeichnungen in den folgenden Zeilen ändern sich von "or" in "and". Der "IS" -Knopf kann zu "IS NOT" sowie "Matches pattern" und einigen anderen Wahlmöglichkeiten geändert werden.
Klicken Sie auf die +/- Schaltflächen, um weitere Kriterien hinzuzufügen. Sie können logische Gruppen erstellen, mit denen Sie Ausdrücke wie "a oder (b und c)" ausführen können, aber es liest sich immer noch wie eine Sammlung englischer Sätze.
In Ihrem Fall, anstelle einer "Bestellung von" Abschnitt haben Sie möglicherweise einen "diese Dinge zu tun" Abschnitt.
Dies wäre mühsam zu verwenden, wenn Sie sehr komplexe Abfragen erstellen müssen, aber wenn Sie eine komplexe Abfrage benötigen, sind Sie wahrscheinlich schlau genug, um keine GUI wie diese zu benötigen. Dies wurde eher für den gelegentlichen Benutzer für einfache Ad-hoc-Abfragen entwickelt.
Ich würde auf jeden Fall die Art ändern, wie das aussieht, wenn ich es nochmal machen müsste, aber die grundlegenden Mechanismen funktionieren ziemlich gut.
Hier ist meine Antwort aus einer ähnlichen Frage:Intuitive interface for Composing Boolean Logic?
Ich würde Ihre Schnittstelle in zwei Teile brechen: der Zustand und das Ergebnis.
Hier ist ein Beispiel der bedingten Schnittstelle:
ein paar Gedanken
- Die Schnittstelle einfach beginnt
- Wenn es kompliziert, ist es, weil der Benutzer gebaut es Schritt für Schritt
- Keine Bearbeitung oder Drag/Drop - Erstellen und Löschen von Zweigen
- Die Bedingungen sind in diesem Beispiel ein einfaches Dropdown-Menü, das jedoch komplizierter oder möglicherweise negiert werden kann.Im Grunde können Sie mit dieser Oberfläche Ausdrücke erstellen.
- Ich denke, es ist eine gute Idee, diese Art der Schnittstelle, wenn möglich
- 1. Wie gestaltet man das?
- 2. Wie gestaltet man das Datenbankschema?
- 3. Wie gestaltet man die Benutzeroberfläche für Einstellungen nach verschiedenen Optionen in C# WinForm?
- 4. mysql --- Wie gestaltet man die Gästebuch-Datenbank?
- 5. Wie man die Website ansprechend gestaltet?
- 6. Wie man diese SQL-Datenstruktur neu gestaltet?
- 7. ASP.NET MVC - Modellentscheidung: Wie gestaltet man es?
- 8. Erstellen von "flachen" LINQ-Ausdrücken
- 9. Wie gestaltet man ein E-Mail-System?
- 10. Wie man von rechts nach links lineares Layout gestaltet
- 11. Generische Benutzeroberfläche zum Bearbeiten von C# -Anwendungskonfigurationsdateien
- 12. Die beste/gebräuchlichste Methode zum Aktualisieren der Benutzeroberfläche von Hintergrundthread
- 13. Wie lese ich die Benutzeroberfläche von qcachegrind?
- 14. Regex zum Entfernen von bedingten Kommentaren
- 15. Erstellen von bedingten Gesamtzeilen in SSRS
- 16. Wie gestaltet man eine GUI-Netzwerkanwendung mit mehreren Threads?
- 17. Ein Liner zum bedingten Ersetzen von Wörterbuchwerten
- 18. Musterspezifische Variablen zum Ausdrücken von Abhängigkeiten
- 19. Feed Aggregator mit HBase. Wie gestaltet man das Schema?
- 20. Wie ändere ich die Benutzeroberfläche von kibana
- 21. NHibernate und hilo generator: Wie man Schlüsseltabellen gestaltet?
- 22. Wie erstellt man diese angepasste Benutzeroberfläche?
- 23. Wie gestaltet man eine Website auf der Django-Plattform?
- 24. Ruby One-Liner zum Erfassen von regulären Ausdrücken entspricht
- 25. Windows-Batch-Datei zum bedingten Umbenennen machen
- 26. Wie man mit den Wegpunktanimationen den Seitenlauf flüssiger gestaltet?
- 27. SQL - Wie man einen bedingten INSERT macht
- 28. Wie man die Spark Web-Benutzeroberfläche am Leben erhält?
- 29. Wie man den 'Blog' im Obstgarten gestaltet CMS
- 30. Wie in diesem bedingten
Ich denke, zu vermeiden, dass, wenn es eine Möglichkeit gäbe intuitiv diese Art der Sache zu tun visuell würden wir, dass anstatt Code zu schreiben werden. – Welbog
Obwohl es nicht speziell für diesen Anwendungsfall, dieser Aufsatz können Sie wertvolle Einblicke geben: http://worrydream.com/MagicInk/ – thSoft