地域貢献と研究成果を両立する
ソフトウェア工学教育の実践-不十分な条件下のSE教育の創意工夫-

阪南大学 花川典子

自己紹介 花川典子
• 阪南大学 経営情報学部 企業情報研究科 教授 （2002年 講師で着任）• システム設計，ソフトウェア設計を中心に授業を行う．
• 私立大学を意識してさまざまな教育活動を行う• 2008年より全学教育システムHInTの構築と運用（論文誌，国際会議などで発表）• レポート試験用の全学コピペ検出システムの構築と運用（ICCE等の国際会議で発表）• 学生コンテストをとりいれたソフトウェア工学教育（ICSE2015で発表）• 業務アプリ開発と運用を取り入れたソフトウェア工学教育（FOSE2015で発表）• 研究専門分野 ソフトウェアメトリクス，プロセスメトリクス（科研費テーマ）

本日の予定1.私立大学の特徴
2.教育活動・研究活動の創意工夫
3.業務アプリ開発によりSE教育の実践報告
4.まとめ１．私立大学の特徴「不十分な条件下」とはどのようなことか？ 本学を例にとって紹介します．

１．私立大学の特徴（１）
授業のコマ数は多い：（私の例）後期は8コマ（大学院・ゼミ込）

会議もたくさん！

１．私立大学の特徴（２）
学生は研究職につくわけではない．SEとしての就職希望
教員の研究

学生

メトリクス

設計手法

要件定義

モデリング

統計

データ分析
検証

孤独に研究活動

モデリング？
検証？
なにそれ？

それよりも，しっかりとプログラムができ，設計できるSEになりたい！

希望に応えてあげたい！

不人気ゼミになると，ますます優秀な学生が集まらない．

１．私立大学の特徴（３）
地域社会貢献，産学連携なども要求される．
中高年向けスマートフォン講座

社会貢献

中小企業向けインターネットセ
キュリティ講座
だれでもわかるIOTの最新技術
いろいろセミナーを実施した
そろそろネタ切れ．
本当に貢献できているのかもわからない．

地域の企業や人々

１．私立大学の特徴（４）
不十分な条件下での研究活動と教育活動の両立を果たす
研究室
週8コマの授業

孤独に科研費テーマ研究

教授
大学院生（数名）

SE希望を満たすためのゼミ教育
修士論文，卒業論
文作成指導

地域社会貢献 企業とのプロジェクト

4回生（20名程度）

地域社会貢献 中高年向けスマホセミナー

3回生（20名程度）
2回生（15名程度）
1回生（15名程度）

専門教育
ではない

大学運営のさまざまな委員会や会議・活動
大学教育システムの構
築・運用

１．私立大学の特徴（４）
不十分な条件下での研究活動と教育活動の両立を果たす
研究室
週8コマの授業

SE希望を満たすためのゼミ教育
修士論文，卒業論文作成

へばりそー！
教授
しんどー！

孤独に科研費テーマ研究

大学院生（数名）

地域社会貢献 企業とのプロジェクト

4回生（20名程度）

地域社会貢献 中高年向
けスマホセミナー

3回生（20名程度）
2回生（15名程度）
1回生（15名程度）

専門教育
ではない

大学運営のさまざまな委員会や会議・活動
大学教育システムの構
築・運用

２．教育活動・研究活動の創意工夫
このままでは，どの仕事も中途半端になります．それを創意工夫で何とかしようと試みます．

２．教育活動・研究活動の創意工夫（1）
個別に仕事をしていると，時間も人材も予算も全く不足．
仕事が完遂できない！

よーし！

有機的(?)結合だ！

２．教育活動・研究活動の創意工夫（2）
授業はカリキュラムの中に埋め込まれているので個別で創意工夫はできない
研究室

週8コマの授業

孤独に科研費テーマ研究

教授
大学院生（数名）

SE希望を満たすためのゼミ教育
修士論文，卒業論
文作成

地域社会貢献 企業とのプロジェクト

4回生（20名程度）

地域社会貢献 中高年向
けスマホセミナー

3回生（20名程度）
2回生（15名程度）
1回生（15名程度）

専門教育
ではない

大学運営のさまざまな委員会や会議・活動
大学教育システムの構築・運用

２．教育活動・研究活動の創意工夫（2）
大学教育システム＋科研費テーマの研究を結合！
研究室
週8コマの授業

孤独に科研費テーマ研究

教授
大学院生（数名）

SE希望を満たすためのゼミ教育
修士論文，卒業論
文作成

地域社会貢献 企業とのプロジェクト

4回生（20名程度）

