いくつかの複雑なビジネスルールを構成するためのWPF UIを構築しています。各ruleには多数のconditionsを含めることができるため、論理演算子のドロップダウンリストを含めて、ユーザーがビジネスケースに必要な柔軟性を持つことができると考えました。
基本的にruleにはlogicとbehaviorがあり、各ruleの下には各conditionにはlogicもあります:
ルール 'behaviorは次のいずれかです。
RuleConditionsMustPass
:これはruleがpassと呼ばれることを意味し、その下にあるすべてのconditionsの論理演算がtrue
。RuleConditionsMustFail
:これはruleがpassと呼ばれることを意味し、その下にあるすべてのconditionsの論理演算がfalse
。ルール 'logicは次のいずれかです。
And
:「And」ロジックを持つすべてのルールが合格する必要があります。Or
:「Or」ロジックを持つすべてのルールのうち、少なくとも1つはパスする必要があります。Xor
:「Xor」ロジックを持つすべてのルールのうち、1つだけが通過する必要があります。同様に、条件 'logicは同じように機能します。「RuleConditionsMustPass」動作が指定されている場合、すべての「And」条件が合格し、すべての「Or」条件のうち少なくとも1つが合格し、 「Xor」条件は1パスのみです。
私が疑問に思っているのは、各論理演算子に対して選択したアイコンがUXの観点から意味を成しているかどうか、そしてこのルール構成機能にTreeViewを使用することが最善のアプローチかどうかです。
ここの緑色の「+」ボタンをクリックすると、その下にconditionが追加されますrule;赤い「-」ボタンをクリックすると、そのルールが削除されます。私はComboBox.ItemTemplateが少しずれていることに気づきました。それが終わったら、ドロップダウンのすべての項目が同じ幅であることを確認し、UIの直接で列挙名を使用しないようにします。
アイコンは大丈夫ですが、一般的な用語を考えます。
ルールをネストする可能性とともに、すべてに一致する/ 1つに一致する/すべてに一致する/何にも一致しないですべてのオプションをカバーするだけで十分かもしれません。
ベン図記号をアイコンとして使用します。
OR = 2つの重なり合う円、両方とも色付き。
AND = 2つの重なり合う円、重なり合う領域は色分けされています。
XOR = 2つの重なり合う円。重なり合う領域以外はすべて色付き。
...
Google検索の例:
編集:
いくつかのコメント:
質問のアイコンは論理的に意味がありません。1つはブランチアイコン、もう1つはマージアイコンです。3番目のアイコンが何を表しているのかわかりません。演算子を説明する論理図は、理解しやすいベン図か、多くのユーザーにとって奇妙に見える切り替え図です。
XORは絶対に「1つの」演算子ではなく、その「奇数(偶数)の条件が真」演算子です。
通常、1つの条件が真であるか複数の条件であるかは、単純なユーザーには関係ありません。
ルールシステムでは、ユーザーがNOTや()ブラケットなどの演算子を定義できるようにする必要があります。そうしないと、ユーザーはルールを複雑にする必要があります。 X XOR X AND Y OR X XOR X AND Zの代わりにNOT X AND(Y OR Z)。
これを視覚化する方法については、 この質問 とその回答を参照してください。