日本ソフトウェア科学会第 33 回大会 (2016 年度) 講演論文集

プロトタイプ開発支援ツールによる CakePHP フレー
ムワーク向けコード生成実験
京谷 和明

伊藤 恵

奥野 拓

近年，システム開発では効率化やソースコードの可用性を高めるために，様々な自動生成ツールやフレームワークが導入されている．一方で，顧客から依頼を受けてのシステム開発は，早い段階でプロトタイプシステムを開発し，システムの詳細な要件の確認を行う場面が増えている。しかし，プロトタイプシステムの開発に自動生成ツールやフレームワークを導入する場合，学習コストがかかってしまうことが多く，導入が難しい．そこで，本研究ではシステ
ム開発を行う際に作成されることが多く，理解もしやすい画面遷移図と ER 図からフレームワーク用のコードを生成することで，迅速にプロトタイプのシステムを作成することができ，仕様変更があった際にも図を書き換えればすぐにシステムに反映させることのできるツールの開発を行った．本稿では複数の被験者にツールを使用してもらい，有用性の確認を行うことについて述べる．

Recent years, various code generation tools and development frameworks are introduced to smooth systemdevelopment and enhance availability of source codes. On the other hand, in system development by clients’requests, it is increased that the detail requirements are checked using prototypes in early development
phase. However, if code generation tools and frameworks are introduced in development of prototype system, learning cost are often increased. Therefore, this research creates a tool that can generate prototype
system codes rapidly and the cost of learning this tool is low. The input models of this tool are ER diagram and screen transition diagram which are often created by system developments. The output of thistool is source codes for CakePHP framework. This tool enables developer to develop prototype systemsmoothly, and to modify a system rapidly when the requirements are changed. In this paper, we describe
the experimental confirmation usefulness of this tool to be used by subjects.

成率に重点を置く自動生成ツールが多いため，設計を1 背景細部まで行わなければうまく自動生成を行えないこシステム開発ではより一層の短納期化，高品質化がとが多いことである．また，自動生成ツールを扱える求められており，クライアントがベンダーに対し，迅ようになるために 1ヶ月といった工数がかかる場合も速且つ正確に要求通りのシステムを構築することを求ある．

めている．この目的達成のために，システム開発ではプロトタイプシステムは早期に大まかに動くもの

ソースコードの自動生成ツールの導入が行われたり，が開発され，それを顧客に見せ，フィードバッグを得プロトタイプシステムの開発が行われていたりする．

ることで顧客の真の要求を引き出していくことがでソースコードの自動生成ツールを導入するメリット

きる。そのため，自動生成ツールをプロトタイプシスとしては，設計図やドキュメントを活かすことで開発

テム開発の場で導入することは難しい．

工数を減らせることである．デメリットとしては，生

2 関連研究An Experiment of Code Generation for CakePHP
Framework Using a Prototype Development Tool.
Kazuaki Kyoya, Kei Ito, Taku Okuno, 公立はこだて
未来大学システム情報科学研究科, Graduate Schoolof Systems Information Science, Future University
Hakodate.

2. 1 UML を入力とするソースコード自動生成ツールの開発
河村，浅見らの研究 [1] では Web アプリケーショ
ンの 3 層アーキテクチャの構造に着目し，クラス図

とシーケンス図からフレームワーク用のコードを自うにし，修正も迅速に行うことができるようにする．

動生成するツールの作成に取り組んでいる．この研なお，本論文におけるプロトタイプシステムとして究で作成されたツールを適用することで，9 割以上のは，主にデータアクセス周りにおける機能を考慮してソースコードの生成に成功している．しかし，クラスいるため，レイアウトや画面内における振る舞いは考図とシーケンス図はフレームワークを扱う場合，ある慮していない．

程度そのフレームワークを使ったシステム開発の経験が無いと作成が難しいことがある．

4 アプローチ
本研究では，プロトタイプのシステムを迅速に開発

