見出し画像

『オブジェクト指向UIデザイン』をチームで読み合わせ。day.9、10

UIUXデザイナー必読書の、オブジェクト指向UIデザインを、デザインチームで読み合わせして、個人的な備忘録を兼ねて、noteにまとめます。

ワークアウト:Level.6(商品管理アプリケーション)

ヒント:暗黙的なオブジェクトがあることを理解する。「商品」には「商品の種類」と「仕入れた商品」の2種類がある。これを適切な名称に直し、ユーザーにわかりやすく整理する。

オブジェクト抽出
暗黙的なオブジェクトとは何なのか?というところが今回のワークアウトのポイントのようです。「商品の種類」と「個数」をセットにした概念が「仕入れの明細」になり、一度の仕入れで何をどれだけ仕入れたかが確認できるようなイメージです。

オブジェクトの抽出:岡本作成(本書と少し違います)

各々が事前作成したレイアウトを見ていく

No.1

PCでの管理画面をイメージ。仕入れと商品は管理画面から登録できる使用で、商品の「単価」や仕入れの「日付」や「メモ」を残せる仕様になっています。仕入れのシングルビューが明細のコレクションとシングルを兼ねています。管理者がいるイメージなので、ログインがありますね。「仕入れ」と「商品」のコレクションビューに検索があります。

No.2

「商品」のコレクションビューに「平均仕入れ単価」を設け、商品の単価が仕入れ時に変動があることを想定しています。「仕入れ」にコレクションビューには「商品品目数」を入れ、仕入れのtotal個数を確認できる仕様になっています。


No.3

No.3は私です。赤文字の記載は振り返り用にポイントを分かりやすくしています。ナビゲーションは「仕入れ」と「商品」で、「仕入れ」シングルに「仕入れの明細」のコレクションとシングルが、特にオブジェクトを意識せずに入っている状態です。

No.4

No.4は「商品」のコレクションを「在庫」と名称表現しています。図解に線はないですが「商品」のシングルと「仕入れ」シングルはタップで行き来ができるようになっています。

総括

メインオブジェクトの「商品」と「仕入れ」の抜き出しは皆共通してできています。本書に解説のある暗黙的なオブジェクトが「仕入れ明細」であり、そのコレクションとシングルをどこに配置するかで、アウトプットが変わります。本書はビューは5つ表現されており、「仕入れ明細」のシングルページがあることが大きく違う点だと思いました。

相関図

頭を整理するため、上記のような図を用意しました。「仕入れ」シングルが「仕入れ明細」のコレクションを兼ねている状態です。「仕入れ明細」のシングルを作成できるかどうか?が今回のチャレンジだったような気がします。

皆、仕入れ明細のシングルは、そこまで内容が多くないため、コレクションで確認できるとし、作成しなかったという意見が多かったですね。

今回のワークアウトはLevel.6 ~ 9まで段階的にデザインするため、6.7、8.9でnoteに記載します。


ワークアウト:Level.7(商品管理アプリケーション)

年一回の年末に行われる「棚卸し」が加わりました。

Level.6で作成した商品管理に修正を加えながらワークアウトを進めます。「棚卸し」という機能が追加されました。今回も暗黙的に存在するオブジェクトの「棚卸しの明細」が存在することがポイントになります。

No.1

棚卸しの明細の抜き出しはされていますが、ビューにするほどではないと判断しグレーアウトされています。商品ビューにタブが設置されて「仕入れ履歴」「棚卸し履歴」が確認できます。

No.2

ほぼ、本書の回答と同じようなアウトプットになっています。No.1ともそこまで相違ないです。

No.3

No.3は私です。暗黙的なオブジェクトである「棚卸し明細」のシングルを今回も用意しませんでした。商品コレクションに無意識に在庫数を足したのですが、それが「最新の棚卸し時」なのか「リアルタイム」なのかで議論に。リアルタイム在庫数が確認できた方が便利ですね(「商品残高」の金額部分も同様です)。
皆と同じく、商品シングルに「仕入れ履歴」と「棚卸し履歴」が確認できます。

本書に習った修正

「棚卸し明細」シングルを追加し、商品シングル(棚卸し)と棚卸しシングルの行き来を「棚卸し明細」にするよう変更を加えました。棚卸し明細に商品残高を記載し、ほぼNo.2と同じような形になりました。

総括

「暗黙的なオブジェクト」を無意識的に抜き出し、要素としての追加まではできているのですが、画面(ビュー)にする、しないが迷います。

余談
メンバー曰く、この「暗黙的なオブジェクト」の概念はデータベースの考え方でいう「中間テーブル」に似ているそうです。

やさしい図解で学ぶ 中間テーブル 多対多 概念編

多対多の関係において発生する「Multi Column Attribute(マルチカラムアトリビュート)」=(DB設計において非常に良くない設計)を避けるために、中間テーブルがあり、null(空白)がないテーブルになるとか…。
まだ、完全に意味を咀嚼できていないですが、なるほどです。

Day.11に続きます。

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