如何让普通用户以图形方式设计布尔表达式

Sve*_*sli 12 user-interface

在我们的应用程序中,有一个客户列表和一个关键字列表(以及其他内容).每个客户都可以拥有多个关键字,但这不是强制性的.因此,例如,一个客户可以拥有关键字"零售"和"链",一个可以只有"承包商"而第三个可以根本没有.

我想让用户根据这些关键字选择客户,但不必写 (retail AND chain) or contractor and not wholesale

我想尽可能使用它,并且理想情况下只使用"简单"控件,如复选框,组合框等.

有没有人对如何设计这个有什么建议?或者也许是一些具有类似功能的应用程序示例?

Jac*_*son 11

也许最简单的UI会是这样的:

Find customers with

All of these            Any of these          None of these
[] retail               [] retail             [] retail
[] chain                [] chain              [] chain
[] contractor           [] contractor         [] contractor
[] wholesale            [] wholesale          [] wholesale
Run Code Online (Sandbox Code Playgroud)


End*_*der 5

最终用户在使用复杂的布尔结构时会遇到严重问题.已经有很多关于此的研究(AND很容易理解,但OR很难).为您的最终用户提供对通用布尔表达式生成器的访问权限,并且您无需跳过一个兔子洞.

  • JacobM的解决方案是一个很好的简化.
  • 我过去使用的一个系统是进行搜索改进:只允许一次或两次决策进行第一次搜索,然后允许最终用户通过一系列单一决策来减少结果("只显示承包商") ,"不是零售",等等.为了使这项工作顺利,您通常需要一种简单的方法来维护最近的搜索,无论是通过选项卡式窗口列表还是其他内容.
  • 仔细考虑您的最终用户.他们真的需要一个完整的布尔搜索生成器吗?他们想要的实际数据是什么?访问该数据是否需要搜索不比任意限制复杂?如果是这样,请设计您的UI以支持该限制.JacobM的解决方案在某种程度上就是一个例子.