生産と技術

第66巻第４号（2014）

クラウドコンピューティング技術を活用したソフトウェア開発教育
井 垣

技術解説

宏＊

Software Engineering Education using Cloud Computing Technology
Key Words：Cloud Computing, PBL, Software Engineering Education

1. はじめに

開発支援環境を学生に提供する仮想演習室サービス

ソフトウェア開発教育の現場では，システムの実装

DaaS BADER

技術だけでなく，プロジェクトの運用に必要なマネの仮想的な演習室環境を構築することで，導入時のを構築している．PBL 実施のためジメントやコミュニケーションのスキルといったよ教員・学生にかかる負荷が低減できる．また，り実践的な技術を学生に指導することが求められてDaaS BADER を利用することで，学生自身によるいる．そのため，チームによるソフトウェア開発をVM の制御や教員による開発・開発支援環境のモニ実際に実施し，プロジェクトに必要な技術習得を行

タリングを通じたプロジェクト進捗の把握が可能とう PBL（Project Based Learning）[2] と呼ばれる形なる．

式による実践的なソフトウェア開発演習（ソフトウェア開発 PBL，以降 SDPBL）が多くの教育機関で

2. ソフトウェア開発 PBL の現状とその課題実施されている [1] ．

2.1 ソフトウェア開発 PBL

SDPBL では，チームでのソフトウェア開発を伴うソフトウェア開発 PBL（SDPBL）とは実践的なソため，学生は開発言語や統合開発環境（IDE）といフトウェア開発プロセスやプロジェクトマネジメン

った開発環境やプロジェクト管理ツール，版管理シ

トを学生に体験させることを目的とした PBL 形式

ステムといった開発支援環境を利用する必要がある．の演習である．PBL 形式による教育は，通常の座このとき，特に開発環境については，学生間で統一学による講義・演習だけでは習得の難しいプロジェした環境を利用する必要がある．しかしながら，実クトの運用に必要なスキルを，主体的なプロジェク

際には開発に利用する端末にプリインストールされト運営を通じて学生に獲得させることを目指して実ているソフトウェアや OS の差異などにより様々な施されている [2]．大学における SDPBL の代表的個別の問題が発生することが多い．また，SDPBLな例として，松澤らは，顧客を地域の商店や大学教における教育支援という観点からは，教員が学生の授とし，PM を目指す企業の技術者と学生が協同すアクティビティやプロジェクト進捗をなるべく正確ることで顧客が望むソフトウェアを作成するに把握しなければならないという課題がある．

SDPBL を報告している [3]．沢田らは，組み込みソこれらの問題を解決するため，我々はクラウドコン

フトウェア開発プロジェクトをテーマとし，分析かピューティング技術を利用した仮想開発環境・仮想ら受け入れテストまでを行って飛行船制御ソフトウェアを作成する SDPBL を報告している [4]．これらの SDPBL の多くでは，納期の順守や成果物の品質，＊ Hiroshi IGAKI

1977年3月生
奈良先端科学技術大学院大学 情報科学研究科 博士後期課程修了（2005年）
現在、大阪大学大学院情報科学研究科特任准教授 博士（工学） ソフトウェア
工学
TEL：06-6879-4112
E-mail：igaki@ist.osaka-u.ac.jp

必要工数といった制約を学生らのチームに課すことで，プロジェクトマネジメントの重要性を学生に認識させることに成功している．
2.2 SDPBL「クラウド開発基礎」
大阪大学大学院情報科学研究科では，高度なソフトウェア技術者の育成を目的とした教育プログラム
Cloud Spiral において SDPBL「クラウド開発基礎」− 19 −

生産と技術第66巻第４号（2014）

を実施している．クラウド開発基礎では，5 〜 6 名

ロジェクト進捗を把握し，様々なフィードバックをで構成されるチームに分かれて，与えられた詳細設与えることが重要である．そのためには学生チーム計書に基づき開発を行う．この演習で学生が行うべごとのタスク進捗状況や開発プロセスについての深きアクティビティは，実装や修正などのコーディンい理解が重要となる [5]．しかしながら現状では，

グ，レビュー，単体試験，結合試験といったソフト開発支援環境におけるタスク管理システムや版管理ウェア開発の各工程である．開発対象は J a v a ，システムのログ，学生の中間発表以外でプロジェク

MongoDB，JavaScript に基づくウェブアプリケー

トの状況を把握することはできておらず，状況に即ションであり，学生には 13 のユースケースに関すしたフィードバックが非常に困難となっていた．

る詳細設計書と，実装の雛形となるソースコード群が与えられ，5 日間の演習期間でテストも含めると

3. DaaS BADER

総行数がおよそ 8KLOC の Web アプリケーション