地域社会貢献 中高年向
けスマホセミナー

3回生（20名程度）
2回生（15名程度）
1回生（15名程度）

専門教育
ではない

大学運営のさまざまな委員会や会議・活動
大学教育システムの構
築・運用

２．教育活動・研究活動の創意工夫（2）
大学教育システム＋科研費テーマの研究を結合！
孤独に科研費テーマ研究
研究対象
メトリクス収集• 全学規模の教育システムリ
プレースに伴うシステム開発 4年ごと，• 事務システムのリプレースに伴うシステム開発

面倒でもシステムの担当委員に毎年なる．

大学教育システムの構
築・運用

私

設計書

事務SE

大学＋システム会社にて開発・運用

障害管理票

工程管理

２．教育活動・研究活動の創意工夫（2）
大学教育システム＋科研費テーマの研究を結合！
孤独に科研費テーマ研究＋大学教育システムの構
築と運用

研究室
週8コマの授業教授
大学院生（数名）

SE希望を満たすためのゼミ教育
修士論文，卒業論
文作成

地域社会貢献 企業とのプロジェクト

4回生（20名程度）

地域社会貢献 中高年向
けスマホセミナー

3回生（20名程度）
2回生（15名程度）
1回生（15名程度）

専門教育
ではない

大学運営のさまざまな委員会や会議・活動
大学教育システムの構築・運用

２．教育活動・研究活動の創意工夫（2）SE教育と卒論指導と社会貢献を結合させる
研究室
週8コマの授業

孤独に科研費テーマ研究

教授
大学院生（数名）

SE希望を満たすためのゼミ教育
修士論文，卒業論
文作成

地域社会貢献 企業とのプロジェクト

4回生（20名程度）

地域社会貢献 中高年向
けスマホセミナー

3回生（20名程度）
2回生（15名程度）
1回生（15名程度）

専門教育
ではない

大学運営のさまざまな委員会や会議・活動
大学教育システムの構
築・運用

２．教育活動・研究活動の創意工夫（2）SE教育と卒論指導と社会貢献を結合させる

全工程を体験した中で，問題点を見つけて卒論のテーマとする

地域社会貢献 企業とのプロジェクト

業務アプリケーション
運用

修士論文，卒業論
文作成

開発依頼
この内容については，「３．業務アプリ開発によるSE教育」で詳しく説明

SE希望を満たすためのゼミ教育すべての工程を実施

キックオフ
ミーティング

要件定義

設計

実装

テスト

本番環境移行運用

保守

２．教育活動・研究活動の創意工夫（2）

1年生，2年生の専門教育でないゼミ教育＋地域社会貢献セミナー
研究室
週8コマの授業

孤独に科研費テーマ研究教授
大学院生（数名）

SE希望を満たすためのゼミ教育
修士論文，卒業論
文作成

地域社会貢献 企業とのプロジェクト

4回生（20名程度）

地域社会貢献 中高年向
けスマホセミナー

3回生（20名程度）
2回生（15名程度）
1回生（15名程度）

専門教育
ではない

大学運営のさまざまな委員会や会議・活動
大学教育システムの構築・運用

２．教育活動・研究活動の創意工夫（2）

1年生，2年生の専門教育でないゼミ教育＋地域社会貢献セミナー
１年生, ２年生の専門教育でないゼミ教育

学生のセミナー企画
学生講師派遣学生が作成した教科書提供

地域社会貢献 中高年向
けスマホセミナー

２．教育活動・研究活動の創意工夫（2）
授業はカリキュラムの中に埋め込まれているので工夫ができない
研究室
週8コマの授業

孤独に科研費テーマ研究教授
大学院生（数名）

SE希望を満たすためのゼミ教育
修士論文，卒業論
文作成

地域社会貢献 企業とのプロジェクト

4回生（20名程度）

地域社会貢献 中高年向
けスマホセミナー

3回生（20名程度）
2回生（15名程度）
1回生（15名程度）

専門教育
ではない

大学運営のさまざまな委員会や会議・活動
大学教育システムの構
築・運用

２．教育活動・研究活動の創意工夫（2）
整理しますと．．．．．
研究室
週8コマの授業

孤独に科研費テーマ研究

教授
大学院生（数名）

SE希望を満たすためのゼミ教育
修士論文，卒業論
文作成

地域社会貢献 企業とのプロジェクト

4回生（20名程度）

地域社会貢献 中高年向
けスマホセミナー

3回生（20名程度）
2回生（15名程度）
1回生（15名程度）

専門教育
ではない

大学運営のさまざまな委員会や会議・活動
大学教育システムの構
築・運用

