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

Cloud Spiral の取り組み
中村 匡秀 井垣 宏 佐伯 幸郎

本 真佑 楠本 真二

上原 邦昭 井上 克郎
Cloud Spiral (Cloud Specialist Program Initiative for Reality-based Advanced Learning) は，enPiT-Cloudのひとつの取組みとして，大阪大学と神戸大学を中心に開発・実施中の教育プログラムである．本稿では，2012 年
10 月から 2013 年 7 月までの間に我々が行った成果の概要を報告する．とりわけ，その実施体制とカリキュラム，実施して効果があったプラクティスを中心に紹介する．

学による基礎知識習得」「合宿形式による合同演習」

1 はじめに「分散環境での PBL の実施」）が定められているもの

様々な計算資源や情報がネットワークのどこかで管の，具体的なカリキュラムの実装は各取組大学に任さ理され，ユーザは必要に応じてそれらを「サービス」れている．

として利用するというクラウドコンピューティングのCloud Spiral (Cloud Specialist Program Initiative

考え方は，これまでの ICT システムに大きなパラダ

for Reality-based Advanced Learning) は，enPiT-イムシフトをもたらした．クラウドがもたらす仮想

Cloud のひとつの取組みとして，大阪大学と神戸大マシン基盤や，並列分散処理，ビッグデータ活用，ソ学を中心に開発・実行中の教育プログラムである．特フトウェアサービス等は，実現可能なシステムのバリに以下の点を考慮して開発されている．

エーションや品質を大きく拡げるものである．クラウ• クラウド技術の本質を理解し活用できること．

ドは急速な普及・発展を遂げており，現代の ICT 技• ソフトウェア工学に基づいた PBL を行うこと．

術者が習得すべき必須技術のひとつと言ってよい．

• リアリティのある題材で学習すること．

文部科学省プロジェクト「分野・地域を越えた実践

クラウド技術は特に新しい技術であり，体系だった的情報教育協働ネットワーク（通称 enPiT）」におい

教科書やベストプラクティスがそろっていない．そのても，クラウドは 4 つの主要実施分野の 1 つに位置ため Cloud Spiral の開発・実施は，若手教員を中心づけられており (通称 enPiT-Cloud)，複数の大学院に試行錯誤しながら行っている．本稿では，2012 年を連携した実践的なクラウド教育を実施するととも10 月から 2013 年 7 月までの間に我々が行った成果のに，大学や企業とのネットワーク形成を行うことが求概要を報告する．とりわけ，その実施体制とカリキュめられている．enPiT では実施フレームワーク（「座ラム，実施して効果があったプラクティスを中心に紹Cloud Spiral: Cloud Specialist Program Initiative forReality-based Advanced Learning
Masahide Nakamura, Sachio Saiki, Shinsuke Matsumoto, Kuniaki Uehara, 神戸大学大学院システム情報学研究科, Graduate School of System Informatics, Kobe University.
Hiroshi Igaki, Shinji Kusumoto, Katsuro Inoue, 大阪
大学大学院情報科学研究科, Graduate School of Information Science and Technology, Osaka University.

介する．
本稿の内容が，同様の実践的教育プログラムを開発・実施している，あるいは，計画中の大学や組織の方々の何らかの助けになれば幸いである．

ウドサービスシステムの事例を技術面，ビジネス面の2 準備両面から紹介する講義を取り入れている．また，クラ2. 1 enPiT Cloud

ウドを前提としたソフトウェア開発の利活用をする

enPiT Cloud は enPit におけるクラウドコンピュー際に必須な知識である，継続的インテグレーション，ティング分野を担うグループである．本グループでは，

Scrum，ロジカルシンキングやクリエイティブシンキ

大阪大学・神戸大学（Cloud Spiral），東京大学（クング，ファシリテーション等の演習を予定している．

ラウド実践道場），東京工業大学（Cloud Bauhaus），九州工業大学（Cloud Q9）の 4 拠点が連携大学とし3 実施体制て参加している．enPiT Cloud 共通のポリシーとし