2. 2 フレームワークを用いた JavaWeb アプリ
ケーション自動生成システムの試作と評価
菰田，中所らの研究 [2] ではシステムエンジニアの生産効率を向上させるために，Web アプリケーショできることに主眼を置く．単にコード生成率を重視するのではなく，必要とするモデルを簡単にし，少ない手順でフレームワーク用のコードを自動生成できるようにする．

ンフレームワークである Struts と O/R マッピング
フレームワークである Hibernate を用いて，Excel の4. 1 アプリケーションフレームワークとモデルワークシートからデータベースとビジネスロジック

本研究で扱うモデルは画面遷移図と ER 図である．

を自動構築できるシステムの開発を行った．このシスデータベースを利用した Web アプリケーションの開テムはコーディング時間を削減することを意図した発を行う際に作成されることが多く，クラス図やシーものであるが，開発対象の規模が大きくなると Excel

ケンス図と違い，扱うフレームワークに詳しくなくてによる設計書では視認性などの問題が発生し，記述がも作成を行いやすい．画面遷移図は UML のステート困難であると予想される．

マシン図を基に作成を行う．
本研究で扱うアプリケーションフレームワークは

2. 3 Web Performer

CakePHP である．公式サイトからファイルをダウン

本研究の関連製品としては，キヤノン IT ソリュー

ロードし，開発したいシステムに合わせてファイルをションズ株式会社が作成した，「Web Performer」 [3]追加し，コードを記述することでシステム開発が行が存在する．この製品は GUI 操作で要件定義情報かえる．CakePHP は MVC アーキテクチャに則ったフら業務用の Web アプリケーションを 100%自動生成

レームワークであり，データの処理を Model，画面できるツールとのことである．しかし，こちらは 1ヶ表示処理を View，データの受け渡しを Controller に月弱の学習期間が必要であり，また 100%の自動生成記述する．本研究ではこの MVC アーキテクチャのを行うには細部に渡って設計を行わなければならず，構造に着目し，画面遷移図と ER 図から，CakePHP

プロトタイプシステム開発の導入には向いていない，のソースコードを自動生成する．

3 目的

4. 2 ツール構成図

既存の自動生成ツールではソースコードの自動生ツールは Java 言語を用いた Web アプリケーショ成を行うためのモデルやドキュメントを作成するのにンとして作成を行う．画面遷移図と ER 図は，UML時間がかかってしまうものが多い．そこで本研究ではを中心としたモデリングを行うことのできるツール

プロトタイプシステムを迅速に開発できるツールをastah* [4] を使って作成する．astah*で記述された画作成することで迅速に顧客の真の要求を聞き出すこ面遷移図と ER 図の astah*ファイルをブラウザで選とができるようにすることを目的とした．具体的には択することで自動生成を行うことができる．各画面の設計を容易に行うことのできるモデルから、迅速にフ名前や，テーブル名からファイルが生成され，ツールレームワーク用のソースコードを自動生成できるよ

内に埋め込まれてる CakePHP のソースコードがそのファイルに記述され，それらのファイルが ZIP 圧義の項目に ER 図と対応するテーブル名を記述して縮されるため，その ZIP ファイルをダウンロードすおく．プロパティ領域への記入例は図 2 の下線が引いることで利用することができる．図 1 に本ツールのてある場所に示す．

構成図を示す．

図2
図1

ツールの構成図

プロパティ領域への記入例

開発者は CakePHP の知識が少なくても，astah*でこれらの画面遷移図と ER 図を作成し，本ツールでそれらのファイルを選択することで，即座に自動生4. 3 ツールによるソースコード自動生成成が行えるようになる．また，astah*では ER 図かER 図からは，主に Model に関するソースコードら SQL へエクスポートすることも可能なので，デーの自動生成を行う．ER 図のテーブル名から各 Modelタベースの構築も自動化を行うことができる．