２．教育活動・研究活動の創意工夫（2）かなりすっきりしました！
研究室
週8コマの授業教授
大学院生（数名）
4回生（20名程度）

大学運営のさまざまな委員会や会議・活動

3回生（20名程度）
2回生（15名程度）1回生（15名程度）

孤独に科研費テーマ研究＋
大学教育システムの構築・運用

地域社会貢献 企業とのプロジェクト＋
SEを希望する学生のためのゼミ教育＋
卒論指導
地域社会貢献 中高年向
けスマホセミナー＋
１，２年生向けゼミ教育

２．教育活動・研究活動の創意工夫（３）
仕事をまとめるだけではだめ．
人の流れと活動の流れをなるべく継続できるように作る．

2004

運用情報，障害情報

2008

2012

2017

数年ごとに開発情報と運用データが収集で運用
開発
きるルーチンパターンをつくった
開発
運用

仕様書，設計書，コード，テスト結果，その他の開発
ドキュメント

開発

提案

運用

検証

発展
論文

提案

開発

検証
発展

発展

運用

２．教育活動・研究活動の創意工夫（３）
仕事をまとめるだけではだめ．
人の流れと活動の流れをなるべく継続できるように作る．
もちろん，人（組織）の流れもパターン化する必要あり．
要件定義・設計

システム開発会社
これで必ず，システム開発ごとに設計書な（入札にて決定）
設計などのドキュメント
契約
どのドキュメント，障害などの保守情報を学内システム委員会
私
定期的に入手できる． 理事会（副学長・教員・シス必ず参加

テム課事務職員）

システム納入運用・保守

入札後の契約時，納入物に設計書やドキュメント類，運用情報データなどの提出項目を追加するように依頼する

２．教育活動・研究活動の創意工夫（３）
仕事をまとめるだけではだめ．
人の流れと活動の流れをなるべく継続できるように作る．
大学院生
教授

C

上級生が下級生を教えることで，上級生がA
B下級生をスカウトしてチーム編成する．
4回生（20名程度）
B
リーダ格の3回生 A
大学院生は複数チームを束ねる
3回生（20名程度）
教えに行く
大学院生（数名）

2回生（15名程度）
1回生（15名程度）

2年生ゼミ

平坦な組織ではなく，構造的に組み立てる

進級

チーム結成

チーム
結成

業務アプリチーム結成

３．業務アプリ開発によるSE教育実践
それでは，ゼミ教育のひとつである業務アプリ開発によるSE教育についてお話しましょう．
FOSE2015での発表を元に紹介します．

背景PBL(Project-Based Learning)

ソフトウェア工学の有効な教育手段数々の実績報告ありその一方大学の地域社会貢献が重要視
教員なにをしよう？？

社会人向けセミナーはもう十分やった
し．．．
ソフトをつくることしか，できることはないし．．．

PBLと社会貢献を合体すればいい！

PBL

＋

社会貢献??

業務を支援するアプリをPBLで作成して，社会へ提供する．
安易な発想

問題が山積み！
① 全学生がアプリをつくる能力があるわけではな
い．
② 学生の卒業によって継続的保守・メンテナンスできない③ サーバ機設置はどこにする？
④ ３６５日２４時間稼動できるか？
⑤ 運用中の緊急障害への対応は？

業務アプリ開発と運用の実践的教育⑥ そもそも，どうやって仕事を取ってくるの？

ひとつずつ，問題点を解決しましょう！

PBL

＋

社会貢献??

チームのピラミッド構造

リーダ

業務を支援するアプリをPBLで作成して，社会へ提供する．
安易な発想

プログラマ

最も優秀な学生
基本設計，作業分担
そこそこ優秀な学生
詳細設計，プログラム・テスト

そのほか問題が山積み！
① 全学生がアプリをつくる能力があるわけではない．
② 学生の卒業によって継続的保守・メンテナン
スできない③ サーバ機設置はどこにする？
④ ３６５日２４時間稼動できるか？
⑤ 運用中の緊急障害への対応は？
⑥ そもそも，どうやって仕事を取ってくるの？

プログラムギブアップ学生
顧客との窓口・資料作成・環境設定・機器購
入支援・操作支援詳細：• 1チーム4人から5人• 学生は話し合ってチーム編成と役割を自主的に決める．
• チーム数はだいたい１学年4～５チーム• リーダは大学院生の場合もあり．

ひとつずつ，問題点を解決しましょう！

PBL＋社会貢献??

2年間のゼミでの教育モデル

業務を支援するアプリをPBLで作成して，社会へ提供する．
安易な発想