3. 1 連携大学て「クラウド技術を理解し，必要なスキルと知識につCloud Spiral の連携大学は，大阪大学と神戸大学いて他者と議論し，実際のクラウド環境を用いて大の 2 大学から構成されている．連携大学内でのカリ規模な処理や効率の良い処理（負荷分散や分散処理キュラム（4 節参照）の実施分担として，クラウド開等）を提供するアプリケーション・情報システム開発

発基礎とクラウド基礎 PBL については，大阪大学主ができる人材育成」を掲げており，基礎知識学習・短導により行われ，クラウド開発応用とクラウド発展期集中合宿・分散 PBL の 3 つを柱とした教育が各拠PBL は神戸大学主導により行われる．連携大学から点で実施されている．enPiT Cloud 全体としての達の受講生として，2013 年度は大阪大学より 13 名，神成目標として，年間における育成学生数 100 名（う戸大学より 8 名の大学院修士課程 1 年の学生が参加

ち連携大学以外の学生数 30 名），参加大学数 10 校，している．

FD ワーキンググループへの参加教員数 20 名を掲げている．

3. 2 参加大学
Cloud Spiral では，大学内における受講生の募集

2. 2 Cloud Spiralや，Cloud Spiral 運営委員会，および FD ワーキン

Cloud Spiral は enPiT Cloud の中の大阪大学・神ググループへの参加を行う参加大学として，大阪工戸大学を中心とした，関西拠点においてクラウドコ業大学，京都産業大学，高知工科大学，奈良先端科学ンピューティング教育を遂行するグループである．

技術大学院大学，兵庫県立大学，立命館大学，和歌山

Cloud Spiral では，ビッグデータの分析手法や，新大学の計 7 大学が 2013 年 7 月現在で参加している．

しいビジネス分野の創出といった社会の具体的な課参加大学からはこれまでに 14 名の教員が参画し，16題をクラウド技術を活用し解決できる人材の育成を名の受講生を輩出している．

目指している．この実現のため，クラウドコンピュー
ティング技術やプロジェクトマネジメント等の実践的

3. 3 企業との連携なソフトウェア開発技術を有する連携企業の専門家，クラウドコンピューティング技術に関するカリキュおよびソフトウェア工学の分野において最新の研究をラム構築において，Cloud Spiral では複数の企業と進めている連携大学，参加大学との専門家との連携を連携している．カリキュラム準備段階においては，行っている．

Cloud Spiral 担当教員が企業実務家とミーティング

教育プログラムとしては，クラウドコンピューティを繰り返して内容に関する意見集約を行った．特にングやプロジェクトマネジメント，ソフトウェア工学

株式会社オージス総研と株式会社 NTT データには，などのトピックについて教育・修得すべき内容を体系社内で実際に実施されているクラウドコンピューティ的・実践的に取り込んでいる．さらに，enPiT 全体でングを想定したソフトウェア開発の実情について大新しいものやサービスを生み出すという視点が重視

学側担当教員に紹介してもらった．さらに，その内容されていることを鑑み，企業の実務家講師によるクラにもとづいて大学側担当教員と各企業の実務家がディスカッションを行い，クラウド環境を想定したソフト

4月

6月

8月

10月

12月

ウェア開発の現状や Scrum と呼ばれるアジャイル開発手法についての講義・演習をカリキュラムの一部に基礎知識学習 クラウド開発基礎取り込んだ．これらのクラウド環境を想定したソフ

短期集中合宿クラウド基礎PBL クラウド開発応用

分散PBL

クラウド発展PBL

トウェア開発手法や Scrum は受講生が実施する PBLにも取り込まれている．

クラウド開発演習

3. 4 FD 活動
Cloud Spiral では，教育コンテンツや教育プロセス，

図1

Cloud Spiral カリキュラムの概要

教育支援環境の開発を目的とした活動を行う CloudSpiral-FD Working Group（CSFD-WG）を Cloud準備ができるようになることを目的とする．具

Spiral 開始当初より正式な活動組織として発足させ，体的な学習項目としては，クラウド概要とデスCloud Spiral に携わる連携大学，参加大学の若手教

クトップ仮想化技術，クラウドソフトウェア開員を中心としたメンバーで活動を行っている．これま発プロセス，ファシリテーションスキル，要求でに 2 泊 3 日程度の合宿を 3 回行い，Cloud Spiral