ファイルを生成し，リレーションシップが存在した場
合は，それらに関するコードも自動生成する．また，

4. 4 マニュアルの作成

astah*ではカラムのデータの型や，空の値を許すか本ツールを円滑に使用できるように，本ツールのマ否かを記述することもできるので，バリデーションにニュアルの作成を行った．本ツールでは画面遷移図と関するコードも Model に生成する．

ER 図の対応付けをさせる必要があったり，テーブル画面遷移図からは，View と Controller に関する名は複数形で記入する必要があるなどの制限が存在

ソースコードの自動生成を行う．画面の名前に「一したりするため，マニュアルを読み理解する工数をな覧」と記述されていたら Controller と View にテーるべく減らすことができるように作成した．

ブルの中身を一覧表示させるコードを生成し，「追加」と記述されていたら入力フォームを表示させるコード

5 実験 1を生成し，フォームの中身をテーブルに追加するコー

本ツールの有用性を確認するために，面談予約管理ドを生成する．本ツールは現在，一覧表示，追加，削システムの自動生成を行い，顧客側からシステム変更除，全削除，編集，履歴表示，ログイン機能を生成すの依頼を受けた際に，どの程度機敏にシステムの改ることができる．ツールに予め登録されている「一変を行えるのかの評価を行った．また，CakePHP の覧」，「追加」等の単語が画面の名前に含まれているかソースコードを簡便に自動生成でき，プロトタイプ開調べることで，生成される機能が決定される．画面遷発にも使用されることのある bake と呼ばれるツール

移図からは他にも遷移情報を読み取り，どの画面や機でも同様にプロトタイプ生成を行い，本ツールとの比能を使うことで，どの画面に遷移するのかを決定す較を行った．

る．画面遷移図だけではどのテーブルに対して処理を行うのかが不明なため，各画面のプロパティ領域の定5. 1 実験の手順

は，ファイル数にも違いが出た．1 回目で生成された

面談予約管理システムとは，学生が教員に対してファイルに加え，3 つのファイルが自動生成されてお面談の予約を行いたいときに利用できる Web アプリ

り，行数としては 129 行のコードが生成されていた．

ケーションである．教員が顧客として面談情報の登面談タイトルの View と，Controller に面談タイトル

録，削除，編集，一覧表示，全削除，履歴表示，面談の追加，一覧表示，削除の処理ができるようになって候補日の登録，削除，編集，ユーザの追加，ログイン

おり，面談情報と，面談候補日の一覧表示画面には，ができるシステム開発の依頼をし，それに対して画面面談タイトルの一覧表示画面に遷移できるよう，それ遷移図 (図 5) と ER 図 (図 6) の作成を行い，それらぞれ 1 行のコードが生成されていた．のモデルに本ツールを適用した．
生成されたプロトタイプを見て顧客から，ユーザ

5. 3 bake による生成結果情報に性別情報を追加したい，との追加要求を受け，

bake でも同様の手順で自動生成を行った．bake で

ER 図の修正を行い，再度本ツールを使って自動生成はモデルを用意する必要はなく，データベースを用意を行った．さらに，面談タイトルも追加や削除ができし，環境変数などを設定することで扱えるようになるようにしてほしい，との追加要求を受け，画面遷移る．bake で自動生成できる機能は，本ツールと同様図の修正を行い，再度本ツールを使って自動生成をにデータアクセス周りの機能であり，追加，削除，編行った．画面遷移図と ER 図の修正箇所は図 7 の通集，一覧表示，詳細表示の 5 つの機能を一括で生成りである．

する．

同様に bake を使って自動生成を行い，修正時間や生成量等を比較した．

1 回目の生成では，まずデータベースとの接続の設定を行った．ドライバや接続ポートなどの 10 個の項目について問われるため，それらに答えていくことで5. 2 本ツールによる生成結果データベースとの接続を行った．その後 MVC のどの図 5 と図 6 のモデルに対して本ツールを適用した部分を生成するのかを尋ねられるので，それに答えてところ，21 個のファイルが自動生成された．仕様通