問題が山積み！
① 全学生がアプリをつくる能力があるわけではない．
② 学生の卒業によって継続的保守・メンテナン
スできない③ サーバ機設置はどこにする？
④ ３６５日２４時間稼動できるか？
⑤ 運用中の緊急障害への対応は？
⑥ そもそも，どうやって仕事を取ってくるの？

基本的に：• 4月から開始（4回生リーダ，3回生メンバ）• 前期で開発終了• 後期で運用開始 多くのバグ修正• 1月で引継ぎ作業 （2月3月運用）• 次の4月 メンバの一部はリーダへ
残りのメンバは保守担当要員へ• 4月からの1年間 保守・メンテナンス• 4回生は3回生からの業務アプリが卒論テーマ

PBL＋

社会貢献??
これまでサーバの設置が一番の問題でした
プログラムはできる業務を支援するアプリをPBLで作成して，社会へ提供する．
安易な発想

大学のサーバで商用目的のWebアプリを運用するわけにはいかない

問題が山積み！

自前のWebサーバを構築可能だが，365日24① 全学生がアプリをつくる能力があるわけではな
時間稼動できないい．
② 学生の卒業によって継続的保守・メンテナンス
レンタルサーバで運用する！
できない
Sakuraロリポップ③ サーバ機設置はどこにする？
NTTコミュニケーションズ④ ３６５日２４時間稼動できるか？
利点：⑤ 運用中の緊急障害への対応は？
• わずか月額500円（100Gb,MySQL,php，Perl，Servletなど）で個人⑥ そもそも，どうやって仕事を取ってくるの？

••••

商店でも導入可能
試用期間がある（数週間）ので，開発したアプリをテストできる．
委譲制度で，テストしたプログラムやDBの本番環境への移行作業が不要
DBのCron登録でバックアップシェルも稼動
もちろん，365日24時間稼動

PBL＋

社会貢献??

業務を支援するアプリをPBLで作成して，社会へ提供する．
安易な発想

問題が山積み！
① 全学生がアプリをつくる能力があるわけではない．
② 学生の卒業によって継続的保守・メンテナン
スできない③ サーバ機設置はどこにする？
④ ３６５日２４時間稼動できるか？
⑤ 運用中の緊急障害への対応は？
⑥ そもそも，どうやって仕事を取ってくるの？

２年計画でひとつのプロジェクトを完成させる
ここは頻繁に障害や要求変更が起きる．
開発チーム全体で対処する

1年目
4月から9月（前期）：
開発チームで開発
10月から3月（後期）：
ほぼ，落ち着く．
仮運用
バグも要求変更も少なくなる．

2年目
4月から3月（1年間）：
保守チーム（2名ほど）で保守・メンテナンス

最後は：• 業務に重要な支障が出る場合，教員が全責任をもって，早急に障害対策する．

PBL＋

社会貢献??

業務を支援するアプリをPBLで作成して，社会へ提供する．
安易な発想

問題が山積み！
① 全学生がアプリをつくる能力があるわけではな
い．
② 学生の卒業によって継続的保守・メンテナンスできない③ サーバ機設置はどこにする？
④ ３６５日２４時間稼動できるか？
⑤ 運用中の緊急障害への対応は？
⑥ そもそも，どうやって仕事を取ってくるの？

最初は大学の周辺の個人商店や，知り合いのお店を回る（教員も学生も）．

レストラン

エステサロン

依
頼
地域商店
地域商店
地域商店

ヘアサロン

ネイルサロン

実績を重ねて．．

大学

社会連携課
花川ゼミ
他ゼミ

個人や単独ゼミで実施するには限界がある．
大学の事務との協力が不可欠

これで大体，大丈夫!?

実績：• ネイルサロン予約システム• エステサロン予約システム• ヘアサロン予約システム• 観光マップシステム• 不動産アプリシステム（開発中）• レストラン予約システム• 第２レストラン予約システム（予定）レストラン予約システム開発例
phpプログラム39ファイル
およそ 7000LOC，MySQL

１０テーブル

http://kita-shin-chi.com/shop/37/#

おかげさまで，これらのシステムは業務で活躍中

教育効果
教育効果は非常にたくさんありました① 自主的問題点の考察② プログラミングより大切な作業③ 地域社会貢献と教育④ 学生の感想

PBLよりも，良い点がたくさんありました！

教員

トラブル報告解決策

教育効果は非常にたくさんありました

トラブル報告解決策

トラブル報告解決策① 自主的問題点の考察② プログラミングより大切な作業③ 地域社会貢献と教育④ 学生の感想