分析，UML，Scrum，チケット駆動開発とプロで必要となる講義内容について検討を重ねている．特ジェクト管理，プレゼンテーションスキル，SQLに，PBL での開発対象となる題材ソフトウェアの仕と NoSQL，Web アプリケーション開発，ソフ様書を策定し，その仕様書をベースとした実際の開トウェアテスト，IaaS 概要と CloudStack，クラ発やテスト，メンバー内での情報共有を進めている．

ウドアプリケーション開発支援環境などが含ま

また，Skype [5] や WebEx [6] などを用いたオンライれる．

ンミーティングを随時行い，講義資料や教育支援環境の改善への取り組みを行っている．

• 短期集中合宿
チーム開発を行う上で必要となる，プロジェクト

CSFD-WG では，これら Cloud Spiral に向けた活

マネジメント，ソフトウェア開発技術を学んだ上動のほか，これまでに得られた知識などを同様の講義で，クラウド環境を利用したアプリケーション開を行おうとしている大学などの外部に向け積極的に発を複数人から構成されるチームで実施する．ま

公開を行い [4]，必要に応じて教育支援環境導入のサた，負荷分散，大規模データ処理など，クラウドポートなども行っている [3]．

に関する発展的な内容やクラウドコンピューティ
ングに関する最新事例にについても学ぶ．

4 カリキュラム

• 分散 PBL

4. 1 全体概要

基礎知識学習，短期集中合宿で得た知識をもとカリキュラムの全体概要を図 4. 1 に示す．Cloudに，チームでアプリケーション・情報システムをSpiral におけるカリキュラム設計は，enPiT Cloud分散開発する．その際，クラウドならではの特徴が掲げる育成ポリシーを実現するために，基礎知識学を実現する．

習，短期集中合宿，分散 PBL に対し以下のような方針で設計している．

• 基礎知識学習

これらの方針に沿って下記に示す 5 科目が開講される．

• クラウド開発基礎（1 学期，2 単位）受講生がクラウド技術を理解し，必要なスキル• クラウド基礎 PBL（1 学期，1 単位）と知識について他者と議論し，実際の IaaS 環• クラウド開発応用（1 学期，1 単位）

境を用いて大規模な処理や効率の良い処理を提• クラウド発展 PBL（2 学期，2 単位）供するアプリケーション・情報システム開発の• クラウド開発演習（通年，2 単位）このうち，クラウド開発基礎とクラウド開発演習（1チケット駆動開発 (1) 開発者が実施するタスクと学期分）が基礎知識学習に，クラウド基礎 PBL とチケットを関連付け，チケットへの操作を通じてクラウド開発応用が短期集中合宿に，クラウド発展開発プロセスを駆動するチケット駆動開発手法

PBL とクラウド開発 PBL（2 学期分）が分散 PBL[7] の講義とグループ演習．に，それぞれ対応する．
講義は大阪大学中之島センターで主に隔週で行われる．9 月に実施予定の短期集中合宿の一部は平成 25

Scrum とチケット駆動開発に基づくミニ PBL(3)Lego を用いた Scrum とチケット駆動開発の習得を対象とした PBL．

年 5 月にオープンしたグランフロント大阪内ナレッ

プレゼンテーションスキル (2) プレゼンテーショ

ジキャピタルで実施し，社会人・一般も参加予定であン手法についての講義とグループ演習．作成したる．また，神戸大学総合研究拠点および京コンピュープレゼンテーションをグループ内で互いに評価

タの見学なども予定されている．以降の節では各 5 科し，その内容についてのディスカッションを行う．

目の詳細について説明する．

SQL と NoSQL(3) DB の 歴 史 及 び SQL とNoSQL の差異についての講義と，MongoDB†1

4. 2 クラウド開発基礎と呼ばれる NoSQL DB の操作手法に関する演

クラウド開発基礎は 4 月から 7 月末まで，大阪大習，および個人演習．

学中之島センターで開講される．中之島センターではフレームワークによる Web アプリ開発 (4) DWR†2

