はじめまして!
アドバンストクラス「がんちゃん+X」から、企業名非公開の組織より参加していました松本と申します。昨年度の大会ではCS大会総合準優勝、今年度のCS大会では総合4位とTOPPERS賞を受賞しています。
この記事では、どのように今年のTOPPERS賞モデルが出来たのかをご紹介します。
来年度以降で参加される皆さんに少しでも参考になれば幸いです。
そもそもTOPPERS賞とは
公式HPの表彰内容に詳細が記載されています。
ETロボコンを含めて年に2つしか授与されない表彰とのことです。
なぜ「がんちゃん+X」がTOPPERS賞に選ばれたか
公式HPの【チャンピオンシップ大会】表彰チーム公開!に詳細な受賞理由が記載されています。
モデル書いた本人もここまで高い評価を得られるとは思っておらず大変光栄です。
TOPPERS賞のモデルが書けた理由
表彰内容に記載されている通り、TOPPERS賞の審査は設計モデルに重点が置かれています。他のチームと比べて、当チームの設計モデルにおける強みを分析しました。
競技用のソフトを実際に作っている人がメインで書いている
タスクの振る舞いやシーケンス図は、実際に実装している人にしか上手く書けないと思います。
チームによっては実装とモデル作成が担当別に分かれているかと思いますが、常日頃から議論して設計を進めることが大事です。設計方針を早期に立てた
審査規約が出た直後の5月には設計方針に着手して完成させていました。この時期に早期に立てておくことでその後の、詳細設計や実装を詳細に実施することが出来ました。過去の事例を研究した
異常処理や代替処理については、過去の大会での競技で失敗したチームの競技内容を分析し、思いついたものを記載しています。過去大会の動画はyoutubeにアップされていますので、参考にしていました。また、当チームは過去の大会や試走会で多くの失敗を経験したので、その内容から書くことができました。モデルの配置・配色を専門にするメンバーがいた
モデルシート1枚には多くの情報を詰め込まなければなりません。複雑な情報が整理され見やすく記載されているかは、審査に影響します。特に設計モデルのクラス図のようなUMLでは、クラスと関連の線を整理するだけでも多くの工数を取られてしまいます。当チームにはその作業を専門で実施するメンバーがいたため、見やすさの向上を実現することができました。
「がんちゃん+X」でのモデル作成のやり方
がんちゃんの連携チームは、2017年の東北地区大会で個人1人参加の私が地区ゴールドモデルを取ったことで、岩手大学の先生からお声がけ頂き、大学生+社会人エンジニアの体制で2018年,2019年の大会に出場することになっていました。毎年の活動は3月からCS大会までの毎週土曜に実施していました。
学生の皆さんには、モデルのような設計書は書いた経験がほとんどないため、当初は大変苦労しました。しかし、毎週土曜にモデルレビューを行い、過去モデルを精査することにより、学生の皆さんのモデルに対する理解力が向上しました。地区大会の提出直前の時期には平日にもかかわらず学生同士で、自主的にモデルレビュー会を開催し改善点を詳細に書き込んだ成果物を出してきて、改善提案をしてくれました。そのような取り組みのおかげで、CS大会の上位チームレベルのモデルを書き上げることが出来ました。
良いモデルを書くにはチーム内レビューを繰り返し実施することが重要です。
CS提出モデルの修正版
当チームがCS大会向けに提出したモデルを、後日見直したところ初歩的な記載ミスが複数発見しました。今年は締め切り前に駆け込みで多数の記載を修正したこともあり、レビューによる指摘が追いつきませんでした。
TOPPERS賞を獲得したモデルとして、来年以降の参考モデルとして閲覧されるのが恥ずかしいことあり、この投稿をお借りして審査コメントも踏まえてモデル全体を修正したものを投稿します。
来年以降について
個人的な話ですが、私は競技者を卒業して、東北地区実行委員にステップアップし、地区全体のレベルアップをさせることが次の目標です。
岩手大学から出場するがんちゃんチームは、新たな体制で来年の大会に挑みます。これまでの主要メンバーも卒業してしまうので、弱体化することが懸念されているのですが手は打ってあります。来年以降も引き続き全国の頂点を目指して頑張って欲しいです。