it-swarm.com.de

Intuitive Schnittstelle zum Erstellen von Boolescher Logik?

Ich bin interessiert zu wissen, wie Menschen eine Schnittstelle haben oder erstellen würden, die das Erstellen logischer boolescher Bedingungen vereinfacht. (Ja, es ist ein Builder für Datenbankabfragen.) In meinen Augen haben sie aufgrund einer schlechten Benutzeroberfläche viele AND, NOT IN, OR Schlüsselwörter usw.) eingegeben. Oder sie haben eine Million Kombinationsfelder.

Ich frage mich, ob jemand ein gutes Beispiel hat, aus dem ich Ideen gewinnen könnte. Oder ein paar Vorschläge?

Im Moment überlege ich mir einen geteilten Bildschirm mit einem Raster zum Erstellen der Abfrage und einer Leinwand, um eine visuelle Darstellung der Bedingungen und ihrer Überlappung usw. anzuzeigen. Wie ein Venn-Diagramm. Dies gibt mir immer noch ein Problem mit der Benutzerfreundlichkeit/Intuitivität der Steuerelemente im Raster.

EDIT: Ich bin sehr interessiert an Ideen, die es für weniger technische Benutzer vereinfachen. Ideen für eine Version der Benutzeroberfläche für fortgeschrittene Benutzer sind jedoch ebenfalls sehr hilfreich.

134
Edward Williams

Siehe auch iTunes 9 oder höher. Es bietet die Möglichkeit, "verschachtelte" AND/OR - Ausdrücke zu erstellen, ähnlich wie ein Programmierer dies mit Klammern tun würde:

alt text

59
Hisham

Das Hauptproblem, das nicht-technische Benutzer mit der Booleschen Logik haben, besteht darin, den Unterschied zwischen AND und OR) zu verstehen, da dies nicht immer der natürlichen Sprache entspricht (z. B. „Zeigen Sie mir Bestellungen aus New York und New York“ Jersey bedeutet mit ziemlicher Sicherheit Location = NY OR Location = NJ). Oft neigen Benutzer dazu, "oder" als exklusiven OR zu interpretieren. Dann gibt es das Problem, den Überblick über verschachtelte Klammern zu verlieren.

Eine Lösung, die diese beiden Probleme vermeidet, besteht darin, die Logik grafisch mit einer Sanitär- oder elektrischen Metapher darzustellen. Es gab einige Arbeitsbereiche, die diesen Ansatz verfolgten:

Shneiderman, B (1991). Visuelle Benutzeroberflächen für die Informationsrecherche. Proceedings of the 54. Jahrestagung der American Society for Information Sciences, 28, 379-384.

Murray NS, Paton NW, Goble CA, Bryce J. (2000) Kaleidoquery - eine flussbasierte visuelle Sprache und ihre Bewertung. Journal of Visual Languages ​​& Computing, 11 (2), 151-189.

Abfrageersteller sind einer der wenigen Orte, an denen es sinnvoll ist, getrennte Basis- und Erweiterungsmodi zu verwenden. Sie werden wahrscheinlich feststellen, dass 90% der Anfragen Ihrer Benutzer nur wenigen Mustern entsprechen (z. B. "Kunden mit Namen, die mit Xxxx beginnen", "Konten, für die ich mit ausstehenden Rechnungen verantwortlich bin", "Bestellungen zwischen Datum a und b" ”). Es ist sinnvoll, diese als vordefinierte oder halbkonservierte Abfragen zu verwenden, die einfach ausgewählt und spezifiziert werden können, während Kaleidoquery für die seltenere Ad-hoc-Abfrage unter Erweitert gestellt wird.

45

Dieser Test wurde sowohl bei technischen als auch bei nichttechnischen Benutzern gut getestet und kann so ziemlich jede mögliche Datenbankabfrage generieren ...

db query builder

