web-dev-qa-db-ja.com

継承を考えるvs複数の異なる値を編集する

複数の同様のモジュールが提示され、すべてに同じユーザー定義可能なパラメーターのセットが含まれている場合、ユーザーの幅広い期待に最も適したパターンはどれですか。

継承:

簡単な例を使用すると、ルートモジュールを「複製」でき、すべての値がこれらの新しい子に継承されます。子の値は、期待どおりに更新できます。

enter image description here

値は親から継承されるため、親への更新は子によってピックアップされます。これにより、ユーザーは多数のモジュールにわたって値をすばやく変更できます。

enter image description here

これの例外は、子が以前に値を変更した場合です。これは、継承構造がより複雑になると、他の問題と同様に問題になり始めます。

これらの問題(下の画像で表される)は、(1)ユーザーが期待したとおりに変化しない値、および(2)ユーザーが予期しないときに変化する値で要約できます。

この状況では、ルート(左端のモジュール)には3つの子(中央のモジュール)があり、それぞれに複数の子(右の箇条書き)があり、(インデントごとに)子もある可能性があります。

enter image description here

この予期せぬ事態は、プロセスを通じて克服/制限される可能性があります。ユーザーが(管理者によって)特定のレベルを超えて継承しないように、および/または特定のレベルで子の値を変更しないように指示されている場合。しかし、複雑なプロセスは、ある時点でそれ自体が問題になります。

複数の異なる値の編集:

このシナリオでは、すべてのモジュールが分離され、ユーザーは各値を個別に更新する必要があります。複数の選択パターンを設定して、複数のモジュール間で同じ値を簡単に編集できます。

enter image description here

このパターンは多くのコンシューマーアプリケーションで見られます。iTunesは、複数の音楽トラックの情報を一度に変更できる1つの例です。複数のトラックが選択されている場合、値を更新できず、変更するとエラーが表示される場合があります。

この場合、親子関係は作成時のみになります。作成された新しいアイテムは、親から継承できますが、作成時に独自のエンティティになります。親または子に対するその後のアクションは、その特定のオブジェクトにのみ影響します。

ここで問題となるのは、(おそらく)異なる値を持つ複数のモジュールを表す単一のパラメーターセットがあるため、元の値を決定するときに混乱が生じる可能性があるということです。

これらを与える...

どのパターンが最も幅広いユーザーの期待に最適であると示されていますか、またはここで探求されていない別の代替策(より広い聴衆を獲得する)がありますか?

5

あなたの質問は、IntuitがTurboTax UIの実践に多くの時間と労力を費やして、親アクティビティが最初に行われ、子フォームが残りの面倒を見るというものです。必要な作業の全体的な手順は、(私がその設計に関与しなくてもわかる限り)親から子に順序付けられています。ご存知かもしれませんが、子供も親になる可能性があるため、これは二元的順序ではなく、アクションのツリー順序です。

そして、世話をすることができるすべてのものに例外があります。ステップ15が必然的にステップ9に影響を与える場合、システムによって一部のリワークを行う必要があり、変更は明示的にユーザーに通知されます。しかし、これは許容できる予想される経験です。ユーザーとして、私の行動が以前に行ったことに影響を与える可能性があることにおそらく気づくでしょう。そのため、システムが同じことを知っていることを期待します。

だから私の意見では、継承された値はユーザー優先であり、特に課税オプションではありません(しゃれは意図されていません)、特に[〜#〜] if [〜#〜]インターフェースの目的は取得することですユーザーは、作業を正確かつ冗長なアクティビティなしで実行できます。

あなたの一般的な質問は、きっと非常に特定の状況に当てはまります。 「ユーザーの期待の範囲」を決定することは、ペルソナ作業とテストを通じて行うことができます。

1
Evan Lange