モデリングカフェ 第6回のテーマ【モデ筋エクササイズ】のモデリングの過程

# この記事は何?
**モデリングカフェ**をご存知でしょうか?

オージス総研が企画、進めている**身近にあるモノや出来事など、簡単な【お題】を出題し、モデリングを楽しむ活動**です。
第4回のテーマは初心者向けの複数のお題のモデリングで、題して**モデ筋エクササイズ**とのことです。
以下はモデリングカフェの記事の引用です。

>今回は趣向を変えて初心者向けのお題を複数ご用意しました。
今回は株式会社ゆめみ 奈良輪夢美さん協力のもと、モデリングの「楽しさ」の原点に立ち戻り、「誰もが楽しめるモデリング」を目的にお題を考えてみました。
進め方は、いつも通り【お題】を出題し、次回に投稿いただいた回答モデルをいくつか紹介する予定です。

https://www.ogis-ri.co.jp/otc/hiroba/others/ModelingCafe/re06.html

前回記事と同様に自分の回答モデルに到達するまでに考えたこと・気づきなどの**過程に注目**して記事を書きます。

前回記事
>モデリングカフェ 第4回のテーマ【テスト駆動開発】のモデリングの過程

https://qiita.com/juraruming/items/9fd3d4bae8510c4624f0

# 問1 これな～んだ？
問1の問題は下記です。

>モデルで表現したものが何かをお答えください。
回答方法は「何のモデル」であるか、そのように考えた「理由」をお答えください。

## 問1-1 : これな～んだ？
### 問題
問1-1の問題文は下記です。

>このモデルは何を表現してる?

![問1-1_これな〜んだ_クラス図.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/171866/afdbde04-d507-43d1-999f-54661708fe41.png)

### 筆者の回答
>「何のモデルであるか」

**財布**のモデル

>そのように考えた理由

モデルを見て、日本語にして読んでみました。

* 入れ物のポケットにお金が入っている
* お金が入れ物のポケットに入っている

このことから連想できたのが**財布**でした。

他にも以下が候補として出てきました。

* 服（のポケットにお金が入る）
* モノではなく、コトを表す。何らかのシステム?

シンプルにお金を入れるモノ == 財布が自分の中でしっくりきました。
属性に素材があるので、コトを表すモデルよりは具体的なモノを表すモデルの方が適切かなと思いました。


### 回答までに考えたこと
抽象と具体を行ったり来たりしてモデルの妥当性を考えるのが好きです。
オブジェクト図を書いてみます。

#### 最初に書いたオブジェクト図（金種を紙幣か硬貨とした場合）
はじめに書いたオブジェクト図です。
財布は自分のもの、娘のものの2つを書きました。
回答ではないですが、ズボン（ユニクロのワイドストレートジーンズ）のポケットにお金が入っている状況をオブジェクト図に書きました。

娘の財布は下図です。
女の子向けの財布で素材はフェイクレザーというらしいです。

![娘の財布_1（中）.jpeg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/171866/a98d16da-4300-4738-9393-94db41fb40cc.jpeg)

![娘の財布_2（中）.jpeg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/171866/a8decdb8-6469-4cc5-b64d-27262c461df7.jpeg)

これををオブジェクト図にしました。

![問1-1_これな〜んだ_娘の財布_金種=紙幣 | 硬貨.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/171866/0210c8a4-0737-4d7e-b4ff-0d001570a4f0.png)

私の財布は下図です。
10年間つかっていい感じの色合いになっているなと思いました。素材はコードバンという馬の臀部から採れる革なのだそうです。

![自分の財布_1（中）.jpeg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/171866/74598d0a-f7cd-4dca-99da-5db7860db988.jpeg)

![自分の財布_2（中）.jpeg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/171866/9965fb81-157c-4112-8f02-bf56310a53dc.jpeg)

これををオブジェクト図にしました。