チームA

トラブ
ル

チームB

トラブ
ル

顧客A

チームC

トラブル

顧客B

顧客C

週1回のゼミの時間：• リーダ会議実施（教員＋リーダ）• リーダ会議では• 現在の進捗報告• 現在の問題点・顧客とのトラブル報告• 解決策の提示• 各リーダはメンバにリーダ会議の報告「先生，どうしたらいいんですか？」は，だめ！
あらかじめ学生チームで，問題の解決策・対策を考えてから，ゼミに参加すること！

教育効果は非常にたくさんあった① 自主的問題点の考察② プログラミングより大切な作業③ 地域社会貢献と教育④ 学生の感想

1年目

前期：開発フェーズ

２年目

通年：運用フェーズ

1年目

後期：仮稼動フェーズ
１番大変な時期！

顧客からの山のようなクレーム•••••

こんな仕様をお願いしたわけじゃない．
XX機能がない．急いで追加して．
iPadだと，誤動作する！！
操作がわからない．
そもそも，Wifiってなに？

学生の学んだこと：• プログラムをつくることは難しいが，ある意味では簡単．
• 顧客に満足してもらうことが一番難しい．
• 顧客が困っていることは，プログラム上の問題でない場合が多い．たとえば，操作できない，ネットワークにつなげられない，どのプロバイダ契約したらいいのかわからない，プログラムが完成しても，仕事の10分の１程度がおわっただけですよ・・・教育効果は非常にたくさんあった① 自主的問題点の考察② プログラミングより大切な作業③ 地域社会貢献と教育④ 学生の感想窓口の学生A

A君，Wifiってどうやってつなげるの？

顧客A

A君，iPadが立ち上がらなくなった？
プログラムが苦手で自分はだめだと思っていたけど．．
自分は役に立っている？

A君，いろいろと本当にご苦労様．たすかるわぁ！

学生：
教員からの信頼より，社会からの信頼によって，学生の自信が向上．

社会からの信頼が学生のやる気を引き出す！

教育効果は非常にたくさんあった① 自主的問題点の考察② プログラミングより大切な作業③ 地域社会貢献と教育④ 学生の感想

1. SEとして働く卒業生の感想「現在はプログラミング業務だが，学生時代に業務アプリを体験したので，自分の作業はプロジェクトのどこに位置するかが，すぐに理解できた．」
2. 現リーダ「自信につながった．就職活動ではこの体験が非常に有効だった．後輩もぜひ参加すべきである．」

PBLも有効であるが，社会から信頼をえられることがなによりも利点である！

まとめ：
１．PBLと社会貢献を同時に実施する業務アプリ開発を実施
２．ゼミにおける2年間連続する教育モデルを確立
３．６個の開発アプリを業務で活用
４．教育効果の紹介
今後の課題
１．開発手順や資料の標準化
２．3年目以降の対処方法の整理

ちなみに．．．
やはり，業務アプリプロジェクトから落ちこぼれる学生もいます．
プログラムもできない，ドキュメントも作れない，お客様との連絡係もできない学生です．
彼らは非常に落ち込み，やる気もなくなってしまいます．
それをフォローするために，もうひとつの大きな教育の柱である「学生ITビジネスプランコンテス
ト」への応募をすすめます．
プランだけですので，アイディア勝負です．
もし，成果がでますと，社会的にも評価されたと学生が感じ，自信つながります．

４．まとめ
私立大学のおかれている現状と，そのための創意工夫を紹介しました．
個人的な教育と研究に関する私見を述べます．

教員は短期的な視野で教育と研究だけをすればいいのではない．

• 継続的に高い質の教育，継続的に研究ができる環境を自ら構築しなくてはならない．

教員は一種類の教育を提供すれば良いのではない．

• 学生は様々な能力や資質，性格を持っている．
• 教員の準備した教育内容から落ちこぼれる学生もいる．
• 「落ちこぼれたほうが悪い」は教員の言い訳である．
• 何種類もの教育を用意して，落ちこぼれた学生を救う手立てを持つべきである．

学生の望む教育をすべきである• 教員の研究テーマをそのまま学生教育に利用できる場合は限られている．
• 学生の希望に沿った教育内容を実施するべきである．

教育と研究は統一（共通化）できるか？

• 中堅以下の私立大学ではほぼ無理と考えたほうがよい．
• 莫大な時間を割かれる教育活動から研究テーマになんとか結びつける能力を身に着けるべきである．
• もしくは，全く「別物」と割り切ったほうがよいかもしれない．

ご清聴ありがとうございました．