産学連携先:関西電子情報産業協同組合

昨年に引き続き関西電子情報産業協同組合(KEIS)様と連携し、キャリアゼミとして業務アプリYuminVillageメタバースを開発しています。
本システムは4年前から始まったシステムであり、当初はWebアプリのみのシステムでした。ただし、WebアプリのバックエンドシステムをWebAPIで独立して設計しました。その独立したWebAPIベースのバックエンドシステムの効果により、マルチフロントエンドが実現しました。つまり、バックエンドには全システム共通のデータベースや処理機能がWebAPIの形で実装されています。フロントエンド側にはWebアプリ、メタバース、マインクラフト等が実装できます。

今回はマルチフロントエンドを実現し、他システム設計上の特徴をしっかりと紹介するとともに、マルチフロントエンドのひとつであるメタバースシステムのマルチユーザログインを伴うシステム開発を実施しました。そのシステムの紹介をします。同時に、複数年度にまたがる開発におけるプロジェクトの運営方法の工夫についても紹介します。

複数年度にまたがる開発とは、初心者、中級者、上級者と学年が上がるにつれて経験と知識と技術が成長します。それにともなってプロジェクト内の役割が変化し、最終的には卒業していくというサイクルを実現したことです。

総合情報学部 総合情報学科 田中 悠翔

学生活動報告

 今年度の開発は複数年度にまたがる開発プロジェクトを意識して、プロジェクト構成を考えるところから始めました。まず、プロジェクトリーダーを1人選任し、その人を中心にすべてのプロジェクトが進むようにしました。同時にプロジェクトメンバーは初心者、中級者、上級者のランクを設定し、経験や知識量、これまでのプロジェクトへの貢献によってランクが進行する体制としました。上位ランク者は下位ランク者を指導することも役割のひとつとなり、メンバー全体で一つのシステムを完成させることも目標に活動しました。

  

今回の報告はマルチフロントエンドのひとつであるメタバースシステムを中心に紹介します。バックエンドシステムのマルチユーザログイン機能をWebAPIにて利用し、メタバースのマルチユーザを実現しました。また、初心者からでもメタバースシステム開発に携われるように、YuminVillageメタバースのワールドの中に、比較的個人で開発できる学生個人用の家(個別シーンで実現)を設定しました。
これらによって個人開発にてUnityやC#でのメタバース開発の経験を積むことができるようになりました。中級者になると複数開発者に影響する共通のYuminVillageの村部分、例えば、共通の広場や共通の道路やお城等を開発担当し、他の学生の開発部分から影響される箇所を開発し、それぞれの開発のコンフリクト等を解消する技術を身に付けました。上級者になるとプロジェクト全員がスムーズに学習と開発を進められるように進捗管理と品質管理を実施しました。これによって、企業のプロジェクト相当の経験をすることができました。
総合情報学部 総合情報学科3年 冨田 航佑

連携先コメント

関西電子情報産業協同組合
小原様、小原様、原田様、小林様、三木様

コメント1:
キャリアゼミの報告ありがとうございました。
4年生が卒業し、2年生が新たに参加するという、考えてみれば当たり前のことではありますが、あらためてその現実を認識しました。会社でしたら10年選手がいて、中には20年以上のキャリアのある技術者が存在し、技術を継承していきますが、大学においては一年ごとのサイクルであることに驚きました。とても大切なことですので、ぜひとも継続してください。
今後、メタバースそのものがどのように発展していくのでしょうか。
ゼミで研究していかれる中で、どのような出口や普及が考えられるのでしょうか。クラスターなど日本プレイヤーが振るわない現実がある中で、今後の利活用や将来像も見せていただけると良いのではないかと思います。

コメント2:
学生さんが卒業しても後輩に引き継がれるプロジェクトは素晴らしいです。

コメント3:
いつもお世話になり、ありがとうございます。みなさんの取り組みのレベルの高さを感じました。

教員コメント

総合情報学部 総合情報学科
花川 典子 教授

今年度は複数学年にまたがる開発のプロジェクト体制を整えることを中心に実施しました。
初心者、中級者、上級者、リーダーに、経験や実績、知識や技術量に基づき学生を分けました。それぞれの役割を明確にしました。例えば、初心者はとにかくUnityとC#の使い方と知識、技術を身に付けること、中級者はGitHubを使ってチーム開発の基礎を学び、各メンバの開発によるコンフリクト等の概念を習得すること、上級者は全プロジェクトメンバがスムーズにそれぞれの役割と仕事を実施できているかの進捗管理と、それぞれのメンバの開発プログラムが全体方針に違反していないかなどの品質管理を実施しました。リーダーはすべてのメンバが問題なく開発作業を継続でき、さらに次のフェーズで何をするかを計画するなどの役割を設定しました。これらのランクは固定ではなく、1年の経験を積むと次のランクへ移行することで、学ぶことの範囲を自動的に広げていくような仕組みを作りました。
これによって産業界のシステム開発企業に就職しても、チーム開発という意味で即戦力となる人材を育成することを目指しました。