UMTPレベル3学習記録 その1, 学習計画編

# この記事は何?
2024年冒頭、今年の目標は設計力アップに決めました。
その過程でUMTPレベル3合格を目標と決めました。
この記事はUMTPレベル3の学習を記録していく記事です。
UMTPレベル3の学習を考えている方の何か参考になればと思います。
第1回目は**学習計画について**です。

# UMTPレベル3とは?
UMTPレベル3はモデルリングのスキルを問う試験です。

https://umtp-japan.org/about_exam/exam_gaiyo/l3

以下に上記URLから概要を転記します。

> モデリングスキルレベル
> * 実務において有効なモデリングが実施できるとともに、他人の作成したモデルをきちんとレビューできる。
> * 拡張性や変更容易性などの点で高品質なモデルを定義できる。
> * ビジネスモデリング、要求分析、アーキテクチャ設計、組み込み開発等を行うためのいずれかの専門的な知識を備えている

> 出題数
> * モデリング文章題（1問の平均回答時間20分〜30分）形式の大問題を3問とモデリングの際に必要な知識を問う小問題（1問の平均回答時間1〜5分）を5問。

> 合格点	
> * 合格点 正解率77％以上を合格とする

> 出題カテゴリ
>
>【知識問題のカテゴリ】
>* 結合度と凝集度
>* オブジェクト指向分析の指針
>* オブジェクト指向設計原則
>* モデリング技法
>* 制約など
> 
> 【モデリング問題の種別】
>
>以下の種別を幾つか含む
>* A 問題記述から（本質的な）クラスを識別する
>* B 複数のバリエーションや拡張（揺さぶり）に対応可能なモデルを考える
>* C 責務を適切に分配する(GRASPのイメージ)
>* D 責務が多すぎたり、関心事が分離されていないような問題のあるクラスを改善する
>* E 再利用性を重視するなど与えられた条件の中で適切な設計を行う
>* F リスコフの置換原則などの設計原則を問う
>* G モデルの問題点や間違い（抜け）を発見する
>* H あいまいだったり、冗長だったり、矛盾がある問題記述をより正確にモデルで表現する

# 学習を決めた背景
UMTPレベル3の学習決めた背景です。

## 自分の状況
UMTPレベル3は過去に学習、受験していました。
4回受試験しましたが不合格でした。

1回目の受験（2017/3/19）

![1回目の受験（2017/3/19）](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/171866/819e1508-32f5-e431-8c22-0a0451c49e3d.jpeg)


2回目の受験（2017/4/2）

![past_exam_results_2.jpeg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/171866/06a781cf-07be-b9af-6594-f25787879939.jpeg)


3回目の受験（2017/8/1）

![past_exam_results_3.jpeg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/171866/34267f1c-05f7-c48a-913a-c9072b9dc560.jpeg)


4回目の受験（2017/12/9）

![past_exam_results_4.jpeg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/171866/28c402a3-4aaf-3626-a302-684499c271ba.jpeg)

## なぜ再度受験しようと思ったか？
2023年年末にネットで検索していたらUMTPレベル3のコンサルをしている方を偶然見つけたからです。

過去の受験状況、持っている本、合格したい日時などを相談し、学習計画を提案してもらいました。

提案内容が具体的・現実的で計画とおりに学習を推進すれば合格できるかも・・・とイメージできたので受験することに決めました。

過去に受験に失敗しているので合格したいという思いもありました。

# 学習してどうなりたいか？
学習してつぎの状態になりたいと考えています。

* 設計力のアップ
* 本質をとらえたモデルをつくれるようになりたい
* 変更しやすい構造の設計ができるようになりたい


# 学習計画
前述のコンサルの方に相談し学習計画を立てました。

* 個人的に9月末に合格したいと思ったので受験日を9月末に設定した
* 学習は書籍のコード、UML図を写経することをお勧めいただいたのでその方針で勧めることにした
* コンサル前にastahを購入済みだった。UML図の作図はastahを使うことにした

## 学習プラン
つぎの学習プランというか指針を提示していただきました。

【1】UMLの基本の習得
* L2までの復習。UMLの基本を使えるようする。

【2】設計原則、知識問題対策
* 「ここで学んだ知識は、重要なもので試験の為に学ぶ、というよりは、実践でも役立つ知識を学ぶ、という意識で取り組むことが重要」と教えていただきました。私も実務で使えてこそ有意義な資格取得の学習だと思いました。教えてもらった設計原則・知識を学べる書籍、情報を参考にして学ぶことに決めました。

【3】モデリング問題対策 
* モデリング問題対策として、多くの問題をこなしていくことが大事

【4】サンプル問題
* UMTPのサイトで公開されているサンプル問題を解けるようになること。解けなかったら学習プラン1〜3に戻り学び直す。


## 決めた学習計画
前述の`学習プラン`をベースにして、受験日の9月末までの学習計画を立てました。

:::note 
2024年2月

`1. UMLの基本の習得`
* 「L2試験対策セミナー」（2024.2.6）を受講
* オージス総研の研修資料（分析モデリング基礎）を復習（読み、UML写経）
* オージス総研の研修資料（分析モデリング実践）を復習（読み、UML写経）
:::

* オージス総研の研修は以前受講していました。このときの資料の復習です。

:::note 
2024年3月

`2. 設計原則、知識問題対策`
* 書籍「アジャイルソフトウェア開発の奥義」の第8〜12章の読み・写経
* 書籍「実践UML」の第17, 18, 25章のGRASPの9つのパターンの読み・写経

:::

:::note 
2024年4月

`2. 設計原則、知識問題対策`
* 書籍「実践UML」の第17, 18, 25章のGRASPの9つのパターンの読み・写経
:::

:::note 
2024年5月・6月

`2. 設計原則、知識問題対策`
* 書籍「Java言語で学ぶデザインパターン入門第3版」の読み、写経
:::

:::note 
2024年7月

`2. 設計原則、知識問題対策`
* OCLの理解
* OCL式 (Keio University)」を読み、掲載されているUMLを写経

* ビジネスプロセスとユースケースの関係について学ぶ
  * [上流工程におけるUMLの活用](https://www.ogis-ri.co.jp/otc/hiroba/technical/JavaDeveloper_UMLInUpperProcess/index.html)を読み、写経

* ユースケース定義とクラスの関係について学ぶ
    * 書籍「かんたんUML 入門」14章の読み、写経

* ロバストネス分析について学ぶ

* CRC 技法について学ぶ
:::


:::note 
2024年8月

`3. モデリング問題対策`

* UMTP 小さなモデル（ライトなモデル）の実施　12例
* UMTP 組込みモデリングカタログの実施　2例
  * 自分の業務（組込みソフトウェア）に近い以下のカタログを選定する。
    * 製品編 -> エアコン
    * 部品編 -> 目標制御
:::

:::note 
2024年9月

`4. サンプル問題`

* UMTPのサンプル問題を実施
* 9月末に受験予定

:::

最後まで長文を読んでいただきありがとうございました🙇‍♀️

記事を書いた2024年3月24日現在も学習を継続中です。
今後も学習計画の学びで気づいたことなどを発信できればと考えています。

何か参考になれば嬉しいです。