一日に 4 コマ（10:30〜17:50）の講義と演習が連続しと呼ばれるフレームワークと MVC モデルに基て開講される．下記に開講される各回のタイトルとそ

づく Web アプリケーション開発手法の演習，おの概要を示す．なお，タイトルの後の数値は実施コマよび個人演習．

数である．例えば，オリエンテーションとアイスブレ
イクは初回の 3 コマを利用して実施される．
オリエンテーションとアイスブレイク (3) 各種伝
達事項およびクラウド環境の利用準備とアイスブレイク．
クラウドコンピューティング技術 (1) ク ラ ウ ド
コ ン ピュー ティン グ の 定 義 と そ の 基 盤 技 術 に関する講義．

ソフトウェア開発プロセスと仕様書理解 (1) ソー
スコード作成，単体テスト，レビュー，結合テスト等の開発に必要なタスクの一連の流れと仕様書の読み方についての講義．
テスト・レビュー手法 (3) JUnit フレームワークを用いた単体テスト手法や結合テスト実施手法の講義と個人演習．

Web アプリケーション開発実践 (4) クラウド基

クラウド環境を想定したソフトウェア開発手法 (1)礎 PBL で実施する予定の Web アプリケーショ

クラウド環境が前提となることでソフトウェア開ンの一部をこれまでに習得した技術・知識に基い発がどのように変わったかに関する企業実務家にて実際に PBL 形式で開発を行う．

よる講義．

実施内容から分かる通り，クラウド開発基礎はクラファシリテーションスキル (5) グループでのミー

ウドコンピューティング環境を利用した先進的なソフ

ティングやグループ作業を円滑に進めるためにトウェア開発手法を演習を中心として教育するカリ

ファシリテータと呼ばれる人が果たすべき役割やキュラムである．演習の多くがグループでの作業を知識についての講義，およびグループ演習．

前提としているため，カリキュラム初期に，グループUML(6) ユーザ要求に基いて，ユースケース図，作業を円滑に進めるための講義・演習であるファシリ

ロバストネス図，クラス図，シーケンス図や画面テーションスキルを組み込んでいる．カリキュラム後遷移図に関する講義とグループ演習．

半では各種フレームワークやソフトウェア開発環境を

Scrum(3) 代表的なアジャイル開発方法の一つ
Scrum [2] に関する講義とグループ演習．

†1 http://www.mongodb.org/†2 http://directwebremoting.org/dwr/index.html

利用するため，受講生全員が共通の環境で受講できるよう，教員陣が構築した DaaS と呼ばれるクラウドコンピューティング環境 [4] を用いる．

4. 3 クラウド基礎 PBL
クラウド基礎 PBL は，8 月の一週間をかけて実施
する Web アプリケーション開発をテーマとした PBLである．開発期間は月曜日〜木曜日までの 4 日間で，最終日となる金曜日には開発時の工夫点やプロセス，成果物について発表を行う．受講生は EventSpiralと呼ばれるチケット販売システムを，クラウド開発基礎で習得した各種技術や開発プロセス（Scrum やチケット駆動開発等）にもとづいて実際に開発する．

EventSpiral のユースケース図を図 2 に示す．開発のための仕様書として，ロバストネス図とクラス図，図2

PBL 題材（EventSpiral）のユースケース図

シーケンス図，詳細設計書が受講生グループに与えられる．どのユースケースからどの順番で開発するかは式での講義を行い，その後，社会人・一般も交えた公受講生に任せられているが，すべての成果物は単体テ開セミナーを行う．公開セミナーには講演者としてストやレビュー，結合テストといった品質確保のため

Amazon.co.jp，日本マイクロソフト，NTT 西日本，に必要なタスクすべてが実施されなければならない．

ヤフー株式会社，日本総合研究所などクラウド業界のまた，受講生間での作業内容が偏り過ぎないように，第一線で活動をしている企業からの派遣を依頼して実装や単体テスト，レビューといったタスク種別を全いる．また，パネルディスカッションを通じて今後の受講生ができる限り均等に分担するよう，作業割り当日本におけるクラウドのあり方などを討論する予定てに関する制約が受講生グループに与えられる．

