Webサイトの特定のUIの構築に問題があります。レストランチェーンの簡単なウェブサイトで問題を説明します。
ウェブサイトには多くのユーザーと多くのレストランがあります。各レストランには特定のユーザーが割り当てられており、ユーザーはマネージャー、コック、ウェイターのいずれかになります。
ウェイターは入ってくる注文のアドレスを見ることができ、コックはそれと注文の内容(食べ物)を見ることができ、マネージャーはこれらの両方を見ることができますおよびは、任意のユーザーの役割を変更できます。
すべてのレストランに1人のマネージャーしか存在できませんが、コックとウェイターは必要な数だけいます。現在のUIは次のようになります。
download bmml source – Balsamiq Mockups で作成されたワイヤーフレーム
すべてのロールは、以前のロールのすべての特権に加えて新しい特権を持っているため、ユーザーはそれぞれ1つのロールしか持つことができません。したがって、ウェイターとコックの両方、またはコックとマネージャーの両方になることはできません。上記のUIを使用しても、同じユーザーの2つのチェックボックス、または3つすべてのロールにチェックを付けることができるため、これは明確ではありません。
UIを通じてこのアイデアをどのように明確にしますか?そこにある「アイデア」は、レストランの1人のマネージャーのみが持つことができ、すべてのユーザーは1人の役割しか持つことができません。
ちなみにこれは私の最初の投稿なので、適切な場所にいることを願っています。事前にご回答いただきありがとうございます!
編集:上記の3つの役割をすべて自由に変更できる上位の役割があります。
最後のケースは私が避けようとしていることです(メアリー)。
このようなシナリオでは、アプリケーションの可能な状態をUIに反映させます。マネージャーは1つしか持てないため、マネージャーを選択する場所は1つだけで、他の全員はクックまたはサーバーにすることができます。そのため、これらの状態に対して相互に排他的なUIウィジェットを提供します。次に例を示します。
実際には、人々の役割を変更することをもう少し慎重にしたいと思うかもしれませんが、うまくいけば、それは少なくともアイデアを伝えます。
編集:一部のコメントでは、このモックアップには設計上の問題があると述べているため、直接実装することはお勧めしません。モックアップはOPの質問に答えるためだけのものであり、他の設計原則がここでも適用されることに注意してください。
読者のためのいくつかの演習は次のとおりです。
これを使用-これはより高い役割ビューです。
マネージャーの視点では、マネージャーは自分の役割のコンボボックスを持ちません。
他の2つのビューはプレーンテキストになります-コンボボックスはありません。
download bmml source – Balsamiq Mockups で作成されたワイヤーフレーム
私が見るところから、それらはすべてラジオボタンである必要があります(各ユーザーと関連するラジオボタンを分割するには、より良い間隔を使用してください)。
頭の中での質問は次のとおりです。
アリスとは誰ですか?彼女は(•)マネージャー、()クック、または()ウェイターですか?
ボブとは誰ですか?彼は()Manager、(•)Cook、または()Waiterですか?
等。
左から右に読むため、最初にユーザーに気付き、次に役割に気づきます。また、ユーザーごとに1つのロールしか存在できないため、それらはすべてラジオボタンである必要があります。