![問1-1_これな〜んだ_自分の財布_金種=紙幣 | 硬貨.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/171866/d29298c5-180a-4e9b-ba0b-1ed500645913.png)

ズボンのポケットにお金が入っている状況をオブジェクト図にしました。

![問1-1_これな〜んだ_服にお金を入れる場合_金種=紙幣 | 硬貨.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/171866/978409a6-d7a9-49a1-8fa7-8a4ebcf32c66.png)


前述のオブジェクト図では金種を紙幣と硬貨という考えのもと書きました。
書き終わった後に「そもそも金種って何だっけ?」となりました。
金種について調べたところ、額面が異なる紙幣や硬貨のこと、という意味が適切そうだという結論になりました。
前述のオブジェクト図は金種というよりも、貨幣を構成する物質の種類（紙か硬貨か）に注目していると思いました。

#### 2回目に書いたオブジェクト図（金種を日本の貨幣の種類とした場合）
前述のオブジェクト図は調べてわかった金種の定義とは違うと思ったのでオブジェクト図を書き直しました。

娘の財布をオブジェクト図にしました。

![問1-1_これな〜んだ_娘の財布_金種=日本の貨幣分類.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/171866/8aaba266-dc75-4d20-a37b-b18933abd3a0.png)

自分の財布をオブジェクト図にしました。

![問1-1_これな〜んだ_自分の財布_金種=日本の貨幣分類.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/171866/7699160c-6094-427f-8677-04eda56e6b1c.png)

ズボンのポケットにお金が入っている状況をオブジェクト図にしました。

![問1-1_これな〜んだ_服にお金を入れる場合_金種=日本の貨幣分類.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/171866/04d478b7-650a-4daa-be1b-748a7753fc0f.png)

## 問1-2 : これな～んだ？
### 問題
問1-2の問題文は下記です。

>このモデルは何を表現してる?

![問1-2_これな〜んだ_クラス図.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/171866/63d236da-c67e-4615-aa39-986fcbbc9afe.png)

### 筆者の回答
>「何のモデルであるか」

**細胞融合**のモデル

>そのように考えた理由

問題文のクラスを見た時に以下を考えました。

* 細胞が水と融合している状態のモノ
* 細胞が水と融合している現象

上から想像したのがドラゴンボールのセルでしたがあまりしっくりこなかった、他に連想できるものがなかったので検索しました。
検索結果から細胞融合のことを知り、問題のクラス図に合致すると思いました。

![問1-2_検索結果.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/171866/bed2767d-27ae-4e38-ae31-950ae325d5bf.jpeg)


### 回答までに考えたこと
Web検索でしたので考えていませんが自分でこれだと思った回答モデルがクラス図に一致するか問1-1と同じようにオブジェクト図を書いて検証します。

![問1-2_これな〜んだ_オブジェクト図.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/171866/cac04d73-257a-4c42-b218-cc77755052ba.png)

このオブジェクト図は2つの細胞が水を介して細胞融合している状況を示しています。
細胞、水の名称は例で意味はないです。

私が調べた細胞融合の意味に合っているオブジェクト図かと思います。

> 細胞融合とは、2つ以上の細胞が融合し、新しい1つの細胞になる現象


# 問2 これってどういうこと？
問2の問題は下記です。

>モデルで一番表現したかったことは何だと思うかを選択肢から選んでください。
回答方法は「選択肢」と、それを選択した「理由」をお答えください。
選択肢5は自由記述なので、皆様から「自身が思うモデルで表現したかったこと」をお答えください。

## 問2-1 : これってどういうこと？
### 問題
問2-1の問題文は下記です。

>モデルで一番表現したかったことは何か、以下から選んでください。
>1. 単品の組み合わせで定食の料金が決定する
>2. ごはんに汁もの、主菜と区別できれば、それは定食である
>3. 見て分かる構造を分かりやすく表現した
>4. 食堂などで、あらかじめいくつかの料理の組み合わせを決めてある献立である
>5. その他（回答者による自由記述）