である．
「モバイル対応」では，Broad Network Access の4. 4 クラウド開発応用

考え方から，特定のクライアント環境に依存しないクラウド開発応用では，各日ごとにトピックスをWeb アプリケーションの設計手法について，その基設けクラウド時代に即した以下の 5 つの内容につ本的な考え方や実現技術についての講義と演習を行いて講義・演習を行う．このトピックスは NIST にう．利用技術としては次世代の Web の標準的な構成

よる 5 つのクラウド性質の定義（Resource Pooling,要素となりうる HTML5 や CSS3，JavaScript を用

Broad Network Access, Rapid Elasticity, Measured

いる予定である．

Service, On Demand Self-Service）にもとづいて構築されている．

「ビッグデータ処理」では，Hadoop などの大規模データ処理基盤を利用したビッグデータの利活用手法• クラウド概要・公開セミナーについて学ぶ．具体的には，過去の新聞記事や株価情• モバイル対応

報，コンビニエンスストアの販売データや過去の気• ビッグデータ処理

象情報など，現実世界に存在するデータを題材とし• 負荷分散・スケーリングたデータマイニング手法について演習を交えながら• HPC行う．

「クラウド概要」では Cloud Spiral 受講生に対し，「負荷分散・スケーリング」では CloudStack で構クラウドの一般的な基礎知識や本質について座学形築された IaaS 基盤ソフトウェアを用い，Web アプリ

ケーションの負荷計測や，仮想マシン増減によるスケーリング効果の確認といった演習を行いながら，クラウドシステムの利点を体感する．
「HPC」では大規模計算機システムという点に着目し，分散コンピューティングや並列計算などの計算機負荷の分散について独立行政法人理化学研究所，計算科学研究機構が所有する京コンピュータを利用した演習を行う．また，併せて京コンピュータの見学を通じ最新技術について触れる機会を設ける．

4. 5 クラウド発展 PBL

図3

アイスブレイクの風景

クラウド発展 PBL では，前節で述べたクラウド開発応用の内容をもとに，2〜3 週間程度の期間ごとに

4. 6 クラウド開発演習

3 つのテーマについて PBL を行う．各テーマは遠隔クラウド開発演習では，通年でクラウド開発に必要地の学生同士がオンラインで作業を進める分散 PBLとなる知識や技術について習得してもらう科目であの形態で実施される．

る．前期開講分ではクラウド開発基礎で必要となる座

テーマ 1 では，実際のコンビニエンスストアの売学な内容を，また後期開講分ではクラウド発展 PBL

り上げデータを用いたビッグデータ処理を行う．指定で必要となる知識習得を行う．クラウド開発演習の内された条件下での新規コンビニ店舗の開店を題材と容については今後，ビデオ講義化を行い，受講生や一して，商品の仕入れや配置，営業形態のあり方などに般に向けて自己学習可能な状態にする予定である．

ついて各チームで PBL 形式で議論をしてもらう．この時，与えられたビッグデータからどのようなデータ

5 プラクティス傾向を発見し，どのようにそれを店舗展開に反映させ5. 1 アイスブレイク

たかなどを成果物として求める．

現在，Cloud Spiral では所属大学の異なる受講生

テーマ 2 として，モバイル対応で習得した技術をもが 5〜6 名のグループを組み演習を行っている．そのとに，クラウド基礎 PBL で作成した題材（EventSpi-

ため，初回講義では今後の円滑なグループ内コミュral）に対する拡張をチームごとに行う．各チームごニケーションが可能になるよう，講師側からコミュニとにアプリケーション層のデザインの再設計を行い，ケーションのきっかけとなるアイスブレイクの機会を再実装を行う．

与えた．アイスブレイクの内容は，トランプを用いたテーマ 3 として，クラウド時代のビジネス創出についてのグループワークを行う．クラウド時代における「実践的」な人材とは，ソフトウェア開発に関する技術や知識を持っているのみならず，クラウドサービスをビジネスとして展開・利用できる，幅広い視点を兼ね備えた人材であると我々は考える．この考えにもとづき，本 PBL では既存のシステムやサービスを利用して，新たな社会価値を創出できる人材の育成を目的としている．いくつかの企業の協力の下，既存のサービスを題材に新しい付加価値をもたらすクラウドサービスの創出を行なう．

