見出し画像

【学習記録】オブジェクト指向UIデザイン:第3章 実践プロセス1

前回のまとめ👇👇👇

今回は実践編に移ります。
実際にFigJamを使って作業もしてみたので、その時の疑問点などもまとめてみようと思います。


第3章:オブジェクト指向UIの実践

実践プロセス1:オブジェクトの抽出

  1. 想定されるタスクを洗い出す

  2. 洗い出したタスクの中から名詞を抜き出す。

    • 単に名詞を抜き出すのではなく、ユーザーの関心の対象になりうる概念を意識する。

    • 名詞にはモノ(食べ物、書物等)もあれば、コト(食事、読書)もある。

  3. 名詞同士の関係を抽出する。タスクごとに名詞同士の関連を示す線を繋げる。

  4. 具体的な名詞を抽象的にし、粒度を揃える

    • 例)野球部→部

    • 例)修学旅行→イベント

  5. 名詞の関係性を繋げ、オブジェクトを特定する

    • 抽象化した名詞のうち、同じ名詞を統合する。その上で再度線を繋げて(ネットワーク上に繋げて)みる。

  6. オブジェクトの中で「メインオブジェクト」になるものを特定する

    • メインオブジェクトを選定する際の基準として、下記が挙げられる

      • 関心領域における主要なもの(≒最もユーザーが関心を持ちそうなもの)

      • 5の工程で線を引いた際に、より線が多かったもの

  7. メインオブジェクトの多重性を特定する

    • 線で繋げた名詞同士の関係を見た上で、重複する可能性のあるもの(=多重性があるもの)をピックアップする。

    • 例)生徒と部活の関係

      • 生徒目線では、複数の部活に所属出来るため、生徒 - 部活の関係性において、部活は多重性がある。

      • 部活目線では、複数の生徒が部に所属できるため、生徒 - 部活の関係性において、生徒は多重性がある。

    • 例)生徒と組の関係

      • 生徒目線では、1つの組にしか所属できないため、生徒 - 組の関係性において、組は多重性がない。

      • 組目線では、複数の生徒が組に所属している、生徒 - 組の関係性において、生徒は多重性がある。

  8. メインオブジェクトに付随するオブジェクトまとめる

    • 6の工程でメインのオブジェクトとして選ばなかったもの(=サブオブジェクト)に再注目する。メインオブジェクトに対し付随するサブオブジェクトを洗い出し、まとめる。(これらを”プロパティ”と定義する)

    • サブオブジェクトとして洗い出されていないものでも、まとめる際に必要になりそうなプロパティがあれば追加をしていく。

      • 例)メインオブジェクトを「部」とした場合

        • サブオブジェクト1:カテゴリー(6でサブオブジェクトだったもの)

        • サブオブジェクト2:名称数(6でサブオブジェクトだったもの)

        • サブオブジェクト3:生徒数(精査中に追加したもの)

  9. タスクからアクションを見つける

    • 1の工程で洗い出したタスクのうち、動詞に着目してアクションを見つける。

    • 先にプロパティを補足したように、アクションについても精査中に思いついたものがあれば追加していく。

    • ただし、「確認する」というアクションだけは例外で、オブジェクトのアクションとしない。(なぜなら、そのオブジェクトを表示するだけでタスクが完了するため)

※下記のような感じで、FigJamを使って作業をしてみました。(画像はあえてぼかしをいれています)
Miroよりも使いやすくないか…?!

Step1:想定されるタスクの洗い出し〜 Step2:タスクから名詞を抜き出す作業まで
Step3:名詞関係の抽出〜Step7:メインオブジェクトの多重性精査まで
Step8:メインオブジェクトに付随するオブジェクト精査〜Step9:アクションの洗い出しまで

所感や気付きなど

下記の手順を踏む目的が、いまいち理解しきれていない点がありました。

  • Step3:名詞動詞の関係抽出

    • 書籍で紹介されている例がたまたま適切ではなかったのか?ただ単に名詞と名詞を線で引いただけのように見え、「何をもって名詞同士に関係がある」と定義しているのか理解できなかった。
      名詞間で親子関係/兄弟関係などがありそうなものでも線が引かれておらずだったため、どういった基準で作業を進めるのが良いかわかりませんでした。

  • Step5:名詞の関係性を繋げ、オブジェクトを特定

    • 理解は出来たので疑問点がある、というわけではないですが、名詞の洗い出しの時点で割とオブジェクトの特定は出来るかもなと感じました。(私が作業対象にしたサービスの性質がたまたまそうだった、という可能性もあると思いつつ)

  • Step7:メインオブジェクトの多重性を特定

    • この作業目的が一番分かりませんでした。。(きっとプログラミングする人は分かるのでしょうけど、私はプログラミングのドメイン知識が全くないため、、)

    • 根拠のない推測になってしまいますが、「多重性 オブジェクト指向」等で検索すると、「多重継承」というワードがいくつかヒットします(プログラミングに関するサイトの)。

    • このワーク自体が、どうやらUMLのクラス図を作成するフローを、UIデザイン用にしている?ような印象を受けたので、この多重性の精査もプログラミングするときに必要なフローなのだろうな、というところまでは理解しつつも、それがUIデザインにどう活きるのか?は不明瞭です。(もしかしたらこの後の章で説明あるのかな…。)

    • (追記)実践プロセス2の工程にて、この多重性の精査を使った作業がありました。この多重性は、ナビゲーションの検討(どの画面からどの画面を呼び起こすか?)の際に使用するようです。

次は実践プロセス2の「実践プロセス2:ビューとナビゲーションの検討」まで進めてみようと思います。

続きはこちら👇👇👇


この記事が気に入ったらサポートをしてみませんか?