いくことで自動生成を行った．例えば Model を生成すりのコードが全て生成されたわけではないが，必要とる場合は Model を選択し，どのテーブルを生成対象なるデータアクセス周りの機能は全て自動生成を行うとするか，バリデーションを設定するか，アソシエーことができた．仕様通りに生成されなかった点は，面ション (関係) を生成するかどうかの 3 つの項目を尋談情報の一覧表示の際に本来は今日以降の情報のみをねられた．バリデーションは各カラムに対し，1 つず表示する仕様だが全ての面談情報を表示するよう生成つ指定する必要があり，Model 同士のアソシエーショされた点や，本来は教員と学生とで閲覧できる画面にンも，各テーブルに対し 1 つずつ答える必要があった．

差があるがすべて共通で生成された点などであった．

設計書がないため，頭のなかで考えてアソシエーショ続いて，ER 図に修正を加えて自動生成を行った結ンを答える必要があった．Controller や View も同様果，ファイル数に違いはなかったが，コードの行数にに対応するテーブルを指定し，scaﬀolding や CRUD違いが出た．違いが出た箇所としては，ユーザの登録を作るか否か，ヘルパーやコンポーネントを扱うかなの際に性別の登録や編集ができるよう，2 行のコードどを答えていく必要があった．Controller は 7 つの項が生成されていた．Model には，性別を登録する際目，View は 2 つの項目について尋ねられた．モデルにフォームが空の値を許さないように，バリデーショの作成をしなくても自動生成を行うことができたが，ンが 1 行生成された．他にも面談情報の一覧表示や上記の手順を踏まなければならないため，本ツールで詳細表示画面で性別が表示できるように，6 行のコー自動生成した場合より少し手間がかからない程度でドが生成された．

あった．

画面遷移図に修正を加えて自動生成を行った結果

2 回目の自動生成ではデータベースの設定を行い，ユーザの Model と View ファイルに対して自動生成を行った．バリデーションに関するコードが 2 行，性6 実験 2

別の登録フォームに関するコードが 2 行生成されて学生 5 名，教員 1 名に本ツールを利用してもらい，いた．全ての Model，View に対して自動生成を行う問題点の抽出を行った．自動生成を行うのは，予めこ必要はなかったが，修正が及ぶ Model と View に対ちらで用意した画面遷移図と ER 図である．約 1.5 時

しては，また最初からどのように自動生成を行うのか間をかけてマニュアルに則った自動生成を行ってもらを指定しなかればならなかった．

い，生成コードを含む ZIP ファイルをダウンロード

3 回目の自動生成では面談タイトルの View とし，実際にサーバにデプロイしてアプリを動作させController に対して新規に自動生成を行った．この自るまでの手順で不明点がないか，マニュアルに不備

動生成において 317 行ものコードが自動生成されたがないかなどの確認を行った．なお，動作確認に用いが，詳細表示や編集などの必要のない機能やそれらへたのは PaaS の 1 種である C4SA [5] である．今回はの画面遷移が生成されていたため，不要なコードが多本ツールのマニュアルとは別に，C4SA でアプリケーかった．

ションを動作させるまでの手順を書いたマニュアルも用意した．

5. 4 考察6. 1 実験結果

1 回目の自動生成では bake のほうがやや早く自動

CakePHP を利用したことのある被験者 1 名はアプ生成を行えたが，本ツールではログイン機能や全削除リケーションの動作まで行うことができたが，他の被機能，履歴表示機能も自動生成できていた．また，モ験者は時間内にアプリケーションの動作を行うことがデルの存在により，可視化や意識共有といった観点かできなかった．原因としては CakePHP を利用したこら見ても本ツールのほうが有用性が高いと思われる．とがある被験者は CakePHP の環境構築に慣れてい2 回目の自動生成では，本ツールでは ER 図に性別カるためすぐに動作させることができたが，CakePHPラムを 1 行追加するだけですぐに自動生成を行うこを利用したことのない被験者は環境構築に慣れておとができ，複数の箇所の修正も一括で行われていた．