前節において挙げた課題を改善するため，我々はイを実装する．

ンターネット上の仮想環境を利用した開発・開発支
援環境提供サービス「DaaS Based Advanced Devel-

一般に複数人でアプリケーションを開発するためにopment Environment for SDPBL（DaaS BADER）」

は，以下の開発環境と開発支援環境が必要である．

を構築した．DaaS とはクラウド上にデスクトップ開発環境環境を配置し，インターネットを通じてそのデスクE1 ： アプリケーションを実装するための環境（開トップ環境をユーザに提供するための枠組みである．
インターネット越しにデスクトップ環境を利用でき発言語の SDK や IDE を含む）
E2 ： 作成したアプリケーションを実行するためのるようにすることで，ユーザはどこにいても共通の環境（ウェブサーバやアプリケーションサーデスクトップ環境で開発を続けられるようになる．

バ等）
開発支援環境DaaS BADER は，国立情報学研究所のクラウド環

S1 ： プロダクトの版管理機能

境 edubase Cloud[6] 上に構築されており，ログ取

S2 ： プロジェクトのタスク管理機能

得機能と開発環境が導入された学生用仮想デスクトップ環境（ユーザ VM）とチームでの開発支援環境

2.3 SDPBL における課題を備えた開発支援サーバ，ユーザ VM の起動・終

これまでに我々が行ってきた SDPBL には，以下の了を制御する edubase Web Manager（EWM）からような課題が存在した．

構成される．学生は DaaS BADER 内に自分専用のP1 ： 開発環境の不一致

ユーザ VM とチーム専用のサーバを持ち，利用す学生の PC 環境にインストールされた開発環境のバることができる．各 VM は EWM を用いることでージョンの不整合やインストールされている各種ソ起動・終了が可能である．ユーザ VM には開発環

フトウェア間の依存関係によって，開発環境が正常境が，チームサーバには開発支援環境が導入されており，それぞれにユーザ行動のログを収集する仕組に動作しないみが導入されている．教員は DaaS BADER 内に構
P2 ： 保守コストの増大

築された全ての VM にアクセスする権限を持ってP1 にも起因する各種トラブルが特定の学生の開発おり，遠隔からの保守や収集されたログ情報に基づ環境で発生した場合，トラブルを確認するためにはく学生へのフィードバックを行うことが可能である．

教員が学生の PC 環境に熟知しており，その環境を

図 1 に DaaS BADER の概略図を示す．以降の節では，実際に確認する必要がある．しかしながら，特に遠DaaS BADER の構成要素であるユーザ VM，チーム隔で開発を行っている際には，必ずしも学生の環境サーバおよび EWM について詳述し，ログ機能を用を確認できないため，結果として対応が困難となるいたフィードバックについて述べる．

P3 ： プロジェクト進捗状況の理解不足

3.1 ユーザ VM

SDPBL を進めるにあたって，教員が学生によるプ

ユーザ VM はアプリケーション開発に求められる− 20 −

生産と技術第66巻第４号（2014）

バは定期的にバックアップされるようになっており，障害発生時にも容易に復旧が可能である．学生らが開発した Web アプリケーションを配備する環境も同様に導入されており，いつでも動作確認が可能となっている．
3.3 edubase Web Manager
edubase Web Manager（EWM）は学生一人ひとりが各自に割り当てられたユーザ VM の起動・終了を行うための Web インタフェースを提供する．ク
ラウド環境の特徴の 1 つとして，クラウド環境上に図1構築された VM をプログラムから操作するためのDaaS BADER

API（Application Program Interface）が提供されて実行環境や統合開発環境，アプリケーション実行環いるというものがある．EWM も，この API を利用

境と教員が開発進捗の把握に利用可能な各種ログ情しており，図 2 に示すような画面から，学生一人ひ報取得機能および学生が容易にアクセス可能なネッ

とりが自身の VM を操作できる．

トワークインタフェースを備えている．本節では，ユーザ VM における開発環境および開発ログ取得環境について詳述する．
3.1.1 開発環境と開発ログ取得環境
ユーザ VM では Microsoft Windows7 が動作しており，その上に JDK, eclipse, Apache Tomcat, MongoDB といった SDPBL の開発環境がインストールされている．全てのユーザ VM は単一のひな形となる VM イメージをベースにコピーして作成されるため，ユーザアカウント等の個人情報以外については，全てのユーザ VM において完全に同一の開発環境となっている． 学生は DaaS BADER 内に構築

図2

edubase Web Manager

されたユーザ VM を用いることで，大学や家等任意の場所からインターネットを通じて開発環境に接学生は各自に割り当てられたユーザ ID とパスワー続し，開発を行うことができる．ユーザ VM はバドを用いて EWM にログインを行う．ログイン後はックアップ機能を備えており，学生の利用する VM

