2010-03-30 16 views
6

Potrzebuję opracować interfejs użytkownika do wprowadzenia czegoś takiego jak "jeśli x lub (yi z), a następnie wykonaj a, b i c". Dane, które należy wprowadzić, są już dość skomplikowane, w jaki sposób można je zawinąć w intuicyjny interfejs użytkownika?Jak zaprojektować interfejs do budowania wyrażeń warunkowych?

+3

myślę, że gdyby nie było sposób intuicyjnie robić tego typu rzeczy wizualnie bylibyśmy użyciu że zamiast pisania kodu. – Welbog

+0

Chociaż nie jest to szczególnie przydatne w tym przypadku, ten esej może dostarczyć cennych informacji: http://worrydream.com/MagicInk/ – thSoft

Odpowiedz

0

To jest dobry artykuł

http://www.lukew.com/ff/entry.asp?1007

użyłem pomysłów w tym artykule, gdy buduje formę wprowadzania Benefit stóp odliczenia. Krótko mówiąc, zaleca on budowanie takiej formy jak Mad Libs (pamiętaj o tych książkach jako dziecko).

+1

Uważam, że ta odpowiedź w ogóle nie odnosi się do pytania. – atoumey

+0

@atoumy Jak to się nie odnosi? Jest to nowy i inny sposób tworzenia formularzy typu adlib. Być może nie jest to najlepsza odpowiedź tutaj, ale jest to alternatywa i warte uwagi każdego, kto przeszuka to pytanie. – Zoidberg

+0

dla mnie (i nie obniżyłem oceny, ponieważ, gdy to piszę, wynik -1 jest wystarczający), twoja odpowiedź nie jest przydatna, ponieważ nie odnosi się do faktycznego pytania. Pytanie dotyczy budowania wyrażeń warunkowych zamiast wypełniania formularza. To są dwa różne problemy. Styl projektowania formularzy "mad libs" dotyczy głównie form statycznych, które można przetwarzać w zdania. –

0

Czy zawsze będzie to logika binarna w ten sposób (po prostu Or, And, i Not's)? Jeśli tak, możesz mieć interfejs użytkownika, który jest projektantem logic diagram, podobnym do tych, które są używane w projektowaniu logiki obwodu.

2

Oto przykład, w jaki sposób rozwiązałem problem związany z bazą danych błędów. Zrobiono to dziesięć lat temu na polu linux, więc L & F jest raczej motyw-owski, ale pokazuje ogólną koncepcję:

alt text http://www1.clearlight.com/~oakley/dbquery.jpg

działa całkiem dużo, jak można się spodziewać. Możesz zmienić "KAŻDĄ z poniższych opcji" na "WSZYSTKIE z poniższych", a etykiety w kolejnych wierszach zmienią się z "lub" na "i". Przycisk "IS" można zmienić na "IS NOT", a także "Wzór dopasowania" i kilka innych opcji.

Kliknięcie przycisku +/- w celu dodania dodatkowych kryteriów. Można tworzyć grupy logiczne, które umożliwiają wykonywanie wyrażeń takich jak "a lub (b i c)", ale nadal prawie brzmi jak zbiór zdań w języku angielskim.

W twoim przypadku, zamiast w sekcji "Sortuj według", możesz mieć sekcję "wykonaj te czynności".

Byłoby to niewygodne w użyciu, jeśli musisz tworzyć bardzo złożone zapytania, ale jeśli potrzebujesz złożonego zapytania, prawdopodobnie jesteś na tyle sprytny, że nie potrzebujesz takiego GUI. Ten został zaprojektowany bardziej dla zwykłego użytkownika dla prostych zapytań ad hoc.

Zdecydowanie zmieniłem sposób, w jaki wygląda to, gdybym miał to zrobić jeszcze raz, ale podstawowa mechanika działa całkiem nieźle.

1

Oto moja odpowiedź z podobnym pytaniem:Intuitive interface for Composing Boolean Logic?

chciałbym złamać interfejs na dwie części: stan i wynik.

Oto przykład interfejsu warunkowego:

enter image description here

kilka myśli

  • Interfejs zaczyna się proste
  • Jeśli to komplikuje, to dlatego, że użytkownik zbudowany to krok po kroku
  • Bez edycji lub przeciągania/upuszczania - po prostu tworzenie i usuwanie gałęzi
  • Warunki są prostym rozwi ± zaniem w tym przykładzie, ale mogą być bardziej skomplikowane lub być może zanegowane.Zasadniczo ten interfejs umożliwia komponowanie wyrażeń.
  • myślę, że to dobry pomysł, aby uniknąć tego typu interfejsu, jeśli to możliwe
Powiązane problemy