らず，アプリケーションを動作させるまでの過程に時bake では開発者が修正が及びそうな箇所を考え，1間がかかってしまったことが挙げられる．

つずつ自動生成しなければならなかったため，本ツー

具体的に CakePHP を動かすまでの過程で時間がかルのほうが迅速に修正を行うことができた．3 回目のかってしまった場面としては，本ツールでは Model，自動生成では新たに画面を 3 つ作成しなければならView，Controller 部分のコードのみを生成していたなかったため，手間としては bake による自動生成とので，CakePHP 本体とマージするまでの手順が発生あまり変わらなかった．しかし，画面遷移図があるおしてしまっていたことが挙げられる．アプリケーショ

かげで本ツールのほうが柔軟に必要な機能だけを自ンの動作を行うことのできた被験者は CakePHP の動生成できた．bake ではプロトタイプをそのまま実ファイル構造を把握していたため，どのファイルをどシステムの開発に使うことになった場合，不要な機能のフォルダに追加すればよいか把握できていたが，他を削除する作業が入る．また，修正が広範囲に及ぶの被験者はあまり把握できていなかった．

場合，bake では修正のし忘れが発生してしまう恐れ

他には，astah*では ER 図から SQL の自動生成があるが，本ツールではモデルの存在により修正のを行うことができたが，別途 CakePHP 用のデーし忘れを予防することができる．これらのことから，タベースの設定を行わなければいけなかったこと

bake と比較すると，画面遷移図と ER 図から直接迅が挙げられる．CakePHP では主キーである id を速に自動生成を行うため，本ツールのほうが有用性がAUTO INCREMENT にする必要があるが，astah*高いと思われる．

ではその部分を自動生成できない．C4SA ではデー

タベースサーバに MySQL を用いており，クライア
ントツールに phpMyAdmin を用いていたため，マニュアルには phpMyAdmin 上で設定するように記述していたが，phpMyAdmin の操作をしたことのない被験者は設定に時間がかかってしまっていた．また，

CakePHP 上でデータベース接続用のコードも自分で記述する必要があった．
他にも CakePHP ではハッシュ化や暗号化を行うために，予め記述されている Security.salt の値と Se-curity.cipherSeed の値を修正する必要があることが挙げられる．マニュアルではどの箇所を修正すればよいのかを記述し，各自でエディタを用意し修正するよう記述していたため，その部分に関しても時間がか

図3

改善を行ったツールの画面かってしまっていた．
扱う画面遷移図と ER 図も予め用意した面談予約管

6. 2 ツールの改善

理システムのものであるが，被験者に画面遷移図とこれらの結果を受けて，本ツールの改善を行った．

ER 図の修正を 2 回行ってもらい，そこから自動生成

具体的には CakePHP 本体を本ツールに内蔵するこを行いアプリケーションの動作を行ってもらった．予とで，自動生成を行ったファイルとのマージを本ツーめ用意した ER 図は図 6 と同じものであるが，画面ル上で自動で行うようにした．本ツールの利用者は遷移図は図 7 を用いた．動作環境は実験 2 と同様のModel，View，Controller ファイルのみをダウンロー

C4SA である．まず最初に本ツールのマニュアルを読ドするか，CakePHP 本体ごと全部ダウンロードするんでもらい，それを読み終え次第予め用意した画面か選択できるようにした．