学生自身が EWM 画面上のボタンをクリックするだが破損したようなケースでも，教員が VM を新たけで，各自のユーザ VM を起動することができる．に作成し，その VM 上に損傷直前までの学生の開

学生は VM 起動後，EWM 画面に表示される IP ア

発状況をそのまま再現することができる．結果としドレスを確認し，Windows に標準でインストールて障害が発生した際の確認や復旧といった保守にかされているリモートデスクトップ接続機能を用いて，かるコストの削減が可能となる．

開発環境に接続する．

3.2 チームサーバ
チームサーバは学生らのチームが利用する版管理シ

3.4 ログ機能を用いたフィードバック

ステムの Subversion やタスク管理システムの Trac

これまで我々は版管理システムで管理された開発プといった開発支援環境がインストールされたクラウ

ロダクトやタスク管理システムのタスク記録を用いド環境上に構築されたサーバである．各チームサーて，進捗状況の把握とフィードバックを行ってきた．

− 21 −

生産と技術第66巻第４号（2014）

例えば，版管理システムのログによって，誰がどの4.1 統一環境の利用

開発プロダクトをどの程度の量を実装したのかを把2013 年度のクラウド開発基礎において，DaaS BAD-握できる．タスク記録は，どのタスクが誰によってER を用いた SDPBL を実施した．対象とする学生いつ実施されたかという情報を保持している．これは合計 49 名 9 チームであり，事前に全学生用ユーらのログの他に DaaS BADER では，ユーザ VM 上

ザ VM とチームサーバの整備を行った．ユーザ VMに学生ごとの詳細な開発ログを収集する機能を持つ．の導入は開発環境を構築した全ユーザ共通の VM

この機能では下記 2 種類のログ情報を取得し，教員イメージをあらかじめ作成しておき，各学生のユーに提示する．

ザ VM を起動した上で，教員が各種個別の設定を行った．ユーザ VM の導入により，VM 環境の障害

M1 ：アプリケーション操作ログ 学生が任意のアプリケーションの操作を開始 / 終了した時刻

発生時には教員が遠隔対応を行うことが可能になり，ログの取得と合わせ，保守性が大幅に向上した．

を表すログ．
M2 ：ファイル操作ログ 学生がファイルに対して4.2 ユーザ VM トラブル事例行った追記・削除・編集の内容とその日時を演習中に，ある学生のユーザ VM 上で，Web アプ記録したログ．

リケーションが正常に実行できなくなることがあった．原因は学生がユーザ VM 上のブラウザにイン開発環境上で学生の活動状況を直接把握することで，ストールしていた拡張機能の問題であった．問題発より粒度の細かいデータをフィードバックとして提生時は授業時間外であり，対応する教員と学生が同供可能になる．例えば，プロダクトやタスク記録だじ場所にいなかったため，学生に直接状況を聞くこけを用いた場合，主に最終的な成果物を対象として，とはできない状況であったが，ユーザ VM に教員個人の開発行数や開発時間をチームに対する貢献度がログインし，状況を確認し，対応することができ合いとして計測できる．一方，開発環境上のログをた．これは，DaaS BADER を用いているからこそ導入することで，直接的には最終成果物に結び付かであると言える．

ない開発作業（仕様書の理解，テスト作業やバグ発生時の原因追及など）についても貢献として計測す

4.3 ユーザ VM 上のログを活用したフィードバッ
ク事例ることが可能となる．また，最終成果物に基づくデータと開発環境のログを組み合わせることで，作業今回の事例では，ユーザ VM 上のアプリケーショ効率などといった学生の開発能力を定量化することン操作ログとして，Manic Time[7] が出力したログもできる．なお，収集されるログはユーザ VM 上を利用し，開発作業が行われた時間帯やコーディンでの操作のみに限られ，学生は日々のプライベートグに費やした合計時間などを算出した．M a n i c

で行う作業は自身の端末上で，開発に関わる作業はTime では，アプリケーションに対する操作の開始

ユーザ VM 上でと自動的に分かれるため，学生の／終了時刻が記録されるため，ユーザ VM 上で作プライバシに配慮した上で，プロジェクト進捗把握業をした合計時間の他，eclipse などの特定のアプに有用な開発ログを収集することが可能となる．受リケーションに着目することで実質のコーディング