簡単な自己紹介とゲームを組み合わせたものであり，以下の点を留意し講師が作成したものである．

• 適度なゲーム性を持たせメンバー全員が同一の目的を共有できる．

• ゲームを進める中でより多くの人間と会話を行う機会を得ることができる．

• 単純なルールであるが，終了させることが困難である．
本年度実施したアイスブレイクの様子を図 3 に示す．

DaaS BADER [4] を用いている．これにより PC 環境の違いによるトラブルを回避し，円滑に演習を進めることが可能であった．またこの DaaS システム自体
図4

Cloud Spiral ロゴがクラウド環境であるため，受講生はクラウドに関する講義を受講しつつ，プラクティカルなクラウド環境

5. 2 講義に関する方針を体感できたと考えられる．

多大学の学生が参加しているという Cloud Spiral

また FD 活動を通じ参画している大学の教員があの特性を生かし，人的交流を積極的に行えるような方らかじめ講義の全体を習熟しているため，学生に対す針をとっている．まず各グループのメンバー構成は，る支援がスムーズに行えたなどの経験も得ることが可能な限り所属大学が異なるように編成を行っていできた．

る．また，講義の際には可能な限りグループワークを盛り込むよう講師の方々にも依頼を行い，グループ内6 おわりにでの交流や，お互いの教え合い，助け合いが積極的にCloud Spiral におけるカリキュラム概要とカリキュ行えるような工夫ととっている．さらに多くのグルー

ラム構築及び実施において我々が留意している様々なプワークを盛り込むことで，座学だけでは身に着かな点について紹介した．

い実践的な内容を，具体的な演習を通じて習得可能である．

まだ始まったばかりのプロジェクトであるため，今後受講生に対するアンケートや企業実務家，外部評価委員会等を通じて，継続的に改善していける仕組みを

5. 3 広報活動
Cloud Spiral に お け る 活 動 内 容 の 周 知 や 各 種
イ ベ ン ト な ど の 告 知 に ，Web ペ ー ジ [1] お よ び ，作って行きたいと考えている．
謝辞 Cloud Spiral の実施にあたりご尽力頂いた参画大学，連携企業の関係者各位に感謝します．

Twitter(@cloud spiral) を利用している．Web ペー
ジは WordPress で構築されており，現在は，毎回の参 考 文 献講義内容や講義風景の公開や，講義の一環として行わ[1] Cloud Spiral: http://cloud-spiral.enpit.jp/.
[2] Rising, L. and Janoﬀ, N. S.: The Scrum softwaredevelopment process for small teams, IEEE Software, Vol. 17, No. 4(2000), pp. 26–32.
[3] 細合晋太郎, 亀井靖高, 大迫周平, 井垣宏, 鵜林尚靖,
福田晃: PBL への DaaS 開発環境の導入事例, 電子
情報通信学会技術研究報告, Vol. 113, No. 159(2013),
pp. 103–108 (SS2013–30).
[4] 佐伯幸郎, 井垣宏, 福安直樹, 本真佑, 楠本真二: ソフトウェア開発 PBL のための DaaS を利用した開発
環境の構築, 電子情報通信学会技術研究報告, Vol. 112,No. 299(2012), pp. 13–18 (SC2012–14).
[5] Skype: http://www.skype.com.
[6] WebEx: http://www.webex.co.jp.
[7] 小川明彦, 阪井誠: チケット駆動開発プロジェクトを成功に導くための「現場からの改善」提案を完全網羅,翔泳社, 2012.

れる公開セミナーの告知などを掲載している．また，参加大学・連携企業に対し Cloud Spiral 広報用のパンフレットなどの配布や，国内学会などの産学が集う会場に置いて，周知を目的とした講演を行うなどの活動を進めている．さらに広報活動の一環として，Cloud Spiral 公式のロゴとして図 5. 3 を準備した．
5. 4 講義を通じた所感講義と演習では，完全に統一化された環境で演習を実施可能な DaaS（Desktop as a Service）環境，