![問2-1_これってどういうこと_クラス図.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/171866/07c972cf-21e5-41a2-b746-4e24c5999858.png)

### 筆者の回答
5 その他

定食の構造・ルールを定義したかった。

このモデルで一番気になったのが副菜の多重度が0..*である点でした。
副菜がないこともあるが、1つ以上でもよいことになっています。
これは例えば季節の1品を追加し競合の飲食店に差別化を図ったり、材料費が高騰のときは副菜をつけない選択もできます。
明確に定食の構造・ルールを定義しておけば献立も立てやすいし、従業員の教育もわかりやすいですし、ビジネス戦略と絡めやすいと思いました。


## 問2-2 : これってどういうこと？
### 問題
問2-2の問題文は下記です。

>モデルで一番表現したかったことは何か、以下から選んでください。
>1. クリスマスには良い子しかいない
>2. プレゼントは一つなので組み合わせ商品（ままごとセット）の方が有利(?)
>3. サンタクロースは現実にはいない（単なる役割）
>4. 過去のプレゼントを子供は覚えており、同じプレゼントは怒られる
>5. その他（回答者による自由記述）

![問2-2_これってどういうこと_クラス図.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/171866/826abdb1-e48e-41f4-b9a1-c13dc60642df.png)

### 筆者の回答
5 その他
子供のクリスマスは思い出として記憶に残ることを表現した

クラス図で目を引くのが子供とプレゼントの関連（履歴・最新の関連端）でした。
子供はもらったプレゼントを記憶し履歴の一部とします（これが思い出のようだと思いました）。
ある年には子供が良い子認定されずにクリスマスと関連を結べずにプレゼントがないこともあるかもしれません。
そういうことも含めて表現したかったモデルなのかなと思いました。

# 問3 空欄を埋めてクラス図を完成させよう！
問3の問題は下記です。

>空欄を埋めてクラス図を完成させよう！
>モデルの空欄を埋めてモデルを完成させてください。
>回答方法は「空欄」に当てはめた言葉と「何のモデル」と考えたか、その「理由」お答えください。
>空欄に何を当てはめるかによって、答えが無数にある自由度の高い問題なので自由に考えてみてください。

## 問3-1 : 空欄を埋めてクラス図を完成させよう！
### 問題

![問3-1_問題.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/171866/1be93cb0-059c-44b9-9d91-357349677b25.png)

### 筆者の回答
机のうえにあったペットボトル飲料を見て3つの例を思いつきました。

クラス1-① : 飲料
クラス1-② : ペットボトル
関連名 : 入れる

![問3-1_回答_1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/171866/1da4dfef-254c-48dc-982d-22cfe96e5f61.png)

クラス1-① : ふた
クラス1-② : ペットボトル
関連名 : 閉める

![問3-1_回答_2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/171866/d04e2208-d536-4308-be60-32092dfb39c0.png)

クラス1-① : ラベル
クラス1-② : ペットボトル
関連名 : つける

![問3-1_回答_3.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/171866/3616d9d4-8963-4348-8df3-45fdeb802878.png)

## 問3-2 : 空欄を埋めてクラス図を完成させよう！
### 問題

![問3-2_問題.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/171866/c8aae037-00c3-4963-a1c6-c0a18a30f834.png)

### 筆者の回答
問3-2に該当するかと考えています。

* 牛乳（クラス2-①）は飲料（クラス2-②）である
* コーヒーは飲料（クラス2-②）である

![問3-2_回答_1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/171866/1ffdb2af-2979-44f1-b324-6cfe140c27e1.png)

## 問3-3 : 空欄を埋めてクラス図を完成させよう！
### 問題

![問3-3_問題.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/171866/8a4fb880-1579-4069-9d6d-8bd75e3049ee.png)

### 筆者の回答