講生自身の端末を利用する環境下において，このよ時間などを求めることができる．このように，チーうな開発活動の詳細なロギングとプライバシ確保のムに対する貢献度合いや開発の能力を数値化し，全両立は VM を用いる以外，現状では不可能である体の中での各人の位置を示すことで，学生のモチベため，DaaS BADER の大きな利点といえる．なお，ーション向上に繋がると考えられる．学生に対してこれらのログ情報収集においては，事前に受講生には，コーディング行数等をそのまま成績評価には用対して確認・許諾を行っている．

いないこと，数値化された指標の向上のみを目的とすることには意味がないことを強調した上で，これ4. ケーススタディ

までの活動を振り返り次の活動につなげるための指本節では，DaaS BADER を実際の SDPBL であるク標として提示を行っている．

ラウド開発基礎に適用した事例について述べる．
− 22 −

生産と技術第66巻第４号（2014）

5. 考察

6. おわりにP1 「開発環境の整合性」の問題については，教員

DaaS BADER は，開発環境の統一やアクティビテが用意した VM を利用することで環境の統一を図ィログの取得を DaaS を利用して実現する SDPBL

ることができている．DaaS BADER を利用するこ向け仮想演習サービスである．また，実際に DaaSとで，学生個人に環境を配布する必要がなくなった

BADER を SDPBL「クラウド開発基礎」で利用しため，開発環境に対する修正を容易にユーザ VMた結果から明らかになった導入・保守コストの低減，へ反映できるようになった．また DaaS BADER では，ログ取得環境の利用，運用の問題点について実例か開発環境の性能が VM の実行環境となる IaaS 環境ら考察を行った．DaaS を導入したことによるコスのハードウェアスペックやネットワークに依存するト低減効果は大きく，特にトラブルに対応するためため，個人のノート PC に高いスペックを必要としの教員の負担が大幅に軽減されたといえる．また，なくなった．ネットワーク帯域については，無線学生のアクティビティを把握できるシステムを利用

LAN ルータの台数を増やすことで対応した．

することで将来的には指導にかかる教員の負担もよP2 「保守コスト」の問題については，トラブルの動検知，初期設定の容易化などさらに SDPBL 遂行発生した VM に対して教員がネットワーク越しににおいて有効な環境を整備することを検討している．

り軽減されることが期待できる．今後は，障害の自アクセスすることができるため対応が容易になると同時に，VM を新たに用意して提供することにより，

文献

障害への対応中も学生は開発を続けることができる．

[1] 独立行政法人 情報処理推進機構， IT 人材白書
2011,2011．

P3 「プロジェクト進捗状況の定量的な把握に基づ[2] H. Batatia, A. Ayache, and H. Markkanen, Netpro:

く学生へのフィードバック」の問題については，学

an innovative approach to network project

生のアクティビティについて，開発支援環境のログ

basedによる間接的な方法だけでなく，開発環境上で直接Conference on Computers in Education (ICCE的な方法で把握できるようになったため，より客観02), pp.382 − 386, 2002.

的で定量的な自己申告に依存しないデータに基づく

learning,[3] 松澤芳昭，杉浦

Proc.

学，大岩International

元， 産学協同の進捗状況の把握とフィードバックが可能になった．

PBL における顧客と開発者の協創環境の構築

その結果，一部ではあるが学生の改善活動に対すると人材育成効果 , 情報処理学会論文誌，vol.49，モチベーション向上に寄与したことを確認した．以no.2，pp.944 − 957，2008．

上のことから，DaaS BADER は本稿で挙げたよう[4] 沢田篤史，小林隆志，金子伸幸，中道 上，大な課題を改善しており，SDPBL のための環境の実

久保弘崇，山本晋一郎， 飛行船制御を題材と現手法として有効であると考えられる．

したプロジェクト型ソフトウェア開発実習 ,一方で，新たな課題も明らかになってきている．一

情報処理学会論文誌，vol.50，no.11，pp.2677− 2689，2009．

つは，フィードバックに教員のスキルに依存する部分が大きい点である．現状では取得したログを目視[5] 松澤芳昭， 塩見彰睦， 秡川友宏， 酒井三四郎，により確認することでフィードバックを行っている

ソフトウェア開発の教員主導型 PBL におけるが，ログの内容を理解しそこから問題を把握するた

反復プロセスと EVM 導入の効果 ,めには PBL の実施スキルや教育スキルが必須である．

学会研究報告 . コンピュータと教育研究会報告，

これに対し，様々なログを一元的に管理し可視化し第 2009-CE-99 巻，pp.1 − 8，May 2009．

た上で問題点を自動的に提示する可視化ツールなど[6]

edubase Cloud .
http://edubase.jp/cloud/ja/ 参照 Jul. 6, 2012.の作成により，ログの有効活用を行えるようになると考えられる．

情報処理

[7]

Manictime . http://www.manictime.com/ 参照 Jul. 6, 2012.

− 23 −