遷移図と ER 図を基に自動生成を行ってもらった．そまた，SQL の生成は astah*の ER 図上で SQL エの後ユーザ情報に性別情報も登録できるようしてほクスポートを行うのではなく，本ツールで ER 図からしいという要求を与え，自動生成を行い，動作確認読み込んだデータを基に自動生成を行い，生成コーを行ってもらった．さらに面談タイトルに関しても変ドを含む ZIP ファイルと同時に SQL ファイルもダ更を加えられるようにしてほしいという要求を与え，ウンロードできるようにした．phpMyAdmin 上では自動生成を行い，動作確認を行ってもらった．実験のSQL のインポートのみを行うことで，必要最低限の様子は図 4 に示す．

設定でデータベースとの接続ができるようにした．
他にも，Security.salt の値と Security.cipherSeed

7. 1 1 回目の自動生成の値も本ツールの利用者が各々エディタを用意し修正

1 回目の自動生成では，まず本ツールのマニュアルを行うのではなく，ブラウザ上で入力フォームを追加を読んでもらった．マニュアルの読解にかかった時し，自動で該当箇所を修正するよう自動生成を行うよ

間は被験者 1 は約 15 分程で，被験者 2 は 20 分程でうに修正した．改善を行った本ツールは図 3 に示す．

あった．その後本ツールを用いて自動生成を行ってもらった．自動生成にかかった時間はいずれの被験者

7 実験 3も 5 分程であった．その後 C4SA のマニュアルを基改善を行った本ツールを用いて再度被験者を募集に，C4SA 上に自動生成を行ったソースコードをアッし，生成実験を行った．今回の被験者は学生 2 名で，プロードし，動作確認を行ってもらった．被験者 1 は3 時間以内を目安に自動生成を行ってもらった．今回アップロードした ZIP ファイルが C4SA 上でうまくを行い，面談タイトルが変更できるようになるかの動作確認を行うように要求を与えた．被験者 1，被験者2 のいずれも予め用意した画面遷移図の情報を基に，画面遷移図に新たに「面談タイトル変更画面」という画面を追加し，別の画面から遷移するように作成していた．被験者 1 は面談タイトル追加画面から変更画面に遷移するように記述を行っていたため，うまく動作させることができていなかったが，画面遷移図を確認し，すぐに面談タイトル一覧表示画面から遷移するように修正を行っていた．被験者 1，被験者 2 共に新たに作成した画面のプロパティ領域に対応する ER
図4実験の様子図のテーブル名を記述していなかったため，うまく動作させることができていなかった．その後本ツールの展開できなかった問題が発生し，被験者 2 は自動生成マニュアルを読み気づいたようであり，画面遷移図にを行うときに Model，View，Controller ファイルの対応するテーブル名を記入し，うまく動作させることみをダウンロードするように選択してしまっていた．

ができていた．正常に動作できていることが確認でき動作確認を行うまでかかった時間は被験者 1 が 1 時るまでにかかった時間は被験者 1 は 40 分，被験者 2間程で，被験者 2 が 55 分程であった．

は 45 分であった．

7. 2 2 回目の自動生成

7. 4 考察

2 回目の自動生成では，ユーザ情報に性別情報を登

1 回目の自動生成ではいずれの被験者もマニュアル録できるように，ER 図を修正してから自動生成を行の読解も含めて 1.5 時間以内に動作確認を行うことがい，性別情報を登録できるかの動作確認を行うようできていた．実験 2 で行ったツールの改善により，実に要求を与えた．この性別情報は入力が必須である

験 2 と比較し，CakePHP を動作させるまでの手順をことも伝えた．被験者 1，被験者 2 のいずれも予め用減らすことができ，動作確認を行うまでの時間を減ら意した ER 図の情報を基に，新たに users テーブルにすことができた．

カラムを追加していた．ER 図の他のカラムの情報を

2 回目の自動生成では被験者 1 は ER 図にカラム見ながら作成を行っていたため，どの部分に情報を付を追加し，すぐに自動生成を行うことができたため，加すれば入力が必須になるかすぐに気づいたようで短い時間で要求通りの自動生成を行うことができてある．被験者 1 は修正を行ってから C4SA 上で動作いたが，被験者 2 は ER 図を誤って修正してしまっ確認を行うまでに 15 分程の時間を要した．被験者 2た部分があり，正常に動作確認を行うまでに時間を要