いちごは園芸学では、草の実（草本性）で野菜に分類するとのことでした。
正しい分類ではなく、果物のように食べられることを表現したいときはクラス3-①を**果実的野菜**としても良いかと思いました。

![問3-3_回答_1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/171866/fa803d02-e52e-48cf-9fec-f883dd36a743.png)



# 問4 多重度を埋めてクラス図を完成させよう！
問4の問題は下記です。

>空欄になっている多重度をお答えください。
>回答方法は「多重度」と、そのように考えた「理由」をお答えください。
>多重度は「1」「0..1」「0..*」「1..*」から選んでお答えください。
>多重度の意味は以下の通りになります。
>* 1：1つのみある
>* 0..1：無い場合や、1つのみある場合がある
>* 0..*：無い場合や、複数ある場合がある
>* 1..*：1以上ある

## 問4-1 : 多重度を埋めてクラス図を完成させよう！
### 問題

![問4-1_問題.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/171866/c7340900-fe6a-46e4-8af8-a10c0b1bf33e.png)

### 筆者の回答

>多重度の回答
* 多重度1-①：1..2
* 多重度1-②：1..*

>そのように考えた理由

モデルは下図になります。
![問4-1_回答.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/171866/5a2b6d1f-98a8-4d86-af3b-4ef50d3d3a19.png)

* 多重度1-①：1..2
生徒から先生を見た時に担任・副担任というパターンがあると考えたからです。
担任は最大1人、副担任は最大1人の場合を考えて1..2の多重度としました。
副担任が2人以上の場合はあまりない、リソースの割り当ても大変なのではないかと思い副担任は最大1人と考えています。

この文章を書いている時に担任の関連端を副担任として利用して良いのか?となりました。
担任と副担任の関連端を明確に分ける場合は下図のモデルとなるかと考えました。

![問4-1_回答_2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/171866/38545c44-c5e1-4b4a-9623-f2d4968cdb0b.png)

* 多重度1-②：1..*
先生から生徒をみたときに生徒が0人は先生と生徒の関係として成り立たないと考えたので1以上の多重度としました。
現実世界では担任が先に決まり、生徒が割り当てられていないこともあるかもしれませんね。


## 問4-2 : 多重度を埋めてクラス図を完成させよう！
### 問題

![問4-2_問題.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/171866/f2c08b5a-5eaa-4125-936f-b3e5bcc972d2.png)

### 筆者の回答
>多重度の回答
* 多重度2-①：0..*
* 多重度2-②：0..*

>そのように考えた理由

モデルは下図になります。

![問4-2_回答.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/171866/91ee0c9d-877e-4e2d-9f00-3ea9d3fbc718.png)

* 多重度2-①：0..*
従業員から会社を見た多重度は従業員は会社に所属していない時があると思ったので多重度の下限は0と考えました。
1人の従業員が複数の会社に所属している場合も今の時代一般的かと思ったので多重度の上限が*としました。

* 多重度2-②：0..*
会社が存在した時は従業員が所属していない場合が考えれれるので多重度の下限は0としました。
会社に1人以上の従業員がいることが自然だと考えたので多重度の上限は*としました。

# 感想
今回のモデリングカフェも楽しめました。
問題をモデリングしていて思ったことを書きます。

## モデルは一度で完成しないことを実感できた
モデルを洗練するということを聞いたことがあります。
モデリングを繰り返すことで目的のモデルに近づいていくのだそうです。
[問1-1](#問1-1-:-これな～んだ？)や[問4-1](問4-1-:-多重度を埋めてクラス図を完成させよう！)は一度モデルを書いた後に、違和感を感じて再度モデリングをし直す、ということをしました。
とりあえずモデリングしてみて、違和感に気づきモデリングし直すということを身を持って体験できました。

# 最後に
長文を最後まで読んでくださりありがとうございました。
何かモデリングする際の気づきになれば嬉しいです。
これからもモデリングの練習に励みたいと思います💪