Die Vorteile sind, dass es ist sehr klar und ein Benutzer Drag & Drop ( oder löschen ) Beliebiger Ausdruck oder jede Gruppe von Ausdrücken im Baum.

Der Nachteil ist, wie viel Platz es verbraucht.

43
DaveAlger

Dazu gibt es ein jquery-Plugin namens QueryBuilder, das dies auf interessante Weise tut: http://mistic100.github.io/jQuery-QueryBuilder/

(Jquery QueryBuilder Screenshot

14
dryobs

Ich mag die Art und Weise, wie Apple Mail Regeln funktionieren:

screenshot

10

Hier gibt es einige gute Ideen/Referenzen, insbesondere zu einigen bestehenden Ansätzen. Oft, wenn auch nicht immer, ist Apples Ansatz ein guter Ausgangspunkt - aber in Ihrem Fall ist dies möglicherweise nicht der Fall. Ich habe den Eindruck (obwohl Sie es nicht wirklich gesagt haben), dass Sie mit einer Menge Daten arbeiten, die aus vielen, vielen Feldern/Variablen bestehen.

Ich bin damit einverstanden, dass es eine gute Idee ist, einen Weg zu finden, um es für weniger technische Benutzer zu vereinfachen, solange Sie erwarten, dass weniger technische Benutzer das System verwenden. Andernfalls kann die Entwicklung einer weniger komplizierten Schnittstelle viel Arbeit bei geringem Gewinn bedeuten. Ich mag auch die Idee eines Venn-Diagramms - wäre interessant zu sehen, wie sich das auswirkt.

In Bezug auf tatsächliche Vorschläge zur Vereinfachung besteht ein anderer Ansatz darin, lediglich eine Art "Assistenten" -Prozess zu erstellen, der den Benutzer durch den Prozess mit einer Kombination aus natürlicher Sprache und einem vertrauten "Web" -Look and Feel führt. Nachfolgend finden Sie ein Modell, wie dies am Beispiel einer Kraftfahrzeugdatenbank funktionieren könnte:

(enter image description here

Das Obige zeigt, wie Schritt 1 funktionieren könnte, und gibt Benutzern eine Reihe von Optionen, die sie durch Aktivieren des entsprechenden Kontrollkästchens auswählen können. Sie können nach Bedarf ein oder mehrere Kontrollkästchen aktivieren (oder vielleicht auch keine?!). Wenn sie ein Kontrollkästchen für eine Option aktivieren, für die weitere Informationen erforderlich sind, werden die relevanten Wörter mit einem Hyperlink versehen. Wenn Sie auf die mit Hyperlinks versehenen Wörter klicken, wird dem Benutzer etwa das folgende Beispiel angezeigt:

(enter image description here

Das obige Beispiel zeigt also, was ein Benutzer möglicherweise sieht, wenn er das Kontrollkästchen "Fahrzeug wird von bestimmten Herstellern hergestellt" aktiviert und dann auf den Hyperlink-Text geklickt hat, um die Hersteller auszuwählen, die in die Suchergebnisse aufgenommen werden sollen. Natürlich kann Ihr Ansatz unterschiedlich sein, je nachdem, ob ein Freitextfeld, eine Dropdown-Liste mit Optionen usw. angezeigt werden soll.

Um nun mit "Ausnahmen" von den Suchkriterien umzugehen, würden Sie das erste Fenster grundsätzlich erneut erstellen, jedoch mit einem anderen Wortlaut, wie z.

(enter image description here

Nachdem der Benutzer oben die Kraftstoffausnahme ausgewählt hat, klickt er auf die mit einem Hyperlink verknüpften Wörter "bestimmter Kraftstoff", um die folgende Ausnahme auszuwählen:

(enter image description here

Dies kann wiederum eine Dropdown-Liste, Optionsfelder usw. sein, je nachdem, was am besten zu der Bedingung passt. Sie würden auch den gleichen Prozess durchlaufen, um das Land auszuwählen, in dem das Fahrzeug nicht hergestellt werden soll.

Natürlich sehe ich diesen "Assistenten" -Ansatz für weniger technische Benutzer. Sie würden auch eine "Erweiterte" Option für Benutzer anbieten, die mit einem komplizierteren Ansatz vertraut sind, der im Vergleich zum Wizard -Ansatz) möglicherweise optimiert ist.

[~ # ~] Nachtrag [~ # ~]

Okay, das hat mich letzte Nacht wach gehalten. Ich sehe diesen Ansatz Wizard) als einen guten Weg an, daher dachte ich, es lohnt sich, zurück zu kommen, um meine Antwort zu verbessern, da er möglicherweise jemand anderem hilft, wenn nicht Ihnen.

Ich habe die obigen Modellbilder aktualisiert und wollte Ihre Idee, einen geteilten Bildschirm zu verwenden, erweitern.

Ursprünglich dachte ich, dass nach Abschluss des letzten Schritts so etwas wie Ihre Venn-Diagrammidee verwendet werden könnte, um visuell anzuzeigen, was der Benutzer ausgewählt hat. Aber dann dachte ich über meine ursprüngliche Behauptung nach, dass es auch eine Möglichkeit für den Benutzer geben sollte, hin und her zu gehen, um seine Kriterien zu ändern. Jetzt denke ich, dass Sie mit Ihrem geteilten Bildschirm beides erreichen können. Unten ist ein neues Bild, um zu veranschaulichen, was ich denke:

(Split screen view

Das Obige ist also ein Beispiel dafür, was im zweiten Teil Ihres geteilten Bildschirms erscheinen könnte. Wenn der Benutzer seine Kriterien auswählt, wird dies aktualisiert, um anzuzeigen, welche Auswahl getroffen wurde. Bei diesem Ansatz wird auch das bekannte Erscheinungsbild des Webs verwendet, um die Auswahlmöglichkeiten mit Hyperlinks hervorzuheben. Wenn dies gewünscht wird, können die Kriterien durch Klicken auf die Hyperlinks in diesem Bildschirm geändert werden, anstatt zwischen den Bildschirmen hin und her wechseln zu müssen, um die Auswahl zu wiederholen Schritte. Wenn sie eine neue Bedingung auswählen möchten, müssen sie natürlich möglicherweise zum entsprechenden Schritt zurückkehren. Aber du kommst auf die Idee.

Die einzige andere Sache, die ich erwähnen möchte, ist, dass Sie diesen Ansatz möglicherweise verfeinern müssen, ohne die Komplexität Ihrer Daten zu kennen Wizard. Meine einfache Fahrzeugdatenbank benötigt nur zwei Schritte, aber einen komplizierten Man braucht vielleicht mehr Schritte. Der Sinn dieses Ansatzes liegt jedoch nicht so sehr in der Anzahl der Schritte, sondern in der Tatsache, dass der Wizard 'die Leute mit natürlicher Sprache durch die Schritte spricht' als so viel wie möglich.

Wie auch immer, ich hoffe, dies gibt Ihnen zusammen mit den anderen Antworten Anlass zum Nachdenken. Und vielleicht einige andere. Dies ist ein gutes Thema, von dem ich denke, dass es für viele Benutzer relevant sein wird.

Viel Glück!

10
Monomeeth

Dies hängt vom Grad der Raffinesse Ihrer Benutzer ab. Wir haben etwas Ähnliches in der aktuellen Version der Schnittstelle haben Gruppierung weggelassen und die Konjunktion zwischen zu Begriffen zu ODER behoben. Jeder Begriff kann negiert werden. Die meisten Benutzer sind mit dieser Art von Abfragen einverstanden und die meisten von ihnen wären nicht in der Lage, erweiterte Abfragen korrekt zu formulieren. Wir implementieren jetzt einen zweistufigen Prozess, bei dem das Ergebnis einer Abfrage verwendet werden kann, um die Grundgesamtheit in einer folgenden Abfrage zu begrenzen (wobei die explizite Gruppierung in der Benutzeroberfläche weiterhin weggelassen wird).

Die Benutzeroberfläche hierfür ist eine grundlegende Liste von Einschränkungen, die hinzugefügt, entfernt, aktiviert, deaktiviert und negiert werden können. Dies war für die meisten Abfragen ausreichend, die Benutzer erstellen möchten. Wir hatten ein Design für eine neue Version, das auf einem Datenflusskonzept basierte (stark inspiriert von vistrails, siehe unten), das jedoch nie ausgeführt wurde. Vistrails ist ein Produkt, mit dem VTK-Pipelines erstellt werden können. Wenn Sie den Weg vieler Teile der Benutzeroberfläche gehen möchten, funktioniert der Datenfluss zum Formulieren von Abfragen, aber auch zum Formulieren der Ausgabeformatierung.

Suchen Sie nach Inspiration in

9

Im Gegensatz zur Wiederverwendung von Pivot-Tabellen wie zuvor beantwortet ist dies eine experimentelle Benutzeroberfläche, an die ich gedacht habe, um die sich wiederholende Notwendigkeit zum Schreiben von AND oder OR zu bewältigen.

Es basiert auf einem Element, das Sie lernen müssen, dass ANDs horizontal und ORs vertikal sind. Es schafft es jedoch, mit ziemlich komplexer boolescher Logik umzugehen.

Überblick

Angenommen, A, B, C, D und E sind boolesche Ausdrücke.

Um das Konzept zu testen, würden Sie hier die zwei verschiedenen Seiten einer Standard-Booleschen Äquivalenz zeichnen:

(A and B) or C === (A or C) and (B or C)

(enter image description here

Dies erstreckt sich auf komplexere Abfragen:

((A and B and C) or D) and E

(enter image description here

Aktuelle Benutzeroberfläche

Für diese Datentabelle:

(enter image description here

Der Bildschirm ist zweigeteilt:

  1. Eine Reihe von Filtern (effektiv AND Abfragen)
  2. Eine Kombination der Filter

Sie legen die Filter fest (diese werden nur mit dem grundlegenden bedingten Protokoll eingegeben) und ziehen sie dann hinüber, um sie mit der vollständigen Abfrage zusammenzuführen.

(enter image description here

Nach dem Ziehen des neuen Filtersatzes kehrt die linke Seite zu einer ungefilterten Liste zurück und die rechte Seite zeigt den 'zusammengeführten' Datensatz:

(enter image description here

Sie sollten dann in der Lage sein, die Ausdrücke auf der rechten Seite zu ziehen und zu bearbeiten - aber das erfordert viel mehr Arbeit.

7
icc97

Microsoft Access hatte einen vernünftigen Versuch, eine einfache Benutzeroberfläche für Datenbankabfragen zu erstellen, indem eine visuelle Version von "Query by Example" erstellt wurde

Es hat eine natürlichere Sprache, die die Notwendigkeit einer verschachtelten Benutzeroberfläche vermeidet, auf Kosten gelegentlich etwas redundanterer Einträge in Zeilen.

mockup

bmml source herunterladen - Wireframes erstellt mit Balsamiq Mockups

6
Jason A.

Es ist eine alte Frage, aber ich dachte, ich würde einen Beitrag leisten, falls jemand interessiert ist. Obwohl bereits viele interessante Antworten gegeben wurden, habe ich für unsere App Folgendes entworfen:

(enter image description here

Anfangs gibt es nur den ersten Gruppenausdruck und eine Regel. Durch Klicken auf "Bedingung hinzufügen" wird eine neue Bedingung darüber hinzugefügt, während durch "Gruppe hinzufügen" eine neue Gruppe direkt darunter hinzugefügt wird. Zusätzliche Gruppen aus der übergeordneten Gruppe sind Geschwister, während Sie mithilfe der Schaltfläche "Gruppe hinzufügen" innerhalb einer verschachtelten Gruppe eine unendliche Verschachtelung erstellen können.

Auf Mobilgeräten werden die Bedingungen zusammen mit der Aktionsschaltfläche "Entfernen" gestapelt. Der Text wird nun in "Bedingung entfernen" geändert.

(enter image description here

Das Design funktioniert gut, sieht gut aus, reagiert und verbraucht auch nicht zu viel Platz.

Zusätzlicher Bonus: Über der Gruppe zeigt eine einzelne Zeile den Endzustand, z

[Datum größer als XXX AND (Name gleich Nick)]

edit: Um es für nicht-technische Leute zugänglicher zu machen, würde ich dem folgen, was andere in diesem Thread gesagt haben - folge Apples Weg. Anstelle von AND/OR würde ich ALL/ANY + Kontext verwenden.

6
scooterlord

Wenn Ihre Benutzer so weit fortgeschritten sind, dass sie die Hierarchie einer Abfrage kennen, muss jede grafische Oberfläche, die Sie ihnen geben, flüssig genug sein, um ihnen nicht in die Quere zu kommen. Ich denke, eine Schnittstelle, die auf dem Ziehen und Ablegen von Elementen basiert, um eine implizite Hierarchie zu erstellen, ist ideal. Hier ist ein erweitertes kommentiertes visuelles Beispiel, wie ein Benutzer die Abfrage (A and B) or ((not C) or D):

 Lassen Sie A auf die Tafel fallen. 
 + --- + 
 | A | 
 + --- + 
 
 Drop "und" nach A. 
 + --------------- ---- + 
 | + --- + + ----- + | 
 | | A | und | ... | | 
 | + --- + + ----- + | 
 + ------------------- + 
 
 Drop B auf "...". 
 + ----------------- + 
 | + --- + + --- + | 
 | | A | und | B | | 
 | + --- + + --- + | 
 + ----------------- + 
 
 Drop "oder" after "und". 
 + ---------------------------- + 
 | + ----------------- + | 
 | | + --- + + --- + | + ----- + | 
 | | | A | und | B | | oder | ... | | 
 | | + --- + + --- + | + ----- + | 
 | + ----------------- + | 
 + ------------------------ -------- + 
 
 Lassen Sie C auf "..." fallen. 
 + ---------------- -------------- + 
 | + ----------------- + | 
 | | + --- + + --- + | + --- + | 
 | | | A | und | B | | oder | C | | 
 | | + --- + + --- + | + --- + | 
 | + ----------------- + | 
 + ------------------------ ------ + 
 
 Lass "nicht" auf C fallen. 
 + -------------------- ------------------ + 
 | + ----------------- + + ----------- + | 
 | | + --- + + --- + | | + --- + | | 
 | | | A | und | B | | oder | nicht | C | | | 
 | | + --- + + --- + | | + --- + | | 
 | + ----------------- + + ----------- + | 
 + ----------- --------------------------- + 
 
 Drop "oder" after "not C". 
 + ---------------------------------------------- ------- + 
 | + -------------------------- + | 
 | + ----------------- + | + ----------- + | | 
 | | + --- + + --- + | | | + --- + | + ----- + | | 
 | | | A | und | B | | oder | | nicht | C | | oder | ... | | | 
 | | + --- + + --- + | | | + --- + | + ----- + | | 
 | + ----------------- + | + ----------- + | | 
 | + -------------------------- + | 
 + --------------- -------------------------------------- + 
 
 Ablegen D auf "...". 
 + -------------------------------- --------------- + 
 | + ------------------------ + | 
 | + ----------------- + | + ----------- + | | 
 | | + --- + + --- + | | | + --- + | + --- + | | 
 | | | A | und | B | | oder | | nicht | C | | oder | D | | | 
 | | + --- + + --- + | | | + --- + | + --- + | | 
 | + ----------------- + | + ----------- + | | 
 | + ------------------------ + | 
 + ----------------- ---------------------------------- + 

Einzelne Abfrageelemente (A, B usw.) werden mithilfe von Kombinationsfeldern oder den erforderlichen Elementen erstellt, bevor sie in das Bedienfeld eingefügt werden. Kleine Ränder und abwechselnde Farben können dies sehr gut lesbar machen sowie Anzeigeregeln, die beispielsweise eine Kette von ors auf einer einzigen Ebene anzeigen lassen:

 + ------------------------- + 
 | + --- + + --- + + --- + | 
 | | A | oder | B | oder | C | | 
 | + --- + + --- + + --- + | 
 + ------------------------- + 

Natürlich können Abfrageelemente erweitert, reduziert, neu angeordnet und bearbeitet werden, nachdem sie in das Erstellungsfenster eingefügt wurden.

Ich sage nicht, dass dies der einfachste Weg ist, ein System für diesen Zweck aufzubauen. Aus entwicklungspolitischer Sicht ist es wahrscheinlich so schwierig wie möglich. Aber es ist die effizienteste und intuitivste Sache, die ich mir vorstellen kann, und es ist im Grunde genommen nur ein Klon der Benutzeroberfläche von Apple Mail-Regel, aber mit mehr Nachdruck auf Hierarchie.

Ich hoffe, dies erweist sich als nützlich bei Ihrer Suche nach dem Richtigen.

6
Jon Purdy

CognitoForms hat die intuitivste UND/ODER-Lösung, die mir begegnet ist enter image description here

4
leahg

Hier ist eine Schnittstelle zum Erstellen einer booleschen Logik.

Interface for composing boolean logic

Ein paar Gedanken

  • Die Schnittstelle beginnt einfach
  • Wenn es kompliziert wird, liegt es daran, dass der Benutzer es Schritt für Schritt erstellt hat
  • Kein Bearbeiten oder Ziehen/Ablegen - nur Zweige erstellen und löschen
  • Bedingungen sind in diesem Beispiel eine einfache Dropdown-Liste, können jedoch komplizierter oder möglicherweise negiert sein

Mehrdeutigkeit

Abgesehen davon habe ich mich auch mit der Mehrdeutigkeit von "zeig mir rot und blau" -Hemden befasst, da der Benutzer technisch "rot oder blau" bedeuten könnte " Hemden.

Ich denke, wenn Sie sie bitten, die singuläre Version (ein "Hemd") zu beschreiben, dann ist das Problem etwas reduziert. Zum Beispiel würden sie nicht "Zeig mir ein rotes und blaues Hemd" sagen, wenn sie "rot oder blau" bedeuten.

4
bendytree

Hinzufügen eines Beispiels aus der Ticketing-App , die wir entwickelt haben.

Anstatt "AND/OR" zu gruppieren, haben wir uns oben für ein Dropdown-Menü "all/any/none" entschieden. Genau wegen des oben erwähnten Beispiels: Wenn nicht-technische Leute sagen "gib mir Bestellungen aus New York und New Jersey", bedeutet tit tatsächlich "logisches ODER".

(enter image description here

Wir haben uns auch gegen die Gruppierung mehrerer komplexer UND/ODER-Kombinationen entschieden, da die Leute verwirrt waren. Wir bieten ihnen stattdessen eine "Rekursion" an und bieten an, "eine andere Regel auszulösen" (am unteren Rand des Screenshots).

2
Alex

Ich arbeite an einem Redesign einer Web-App, die Boolean verwendet. Das folgende Bild zeigt, wie es derzeit ausgeführt wird. Der Benutzer kann die Klammern bei Bedarf löschen oder wieder hinzufügen. Ich habe Probleme, einen besseren Weg zu finden, um dies zu tun, sodass dieser Teil, den Benutzer anscheinend recht gut verwenden, erhalten bleibt.

UI boolean

2
Gueda

Meine Lieblings-Benutzeroberfläche zum Erstellen von Regeln ist ATGs Szenarioserver . Überprüfen Sie dies heraus:

alt text

2
Julian H

Zum Erstellen relativ komplexer einzelner Tabellen Abfragen sind Pivot-Tabellen sehr nützlich.

Gutes Zeug

  1. Sie können SUM, AVG und GROUP mit relativ wenig Wissen erhalten.
  2. Durch Aufteilen von Feldern zwischen Spalten und Zeilen erhalten Sie AND Abfragen
  3. Die Summen geben Ihnen OR Abfragen
  4. Sie können Abfragen ordnungsgemäß erstellen - d. H. Sie können schnell einen Master-Satz anzeigen, dann Zeilen/Spalten hinzufügen und dann Filter hinzufügen, die Ihnen zeigen, welche Daten zum Herausfiltern verfügbar sind

Schlechte Dinge

  1. Ich denke, Sie werden an Grenzen stoßen, wenn Sie versuchen, mehr als eine Tabelle/einen Datensatz zu kombinieren.
  2. Abhängig davon, wie tief verschachtelt Ihre AND/OR Abfragen sein sollen, können Probleme auftreten

Aber zumindest haben Sie nicht viele Kombinationsfelder, und die Kombinationsfelder, die Sie haben, sind intuitiver.

Hier ist eine, die ich zuvor mit einigen schönen Fantasy-Football-Statistiken erstellt habe.

(enter image description here

2
icc97

Es ist schwierig, genau zu bestimmen, was für etwas intuitiv ist, das traditionell von technischen Benutzern behandelt wird (bei dem Benutzeroberflächen im Vergleich zu Eingabeaufforderungen nicht unbedingt benutzerfreundlicher sind). Es gibt einen besonderen Grund für diese Effizienz, da Abfragen eindeutig angegeben und in einer Befehlszeilen-Eingabeaufforderung ausgeführt werden können. Außerdem wird es wahrscheinlich niemanden überraschen, dass das traditionelle Interface-Design bei komplexeren Abfragen wahrscheinlich kaputt geht.

Dennoch denke ich, dass es wahrscheinlich sicher ist zu sagen, dass das häufigste/bekannteste Thema in Bezug auf die Boolesche Logik das Venn-Diagramm sein muss. Die Frage könnte also sein, wie die genauen Anweisungen von Datenbankabfragen mit der Einfachheit einer Venn-Diagramm-ähnlichen Schnittstelle kombiniert werden können.

Ich denke, konzeptionell wäre eine mögliche Lösung, sowohl räumliches Layout als auch Benutzerinteraktionen zu kombinieren, die die Art der ausgeführten Operationen widerspiegeln. Auf diese Weise erhalten Sie das Konzept des Venn-Diagramms für die Benutzer, während die Vorgänge "intuitiv" genug sind, um sie zu verstehen. Das bedeutet also effektiv, was @bendytree und @sboye für die eigentliche Dateneingabe vorgeschlagen haben, aber auch das Ergebnis dieser Operationen in Form eines Venn-Diagramms auszugeben, damit der Benutzer sofort sehen kann, ob sie die richtige Art von Boolescher Operation ausgeführt haben . Möglicherweise möchten Sie die Eingabe jedoch noch einfacher gestalten, indem Sie Drag'n'Drop für die Booleschen Operatoren und Datasets/Felder implementieren, die Sie anzeigen möchten, und sich von einigen der interaktiven Venn-Diagramme inspirieren lassen, die Sie in Google-Suchen finden.

1
Michael Lai

Wenn es mobil ist, haben Sie für jede Operation eine Schaltfläche, die es einfach in ein Textfeld eingibt. Geben Sie einen Link an, um Hilfe zur Booleschen Algebra und dergleichen zu erhalten. Das wäre sowohl einfach als auch flexibel.

0
timseal