はじめに
2023年11月29日、弊社主催の無償UMLモデリングセミナーが、3年ぶりにオフラインで開催されました。
会場は、株式会社オージス総研様のセミナールームをお借りしました。オージス総研の赤坂様には、会場の手配から当日のサポートまで大変お世話になりました。心から感謝申し上げます。
この記事では、新入社員である私がセミナーに参加して、得た貴重な学びと体験を皆さんと共有します。
セミナーのテーマと目的
このセミナーの主題は「モデルとプログラムの対応付け」で、ワークショップ形式で行われました。
目標は「モデルを見ただけでソースコードが一様に定まる」モデルを作成することで、プログラムから、資料に残らず、コードを書いた開発者の頭の中に留まる知識を排除し、モデルを効果的に活用するために必要な知識を得ることです。
■ご参照:チェンジビジョン主催 – 無償UMLモデリングセミナー
参加者とセミナーの形式
セミナーには7名の参加者が集まりました。参加者はソフトウェアのプログラミングや組み込み開発を行うエンジニアが多く、UMLを自分の仕事に応用するために学びに来られていました。
演習では、2~3人のグループに分かれ、LEGO® MINDSTORM®のライントレース用のプログラムを基にモデリングを行い、グループごとにクラス図とステートマシン図を作成しました。
使用した道具は、模造紙とポストイットという実にシンプルなもので、これは「ツールの使い方ではなく、モデリングの学びをより吸収する」ことが目的です。確かに、ツールの使い方を意識せずに、モデリングの練習に集中できることができました。

演習前半:クラス図の作成
セミナーの前半では、プログラムコードの構造からクラス図を作成しました。
まず、講師の久保秋さんがライントレース用のプログラムコードを提示します。各ブループは、このコードを基にクラス図を作成していきます。しかし、久保秋さんが提示する最初のコードは、構造があまり整理されていないもので、それを基にクラス図を作成しようとしても、コードの情報だけでは分からないことがでてきて、見るだけではプログラムの構造が分かるモデルにはなりません。
「この段階でのモデルでは、ソースコードの構造が不明瞭である」ということを理解したところで、次に、最初のプログラムから動作は変わらず、構造のみを変えたプログラムが提示され、それに応じてポストイットを貼り替えて、クラス図を更新しながら作成を進めました。
この進め方によって、クラス図とコード構造の密接な対応関係を実践的に学べました。また、クラス図作成の際は、配下のクラスは、呼び出し元からみたときに名前だけでやりたいことが分かるか、ということを意識して名付けるなど、実践的なテクニックも教わりました。

演習後半:ステートマシン図の作成
セミナー後半では、プログラムコードの動作からステートマシン図を作成しました。
ステートマシン図の作成は、ロボットが外部から加えられる刺激を見つけるところからスタートしました。このような進め方をする理由について
“ステートマシン図の「状態」とは、出来事(=イベント)を待つ場所を状態ととらえた図だから”
という説明がありました。これは、普段ステートマシン図を作成する際に「状態」から考えていた私にとって新鮮な視点で、この新しい視点により、ステートマシン図をすらすらと作成できるようになりました。

モデリングと実践
クラス図とステートマシン図の完成後に、LEGO® MINDSTORM®を動かして、モデルが、ロボットの実際の動作とどのように結びついているかを確認しました。この時に久保秋さんが「普段、成果物の動作を見るときに思い浮かべるのはプログラムコードですが、今は、ステートマシン図を思い浮かべているはずです。これは、ロボットのプログラムコードとモデルが紐づいているからできることです」と仰いました。まさに、仰るとおりで、今回のセミナーで自身が「モデル」と「コード」の対応関係を学べたことを、大きく実感しました。

感想と今後への展望
このセミナーを通じて「モデリングを利用して最終的に目指すべきこと」と「モデルを見るだけで、プログラムの構造と動作が分かる」ということを、実践を通して理解できました。これまでモデルを活用する上で、あまり意識していなかった点だったので、とても大きな学びになりました。
また、クラス図やステートマシン図を書く上で意識することやテクニック、複数の図を組み合わせる方法なども学ぶことができ、非常に有意義な体験ができました。
今後の仕事でも、今回得た知識を活用することで、わかりやすいモデルを作成してプログラムを理解していきたいと考えています。
さいごに
チェンジビジョンは不定期ではありますが、今後も、UMLモデリングセミナーを開催予定です。次回開催予定は、決まり次第セミナーページや当ブログにてご案内します。
また、弊社はプライベートセミナーも提供しており、内容はお客様のニーズに合わせてカスタマイズ可能です。毎年新入社員向けに定期開催させていただいている会社様もございます。ご興味がございましたら、ぜひお気軽にお問い合わせください。
■ご参照(過去のプライベートセミナーレポート)