は users テーブルの名前を user と変えてしまい，うしてしまっていた．本ツールで自動生成を行う際に，まく動作確認を行うことができていなかった．この修ER 図が正しく記述されていない場合に利用者がすぐ正は意図的に行ったものではなく，誤って修正してし気づくようにどの部分が正しく記述されていないかまったとのことであった．被験者 2 は正常に動作確認

エラー表示などをする必要があると思われる．

を行えるようになるまで 30 分程の時間を要した．

3 回目の自動生成では被験者 1，被験者 2 共に ER図との対応付けを行うのに時間を要したため，正常7. 3 3 回目の自動生成に動作させるまでに時間がかかってしまっていた．マ

3 回目の自動生成では，面談タイトルの変更機能をニュアルには ER 図との対応付けの仕方が載っていた作成するように，画面遷移図を修正してから自動生成ため，すぐに気づくことができるようにマニュアルの改善も行う必要があると思われる．
以上のことから 2 回目，3 回目の自動生成では時間がかかってしまう場面があったが，エラー表示を含むツールの UI やマニュアルの改善によって時間を削ることができると思われるため，本ツールをさらに改善[ 3 ] キ ヤ ノ ン IT ソ リュー ション ズ 株 式 会 社,
Web Performer, http://www.canon-soft.co.jp/product/web_performer/, 参照 (2016-8-16)[ 4 ] 株式会社チェンジビジョン, astah*, http://astah.
change-vision.com/ja/, 参照 (2016-8-16)[ 5 ] ニ フ ティ株 式 会 社, ニ フ ティク ラ ウ ド C4SA ,http://c4sa.nifty.com/, 参照 (2016-8-16)する必要があることが示された．

A 付録: 本稿で用いたモデル
8 まとめと今後の課題
本研究では既存の自動生成ツールではプロトタイプシステムの開発に時間を要してしまうという問題から，画面遷移図と ER 図から CakePHP 用のソースコードを容易に自動生成できるツールの開発を行った．実験 1 では bake との自動生成実験の比較を行い，本ツールの有用性を確認することができた．実験

2 では被験者を募集し，本ツールを利用して自動生成を行ってもらったが，時間内に正常に動作することができた被験者が少なかったため，ツールの改善を行った．実験 3 では再度被験者を募集し，改善した本ツールを利用することで，動作確認を行うまでにかかる時間を減らすことができていることを確認することができた．また，画面遷移図と ER 図の修正を行ってもらい，そこから自動生成を行ってもらったが，マニュアルの修正も含めて本ツールをさらに改善していく必要があることが示された．
今後の展望としてはさらに本ツールの修正を行い，面談予約管理システム以外のシステムにも本ツールを適用してみる生成実験を行いたい．その後実際の要求獲得の場で本ツールを用いることで，本ツールの有用性を示していきたい．また，CakePHP 用のコードだけでなく，スマートフォンアプリ等の他の MVCアーキテクチャを用いたフレームワーク用のソースコードの自動生成を試みることで，他のフレームワークでも同様なことが行えることを示していきたい．

参 考 文 献[ 1 ] 河村美嗣, 浅見可津志, UML を入力とするソースコード自動生成ツールの開発, 全国大会講演論文集, 第72 回, 一般社団法人情報処理学会, 2010, p337-p338[ 2 ] 菰 田 直 樹 , 中 所 武 司, フ レ ー ム ワ ー ク を 用 い た
JavaWeb アプリケーション自動生成システムの試作と評価 , 全国大会講演論文集, 第 71 回, 一般社団法人情報処理学会, 2009, p289-p290

図5

面談予約管理システムの画面遷移図

図6

図7

面談予約管理システムの ER 図修正された画面遷移図と ER 図の一部