オープンソフトウェア利用促進事業 2008 年度 OSS モデル

オープンソフトウェア利用促進事業
2008 年度 OSS モデルカリキュラム導入実証
~
OSS の全般的知識習得とソフトウェア開発法の理解・実践
成果報告書
2009 年 9 月
~
用語説明
用 語
Creative
Commons
Eclipse
ITSS(IT Skill
Standard 、 IT
スキル標準)
Moodle
UML モデリン
グ
アジャイル開発
ア マ テ ラ ス
(AMATERAS)
ウォーターフォ
ール型開発、ウ
ォーターフォー
ルモデル
気づきシート
コミュニティ
実践的ソフトウ
ェア教育コンソ
ーシアム
デュアルライセ
ンス
プラグイン
意
味
知的財産の保護を図りつつ、積極的な著作物の流通を促進することを目的に、ウェブ上
で行われている活動、またそれを実施する非営利団体をいう。スタンフォード大学のロ
ーレンス・レッシグ教授が提唱し、現在日本を含む 29 カ国で各国法に準拠してローカラ
イズ化されている。日本ではクリエイティブ・コモンズ・ジャパン
(http://www.creativecommons.jp/)が活動している。
統合開発環境(IDE:Integrated Development Environment)の一つ。オープンソース
であり、Java をはじめとするいくつかの言語に対応。
経済産業省(具体的には IPA)が定めた、個人の IT 関連能力を職種や専門分野ごとに明
確化・体系化した指標で、産学における IT サービス・プロフェッショナルの教育・訓練
等に有用な「ものさし」(共通枠組)として利用される。
GNU General Public License に基づいて自由に配布されるコース管理システム(Course
Management System、CMS)と呼ばれるオープンソースソフトウェアの一つで、これ
をコンピュータ・ネットワークで構築した教育システムのことを e ラーニングシステム
と呼ぶことがある。
オブジェクトモデリングのために標準化した仕様記述言語である統一モデリング言語
(UML:Unified Modeling Language) を用いてシステムのモデルを記述、生成する手法。
迅速かつ適応的にソフトウェア開発を行う開発手法の総称。
種々の手法があるが、多くは反復 (イテレーション) と呼ばれる短い期間単位を採用する
ことで、変化への柔軟な追従を狙う。
Web 開発、データベースモデリング、UML モデリングなどに利用可能な Eclipse
プラグインの開発を行っているプロジェクトの名前。また、そのプロジェクトが提供す
るツールの総称。
「要求定義」「設計」「プログラミング」「テスト」「運用」といった基本的な作業工程を
順次実施していく(ウォーターフォールモデル)に従って開発する手法。前工程の成果
物に基づいて次の作業工程を行い、前工程への後戻りは行わない。
大学の授業などで、マインド変革、スキル向上、知識習得などを気づきとして記録して、
自己の意識改革を含む教育効果向上につなげるきっかけにする目的で利用する自己啓発
のための自己評価シート。
オープンソースソフトウェア(OSS)に関わる特定の分野、技術、興味に関して、開発
協力、普及促進、バグ情報等の共有などの活動を行う、主に個人を中心とした民間の非
営利団体。ここではオープンソースコミュニティのことで、主に個人ベースの活動が主
体となっているオープンソースコミュニティには、大きく分けて以下の 4 タイプがある。
(1) OSS 全体の開発・利用・普及を目的とするオープンソース関連 NPO/任意団体
(2) Linux および BSD に係わるプラットフォームユーザ/開発者コミュニティ
(3) OS 以外の特定ソフトウェアのユーザ/開発者コミュニティ
(4) 主に Linux と BSD に関する地域ユーザコミュニティ
産学官における実践的ソフトウェア教育に関連する、教材と教育手法の開発・改良・普
及・実施およびその支援、教育機関、企業の研修部門との交流ネットワーク化などを行
っている団体(http://www.p-sec.jp/)。
1 つのソフトウェアに対して 2 種類のライセンスを提示し、利用者がそのうちの片方を選
択できるようにしたもの。両方のライセンス共に選択しなければならないデュアルライ
センスも存在。
アプリケーションソフトに追加機能を提供するための小さなプログラムで、利用者が必
要に応じて追加が可能。
【目次】
1.
背景と目的.........................................................................................................................................1
1.1 背景 ..............................................................................................................................................1
1.2 目的 ..............................................................................................................................................2
2.
実施概要 ............................................................................................................................................5
2.1
OSS教育プログラムの概要 ..........................................................................................................5
2.2
OSS教育プログラムによる教育の実施・成績認定方法 ...............................................................6
2.3 有効性評価方法 ............................................................................................................................7
3.
実施体制 ............................................................................................................................................8
4.
導入実証計画と実施...........................................................................................................................9
4.1 作業指針.......................................................................................................................................9
4.2
OSS教育プログラムのテーマ.....................................................................................................10
4.3 科目「オープンソースソフトウェア入門」の講義.....................................................................12
4.4 科目「ソフトウェア開発法」の講義 ..........................................................................................17
5.
教材開発成果 ...................................................................................................................................24
5.1 実施スケジュール.......................................................................................................................24
5.2 開発教材の概要 ..........................................................................................................................24
6.
講義実施成果 ...................................................................................................................................28
6.1 実施スケジュール.......................................................................................................................28
6.2 講義日程.....................................................................................................................................28
6.3 講義実施状況..............................................................................................................................29
6.4
7.
TA(Teaching Assistant)設定状況..........................................................................................30
有効性評価.......................................................................................................................................31
7.1 受講生評価シート.......................................................................................................................31
7.2 講義アンケート(旧 気づきシート) ........................................................................................40
7.3 スキルレベル評価シート............................................................................................................45
7.4 学生成績評価..............................................................................................................................65
8.
成果と課題.......................................................................................................................................67
8.1 モデルカリキュラムとの対応について ......................................................................................67
8.2 本カリキュラムを利用するには .................................................................................................71
8.3 モデルカリキュラムへのフィードバック...................................................................................71
9.
今後の予定.......................................................................................................................................73
i
1.
背景と目的
1.1 背景
(1)OSS の位置付けと課題
情報技術(IT)は企業活動を効率化し、企業価値を高める上で欠くべからざる存在となってきてい
る。この IT の中核をなす技術のひとつがソフトウェアであり、このソフトウェアの開発、流通、高
度化等を産学官連携によりいかに推進していくかが急務の課題となっている。特に、産業全体の活性
化、国際競争力強化の観点からは、アプリケーションサービスをいかに効率的、経済的かつタイムリ
ーに提供していくかが鍵を握っている。このアプリケーションサービスを実現するためのアプリケー
ションソフトウェア開発・走行環境として、オペレーティングシステムソフトウェア、ミドルウェア、
ネットワーク関連ソフトウェア、並びに開発ツール等で自由に利用可能なオープンソースソフトウェ
ア(OSS)が幅広く流通するようになってきており、これらを有効に活用できるかが重要である。ま
た、これを有効に活用できる人材の育成が求められている。
OSS は、それを利用する側、特に産業界からみれば、当該ソフトウェアを無償で利用できることか
ら経済的であるばかりではなく、特定の環境ないしベンダに依存することが比較的少ないため、構成
するシステムに最適なハードウェアやソフトウェアの選択も容易となり、導入に要する期間やかかる
費用の低減も可能である(TCO 削減手段)。また、オープンであるが故に、当該ソフトウェアに関す
る機能改良等の恩恵を素早く入手、享受することも可能である。課題としては、これらの OSS を的
確に活用するためには内容を熟知した技術者が必要であり、その技術者をいかに確保するかが産業界
にとって大きな課題となっている。この OSS 関連技術者の供給について、高等教育機関に対する産
業界の期待は極めて大きい。
一方、人材を育成する高等教育機関からみた場合、OSS は産業界と同様に経済的であると共に、そ
のソースが公開されていることから、当該ソフトウェアあるいは対応する技術分野の仕様、設計思想、
プログラミング技術を勉強する格好の材料となり、問題解決能力や新たな技術革新を生み出す応用力
を培う教材として有効である。また、学生自ら当該ソフトウェアをインストールし利用する経験が可
能であるだけでなく、ソースに直接手を加えて機能を変更したり新たな機能を付加したりする実践的
な教育実習も可能となる。
(2)IT 系学科の教育の現状と課題
産業界では実社会で即戦力として活躍できる IT 技術者の育成(実践型技術者育成)を高等教育機
関に期待しており、実際のソフトウェア製品やサービスシステムの構想設計あるいは構築技術など、
いわゆる「モノづくり」につながる実務能力に関するカリキュラムの提供が期待されている。しかし、
大学等、高等教育機関における教育では、理論的側面は重視されるが、実践的な側面は軽視されがち
である。また、このようなカリキュラムの実施を計画した場合には、講義で利用できる適切な教材が
不足しているのが現状である。
(3)OSS 技術教育に対するニーズ、期待される効果
(1)でも述べたように、IT は企業活動を効率化し、企業価値を高める上で欠くべからざる存在と
1
なってきている。この IT の中核をなす技術のひとつがソフトウェアであり、このソフトウェアの開
発、利用等にかかる経費、導入・利用に要する期間をいかに安くかつ短期間にできるかが企業等の競
争力を確保、維持する上で重要な課題となっている。
このような背景から、近年 OSS の導入、利用が幅広く行われるようになってきてはいるものの、
これらの OSS を的確に活用するためには内容を熟知した技術者が必要であり、その技術者をいかに
確保するかが産業界にとって大きな課題となっている。
この OSS 関連技術者の供給について高等教育機関に対する産業界の期待は極めて高く、OSS 技術
に関する知識を有する人材を育成することは、日本の産業界の競争力強化に資する効果は大きい。
1.2 目的
(1)OSS 教育のねらい
本教育プログラムの目的としては、
「OSS 応用知識の学習ガイダンスに関する調査」調査報告書に
も述べられているように、ソフトウェア開発における実践的な技術の習得を目的とする。その結果、
特定の商用ソフトウェアを利用できるといったレベルではなく、いろいろな要素技術を自分の手で組
み合わせたり、ソースコードも含めて学習したりすることにより、原理・理論をプロダクトレベルで
結び付けて理解できるとともに、適用事例や研究開発事例の成果を利用することにより、ソフトウェ
ア開発の現場で適用可能な実践的な技術を養うことができる。
本教育プログラムを受講することにより、次のような能力の向上等が期待できる。
i) 問題解決能力
OSS では一つの問題に対して複数の解決方法が存在するのが普通であり、それらをインターネッ
ト上から探し出し、それらを比較検証して最適な問題解決の方法を検討することで、IT 技術者とし
て真に必要な問題解決能力を向上させることができる。
ⅱ) 技術革新への適応力
OSS ではさまざまな選択肢を常に比較検討すること、また、たゆみのない機能追加や機能変更に
追従することを通じて、技術の進展や変化に適応する能力を養うことができる。また、開発技術の
先端的な思想を、ソースコードを通じて習得することで、技術革新を体感することができる。
ⅲ) 生産性と品質向上
多様な OSS を組み合わせて、迅速にシステム開発を行うことによって、生産性を大きく向上さ
せることができる。また、品質の高い OSS を再利用することによって、新規開発部分を最小限に
抑えることができ、結果的に品質を向上することにもつながる。さらに、優れた OSS のソースコ
ードは最高の教材であり、それを真似ることによって、高品質のソフトウェアを作成するスキルの
向上にもつながる。
また、開発プログラムを継続的に運用し、外部に公開・展開することでソフトウェア産業界の競争
力の強化を図ることも可能となる。
以上、産業界のニーズとそれに応える上での高等教育機関側の課題、即ち教育界のニーズを受けて
開発する本プログラムのねらいを図 1.1 に示す。
2
教育界のニーズ
産業界のニーズ
ソフトウェア開発の課題
⇒
OSS 採用の利点
ソフトウェア教育の課題
⇒
OSS 採用の利点
教材費用低減
ベンダ非依存
(最適機器、最適ソフト採用)
実例入手容易
開発期間短縮
修正・編集実習題材
開発費用削減
設計思想教材
(情報公開)
・・・
・・・
修正・改良容易
OSS 技術者不足
OSS 教育教材不足
本教育プログラムのねらい
実践的能力を有するソフトウェア開発技術者の育成
教育プログラムの公開・展開
本教育プログラムの効果
問題解決能力
技術革新への適応力
生産性と品質向上
図 1.1 産業界・教育界のニーズと本教育プログラムのねらい
(2)本導入実証プログラムの位置付け
OSS に関する幅広い知識と、OSS を利用した実践的な知識を与えるための教育プログラムを開発
し、実施、評価する。
既設カリキュラムでは、OSS が個々の要素技術として利用されているが、OSS という統一的視点
からのカリキュラムはない。本プログラムを実践することでこの視点での教育を補完する。カリキュ
ラム上での OSS 技術教育の位置づけを図 1.2 に示す。
受講生としては津田塾大学学芸学部情報科学科に在学中の学生を対象とする。入門講義については
学部 2 年生以上を、ソフトウェア開発講義については、予備知識を考慮し学部 3 年生以上を対象とす
る。
3
本教育プログラムでの
設定カリキュラム
既存カリキュラム
情報科学必須科
プログラミング入門
オブジェクト指向
システムプログラミン
グ
:
情報科学選択科目
オープンソースソフトウェア入門
コンピュータリテラシー
ソフトウェア開発法
コンピュータアーキテクチャ
データベース
オペレーティングシステム
:
:
等
OSS の統一視点
で
OSS を要素技術として
利用
抽出・再編
OSS モデルカリキュラム
・OSS の概要に関する知識
・法務分野に関する知識
・JAVA に関する知識
・開発ツールに関する知識
・統合開発環境に関する知識
・開発フレームワークに関する知識
:
:
図 1.2
カリキュラム上での OSS 技術教育の位置づけ
4
2.
実施概要
2.1
OSS 教育プログラムの概要
モデルカリキュラムを参考とし、現行の学科カリキュラムとの整合性を勘案し、以下の 2 科目の教材
を作成すると共に大学での講義による導入・実証を行うこととした。
ⅰ)オープンソースソフトウェア入門
OSS全般の知識を講義する。
ⅱ)ソフトウェア開発法
ソフトウェア開発方法について、Eclipseをベースにしてモデリング~保守までのライフサイクルに
沿って講義並びに演習を行う。
5
2.2
OSS 教育プログラムによる教育の実施・成績認定方法
(1)OSS 教育プログラムの実施方法
OSS 教育プログラムの実施方法概要を以下に示す。
・大学の通常講義枠による、講義並びに演習とした。
・「OSS 入門」については、講義の性質並びに想定される学生の知識に配慮し、講義内容に平易な
実務例を可能な限り採用した。
・「ソフトウェア開発法」については、前半は講義主体で行い、途中から受講学生が実際のソフト
ウェアを作成する演習との併用形式で行った。
・教材は、IPA モデルカリキュラムを基本とし、毎回の講義内容に合わせて講師が作成致した資料
を用いた。
・学生の更なる学習の進捗を促進するために、専用のメールアドレスを設置・公開し受講学生から
の質問に対する回答や学習の補助を行った。
なお、講義期間中にも種々の新たな状況の発生が予想され、準備済み講義資料に即座に反映するこ
ととしていたが、特段そのような状況はなかった。
(2)科目の位置付け並びに成績認定
科目の位置付け並びに成績認定を下記に示す。
・津田塾大学
学芸学部
情報科学科の専門科目で、自由科目として開講した。
・授業時間数は 19.5 時間とし、成績評価合格者には履修単位 2 単位を与えた。
・学生の成績評価は、試験・テストではなく、講義理解度を測るためのレポート提出により行った。
(3)講師
下記の人員を講師として実施した。
講師:
佐々木
講師待遇:
現職:
由也(ささき
津田塾大学
株式会社
よしや)
非常勤講師(サイバー創研からの派遣)
サイバー創研(主幹コンサルタント)
6
2.3 有効性評価方法
スキルレベル確認のため、並びに本プログラムの有効性評価のため、アンケート形式による評価を
実施した。これらを分析することで、学生の理解状況把握と、有効性の評価に用いた。
また、授業効果を高めるために「気づきシート」
(実際には講義アンケートと称す)を活用した。
「気
づきシート」は、授業ごとに受講者が受講内容に関する理解度合いや感想、コメントなどを記したも
ので、受講者が全体を通して分析することにより、受講者自身が自己の習得レベルの向上度合いが把
握できる。本シートは、講師側の講義やメンタリングの内容の方向修正のための素材としても利用し
た。
7
3.
実施体制
本教育プログラム全体の実施体制、作業分担等を図 3.1 に示す。
プロジェクト管理
対象教育機関
株式会社サイバー創研
・実施代表責任者:黒田幸明
(代表取締役社長)
・所属部門:教育研修事業部門
・プロジェクトリーダ名:西門岩全(取締役)
・作業分担:教材作成、講師派遣、
講師補助派遣 等
学校法人津田塾大学
・所属部門:学芸学部 情報科学科
・OSS 教育プログラム:「オープンソースソ
フトウェア入門」、「ソフトウェア開発法」
・ OSS 教育プログラム導入責任者名:
小川貴英(教授)
・作業分担:カリキュラム検討、学生募集、
教室準備、試験 等
成果報告書作成
株式会社サイバー創研
・所属部門:教育研修事業部門
・責任者名:黒田幸明
(部門長)
・作業分担:評価・分析、まとめ、
報告書作成 等
図 3.1 本教育プログラム全体実施体制と作業分担
8
4.
導入実証計画と実施
4.1 作業指針
(1)進捗管理
ⅰ)毎月1回関連機関(実施責任機関:サイバー創研、教育実施機関:津田塾大学)による会合を
実施し、進捗を確認した。実施内容は議事録として残した。
ⅱ)毎月1回 IPA に進捗報告を行った。なお、重大な問題発生時や計画変更時に即時に報告する
こととしていたが、特段そのような状況は発生しなかった。
(2)品質管理
各工程(設計・開発、実施、評価、成果まとめ)の品質状況は表 4.1 に示す手順に従い管理した。
表 4.1 各工程(設計・開発、実施、評価、成果まとめ)の品質状況管理手順
工
程
実施手順
判断基準
毎週:作成教材の進捗確認、
設計段階で策定した作成予定分
実施責任者
量(枚数、ページ数等)
担当者
問題・課題確認、解決
体制(注)
・カリキュラムとの整合、過不足
毎月:作成教材の品質確認、
設計・開発
問題・課題確認、解決
・記載レベルの妥当性
教育責任者
・理解の難易性
・誤謬の有無(含公序良俗の視点)
・カリキュラムとの整合、過不足
最終:作成教材のレビュー
・記載レベルの妥当性
実施
評価
成果まとめ
プ、見直し要否の確認
評価結果の確認、問題・課題
の確認、改善策検討
成果報告書のレビュー
レビュー委員
実施責任者
担当者
・気づきシートでの提起課題の解
決
実施責任者
教育責任者
担当者
実施責任者
・改善策の提示
教育責任者
・実施計画書適合性(検収条件等)
・誤謬の有無
担当者
教育責任者
・理解の難易性
毎月:受講者のフォローアッ
実施責任者
レビュー委員
実施責任者
教育責任者
注 1:実施責任者とはプロジェクトリーダである西門岩全
注 2:教育責任者は OSS 教育プログラム導入責任者である小川貴英
注 3:レビュー委員は、東京工科大学コンピュータサイエンス学部
9
中村太一教授
4.2
OSS 教育プログラムのテーマ
(1)テーマ
OSS の全般的知識習得とソフトウェア開発法の理解・実践
(2)目的
OSS に関する全般的知識を習得させるとともに、具体的なソフトウェア開発での利用法について実
習を交えて習得・体験させることで実践的能力を身につけさせる。
(3)概要
OSSとは何か、実社会での典型的な使用例、使用する上で想定される問題点を、平易に講義する入
門的な科目を設定し、OSSに関する全般的知識を習得させた。また、ソフトウェア開発におけるモデ
リング~保守までのライフサイクルを、OSSをベースとして講義する科目を設定し、OSSを活用する
知識を身につけさせた。
本科目では要求分析から設計、作成、テストの過程を演習にて実施することで実践的能力を身につ
けさせた。
(4)科目構成
モデルカリキュラムを参考とし、現行の学科カリキュラムとの整合性を勘案し、「オープンソース
ソフトウェア入門」並びに「ソフトウェア開発法」の 2 科目を設定し、実施した。
ⅰ)オープンソースソフトウェア入門
OSS の定義、普及の紹介、個人や企業での利用時のメリットや問題点を講義した。併せて、ライ
センスや知的財産権との関連についても講義した。
ⅱ)ソフトウェア開発法
実践的なソフトウェア開発法として、「ウォーターフォール開発」、「アジャイル開発」について
OSSであるEclipseをベースにして講義した。後半は、具体的な例を用いて「アジャイル開発」の1
手法であるXP(eXtreme Programing)による要求分析から設計、作成、テストの過程を演習にて
行った。
(5)受講対象者
受講者としては津田塾大学学芸学部情報科学科に在学中の学生を対象とした。
オープンソースソフトウェア入門については学部 2 年生以上を、ソフトウェア開発法については、
予備知識を考慮し学部 3 年生以上とした。
尚、学科定員は 45 名(1 学年あたり)であることから、最大受講者数として 40 ないし 50 名、本
プログラムに基づく科目は自由科目として位置づけるため、10 ないし 20 名程度の受講者があるもの
と想定した。
10
(6)既存カリキュラムとの関連
既存の情報科学のカリキュラムは OSS を要素技術として利用してはいるものの、OSS の統一的視
点からのカリキュラムはない。本教育プログラムは既存のカリキュラムを補完するものとして、自由
科目として設定した。
(7)履修後の学習方向
オープンソースソフトウェア入門並びにソフトウェア開発法の両科目は同時に受講することも可
能であるが、オープンソースソフトウェア入門を受講した後、ソフトウェア開発法を受講することが
ベターである。また、ソフトウェア開発法においては、演習課題に JAVA を用いることから、JAVA
について既にプログラミング経験を有するか関連する講義を受講していることが必要とされる。
そのことも考慮して、オープンソースソフトウェア入門は学部 2 年生以上、ソフトウェア開発法は
学部 3 年生以上での受講を想定しており、本教育プログラムは 2 年間の継続実施を前提とした設定と
した。
11
4.3 科目「オープンソースソフトウェア入門」の講義
教材を開発する過程で、大学の他の授業との関係、想定受講学生の状況等を勘案し、下記に示す内容
にて実施することとした。
図 2.2 に示した授業計画からの主要な変更点は、ライセンス・知的財産に関する講義を当初2回実施
する計画であったが、ライセンス・知的財産に関する点が重要であることと、受講生を含めた知識の必
要性を勘案し、当該講義を3回実施に拡大すると共に、比較的内容の圧縮が可能な「個人利用」に関す
る講義を1回に削減することとした。
12
(1)講義の概要
「オープンソースソフトウェア入門」の講義概要を表 4.2 に示す。
表 4.2 科目「オープンソースソフトウェア入門」の講義概要
1.概
要
「今なぜ OSS なのか」という点を、その定義、分類、利用例・利用時のメリット、
問題点、ライセンスや知的財産権に至るまで、幅広く取り上げた。
2.受講前提
入門科目のため、特に規定しなかった。
3.学習目標
OSS 全般についての一般的知識の習得と、利用時のメリット/デメリット、実社会
システムへの導入事例、ライセンス・知的財産権について知識を得ること
受講学生が OSS に興味を持ち、更に学習する動機づけとすること
4.教科書、
参考書
特定の教科書や参考書を指定しなかった。
講義資料を毎回配布する形式とし、受講学生の理解度状況に応じ適宜参考書や参考
URL を資料中に示した。
5.評価方法
レポート(提出 2 回・第 7 回、第 13 回講義時に課題を提示)、取り組み状況を総合
的に判断し、評価した。
6.OSS モデル
OSS 概要に関する基礎知識(Ⅰ、Ⅱ)
カリキュラム
法務分野における基礎知識(Ⅰ、Ⅱ)
対応科目
7.講義時間
8.講義
90 分(授業時間) ×
13 回(講義回数)
第1回
オープンソースソフトウェアとは何か
第2回
普及と歴史
第3回
オープンソースソフトウェアの分類
第4回
個人利用
第5回
企業・社会・教育にとっての利用メリットと事例(その1)
第6回
企業・社会・教育にとっての利用メリットと事例(その2)
第7回
関連ビジネス
第8回
オープンソースソフトウェアの開発者
第9回
技術的側面からみた問題点(課題点)
第 10 回
人的側面からみた問題点(課題点)
第 11 回
ライセンス・知的財産権(1)
第 12 回
ライセンス・知的財産権(2)
第 13 回
ライセンス・知的財産権(3)
13
(2)講義内容
各回の講義内容を表 4.3 に示す。
表 4.3 科目「オープンソースソフトウェア入門」の各講義の内容
第1回
講義内容
オープンソースソフトウェア(OSS)とは何か
本講義の開設の意義について説明する。
オープンソースの言葉の定義と概念を講義する。
形式的な定義として、オープンソースイニシアティブの、
「The
Open
Source Definition」について説明する。
現実的には、拡大解釈されて取り上げられる場合が多いので、そのような
事例と考察を説明する。
達成目標
オープンソースの定義・理念について知識を得る。
第2回
普及と歴史
講義内容
オープンソースが普及した理由と歴史について、以下の観点から例を示しなが
ら概説する。
・ 利用者にとってのメリット
・ インターネットの普及
・ ハードウェアの急激な高性能化
・ 商用ソフトウェアとの比較
・ OSS の歴史(インターネット、UNIX、GNU、Linux)
達成目標
OSS が普及している背景と歴史について知識を得る。
第3回
講義内容
オープンソースソフトウェアの分類
ライセンスの話題に集中しがちな OSS であるが、最近、
企業が開発したソフトウェアを OSS として利用することが多々ある。
個人やコミュニティが開発した場合との差異について説明する。
他の分類観点からも概説する。
達成目標
種々の OSS の形態について知識を得る。
第4回
講義内容
個人利用
個人が OSS を使う際のメリットを商用ソフトウェアと比較して説明する。
併せて、セキュリティや商用ソフトウェアとの連携についても説明する。
セキュリティや、ミッションクリテイカルな業務への利用についても
概説する。
達成目標
メリットについて、商用ソフトウェアと比較し、知識を得る。
14
第5回
講義内容
企業・社会・教育にとっての利用メリットと事例(その1)
企業や社会・教育機関など実社会で使われている OSS の実例を示す。
・ 組織の観点からの利用のメリット
・ 導入事例・目的
・ メリット別の導入事例
・ 企業・社会・教育分野での利用
達成目標
第6回
講義内容
企業や自治体・教育での利用例を知る。
企業・社会・教育にとっての利用メリットと事例(その2)
商用ソフトウェアとの連携や使い分けについて説明し併せて、セキュリティの
観点からも説明する。
・ 従来の商用ソフトウェアとの比較
・ 利用の拡大(例
セキュリティ分野)
・ 市場規模
達成目標
実業務での OSS と商用ソフトウェアの比較によりその差異を理解する。
第7回
講義内容
関連ビジネス
OSS とビジネスの関係について説明する。
・ ビジネスを行っている企業やグループの例
・ 考えられるビジネスモデル
・ その際のリスク
達成目標
第8回
講義内容
OSS 関連企業についての知識を得る。
オープンソースソフトウェアの開発者
OSS の開発コミュニティや、その成り立ち、関連ビジネスについて講義する。
従来と異なり、企業が開発した OSS もあるので併せて説明する。
(1) OSS情報の入手方法
・ コミュニティポータルサイト
・ 企業運用のポータルサイト
・ メーリングリスト
(2) プロジェクトの発達とコミュニティの形成
・ プロジェクトの発達と運営
・ コミュニティへの参加・貢献
・ プロフェッショナル/コマーシャルオープンソース
達成目標
OSS の開発コミュニティについて、その実態を知る。
15
第9回
講義内容
技術的側面からみた問題点(課題点)
OSS を利用する際の問題点を、以下の技術的な側面を中心に説明する。
・ 情報の不足と分散の問題
・ システムの維持管理の問題
・ 商用ソフトとの組み合わせでの動作保証の問題
・ アプリケーション不足の問題
達成目標
OSS 利用時の技術的側面の問題点を知る。
第 10 回
講義内容
人的側面からみた問題点(課題点)
OSS を利用する際の、問題点を以下の人的な側面を中心に説明する。
・ システムの維持管理の問題
・ システム構築・運用人材不足の問題
・ 調達する側のスキルと調達仕様書の問題
・ OSS の発展とコミュニティ
・ リナックスは企業の OS 技術者がほとんどを開発している
達成目標
OSS 利用時の人的側面の問題点を知る。
第 11 回
講義内容
ライセンス・知的財産権(1)
オープンソースライセンスの意味と各種ライセンスについて講義する。
(1)オープンソースライセンスの分類
GPL とコピーレフト
・ MPL類型
・ BSD類型
(2)デュアルライセンス
・ MySQL の例
・ Mozilla Project の例
(3)商用ライセンスとの比較
達成目標
ソフトウェアのライセンスについて理解すると共に、種々のライセンス
の違いを知る。
16
第 12 回
講義内容
ライセンス・知的財産権(2)
OSS の法的側面について講義する。
・ 著作権と OSS
・ 特許権と OSS
・ 商標権と OSS
・ 実用新案権・意匠権と OSS
・ OSS の利用と法務面(知財産権関連、瑕疵担保責任、製造物責任)
・ 国際的な解釈の相違と紛争
達成目標
ソフトウェアのライセンスについて理解すると共に、種々のライセンス
の違いを知る。
第 13 回
ライセンス・知的財産権(3)
講義内容
OSS 開発時におおいて考慮すべきライセンス問題と、知的所有権法や著作権
法に関する法的問題を回避しようとする Creative Commons について講義す
る。
・ OSS 開発とライセンス
・ Creative Commons とは
達成目標
OSS と知的財産権関連の法的側面について知見を得る。
(3)レポート
初回講義でアナウンスし、レポートは中間レポート(第 7 回目講義に課題提示)と最終レポート(最
終回講義に課題提示)を与え、提出させる。
いずれのレポートにおいても、講義内で取り上げなかった事例を調べることを要求する。
(4)成績評価
上記レポートの内容評価のほか、授業における取り組み状況等を加味して総合的に判断する。
4.4 科目「ソフトウェア開発法」の講義
(1)講義
教材を開発する過程で、大学の他の授業との関係、想定受講学生の状況等を勘案し、下記に示す内容
にて実施することとした。
図 2.3 に示した授業計画からの主要な変更点は、当初計画していた演習が3講義分では不足(実施が
困難)であると判明したことから、演習を4講義分に拡大した。その結果、開発手法に関するモデルの
説明を1回に圧縮することとした。
表 4.4 に「ソフトウェア開発法」の講義概要を示す。
17
表 4.4 科目「ソフトウェア開発法」の講義概要
1.概
要
ソフトウェア開発法を、OSS を利用して、ソフトウェア開発における問題分析から
保守までの各工程に沿って講義した。
最初にウォーターフォールモデルによる開発について講義し、後半ではアジャイル
開発について、著名な統合開発環境(Eclipse)とそのプラグインを用いて、講義と演
習を行った。
利用できる OSS ツールについては、講義内容に沿って説明を行った。
2.受講前提
Java での基本的なプログラミングについての知識や経験を有すること。
3.学習目標
ソフトウェア開発手法についての知識を得るとともに、OSS を利用した演習を通じ
てその内容を身につけること。
4.教科書、
参考書
特定の教科書や参考書を指定しなかった。
講義資料を毎回配布する形式とし、進捗状況に応じ適宜参考書や参考 URL を資料
中に示した。
5.評価方法
講義知識理解度を測るためのレポート提出(第 7 回目に課題提示)。開発したソフ
トウェアについて、その作成過程についての詳細なレポート提出(第 9 回目に課題
提示)。
6.OSS モデルカ
Java に関する知識(Ⅰ、Ⅱ)
リキュラム対応
開発フレームワークに関する知識(Ⅰ、Ⅱ)
科目
開発ツールに関する知識(Ⅰ、Ⅱ)
統合開発環境に関する知識(Ⅰ、Ⅱ)
7.講義時間
8.講義
90 分(授業時間) ×
13 回(講義回数)
第1回
概説
第2回
開発方法モデル
第3回
上流工程
第4回
製造工程
第5回
下流工程
第6回
開発プロジェクトと支援ツール
第7回
アジャイル開発
第8回
アジャイル開発-eXtreme Programing
第9回
演習課題説明
第 10 回
演習(1)
第 11 回
演習(2)
第 12 回
演習(3)
第 13 回
演習(4)
18
(2)講義内容
各回の講義内容を表 4.5 に示す。
表 4.5 科目「ソフトウェア開発法」の各回の講義内容
第1回
講義内容
概説
ソフトウェア開発について、以下の視点から説明する。
・ 要求分析
・ 仕様記述
・ ソフトウェアーキテクチャ
・ 実装
・ 評価、テスト
・ 文書化
・ 教育とトレーニング
・ 保守
達成目標
ソフトウェア開発が通常の学生の課題プログラム作成と異なり、種々の側面か
らなることを知る。
第2回
講義内容
開発方法モデル
開発工程モデルにより分類して以下の方法を説明する。
・ ウォーターフォール
主たる適用分野とその長所・短所
・ 反復型-アジャイル開発(XP)
、テスト駆動
主たる適用分野とその長所・短所
・ その他
形式手法等
品質管理・バグ管理について説明する。
・ ソフトウェアの品質の概念
・ 発生バグの管理方法やツール
以下のモデリング手法について概説する。
・ 構造化モデリング
・ OOP モデリング
達成目標
開発方法についての差異や、品質管理の概念について知識を得る。
19
第3回
講義内容
上流工程
ウォーターフォールモデルについて、言葉の由来から含めて各工程について
以下の事項を説明する。
・ 『前工程からの入力-工程作業内容―後工程への出力(文書)』の連続
であること
・ 品質管理・レビュー・工程移行判断について
・ モデリング記法として UML や、利用できる OSS ツール等
上流工程を詳細に説明する。
対象となる工程:
要件分析工程
要件定義工程
基本設計工程
機能設計工程
達成目標
ウォーターフォールモデルの概要と上流工程の詳細について知識を得る。
第4回
講義内容
製造工程
ウォーターフォールモデルに基づき製造工程を詳細に説明する。
対象となる工程は、実装工程である。この工程で利用できる OSS ツールにつ
いても説明する。
達成目標
製造工程の詳細について知識を得る。
第5回
講義内容
下流工程
ウォーターフォールモデルに基づき下流工程を詳細に説明する。
テスト工程の内容やテスト工程で不具合が発生した際の、対処についても
説明する。この工程で利用できる OSS ツールにも言及する。
対象となる工程:
単体テスト工程
結合試験工程
システムテスト工程
受け入れテスト工程
達成目標
下流工程の内容について知識を得る。
20
第6回
講義内容
開発プロジェクトと支援ツール
ウォーターフォールモデルにおける重要な点である以下の点を説明する。
多人数での共同開発や、利用可能な OSS ツールについて説明する。
・ ソフトウェア開発(スタイルの変遷、サイクル、リソース)
・ 文書化とその管理
・ 各工程内/工程移行 レビュー
・ 品質管理(工程内、最終品質)
達成目標
多人数での実践的なソフトウェア作成に必要な事項を知る。
第7回
講義内容
アジャイル開発
アジャイル開発につき以下の内容を説明する。
・ 出現背景
・ 現状
・ ウォーターフォールとの比較
・ 主として適用される分野
達成目標
ウォーターフォールと比較してアジャイルの相違点を知る。
第8回
講義内容
アジャイル開発-eXtreme Programing
アジャイル開発の先駆けとなった eXtreme Programing につき以下の内容を
説明する。
・ eXtreme Programingとは
・ 4つの価値
・ 14のプラクティス
・ キーテクノロジー
・ XP の開発プロセス
達成目標
eXtreme Programing の概要を知る。
21
第9回
講義内容
演習課題説明
演習課題として次回以降用いる例題の説明と演習の行い方を説明する。
演習課題としては以下の例題を実装することを目標とする。
また、本課題をリポート提出課題とする。
例題内容:Web 経由でログインし、予約(登録)、更新、キャンセル
するシステムを Java で作成する。
達成目標
例題内容の理解をする。
第 10 回
講義内容
演習課題説明と進め方
演習課題として次回以降用いる例題の説明と演習の行い方を説明する。
演習課題としては以下の例題を実装することを目標とする。
また、本課題をリポート提出課題とする。
例題内容:Web 経由でログインし、予約(登録)、更新、キャンセル
するシステムを Java で作成する。
達成目標
例題内容の理解をする。
第 11 回
講義内容
演習(1)
演習課題のうち、以下の機能内容を演習する。
空席表示・座席予約
説明・演習
併せて、単体テストを行うためのアプリケーションフレームワークである
Junit の使い方を説明する。
開発環境として Eclipse を用いるので、事前に説明を行う。
演習は助手の補助を得て、実 PC にて行う。
達成目標
事前準備された環境で、空席表示・座席予約部分の演習を通して、統合開発環
境に関する知識を得る。
第 12 回
講義内容
演習(2)
演習として、予約取り消し部分の製造・試験を行う。
演習は助手の補助を得て、実 PC にて行う。
達成目標
学生が TA の支援を受けながら、独自に実装を行える。
22
第 13 回
演習(3)
講義内容
演習として、予約取り消し部分の製造・試験の続きを行う。
講義全体まとめとアンケートを行う。
達成目標
一連の演習を通して統合開発環境に関する知識を知る。
(3)レポート
初回講義でアナウンスし、レポートは中間レポート(第 7 回目講義に課題提示)と最終レポート(第
9 回講義に課題提示)を提出させた。
(4)成績評価
上記のレポート内容の評価の他、授業における取り組み状況等を加味して総合的に判断した。
(5)演習環境の構築
下記の手順で演習環境の構築を行った。
・OSS 教育プログラム導入責任者の監督下、講師が使用できる学生 PC 環境、並びに、演習環境と
して利用できる共有サーバ(ソフトウェアリポジトリのインストール)環境を、TA と調査した。
・その結果に基づき以下のソフトウェアバージョンの設計と動作整合性の確認を行った。
Eclipse とそのプラグインソフトウェア文書化支援ツール、ソフトウェアリポジトリツール、
版管理ツール、テストツール、モデリングツール、プロジェクト管理ツール等
・上記ツール動作整合性確認後、検証環境内にて講義で用いる例題を持ち込み学生実習にての動作
確認を行った。
・その後、OSS 教育プログラム導入責任者の管理下の下、講師と TA で、実演集環境に上述の検証
環境と同様の環境を作成した。
* 演習環境は、他教員の方々との共用であることから、その演習に影響を与えない様に十分な配
慮と調整を行った。
23
5.
教材開発成果
5.1 実施スケジュール
教材開発の実施スケジュールを表 5.1 に示す。
表 5.1 教材開発の実施スケジュール
実施項目
2009 年 2009 年 2009 年 2009 年 2009 年 2009 年 2009 年 2009 年 2009 年
1 月 2 月
3月
4月
5月
6月
7 月
8 月
9月
上中下上中下上中下上中下上中下上中下上中下上中下上中下
OSS 教育プログラムの設計・
開発
①オープンソースソフト
ウェア入門
講義資料設計・作成
②ソフトウェア開発法
講義資料設計・作成
演習教材作成
表において、計画段階では黒線で実施予定であったが、実際は、モデルカリキュラムからの作成工数
が予想以上に必要なことがわかり、緑線の部分までかかった。
5.2 開発教材の概要
本プロジェクトで対象とした 2 科目(オープンソースソフトウェア入門、ソフトウェア開発法)の講
義資料の作成にあたり、モデルカリキュラムとして開発された科目をそのまま実施対象大学である津田
塾大学の新たなカリキュラムとして採用することは困難であるとの考えから、次のような主な理由によ
り、複数のモデルカリキュラムから抽出・再編すると共に、状況に応じた内容の変更・補充を行った。
・既存のカリキュラムとの内容の重複を避けること
・受講予定の学生の履修状況、OSS に関する知識を持っていないこと
(1)オープンソースソフトウェア入門
モデルカリキュラムの「OSS の概要に関する知識」並びに「法務分野に関する知識」の 2 つのコース
ウェアを参考に、
「OSS の概要に関する知識Ⅰ」
、
「OSS の概要に関する知識Ⅰ」、
「法務分野に関する知
識Ⅰ」及び「法務分野に関する知識Ⅱ」等の情報を活用して講義資料の作成を進めた。
作成した OSS 入門の教材内容を表 5.2 に示す。この表にはモデルカリキュラムの参照科目名と対応
コマを併せて示している。
24
表 5.2 オープンソースソフトウェア入門での講義内容とモデルカリキュラムとの対応関係
回
講義内容
1
オープンソースソフ
トウェアとは何か
2
普及と歴史
3
オープンソースソフ
トウェアの分類
4
個人利用
5
企業・社会・教育に
とっての利用メリッ
トと事例(その1)
6
企業・社会・教育に
とっての利用メリッ
トと事例(その2)
7
関連ビジネス
8
オープンソースソフ
トウェアの開発者
9
技術的側面からみた
問題点(課題点)
10
人的側面からみた問
題点(課題点)
11
ライセンス・知的財
産権(1)
12
ライセンス・知的財
産権(2)
13
ライセンス・知的財
産権(3)
トピックス
・全体の講義概要
・OSS の登場とその理念/定義/ライセンス/OSS の
種類
・OSS と類似ソフトの区別
・普及の条件と形態
・OSS の歴史(インターネット、UNIX、GNU、
Linux)
・分類の視点(著作権、ソースコード、料金、コピ
ーなどの権利、ほか)
・商用ソフトウェアとの位置関係
・類似ソフトウェア
・個人利用の位置づけ
・メリット/デメリット
・ポータルサイト
・ARToolkit のデモンストレーション
・組織の観点からの利用のメリット
・導入事例・目的
・メリット別の導入事例
・企業・社会・教育分野での利用
・従来の商用ソフトウェアとの比較
・利用の拡大(例 セキュリティ分野)
・市場規模
・ビジネスを始める前に
・ビジネスモデル
・サポートビジネス
・ライセンスビジネス
・開発形態
・開発者コミュニティの形成
・コミュニティの運用
・企業への影響
・様々な分野の OSS
・利用導入を阻む要素
・導入時・運用時のポイント
・OSS 利用の価値
・OSS のパラダイム
・誤解に対して
・導入時につまずく点
・導入時・運用時の確認ポイント
・知的財産権とは
・ソフトウェアライセンスと著作権
・OSS ライセンスと具体例
・オープンソースライセンスの法的性質・分類
・代表的なライセンスと利用面からの分類
・デュアルライセンス
・OSS 開発とライセンス
・Creative Commons とは
参照科目名
対応コマ
OSS の概要に関する知識
法務分野に関する知識
1
1A
OSS の概要に関する知識
2
OSS の概要に関する知識
法務分野に関する知識
2
1
OSS の概要に関する知識
5、10
OSS の概要に関する知識
5、6
OSS の概要に関する知識
6、7
OSS の概要に関する知識
法務分野に関する知識
9、13
9
OSS の概要に関する知識
8、10
-
-
-
-
OSS の概要に関する知識
法務分野に関する知識
1
1-3、5、6
法務分野に関する知識
1、2、4
法務分野に関する知識
11
(注) 対応コマでの数字の次の A は、
モデルカリキュラムの内容を利用して作成したことを示す(図 8.1 参照)
。
25
(2)ソフトウェア開発法
モデルカリキュラムの「開発ツールに関するスキル」並びに「統合開発環境に関するスキル」の 2 つ
のコースウェアを参考に、「開発ツールに関する知識Ⅰ」、「開発ツールに関する知識Ⅱ」、「統合開発環
境に関する知識Ⅰ」及び「統合開発環境に関する知識Ⅱ」等の情報を活用して講義資料の作成を進めた。
又、関連で「JAVA に関するスキル」のコースウェア、並びに対応する「JAVA に関する知識Ⅰ」及び
「JAVA に関する知識Ⅱ」も一部参考にしながら作成した。なお、
「開発フレームワークに関するスキル」
のコースウェア、並びに対応する「開発フレームワークに関する知識Ⅰ」、
「開発フレームワークに関す
る知識Ⅱ」については、教材としては利用しなかった。
作成したオープンソースソフトウェア入門の教材内容を表 5.3 に示す。この表にはモデルカリキュラ
ムの参照科目名と対応コマを併せて示している。
ソフトウェア開発法の教材作成においては、大学の既存カリキュラムとの関係並び科目に対する基本
的考え方として、「方法論」を教えることが重要との観点から、ソフトウェア開発の方法論をベースに
し、その中でオープンソースソフトウェアの関連を説明すると共に、座学で得た知識を、具体的にオー
プンソースソフトウェアを利用する演習において体現、体得することで理解を深めるように構成した。
本科目においては、ソフトウェア開発法の基本的知識の上で、開発ツール並びに統合開発環境に関す
るオープンソースソフトウェアの理解を深めることを主眼とした。従って、元となるモデルカリキュラ
ムにおいて説明されている関連のオープンソースソフトウェアを網羅的に説明するのではなく、ある程
度絞り込んで説明、利用(演習ツール)することで理解度を向上させるようにした。
具体的には、統合開発環境の例として Eclipse に絞り込んで説明、利用した。
26
表 5.3 ソフトウェア開発法での講義内容とモデルカリキュラムとの対応関係
回
講義内容
1
概説
2
開発方法モデル
3
上流工程
4
製造工程
5
下流工程
6
開発プロジェク
トと支援ツール
7
アジャイル開発
8
アジャイル開発
- eXtreme
Programing
9
演習課題説明
10
演習(1)
11
演習(2)
12
演習(3)
13
演習(4)
トピックス
参照科目名
・ソフトウェア開発とは
・ソフトウェアライフサイクル
要求定義・分析、仕様記述、実装、評価・テス
ト、など
・ソフトウェア開発方法モデル
・ウォーターフォールモデル
・上流工程概要
・製造工程概要
・下流工程概要
・アジャイル開発モデル
・各モデル間の比較
・ウォーターフォールモデルでの上流工程
・上流工程の概要
・ソフトウェア開発の表記法
ユースケースモデル
・開発計画
・ウォーターフォールモデルでの製造工程
・製造工程の概要
設計(分析・設計フェーズ)、実装
・ウォーターフォールモデルでの下流工程
・下流工程の概要
テスト、運用保守
・ソフトウェア開発スタイルの変遷、サイクル、
リソース
・プロジェクト・ソースコード・品質管理
・支援ツール
・アジャイル開発法
・価値と原則
・代表的な手法
・主たる適用分野
・eXtreme Programing とは
・4 つの価値
・14 のプラクティス
・キーテクノロジー
・XP の開発プロセス
・演習課題:コンサートチケット予約システムの
機能概要
・演習環境
・演習:説明(空席表示・座席予約)
・Junit テストメソッド
・演習:予約取り消し、自習
・演習:座席予約変更
・最終レポート課題提示説明
・演習:座席予約変更(続き)
・講義全体まとめ
・アンケート
対応コマ
開発ツールに関する知識
1A
開発ツールに関する知識
1
Java に関する知識
11
開発ツールに関する知識
1、14A
統合開発環境に関する知識
3
開発ツールに関する知識
統合開発環境に関する知識
1、2、14
6、7、12、13
開発ツールに関する知識
統合開発環境に関する知識
1、4、14
6、7、12、13
開発ツールに関する知識
8-10
統合開発環境に関する知識
1-2、13
-
-
-
-
Java に関する知識
開発ツールに関する知識
統合開発環境に関する知識
6
2、3、5、9、
14
1、3
統合開発環境に関する知識
6、7、12、13
統合開発環境に関する知識
12、13
統合開発環境に関する知識
12、13
統合開発環境に関する知識
12、13
(注 1) 対応コマでの数字の次の A は、モデルカリキュラムの内容を利用して作成したことを示す(図 8.2 参照)
。
(注 2) 第 9 回~第 13 回の演習用テキストとして別途資料を作成し配布
27
6.
講義実施成果
6.1 実施スケジュール
表 6.1 に本プログラムの実施スケジュールを示す。ほぼ、計画通り進捗した。
表 6.1 実施スケジュール
実施項目
2009 年 2009 年 2009 年 2009 年 2009 年 2009 年 2009 年 2009 年 2009 年
1 月 2 月
3月
4月
5月
6月
7 月
8 月
9月
上中下上中下上中下上中下上中下上中下上中下上中下上中下
①OSS 教育プログラムの実施
OSS 入門
ソフトウェア開発法
②有効性評価
OSS 入門
学生成績評価
有効性評価
ソフトウェア開発法
学生成績評価
有効性評価
6.2 講義日程
(1)カリキュラム登録、履修生募集と実際
本カリキュラムは大学の通常講義枠による、講義並びに演習とすることから、通常のカリキュラム登
録並びに履修生募集の手順、スケジュールに従い実施した。
実施の 2 科目は、自由科目としての位置付けであることから、受講を想定する学生(学科、学年)の
必須科目とできるだけ重ならない日程で設定できるように検討した。
また、ソフトウェア開発法については演習を含むカリキュラムとなっているため、演習室の空塞状況
も加味して検討した。
その結果、水曜日の 2 時限と 4 時限を選定した。
①オープンソースソフトウェア入門
・曜日・時限:水曜日
4 時限(14:40~16:10)
・教室タイプ:通常の講義室
②ソフトウェア開発法
・曜日・時限:水曜日
2 時限(10:30~12:00)
・教室タイプ:演習室(各人に 1 台の PC を装備)
28
(2)担当講師
当初計画の通り、佐々木由也をサイバー創研から講師として派遣して実施した。
また、ソフトウェア開発法の科目については、演習を含む科目であるため、受講学生数を加味して TA
(2 名)を雇用し、講師の指導の下での補助教員として教育プログラム遂行の補助を行った。
(3)授業日程
授業時間数は科目あたり 19.5 時間とし、4 月から 7 月において週あたり 1 コマ(1.5 時間)で 13 コ
マを実施した。
具体的な授業実施にあたっては下記の点を考慮した。
・講義期間中に発生した種々の新たな課題への対応は、以降の講義資料に即座に反映した。
・講義内容に応じて、参考書や、参考文献・参考資料・参考 URL を初回講義時や毎回の講義で示
した。
・演習で使用する教材等については全て OSS で構築し演習前にインストールした。
・演習で使用する例題や OSS は、学生がインターネット経由でアクセス可能な場所に準備した。
・終了講義資料や追加情報並びに、次回講義資料についても同様にインターネット経由でアクセス
可能とした。
・講義内容補正のために、「気づきシート」(後述)を用いて講義の内容に反映した。
・学生の更なる学習の進捗を促進するために、専用のメールアドレスを設置・公開し受講学生から
の質問に対する回答や学習の補助を行った。
6.3 講義実施状況
(1)講義の実施日程と出席状況
表 6.2 に 4 月末の履修届け締め切り時点での履修届け提出者数を示す。また、表 6.3 に講義の実施日
程と出席状況を示す。
科目履修の届出締切りが 4 月中であったことから、4 月中の 3 回の講義に関しては履修科目選択を行
うための試験的な受講や他講義との重なりがあり、受講者数は変動したと考えられる。
表 6.2 履修届け提出者数
科
目
履修届け提出者数
内
訳
オープンソースソフトウェア入門
9名
2 年生:4、3 年生:1、4 年生:4
ソフトウェア開発法
13 名
3 年生:4、4 年生:9
29
表 6.3 講義実施状況
受講者数
講義回
月
日
オープンソース
ソフトウェア入門
備
ソフトウェア開発法
1
4 月 15 日
8
9
2
4 月 22 日
6
13
3
4 月 29 日
4
8
4
5 月 13 日
5
12
5
5 月 20 日
5
13
6
5 月 27 日
2
9
7
6月3日
4
12
8
6 月 10 日
5
11
9
6 月 17 日
5
12
10
6 月 24 日
4
11
11
7月1日
5
12
12
7月8日
4
10
13
7 月 15 日
5
13
考
履修届け
中間レポート課題
最終レポート課題
(2)中間評価並びに成績認定
次のような形で中間評価並びに成績認定を行った。
・学生の成績評価は講義理解度を測るためのレポート提出により行った。
・レポートは中間評価、最終評価の 2 回実施した。
・レポート課題は、講義中にその内容・提出期限を提示した。
・成績認定は、上記レポート内容の評価の他、授業における取り組み状況等を加味して総合的に判
断した。
・履修単位は 1 科目あたり 2 単位である。
6.4
TA(Teaching Assistant)設定状況
授業を実施するにあたっては PowerPoint 型式の図面を用いたプレゼンテーション型式とした。
そのため、作業を補助する TA を 1 名配置した。
また、ソフトウェア開発法に関しては、後半の 5 コマが、各人が PC を用いてソフトウェアを作成す
る演習型式の授業であることから、具体的な PC 操作に関する操作の補助、演習課題に関する個別の質
問対応等を円滑に行うため、TA を追加配置した。具体的には、履修学生数が 13 名であることも勘案し
て 1 名の TA を追加し、合計 2 名の TA にて対応した。
尚、当該 TA は演習教材を作成する際の作業の支援も実施してもらっていたことから、スムーズに、
効果的な補助を実施することができた。
30
有効性評価
7.
7.1 受講生評価シート
7.1.1 実施目的
最後の講義終了時に、受講生に本プログラムに基づく講義の受講結果に関してアンケートの提出をお
願いした。
アンケートの目的は、講義内容に対する意見や感想等を調査することで、対象となった科目の講義内
容の改善につなげると共に、モデルカリキュラム自体への改善点を調査するためでもある。
7.1.2 実施形式
当初、実施計画書に記載のアンケート用紙にて調査を行うことを想定していたが、実施した大学にお
ける日頃の環境条件、講義全体における各種ツールの利用環境等との親和性を考慮することで、回答す
る受講生のストレスを極力少なくし、適切なアンケート回答が得られるように配慮した。また、実施計
画書では「受講生評価シート」としていたが、実施にあたっては大学で実施される通常のアンケートと
の親和性も考慮し、「講義評価アンケート」というネーミングに変更した。
具体的には Web を用いる方式により実施した。
表 7.1 並びに表 7.2 にアンケート項目を示す。
表 7.1 「オープンソースソフトウェア入門」講義評価アンケート項目
項番
アンケート内容
回答形式
1
講義で使われた教材は、講義の理解に役立ったと思いますか
(注 1)
2
Moodle 情報や参考資料は、講義の理解に役立ったと思いますか
(注 1)
3
全般的に見て、講義内容は興味深かったと思いますか
(注 1)
4
この講義は、方法論・知識を具体的に理解するのに役立ったと思いますか
(注 1)
5
この講義は、将来的に役立つと思いますか
(注 1)
6
この科目は、すぐに役立つ実践的な内容だと思いますか
(注 1)
7
この科目は、友人や後輩に推薦したいと思いますか
(注 1)
8
この科目で、良かった点は何ですか
自由記述
9
この科目で、改善したほしい点は何ですか
自由記述
その他、この科目への感想等があれば記入して下さい
自由記述
10
(注 1)以下の内容の五者択一
そう思う(非常によい)/ややそう思う(ややよい)/どちらとも思わない(普通)/あまり
そう思わない(やや悪い)/そう思わない(非常に悪い)
31
表 7.2 「ソフトウェア開発法」講義評価アンケート項目
項番
アンケート内容
回答形式
1
講義で使われた教材は、講義の理解に役立ったと思いますか
(注 2)
2
講義で使われた演習テキストは、理解に役立ったと思いますか
(注 2)
3
全般的に見て、講義内容は興味深かったと思いますか
(注 2)
4
この講義は、方法論・演習を具体的に理解するのに役立ったと思いますか
(注 2)
5
この講義は、将来的に役立つと思いますか
(注 2)
6
この科目は、すぐに役立つ実践的な内容だと思いますか
(注 2)
7
この科目は、友人や後輩に推薦したいと思いますか
(注 2)
8
この科目で、良かった点は何ですか
自由記述
9
この科目で、改善したほしい点は何ですか
自由記述
その他、この科目への感想等があれば記入して下さい
自由記述
10
(注 2)以下の内容の五者択一
そう思う(非常によい)/ややそう思う(ややよい)/どちらとも思わない(普通)/あまり
そう思わない(やや悪い)/そう思わない(非常に悪い)
32
7.1.3 実施結果
(1)オープンソースソフトウェア入門
受講生から得られたアンケート結果を図 7.1 に示す。
ほとんどの設問、具体的には図での(a)、
(b)、
(c)、
(e)および(g)が、
「そう思う(非常によい)」
と「ややそう思う(ややよい)」との回答で 100%の結果、
(d)、
(f)が 80%の結果を示しており、下記
に示す具体的な記載例からわかるように、本講義に興味を持って受講し、OSS に対する知識、理解を深
めることに役立つ講義内容であったと評価している、と判断できる。
・オープンソースソフトウェアについて幅広く知識を学べて良かった。
・興味深い内容で楽しかった。
・オープンソースソフトウェアの定義やライセンスなどを知ることができた。
・OSS について、概念論から具体的な利用方法まで、まとめた説明が聞けた
・自分独りで勉強することを考えると、このような授業機会があって本当に良かった。
勿論、この評価は講義のコンテンツそのものだけでなく、講義の進め方、説明の仕方、講義全体の環
境整備等を含めた総合的なものであることは言うまでもない。
本講義により、OSS とは何か、利用する上での一般的注意点等を学ぶカリキュラムとしては充分目的
を達成しており、継続的な活用並びに他への水平展開に有効であると考える。
(a) 講義で使われた教材は、講義の理解に役立ったと思いますか?
0%
0%
0%
そう思う(非常によい)
ややそう思う(ややよい)
どちらとも思わない(普通)
あまりそう思わない(やや悪い)
そう思わない(非常に悪い)
100%
図 7.1 オープンソースソフトウェア入門
33
講義評価アンケート結果(1)
(b) Moodle情報や参考資料は、講義の理解に役立ったと思いますか?
0%
0%
0%
40%
60%
そう思う(非常によい)
ややそう思う(ややよい)
どちらとも思わない(普通)
あまりそう思わない(やや悪い)
そう思わない(非常に悪い)
(c) 全般的に見て、講義内容は興味深かったと思いますか?
0%
0%
20%
0%
そう思う(非常によい)
ややそう思う(ややよい)
どちらとも思わない(普通)
あまりそう思わない(やや悪い)
そう思わない(非常に悪い)
80%
(d) この講義は、方法論・知識を具体的に理解するのに役立つと思いますか?
0%
20%
20%
0%
60%
図 7.1 オープンソースソフトウェア入門
34
そう思う(非常によい)
ややそう思う(ややよい)
どちらとも思わない(普通)
あまりそう思わない(やや悪い)
そう思わない(非常に悪い)
講義評価アンケート結果(2)
(e) この講義は、将来的に役に立つと思いますか?
0%
0%
0%
40%
60%
そう思う(非常によい)
ややそう思う(ややよい)
どちらとも思わない(普通)
あまりそう思わない(やや悪い)
そう思わない(非常に悪い)
(f) この科目は、すぐに役立つ実践的な内容だと思いますか?
0%
0%
20%
20%
そう思う(非常によい)
ややそう思う(ややよい)
どちらとも思わない(普通)
あまりそう思わない(やや悪い)
そう思わない(非常に悪い)
60%
(g) この科目は、友人や後輩に推薦したいと思いますか?
0%
0%
0%
40%
60%
図 7.1 オープンソースソフトウェア入門
35
そう思う(非常によい)
ややそう思う(ややよい)
どちらとも思わない(普通)
あまりそう思わない(やや悪い)
そう思わない(非常に悪い)
講義評価アンケート結果(3)
(2)ソフトウェア開発法
受講生から得られたアンケート結果を図 7.2 に示す。
オープンソースソフトウェアの場合と同様であるが、ほとんどの設問、具体的には図での(a)、
(b)、
(d)、
(e)
(f)および(g)が、
「そう思う(非常によい)」と「ややそう思う(ややよい)」との回答で
100%の結果、
(c)のみが 92%の結果を示しており、本講義に興味を持って受講し、ソフトウェア開発
の進め方に対する知識、理解を深め、かつ実践的に経験することに役立つ講義内容であったと評価して
いる、と判断できる。
勿論、この評価は講義のコンテンツそのものだけでなく、講義の進め方、説明の仕方、講義全体の環
境整備等を含めた総合的なものであることは言うまでもない。
本講義においては、後半の 5 コマにおいて、講師による講義形式で学んだことを演習形式で実践、確
認する形態を採用したことの効果もあって、学んだこと、理解したことが将来の役に立つことへの高い
評価が出されている点、具体的には、「(e)この講義は将来役に立つと思いますか」の質問で 92%が最大
評価の「そう思う」としている点が、オープンソースソフトウェア入門の場合とは若干異なる結果であ
る。
オープンソースソフトウェアの場合と同様の内容は自由記述のコメントにも伺える。主なコメントを
以下に示す。
①「ソフトウェア開発法」を体系的に学習し、演習で実践的に適用経験することの意義
・最初はソフトウェア開発法という講義の名前を聞いてもピンとこなかったが、全く知らなかった
ことが少し分かり、少ししか知らなかったことを詳しく分かった。
・自分が就職する企業で実際にやっているだろうことを少しでも学べたのは良かった。今までは何
かアプリケーションを作る時に、ただ漠然と作っていたが、それではいけないということが分かっ
た。
・実経験のある先生から具体的な話を聞くことで、講義の内容も理解しやすくなった。
・本当に濃い内容の講義だった。UML は全く知らなかったし、アマテラスも使ったことがなかっ
た。この講義を履修して本当によかった。
・開発を行うのに、どういった工程が必要なのかという流れを知ることができた。
②就職活動並びに就職後の展開に役立つことの意義
・私は SE の仕事をすることに決まっているので、この授業で学んだことはきっと役に立つと思う。
なお、就活の前に受講できたらもっとよかった。
・実際に社会に出たときに役立つと思われる内容だった。
・講義を聞くことにより、SE の仕事についてより具体的なイメージを持つことができた。将来に
役立つ内容で良かったと思う。演習がもう少し増えると講義内容がより分かりやすくなると思う。
このように、既存のカリキュラムとの関係もあるが、「ソフトウェア開発法」を体系的に学習すると
共に演習により実践的に適用経験することは新鮮でもあり、就職活動並びに就職後の展開にも大いに役
立つと評価している。
実践的教育が、単に将来の実利的な面での意義だけでなく、座学、知識の理解を補う『演習』授業の
必要性、重要性を示しており、特に、優秀な IT 人材を世に送り出すと共に日本の IT 産業の競争力を高
36
めるために、このような実践的教育は、産業界はもとより学生の側からも嘱望されていることが伺える。
その意味で、モデルカリキュラムにおいてもできるだけ『演習』を取り入れたカリキュラムとすること
は重要であると共に、
『体系的な演習』、即ち今回取り組んだ「ソフトウェア開発法」の手法に則った演
習として取り入れていくことが重要であろう。
(a) 講義で使われた教材は講義の理解に役立ったと思いますか?
0%
0%
0%
33%
67%
そう思う(非常によい)
ややそう思う(ややよい)
どちらとも思わない(普通)
あまりそう思わない(やや悪い)
そう思わない(非常に悪い)
(b) 講義で使われた演習テキストは、理解に役立ったと思いますか?
0%
0%
8%
0%
そう思う(非常によい)
ややそう思う(ややよい)
どちらとも思わない(普通)
あまりそう思わない(やや悪い)
そう思わない(非常に悪い)
92%
図 7.2 ソフトウェア開発法 講義評価アンケート結果(1)
37
(c) 全般的に見て、講義内容は興味深かったと思いますか?
0%
8%
0%
8%
そう思う(非常によい)
ややそう思う(ややよい)
どちらとも思わない(普通)
あまりそう思わない(やや悪い)
そう思わない(非常に悪い)
84%
(d) この講義は、方法論・演習を具体的に理解するのに役立つと思いますか?
0%
0%
0%
17%
そう思う(非常によい)
ややそう思う(ややよい)
どちらとも思わない(普通)
あまりそう思わない(やや悪い)
そう思わない(非常に悪い)
83%
(e) この講義は、将来的に役に立つと思いますか?
0%
0%
8%
0%
そう思う(非常によい)
ややそう思う(ややよい)
どちらとも思わない(普通)
あまりそう思わない(やや悪い)
そう思わない(非常に悪い)
92%
図 7.2 ソフトウェア開発法 講義評価アンケート結果(2)
38
(f) この科目は、すぐに役立つ実践的な内容だと思いますか?
0%
0%
0%
42%
58%
そう思う(非常によい)
ややそう思う(ややよい)
どちらとも思わない(普通)
あまりそう思わない(やや悪い)
そう思わない(非常に悪い)
(g) この科目は、友人や後輩に推薦したいと思いますか?
0%
0%
0%
33%
67%
そう思う(非常によい)
ややそう思う(ややよい)
どちらとも思わない(普通)
あまりそう思わない(やや悪い)
そう思わない(非常に悪い)
図 7.2 ソフトウェア開発法 講義評価アンケート結果(3)
39
7.2 講義アンケート(旧 気づきシート)
7.2.1 実施目的
毎回の講義終了時に、受講生に講義アンケート(実施計画書では気づきシートと記載)の提出をお願
いした。
気づきシートの目的は、受講生自らの「気づき」を主体とするもので、授業ごとの理解度合の自己確
認ができると共に、全体を通して分析することにより、自己の習得レベルの向上度合いを把握すると共
に、講師側の講義やメンタリングの内容の方向修正のための素材とするものである。
7.2.2 実施形式
当初、実施計画書に記載の気づきシートの様式にて調査を行うことを想定していたが、実施した大学
における日頃の環境条件、講義全体における各種ツールの利用環境等との親和性を考慮することで、回
答する受講生のストレスを極力少なくし、適切な回答が得られるように配慮した。また、実施計画書で
は「気づきシート」としていたが、実施にあたっては他のアンケートとの親和性も考慮し、「講義アン
ケート」にネーミングを変更した。
具体的には図 7.3 並びに図 7.4 に示す形式により実施しており、対象となった講義の実施環境を考慮
して、それぞれ異なる方式を採用している。即ち、オープンソースソフトウェア入門の講義においては
PC 端末等の設備のない通常の講義室での座学であることから、講義アンケートを毎回「紙」で配布し、
記入、回収を行う形式とした。一方、ソフトウェア開発法においては受講生各人にサーバにログイン可
能な PC 端末等が配備された演習室での講義であることから、Web にログインして記入をしてもらう形
式とした。
40
オープンソースソフトウェア入門
記入年月日
学籍番号
氏名
講義アンケート
講義回
Q1. 毎回の講義内容は良く理解できたと思いますか?(該当のところにチェックないし○を記入して下さい。)
1.強くそう思う
2.そう思う
3.どちらでもない 4.そう思わない
5.全くそう思わない
コメント(自由記入)
講義中、なるほどと思ったこと、疑問に思ったこと何でも結構ですから、自由に、メモ書きしてください。
この「シート」は皆さんがメモ結果を残しておくことで、授業ごとの理解度合の自己確認をすることを主体として考案されたものですので、是非活用してください。
講義内容・進め方に対する感想、要望も記入して下さい。
図 7.3 オープンソースソフトウェア入門
41
講義アンケート様式
図 7.4 ソフトウェア開発法
42
講義アンケート型式
7.2.3 実施結果
(1)オープンソースソフトウェア入門
本講義の目的は、オープンソースソフトウェアの正しい理解を深めること、ライセンス問題など OSS
を活用する上で不可欠な知識を得てもらうことにあったが、受講生の記述を読むと、目的はほぼ達成で
きたと考えられる。
まず、
「Google や Amazon 等身近なものにもオープンソースが使われていることを知った。」
「企業や
教育等さまざまなところで利用されていることが分かった。」といった記述に見られるように、受講生
に自分達が使っている環境にオープンソースが広く使われていることや、実社会においても、OSS が非
常に重要な役割を果たしていることが認識されたことが分かる。
OSS は単語だけが一人歩きし、正しく理解されていないケースが多いが、
「今回の講義を受けて OSS
の間違った認識を正すことができた。」に代表されるように、これまでの曖昧に理解していた OSS の認
識の誤りに気づいた学生も多数おり、OSS の重要性とその正しい理解を深めることができたといえる。
さらに、「ビジネスでオープンソースを使う利点が理解できた。派生させて色々なビジネス展開ので
きることが分かった。」と言う記述に見られるように OSS の活用がビジネスとして成り立つことの理解
や、「私的に使ったりするときはライセンスに注意しようと思った。」「今までに使っていたソフトウェ
アがそれぞれ違うライセンスがあるのだなと思った。」といったライセンスの問題意識にも変化が見ら
れ、表面的な理解にとどまらず、正しい活用法についても理解されている。
(2)ソフトウェア開発法
本講義の目的は、プログラムを書けるようになった学生が、次のステップとしてソフトウェアを体系
的に作成する手法を学ぶと同時に、それらの処理に多くの OSS が関わっていることの理解を深めるこ
とにあったが、受講生の記述を読むと、目的はほぼ達成できたと考えられる。
講義の位置づけに関しては、「今まではプログラム作成課題はたくさんやってきたが、理論的な授業
はほとんどなかったので、詳しい説明のある講義になるといいなと思った。」という記述に見られるよ
うに、正しく理解されていたと言える。
また、「UML を書かないでプログラムを作成するくせがついてしまったので、こういう授業を 2、3
年の時に受けたかった。
」と書いた 4 年生がいたが、これは学生にソフトウェア開発法を学ぶことの重
要性が認識され、今回の講義の内容が高く評価された結果と言える。このレベルのソフトウェア開発法
の講義は 3 年次に行うのが適当であると思われる。
その他のソフトウェア開発にかかわる気づきとしては、「開発モデルは複数あり、それぞれの長所短
所と用法があることを知った。」
「アジャイル開発モデルやウォーターフォールモデルという名をこの講
義ではじめて聞いた。こういう知識がないと社会に出たときに苦労するのではと思った。」、「コーディ
ングの規約や動作環境の構築、レビューなど、もっと重要な活動があることを初めて知った。1つのも
のを作ることは大変な作業なのだと、改めて感じた。」
「コーディングの規則やレビューもソフトウェア
開発の重要な要素であることを学んだ。」といった記載にあるように、本講義を通して、実際の開発現
場における作業の複雑さ、体系的な手法の必要性など、この分野の重要性を認識したものが多数見られ
た。
さらに、演習では多数の OSS を利用して演習環境を実現し提供したが、「Eclipse でユースケース図
43
が作れるのを初めて知った。上流から下流まで作業ができるので便利だと思った。」、「クラス図が簡単
に書けた。こんな機能があることを初めて知った。」、「Eclipse でプログラムを書いたことはあったが、
シーケンス図などを書いたことはなかったので勉強になった。」など、演習を通じて Eclipse の新しい使
い方を発見したという意見が多数あり、Eclipse と Eclipse の plug-in が OSS として提供されているこ
とや、それらの有用性を再認識しており、これを機にオープンソースソフトに関する興味をもち理解を
深めたと考えられる。
44
7.3 スキルレベル評価シート
7.3.1 実施目的
本講義を受講したことでどの程度受講生にスキルがつき、あるいはスキルが向上したかを評価するた
めアンケートの提出をお願いした。
スキルレベルを判断するための指標ないし具体的なレベル判定を行う方法としては ITSS(IT スキル
標準:IT Skill Standard)を利用する方法も考えられるが、その項目範囲が今回の講義科目内容に合致
するものが無く、また受講者の理解度を判断するためには講義で説明している項目と一致した内容であ
ることが必要であることから ITSS をそのまま利用することは不可能であると判断し、独自に作成する
こととした。
7.3.2 実施形式
実施にあたっては、大学における日頃の環境条件、講義全体における各種ツールの利用環境等との親
和性を考慮することで、回答する受講生のストレスを極力少なくし、適切な回答が得られるように配慮
した。また、実施計画書では「スキルレベルシート」としているが、実施にあたっては各種アンケート
との親和性も考慮し、「講義理解度に関する自己評価アンケート」というネーミングに変更した。
具体的には表 7.3 並びに表 7.4 に示す内容により実施した。
オープンソースソフトウェア入門では 49 項目のスキル項目に関して受講前と受講後のレベルを自己
評価してもらった。一方、ソフトウェア開発法では 69 項目のスキル項目に関して受講前と受講後のレ
ベルを自己評価してもらった。
尚、回答形式は、
1 聞いたことがない
2
3
4
5
聞いたことはある(理解度低)
知っている(理解度中)
助けを得て使える(説明できる)
独力で使える(説明できる)
の五者択一形式である。
45
表 7.3 オープンソースソフトウェア入門
項番
講義理解度に関する自己評価アンケート
スキル項目
対応講義回
1
OSS の定義 - OSI
1
2
OSS の定義 - 10 箇条
1
3
OSS の定義 - 再配布の自由
1
4
OSS の定義 - ソースコード
1
5
OSS の定義 - 派生ソフトウェア
1
6
OSS の定義 - ソースコードの完全性
1
7
OSS の定義 - 個人やグループへの差別の禁止
1
8
OSS の定義 - 利用分野に対しての差別の禁止
1
9
OSS の定義 - ライセンスの分配
1
10
OSS の定義 - 特定製品でのみ有効なライセンス禁止
1
11
OSS の定義 - 他のソフトウェアライセンス制限の禁止
1
12
OSS の定義 - 技術的中立
1
13
普及・流行
2
14
普及・流行 - Unix との関係
2
15
普及・流行 - インターネットとの関係
2
16
普及・流行 - GNU との関係
2
17
類似ソフトウェアとの区別
3
18
類似ソフトウェアとの区別 - フリーソフトウェア
3
19
類似ソフトウェアとの区別 - パブリックドメインソフトウェア
3
20
類似ソフトウェアとの区別 - MIT ライセンス
3
21
類似ソフトウェアとの区別 - シェアウェア
3
22
オープンソースソフトウェア - 関係者
3
23
ポータルサイト
4
24
組織での利用例
5
25
組織での利用における問題点
5
26
商用ソフトウェアとの対比
6
27
オープンソースソフトウェアビジネス
6
28
オープンソースソフトウェアビジネス - ビジネスモデル
7
29
オープンソースソフトウェアビジネス – メリット・デメリット
7
30
オープンソースソフトウェアビジネス – ライセンス
7
31
開発者コミュニティ
8
32
オープンソースソフトウェア導入 – 問題点
33
知的財産権
11
34
著作権
11
35
著作権 – ソフトウェアライセンス
11
46
9,10
36
著作権 – 利用・使用
11
37
商用ライセンスとの対比
11
38
オープンソースライセンス - ソース公開
11
39
オープンソースライセンス - バイナリ公開
11
40
オープンソースライセンス - 二次著作物
11
41
BSD ライセンス
12
42
MPL
12
43
LGPL
12
44
GPL
12
45
Apache Lisense 2.0
12
46
CopyLeft
12
47
Dual Lisense
12
48
開発とライセンス適用
13
49
Common Creative Lisense
13
47
表 7.4 ソフトウェア開発法
項番
講義理解度に関する自己評価アンケート
スキル項目
対応講義回
1
ソフトウェアライフサイクル
1
2
要求分析
1
3
要求定義
1
4
仕様記述
1
5
ソフトウェアアーキテクチャ
1
6
実装
1
7
評価・テスト
1
8
教育・トレーニング
1
9
運用・保守
1
10
文書化
1
11
ソフトウェア開発方法
2
12
ウォーターフォールモデル
2
13
アジャイルモデル
2
14
上流工程
3
15
機能要求分析・定義
3
16
非機能要求分析・定義
3
17
画面遷移
3
18
ソフトウェアモデリング
3
19
UML
3
20
ユースケース記述
3
21
ユースケース図
3
22
Eclipse(上流工程)
3
23
クラス図
3
24
シーケンス図
3
25
Eclipse(プラグイン)
3
26
製造工程
4
27
設計フェーズ(クラス図、シーケンス図)
4
28
実装フェーズ
4
29
コードレビュー
4
30
コーディング規約
4
31
作成・試験環境
4
32
各種設定書
4
33
下流工程
5
34
テスト工程
5
35
テストプロセスと手順
5
48
36
テスト技法
5
37
動的テスト(ホワイトボックス・ブラックボックス)
5
38
静的テスト
5
39
静的テスト(レビュー)
5
40
V 字モデル
5
41
単体テスト
5
42
総合テスト
5
43
統合テスト
5
44
運用テスト
5
45
運用・保守工程
5
46
ソフトウェア導入
5
47
保守(4 つの保守タイプ)
5
48
ソフトウェア開発 - プロジェクト管理・ツール
6
49
ソフトウェア開発 - リソース管理・ツール
6
50
ソースコード管理
6
51
BTS(Bug Tracking System)
6
52
品質管理
6
53
品質測定要因
6
54
アジャイルモデル
7
55
アジャイルモデル - 価値
7
56
アジャイルモデル – 反復
7
57
アジャイルモデル – リソース単位
7
58
アジャイルモデル – 進捗測定
7
59
XP(eXtreme Programing)
8
60
XP(eXtreme Programing) - 4 つの価値
8
61
XP(eXtreme Programing) - 4 つのプラクティス
8
62
リファクタリング
8
63
TDD – Test First
8
64
XP(eXtreme Programing) - 反復
8
65
XP(eXtreme Programing) - Test First
8
66
版管理 - Subversion(操作)
9,13
67
Eclipse(Amateras)
9,13
68
テストフレームワーク - Junit
9,13
69
Junit – setUp, tearDown
9,13
49
7.3.3 実施結果
受講生から得られた結果を以下に示す。
(1)オープンソースソフトウェア入門
オープンソースソフトウェア入門講義理解度に関する自己評価アンケート結果を図 7.5 に示す。
ほとんどの項目に関して、受講前には知識がない状況であったが、受講後には自ら説明できるレベル
にまで達する状況になっており、本カリキュラム受講でのスキルアップが充分認められる結果となって
いる。
特に、本カリキュラムの内容が OSS の一般的な知識を付与するものであり、詳細な専門に亙るもの
ではないことから、スキルアップの効果が顕著に現れたともいえる。
数値的にスキルアップ効果を表すと、5 段階のスキルレベル(聞いたことがない、聞いたことはある[理
解度低]、知っている[理解度中]、助けを得て使える[説明できる]、独力で使える[説明できる])に対して
それぞれ 1~5 の評点を与えた評点で見ると、受講前の平均値が 1.3(聞いたことがない+α)であるの
に対し受講後は 3.5(知っている[理解度中]+α)と 2 段階以上のスキルアップが見られる。
因みに、比較的細部の内容とも言える「OSS の定義-10 か条」、
「ソースコードの完全性」や具体的な
OSS ライセンス等に関しては、スキルアップは認められるもののスキルレベルは中程度に留まっている。
以上の結果から、高等教育の現場において講義する内容としては、ある程度専門に渡る内容をまじえ
つつ OSS の概要を理解してもらう入門講座として、本カリキュラムは適当な内容であると判断できる。
50
OSSの定義ーOSI
OSSの定義‐10箇条
100%
100%
90%
90%
80%
80%
70%
70%
1
60%
50%
1
60%
2
2
50%
40%
3
40%
3
30%
4
30%
4
20%
5
20%
5
10%
10%
0%
0%
講義前
講義前
講義後
OSSの定義ー再配布の自由
講義後
OSSの定義ーソースコード
100%
100%
90%
90%
80%
80%
70%
70%
1
60%
50%
1
60%
2
2
50%
40%
3
40%
3
30%
4
30%
4
20%
5
20%
5
10%
10%
0%
0%
講義前
講義後
講義前
OSSの定義ー派生ソフトウェア
講義後
OSSの定義ーソースコードの完全性
100%
100%
90%
90%
80%
80%
70%
70%
1
60%
50%
1
60%
2
2
50%
40%
3
40%
3
30%
4
30%
4
20%
5
20%
5
10%
拡大
10%
0%
0%
講義前
講義後
講義前
OSSの定義ー個人やグループへの差別の禁止
講義後
OSSの定義ー利用分野に対しての差別の禁止
100%
100%
90%
90%
80%
80%
70%
70%
1
60%
50%
1
60%
2
2
50%
40%
3
40%
3
30%
4
30%
4
20%
5
20%
5
10%
10%
0%
0%
講義前
講義後
講義前
OSSの定義ーライセンスの分配
講義後
OSSの定義ー特定製品でのみ有効なライセンス禁止
100%
100%
90%
90%
80%
80%
70%
70%
1
60%
50%
1
60%
2
2
50%
40%
3
40%
3
30%
4
30%
4
20%
5
20%
5
10%
10%
0%
0%
講義前
講義後
講義前
講義後
図 7.5 オープンソースソフトウェア入門講義理解度に関する自己評価アンケート結果(1)
51
OSSの定義ー他のソフトウェアライセンス制限の禁止
OSSの定義ー技術的中立
100%
100%
90%
90%
80%
80%
70%
70%
1
60%
50%
1
60%
2
2
50%
40%
3
40%
3
30%
4
30%
4
20%
5
20%
5
10%
10%
0%
0%
講義前
講義後
講義前
普及・流行
講義後
普及・流行ーUnixとの関係
100%
100%
90%
90%
80%
80%
70%
70%
1
60%
50%
1
60%
2
2
50%
40%
3
40%
3
30%
4
30%
4
20%
5
20%
5
10%
10%
0%
0%
講義前
講義後
講義前
普及・流行ーインターネットとの関係
講義後
普及・流行ーGNUとの関係
100%
100%
90%
90%
80%
80%
70%
70%
1
60%
50%
1
60%
2
2
50%
40%
3
40%
3
30%
4
30%
4
20%
5
20%
5
10%
10%
0%
0%
講義前
講義後
講義前
類似ソフトウェアとの区別
講義後
類似ソフトウェアとの区別ーフリーソフトウェア
100%
100%
90%
90%
80%
80%
70%
70%
1
60%
50%
1
60%
2
2
50%
40%
3
40%
3
30%
4
30%
4
20%
5
20%
5
10%
10%
0%
0%
講義前
講義後
講義前
類似ソフトウェアとの区別ーパブリックドメインソフトウェ
ア
講義後
類似ソフトウェアとの区別ーMITライセンス
100%
90%
100%
90%
80%
70%
60%
50%
40%
30%
20%
10%
0%
80%
70%
1
1
60%
2
50%
3
40%
3
30%
4
20%
5
4
5
2
10%
0%
講義前
講義前
講義後
講義後
図 7.5 オープンソースソフトウェア入門講義理解度に関する自己評価アンケート結果(2)
52
拡大
類似ソフトウェアとの区別ーシェアウェア
オープンソースソフトウェアー関係者
100%
100%
90%
90%
80%
80%
70%
70%
1
60%
50%
1
60%
2
2
50%
40%
3
40%
3
30%
4
30%
4
20%
5
20%
5
10%
10%
0%
0%
講義前
講義後
講義前
ポータルサイト
講義後
組織での利用例
100%
100%
90%
90%
80%
80%
70%
70%
1
60%
50%
1
60%
2
2
50%
40%
3
40%
3
30%
4
30%
4
20%
5
20%
5
10%
10%
0%
0%
講義前
講義後
講義前
組織での利用における問題点
講義後
商用ソフトウェアとの対比
100%
100%
90%
90%
80%
80%
70%
70%
1
60%
50%
1
60%
2
2
50%
40%
3
40%
3
30%
4
30%
4
20%
5
20%
5
10%
拡大
10%
0%
0%
講義前
講義後
講義前
講義後
オープンソースソフトウェアビジネスービジネスモデル
オープンソースソフトウェアビジネス
100%
100%
90%
80%
70%
60%
50%
40%
30%
20%
10%
0%
90%
80%
70%
1
1
60%
2
2
50%
3
40%
3
4
30%
4
5
20%
5
10%
0%
講義前
講義後
講義前
オープンソースソフトウェアビジネスーメリット・デメリット
講義後
オープンソースソフトウェアビジネスーライセンス
100%
100%
90%
90%
80%
80%
70%
70%
1
60%
50%
1
60%
2
2
50%
40%
3
40%
3
30%
4
30%
4
20%
5
20%
5
10%
10%
0%
0%
講義前
講義後
講義前
講義後
図 7.5 オープンソースソフトウェア入門講義理解度に関する自己評価アンケート結果(3)
53
開発者コミュニティ
オープンソースソフトウェア導入ー問題点
100%
100%
90%
90%
80%
80%
70%
70%
1
60%
50%
1
60%
2
2
50%
40%
3
40%
3
30%
4
30%
4
20%
5
20%
5
10%
10%
0%
0%
講義前
講義後
講義前
知的財産権
講義後
著作権
100%
100%
90%
90%
80%
80%
70%
70%
1
60%
50%
1
60%
2
2
50%
40%
3
40%
3
30%
4
30%
4
20%
5
20%
5
10%
10%
0%
0%
講義前
講義後
講義前
著作権ーソフトウェアライセンス
講義後
著作権ー利用・使用
100%
100%
90%
90%
80%
80%
70%
70%
1
60%
50%
1
60%
2
2
50%
40%
3
40%
3
30%
4
30%
4
20%
5
20%
5
10%
拡大
10%
0%
0%
講義前
講義後
講義前
商用ライセンスとの対比
講義後
オープンソースライセンス ー ソース公開
100%
100%
90%
90%
80%
80%
70%
70%
1
60%
50%
1
60%
2
2
50%
40%
3
40%
3
30%
4
30%
4
20%
5
20%
5
10%
10%
0%
0%
講義前
講義後
講義前
オープンソースライセンスーバイナリィ公開
講義後
オープンソースライセンスー 二次著作物
100%
100%
90%
90%
80%
80%
70%
70%
1
60%
50%
1
60%
2
2
50%
40%
3
40%
3
30%
4
30%
4
20%
5
20%
5
10%
10%
0%
0%
講義前
講義後
講義前
講義後
図 7.5 オープンソースソフトウェア入門講義理解度に関する自己評価アンケート結果(4)
54
BSDライセンス
MPL
100%
100%
90%
90%
80%
80%
70%
70%
1
60%
50%
1
60%
2
2
50%
40%
3
40%
3
30%
4
30%
4
20%
5
20%
5
10%
10%
0%
0%
講義前
講義後
講義前
LGPL
講義後
GPL
100%
100%
90%
90%
80%
80%
70%
70%
1
60%
50%
1
60%
2
2
50%
40%
3
40%
3
30%
4
30%
4
20%
5
20%
5
10%
10%
0%
0%
講義前
講義後
講義前
講義後
Copyleft
Apache Lisense 2.0
100%
100%
90%
90%
80%
80%
70%
70%
1
60%
50%
1
60%
2
2
50%
40%
3
40%
3
30%
4
30%
4
20%
5
20%
5
拡大
10%
10%
0%
0%
講義前
講義後
講義前
講義後
開発とライセンス適用
Dual Lisense
100%
100%
90%
90%
80%
80%
70%
70%
1
60%
50%
1
60%
2
2
50%
40%
3
40%
3
30%
4
30%
4
20%
5
20%
5
10%
10%
0%
0%
講義前
講義後
講義前
講義後
Common Creative License
100%
90%
80%
70%
1
60%
2
50%
40%
3
30%
4
20%
5
10%
0%
講義前
【凡例】
1 聞いたことがない
2 聞いたことはある(理解度低)
3 知っている(理解度中)
4 助けを得て使える(説明できる)
5 独力で使える(説明できる)
講義後
図 7.5 オープンソースソフトウェア入門講義理解度に関する自己評価アンケート結果(5)
55
講義回ごとに対応したスキル項目でみた場合のスキルアップ度合いを表 7.5 に示す。
表 7.5 講義回対応でのスキルアップ度合い
講義回
スキルアップ度合い
備
考
1
2.3
オープンソースソフトウェアとは
2
2.3
普及と歴史
3
2.2
オープンソースソフトウェアの分類
4
2.0
個人利用
5
2.6
6
2.4
企業・社会・教育にとっての利用メリット
と事例(その1)
企業・社会・教育にとっての利用メリット
と事例(その2)
7
2.3
関連ビジネス
8
1.6
オープンソースソフトウェアの開発者
9-10
2.4
技術的側面からみた問題点(課題点)
人的側面からみた問題点(課題点)
11
1.9
ライセンス・知的財産権(1)
12
2.2
ライセンス・知的財産権(2)
13
2.7
ライセンス・知的財産権(3)
特に、回ごとでの大きな差は見られないが、オープンソースがどのように開発されるか、コミュニテ
ィの役割等を講義した第 8 回が若干低い値を示しており、OSS にとって重要な内容である反面一般的な
組織社会からみるとなじみが低い面があることが影響しているのではないかと考えられる。もう少し噛
み砕いた説明が必要かと考えられる。
(2)ソフトウェア開発法
ソフトウェア開発法の講義理解度に関する自己評価アンケート結果を図 7.6 に示す。
ほとんどの項目に関して受講に伴いスキルレベルのアップが認められるのもの、その増分は顕著では
ない。
理由としては、本講義の内容がソフトウェア開発の専門的な技術を扱うものであることから、少々難
易度の高い内容となっているためと考えられる。
中には、受講後においてもレベルの変化がない(「聞いたことがない」の最低レベルのまま)のケー
スがあり、これは理解が出来ずにそのまま素通りし記憶にも残らなかったか、当該内容の講義時間に欠
席したかのどちらかであろう。
数値的にスキルアップの状況を見ると、受講前の平均値が 1.8(ほぼ聞いたことはある[理解度低])で
あるのに対し受講後は 3.2(ほぼ知っている[理解度中])と 1 段階以上のスキルアップが見られる。
以上の結果から、当初から 3 年生、4 年生を想定した講義としては内容的にほぼ充分なレベルのもの
であったと判断できる。尚、本講義を実施する際に、毎回講義アンケートを提出してもらっており、そ
の中に記載された疑問点(講義内容で判りにくかったことも含む)に対する回答、解説も次回の授業冒
頭に実施しており、このスキル評価がその状況も踏まえた結果であることを考慮すると、今後本カリキ
56
ュラムを用いて授業の横展開を図る場合には、受講生のレベルを十分に把握した上での運用が望まれる。
要求分析
ソフトウエアライフサイクル
100%
100%
90%
90%
80%
80%
70%
70%
1
60%
50%
1
60%
2
2
50%
40%
3
40%
3
30%
4
30%
4
20%
5
20%
5
10%
10%
0%
0%
講義前
講義前
講義後
要求定義
講義後
仕様記述
100%
100%
90%
90%
80%
80%
70%
70%
1
60%
50%
1
60%
2
2
50%
40%
3
40%
3
30%
4
30%
4
20%
5
20%
5
10%
10%
0%
0%
講義前
講義後
講義前
ソフトウェアアーキテクチャ
講義後
実装
100%
100%
90%
90%
80%
80%
70%
70%
1
60%
50%
1
60%
2
2
50%
40%
3
40%
3
30%
4
30%
4
20%
5
20%
5
10%
10%
0%
0%
講義前
講義後
講義前
評価・テスト
講義後
教育・トレーニング
100%
100%
90%
90%
80%
80%
70%
70%
1
60%
50%
1
60%
2
2
50%
40%
3
40%
3
30%
4
30%
4
20%
5
20%
5
10%
10%
0%
0%
講義前
講義後
講義前
運用・保守
講義後
文書化
100%
100%
90%
90%
80%
80%
70%
70%
1
60%
50%
1
60%
2
2
50%
40%
3
40%
3
30%
4
30%
4
20%
5
20%
5
10%
10%
0%
0%
講義前
講義後
図 7.6 ソフトウェア開発法
講義前
講義後
講義理解度に関する自己評価アンケート結果(1)
57
拡大
ソフトウェア開発方法
ウォーターフォールモデル
100%
100%
90%
90%
80%
80%
70%
70%
1
60%
50%
1
60%
2
2
50%
40%
3
40%
3
30%
4
30%
4
20%
5
20%
5
10%
10%
0%
0%
講義前
講義後
講義前
アジャイルモデル
講義後
上流工程
100%
100%
90%
90%
80%
80%
70%
70%
1
60%
50%
1
60%
2
2
50%
40%
3
40%
3
30%
4
30%
4
20%
5
20%
5
10%
10%
0%
0%
講義前
講義後
講義前
機能要求分析・定義
講義後
非機能要求分析・定義
100%
100%
90%
90%
80%
80%
70%
70%
1
60%
50%
1
60%
2
2
50%
40%
3
40%
3
30%
4
30%
4
20%
5
20%
5
10%
10%
0%
0%
講義前
講義後
講義前
画面遷移
講義後
ソフトウェアモデリング
100%
100%
90%
90%
80%
80%
70%
70%
1
60%
50%
1
60%
2
2
50%
40%
3
40%
3
30%
4
30%
4
20%
5
20%
5
10%
10%
0%
0%
講義前
講義後
講義前
講義後
ユースケース記述
UML
100%
100%
90%
90%
80%
80%
70%
70%
1
60%
50%
1
60%
2
2
50%
40%
3
40%
3
30%
4
30%
4
20%
5
20%
5
10%
10%
0%
0%
講義前
講義前
講義後
図 7.6 ソフトウェア開発法
講義後
講義理解度に関する自己評価アンケート結果(2)
58
拡大
ユースケース図
Eclipse(上流工程)
100%
100%
90%
90%
80%
80%
70%
70%
1
60%
50%
1
60%
2
2
50%
40%
3
40%
3
30%
4
30%
4
20%
5
20%
5
10%
10%
0%
0%
講義前
講義後
講義前
クラス図
講義後
シーケンス図
100%
100%
90%
90%
80%
80%
70%
70%
1
60%
50%
1
60%
2
2
50%
40%
3
40%
3
30%
4
30%
4
20%
5
20%
5
10%
10%
0%
0%
講義前
講義後
講義前
講義後
製造工程
Eclipse(プラグイン)
100%
100%
90%
90%
80%
80%
70%
70%
1
60%
50%
1
60%
2
2
50%
40%
3
40%
3
30%
4
30%
4
20%
5
20%
5
10%
10%
0%
0%
講義前
講義後
講義前
講義後
実装フェーズ
設計フェース(クラス図、シーケンス図)
100%
100%
90%
90%
80%
80%
70%
70%
1
1
60%
2
50%
40%
3
40%
30%
4
30%
4
20%
5
60%
50%
20%
5
2
3
10%
10%
0%
0%
講義前
講義後
講義前
コードレビュー
講義後
コーディング規約
100%
100%
90%
90%
80%
80%
70%
70%
1
60%
50%
1
60%
2
2
50%
40%
3
40%
3
30%
4
30%
4
20%
5
20%
5
10%
10%
0%
0%
講義前
講義後
図 7.6 ソフトウェア開発法
講義前
講義後
講義理解度に関する自己評価アンケート結果(3)
59
拡大
作成・試験環境
各種設定書
100%
100%
90%
90%
80%
80%
70%
70%
1
60%
50%
1
60%
2
2
50%
40%
3
40%
3
30%
4
30%
4
20%
5
20%
5
10%
10%
0%
0%
講義前
講義後
講義前
下流工程
講義後
テスト工程
100%
100%
90%
90%
80%
80%
70%
70%
1
60%
50%
1
60%
2
2
50%
40%
3
40%
3
30%
4
30%
4
20%
5
20%
5
10%
10%
0%
0%
講義前
講義後
講義前
テストプロセスと手順
講義後
テスト技法
100%
100%
90%
90%
80%
80%
70%
70%
1
60%
50%
1
60%
2
2
50%
40%
3
40%
3
30%
4
30%
4
20%
5
20%
5
10%
10%
0%
0%
講義前
講義後
講義前
動的テスト(ホワイトボックス・ブラックボックス)
講義後
動的テスト
100%
100%
90%
90%
80%
80%
70%
70%
1
60%
50%
1
60%
2
2
50%
40%
3
40%
3
30%
4
30%
4
20%
5
20%
5
10%
10%
0%
0%
講義前
講義後
講義前
静的テスト(レビュー)
講義後
V字モデル
100%
100%
90%
90%
80%
80%
70%
70%
1
60%
50%
1
60%
2
2
50%
40%
3
40%
3
30%
4
30%
4
20%
5
20%
5
10%
10%
0%
0%
講義前
講義後
図 7.6 ソフトウェア開発法
講義前
講義後
講義理解度に関する自己評価アンケート結果(4)
60
拡大
単体テスト
結合テスト
100%
100%
90%
90%
80%
80%
70%
70%
1
60%
50%
1
60%
2
2
50%
40%
3
40%
3
30%
4
30%
4
20%
5
20%
5
10%
10%
0%
0%
講義前
講義後
講義前
総合テスト
講義後
運用テスト
100%
100%
90%
90%
80%
80%
70%
70%
1
60%
50%
1
60%
2
2
50%
40%
3
40%
3
30%
4
30%
4
20%
5
20%
5
10%
10%
0%
0%
講義前
講義後
講義前
運用・保守工程
講義後
ソフトウェア導入
100%
100%
90%
90%
80%
80%
70%
70%
1
60%
50%
1
60%
2
2
50%
40%
3
40%
3
30%
4
30%
4
20%
5
20%
5
10%
10%
0%
0%
講義前
講義後
講義前
講義後
ソフトウェア開発ープロジェクト管理・ツール
保守(4つの保守タイプ)
100%
100%
90%
80%
70%
60%
50%
40%
30%
20%
10%
0%
90%
80%
70%
1
1
60%
2
2
50%
3
40%
3
4
30%
4
5
20%
5
10%
0%
講義前
講義後
講義前
講義後
ソースコード管理
ソフトウェア開発ーリソース管理・ツール
100%
100%
90%
90%
80%
80%
70%
70%
1
60%
50%
1
60%
2
2
50%
40%
3
40%
3
30%
4
30%
4
20%
5
20%
5
10%
10%
0%
0%
講義前
講義前
講義後
図 7.6 ソフトウェア開発法
講義後
講義理解度に関する自己評価アンケート結果(5)
61
拡大
品質管理
BTS(Bug Tracking System)
100%
100%
90%
90%
80%
80%
70%
70%
1
60%
50%
1
60%
2
2
50%
40%
3
40%
3
30%
4
30%
4
20%
5
20%
5
10%
10%
0%
0%
講義前
講義後
講義前
品質測定要因
講義後
アジャイルモデル
100%
100%
90%
90%
80%
80%
70%
70%
1
60%
50%
1
60%
2
2
50%
40%
3
40%
3
30%
4
30%
4
20%
5
20%
5
10%
10%
0%
0%
講義前
講義後
講義前
アジャイルモデルー価値
講義後
アジャイルモデルー反復
100%
100%
90%
90%
80%
80%
70%
70%
1
60%
50%
1
60%
2
2
50%
40%
3
40%
3
30%
4
30%
4
20%
5
20%
5
10%
10%
0%
0%
講義前
講義後
講義前
アジャイルモデルーリリース単位
講義後
アジャイルモデルー進捗測定
100%
100%
90%
90%
80%
80%
70%
70%
1
60%
50%
1
60%
2
2
50%
40%
3
40%
3
30%
4
30%
4
20%
5
20%
5
10%
10%
0%
0%
講義前
講義後
講義前
XP(eXtreme Programing)
XP(eXtreme Programing)‐4つの価値
100%
100%
90%
90%
80%
70%
60%
80%
70%
1
60%
2
50%
40%
3
30%
4
20%
5
2
3
4
20%
10%
0%
0%
5
講義前
講義後
図 7.6 ソフトウェア開発法
1
50%
40%
30%
10%
講義前
講義後
講義後
講義理解度に関する自己評価アンケート結果(6)
62
拡大
リファクタリング
XP(eXtreme Programing)‐14のプラクティス
100%
100%
90%
90%
80%
80%
70%
70%
1
60%
50%
1
60%
2
2
50%
40%
3
40%
3
30%
4
30%
4
20%
5
20%
5
10%
10%
0%
0%
講義前
講義後
講義前
TDD・Test First
講義後
XP(eXtreme Programing)ー反復
100%
100%
90%
90%
80%
80%
70%
70%
1
60%
50%
1
60%
2
2
50%
40%
3
40%
3
30%
4
30%
4
20%
5
20%
5
10%
10%
0%
0%
講義前
講義後
講義前
講義後
版管理ーSubversion(操作)
XP(eXtreme Programing)ーTest First
100%
100%
90%
90%
80%
80%
70%
70%
1
60%
50%
1
60%
2
2
50%
40%
3
40%
3
30%
4
30%
4
20%
5
20%
5
10%
10%
0%
0%
講義前
講義後
講義前
講義後
テストフレームワークーJunit
Eclipse(Amateras)
100%
100%
90%
90%
80%
80%
70%
70%
1
60%
50%
1
60%
2
2
50%
40%
3
40%
3
30%
4
30%
4
20%
5
20%
5
10%
10%
0%
0%
講義前
講義後
講義前
講義後
Junit-setUp,tearDown
100%
90%
80%
70%
1
60%
2
50%
40%
3
30%
4
20%
5
【凡例】
1 聞いたことがない
2 聞いたことはある(理解度低)
3 知っている(理解度中)
4 助けを得て使える(説明できる)
5 独力で使える(説明できる)
10%
0%
講義前
講義後
図 7.6 ソフトウェア開発法
講義理解度に関する自己評価アンケート結果(7)
63
拡大
講義回ごとに対応したスキル項目でみた場合のスキルアップ度合いを表 7.6 に示す。
表 7.6 講義回対応でのスキルアップ度合い
講義回
スキルアップ度合い
備
考
1
1.0
概説
2
1.6
開発方法モデル
3
1.4
上流工程
4
1.2
製造工程
5
1.4
下流工程
6
1.3
開発プロジェクトと支援ツール
7
1.7
アジャイル開発
8
1.6
アジャイル開発
eXtreme Programing
9-13
2.1
演習課題説明
第 1 回目のスキルアップ度が他の回に比べて低いのは、受講者にとってなじみの低いソフトウェア開
発のプロセスに関して専門用語を用いて説明したことから、各種単語に対する理解度が得られにくかっ
たものと推定できるので、もう少しかみ砕いた説明が必要であろう。一方、第 9 回以降でのスキルアッ
プ度が高いのは、座学で耳から聴くのみで理解するのではなく具体的に PC を操作・体験する流れの中
で説明あるいは用いられる用語に関するものであることから理解度が向上したものと考えられ、演習形
式の講義の効果である。
それ以外の回では、特に、回ごとでの大きな差は見られない。
64
7.4 学生成績評価
(1)評価方針
講義を受講し、試験(実際にはレポート)に合格した学生には各 2 単位を付与することで進めた。
評価に当たっては、レポート内容並びに出席率等を加味して実施した。
(2)レポート内容
レポートに実施は、中間と最終の 2 回の課題設定を行い実施した。
図 7.7~図 7.10 に実施したレポート課題の概要を示す。
以下の2課題から一つ選択してレポートする。
(ア) 興味深いオープンソースソフトウェアを探し、詳細をレポートする。
(イ) 興味深いオープンソースソフトウェアの利用例を、調べレポートする。
*講義中のポータルサイトや URL を出発点の一部にしてください。
*記述すべき項目
①ソフトウェア名(URL)
②作者
③ライセンス
④概要説明
⑤興味深い(面白い・役立つ・自分ならこのように利用する)など、取り上げたポ
イントを講師に納得させる様に記述する。
図 7.7 オープンソースソフトウェア入門
中間レポート
今までに皆さんが作成したソフトの、テスト以降の工程(V 字モデルの右側)を、
他の人(例えば、講師・TA・友人)が行う事を想定してください。
他の人の作成ソフトを自分がテスト・保守する事もありえます。
その際に、ソースコードだけの受け渡しでは、何も出来ませんね。
引継ぎを行うのに必要なドキュメント(複数)を作成してください。
講義で話した上流工程部分のアウトプットです。
【提出物】ソースコード、ドキュメント
図 7.8 ソフトウェア開発法
65
中間レポート
以下の 2 つの課題から一つ選択し、調べ、レポートする。
(1)Thnderbird/Firefox などに適用されているライセンス MPL について特徴を
調べ、以下の点も含めてレポートする。
・MPL の一般的なオープンソースライセンスとしての特徴
・商用サポートの有無
・自分でアドオンソフトウェアを開発した場合に適用される、または適用可能なラ
イセンスについて。
例えば、アドオンソフトウェアを商用として有償販売可能か、制約があるか、適
用されるライセンスは・・・・等々。
(2)Eclipse などに適用されているにライセンス CPL/EPL について特徴を調べる
とともに、以下の点を含めてレポートする。
・CPL/EPL の一般的なオープンソースライセンスとしての特徴
・商用サポートの有無
・自分でプラグインソフトウェアを開発した場合に適用される、または適用可能な
ライセンスについて。
例えば、プラグインソフトウェアを商用として、有償販売可能か、制約があるか、
適用されるライセンスは・・・・等々。
図 7.9 オープンソースソフトウェア入門
最終レポート
講義・演習中で未実装になっている座席予約変更を完成する。
その結果をレポートとして提出する。
図 7.10 ソフトウェア開発法
最終レポート
(3)評価結果
レポート内容の評価並びに出席率等を加味して成績判定を行った結果、表 7.7 に示したように、最終
的にレポートを提出した学生全てが合格と判定され、各科目それぞれ 2 単位を付与した。
尚、表 7.7 には講義の履修届け者数も併せて示した。
表 7.7 合格者の状況
科
目
オープンソースソフトウェア入門
ソフトウェア開発法
履修届け者数
レポート提出者数
合格者数
9
5
5
13
12
12
66
8.
成果と課題
8.1 モデルカリキュラムとの対応について
5.2 節でも延べたように、本プロジェクトで対象とした 2 科目(オープンソースソフトウェア入門、
ソフトウェア開発法)の講義資料の作成にあたり、モデルカリキュラムとして開発された科目をそのま
ま実施対象大学である津田塾大学の新たなカリキュラムとして採用することは困難であるとの考えか
ら、複数のモデルカリキュラムから抽出・再編すると共に、状況に応じた内容の変更・補充を行った。
(1)オープンソースソフトウェア入門
モデルカリキュラムの「OSS の概要に関する知識」並びに「法務分野に関する知識」の 2 つのコース
ウェアを参考に、
「OSS の概要に関する知識Ⅰ」
、
「OSS の概要に関する知識Ⅰ」、
「法務分野に関する知
識Ⅰ」及び「法務分野に関する知識Ⅱ」等の情報を活用して講義資料の作成を進めてきた。
本科目は、OSS の一般的知識を付与、理解させることを目指したものであり、モデルカリキュラムの
「OSS の概要に関する知識」のコースウェアを基本とした。更に、OSS を利用ないし自ら作成、改変
する際に重要となるライセンス・知的財産に関する知識を理解してもらうため「法務分野の関する知識」
のコースウェアから基本となる部分のみ抽出、編集した。
講義内容とモデルカリキュラムとの対応関係図を図 8.1 に示す。
「OSS の概要に関する知識」では、今回の第 8・9 回の講義内容の「技術的・人的側面からみた問題
点(課題点)」の記述が少なく、新規に作成したため、講義内容とモデルカリキュラムとの対応関係が
ない。
「法務分野に関する知識」のモデルカリキュラムでは、第 7 回~第 10 回、第 12 回~第 15 回におい
て、主に企業での実務者向けの OSS 利用上の知的財産面、知的財産面以外での法務面、法的リスク管
理での考慮点、および法的リスクに対応したビジネス、特許訴訟問題などについて延べられているが、
今回の講義で OSS を始めて学ぶ受講生には内容が難しいと思われる。このため、講義内容を表 5.2 の
トピックスに書いた内容としたため、講義内容とモデルカリキュラムとの対応関係がない。
今回の実施対象大学である津田塾大学の場合では、オープンソースソフトウェア入門の教材作成にお
いて、大学の状況に合わせた取捨選択を実施しているものの、図 8.1 に示すようにモデルカリキュラム
の流用性は高いと判断している。
67
モデルカリキュラム
OSS の概要に関する知識
回
数
標題
1 オープンソースの理念
教材:OSS入門
回
数
2 オープンソースOS の歴史
標題
3 代表的なオープンソース
1 オープンソースソフトウェアとは何か
4 代表的なオープンソース開発言語
5
代表的なオープンソースアプリケー
ション
2 普及と歴史
6 オープンソースの市場動向
オープンソースソフトウェアを用いた
システム事例
オープンソースソフトウェアコミュニ
8
ティ
7
3 オープンソースソフトウェアの分類
9 オープンソースソフトウェアビジネス
4 個人利用
10 オープンソースの技術情報獲得方法
11
12
13
14
15
オープンソースのOS の導入と動作
確認
オープンソースのサーバ製品の導入
と動作確認
オープンソースのデスクトップ用アプ
リケーションの導入と動作確認
オープンソースのサーバサイドアプリ
ケーションの導入と動作確認
オープンソースの仮想化ツールの導
入と動作確認
5
企業・社会・教育にとっての利用メ
リットと事例(その1)
6
企業・社会・教育にとっての利用メ
リットと事例(その2)
7 関連ビジネス
法務分野に関する知識
回
数
標題
8 オープンソースソフトウェアの開発者
1 オープンソース・ライセンスの概要
代表的なオープンソース・ライセンス
の解説
代表的なオープンソース・ライセンス
3
の解説[MPL 類型]
代表的なオープンソース・ライセンス
4
の解説[BSD 類型]
2
9
技術的側面からみた問題点(課題
点)
10 人的側面からみた問題点(課題点)
5 知的財産の概要(1)
6 知的財産の概要(2)
11 ライセンス・知的財産権(1)
OSS 利用上の知的財産面での考慮
点
OSS 利用上の知的財産以外での法
8
務面での考慮点
企業/団体等における法的リスク管
9
理
7
12 ライセンス・知的財産権(2)
10 法的リスクに対応したビジネス
13 ライセンス・知的財産権(3)
OSS 開発コミュニティが検討すべき
法的リスク低減策
OSS ビジネス関連企業が検討すべ
12
き法的リスク低減策
OSS の知的財産問題に関する訴訟
13
/トラブル事例
11
(モデルカリキュラムの内容を利用し
: A て作成)
(モデルカリキュラムの内容を参考に
: B して作成)
14 ソフトウェア特許論争
15 知的財産関連の出願のガイドライン
図 8.1 オープンソースソフトウェア入門での講義内容とモデルカリキュラムとの対応関係図
68
(2)ソフトウェア開発法
5.2 節でも延べたように、モデルカリキュラムの「開発ツールに関するスキル」並びに「統合開発環
境に関するスキル」の 2 つのコースウェアを参考に、「開発ツールに関する知識Ⅰ」、「開発ツールに関
する知識Ⅱ」
、
「統合開発環境に関する知識Ⅰ」及び「統合開発環境に関する知識Ⅱ」等の情報を活用し
て講義資料の作成を進めた。又、関連で「JAVA に関するスキル」のコースウェア、並びに対応する「JAVA
に関する知識Ⅰ」及び「JAVA に関する知識Ⅱ」も一部参考にしながら作成した。なお、
「開発フレーム
ワークに関するスキル」のコースウェア、並びに対応する「開発フレームワークに関する知識Ⅰ」、
「開
発フレームワークに関する知識Ⅱ」については、今回の実施対象大学である津田塾大学の場合では不要
と判断し、利用しなかった。
講義内容とモデルカリキュラムとの対応関係図を図 8.2 に示す。図 8.2 では、
「JAVA に関するスキル」、
「開発ツールに関するスキル」並びに「統合開発環境に関するスキル」のなかで、利用した標題項目の
みと教材との対応関係を示した。
ソフトウェア開発法の教材作成においては、大学の既存カリキュラムとの関係並び科目に対する基本
的考え方として、「方法論」を教えることが重要との観点から、ソフトウェア開発の方法論をベースに
し、その中でオープンソースソフトウェアの関連を説明すると共に、座学で得た知識を、具体的にオー
プンソースソフトウェアを利用する演習において体現、体得することで理解を深めるように構成した。
本科目においては、ソフトウェア開発法の基本的知識の上で、開発ツール並びに統合開発環境に関す
るオープンソースソフトウェアの理解を深めることを主眼とした。従って、元となるモデルカリキュラ
ムにおいて説明されている関連のオープンソースソフトウェアを網羅的に説明するのではなく、ある程
度絞り込んで説明、利用(演習ツール)することで理解度を向上させるようにした。
具体的には、統合開発環境の例として Eclipse に絞り込んで説明、利用した。このため、統合開発環
境に関するモデルカリキュラムと対応関係では、Eclipse 関係のコマに集中している。
69
モデルカリキュラム
教材:ソフトウェア開発法
Java に関するスキル
回
数
回
数
標題
Servlet/JSP/JDBC によるWeb
アプリケーション開発の概要
Java によるWeb アプリケーション
11
の設計/実装
標題
6
1 概説
開発ツールに関するスキル
回
数
2 開発方法モデル
標題
1 開発の流れとツール
3 上流工程
2 ソフトウェア開発環境の概要
Linux 開発環境におけるソフト
3 ウェアアプリケーション開発の概
要
4 製造工程
4 バージョン管理ツールの活用
デバッガによるプログラムデバッ
グの環境
オープンソース開発ツールの種類
8
と機能
5
5 下流工程
9 統合開発環境を用いた開発手順
6
オープンソース統合開発環境の
10
種類と特徴
開発プロジェクトと支援
ツール
14 Eclipse を用いたソフトウェア開発
7 アジャイル開発
統合開発環境に関するスキル
回
数
標題
8
統合開発環境によるソフトウェア
1
開発
アジャイル開発
-eXtreme Programming
2 さまざまな統合開発環境
9 演習課題説明
3 Eclipse とは何か
6 Eclipse 入門- セットアップ
10 演習(1)
Eclipse によるJava プログラミン
グ
Eclipse によるJava プログラミン
12
グ
Eclipse によるWeb アプリケーショ
13
ン開発
7
11 演習(2)
注:各モデルカリキュラムの講座内容
のうち、教材開発に利用した項目の
み記載
開発フレームワークに関するスキ
ルは利用しなかった
:
12 演習(3)
A(モデルカリキュラムの内容を利用して作成)
13 演習(4)
: B(モデルカリキュラムの内容を参考にして作成)
図 8.2 ソフトウェア開発法での講義内容とモデルカリキュラムとの対応関係図
70
8.2 本カリキュラムを利用するには
本プロジェクトで作成したカリキュラムに付帯する講義資料(講義スライド、講義ノート、演習環境
構築資料)は普及促進を図るため、一般に公開し広く利用してもらう。その際の公開条件としては
Creative Commons ライセンスの中でも「表示」と分類されるクラスに位置づけており、利用者が極め
て利用し易い形態としている。
これらの講義資料を実際の講義で用いる場合には、受講者の環境やレベル等を充分考慮した内容とす
ることが重要であり、必要に応じてのカスタマイズを行うことが前提となろう。上記 Creative
Commons ライセンスの「表示」は、その利用に対する融通性を最大限考慮したクラスである。
尚、本プロジェクトで開発した講義資料は、総合大学の情報系の学生が受講することを想定したもの
であり、比較的初心者のレベルの学生が多く受講していることを意識したものである。そのため、ある
程度高度のレベルの学生が受講しているような場合のカリキュラムに展開する場合には、手直しをする
必要があろう。その際には、併せて公開している講義ノートでの情報を参考にしてもらうと良いし、前
節に示したモデルカリキュラムとの対応を利用しながら、モデルカリキュラムとして開発、公開されて
いる情報を織り込んでカリキュラム設計をすることが望ましい。
また、この種の分野は変化が激しく、オープンソースソフトウェアとしては日進月歩でどんどん有効
な、便利なソフトウェアが世に送り出されてくることから、本プロジェクトで開発したカリキュラムは
できるだけ普遍性が保てる基本的な内容となるように意識して作成した。従って、具体的なソフトウェ
アの名前や利用、展開している会社名や商品名の記載は極力抑えている。実際の講義に当たっては、そ
の時点でのメジャーなソフトウェアの名前や利用、展開している会社名や商品名を適宜引用しながら説
明を行うことで、受講生の理解度を向上させることができる。
8.3 モデルカリキュラムへのフィードバック
本導入実証プロジェクトにおいては、適用する教育現場である津田塾大学における教育体系、既存カ
リキュラムとの関連を考慮し、モデルカリキュラムで提示されているコースウェアをそのまま適用する
のではなく、取捨選択、編集する手法を採用した。
そのため、現モデルカリキュラムに対する直接的なフィードバックというよりは、具体的な教育現場
への適用経験からのコメント的な内容が中心となる。
(1)オープンソースソフトウェア入門
モデルカリキュラムにおいて必要な内容はほぼ網羅されている。
本科目を設計するにあたり、若干不足していると思われた内容は実際に OSS を利用ないし開発する
際に直面するであろう課題等に関する記述である。
・OSS の開発(勿論、利用に関しても同様)にあたっては「コミュニティ」の存在、役割が重要であ
る。対応するモデルカリキュラムの第 8 コマにおいてコミュニティに関する説明をしているが、コ
ミュニティへの参加方法を概説しているのみである。
今回の講義アンケート結果をみると、「コミュニティ」に関するスキルに対する理解度が比較的低
い結果となっており、現状では「コミュニティ」に関して広く理解が浸透している状況とは言えな
い。その意味で、単に参加方法を説明するだけでなく、その役割、重要性等も説明していく必要が
71
あろう。具体的には、「OSS の概要に関する知識Ⅰ」Ⅰ-1-10(OSS コミュニティの種類と特徴、
参加方法)に本科目の第 8 回の内容を補強する案が考えられる
実際の授業においてもそれらを充分考慮した説明が必要となる(実施結果を踏まえた反省点でもあ
る)
・OSS の利用、導入に関して、技術的観点、人的観点での課題を把握しておくことが重要である。モ
デルカリキュラムにおいては、OSS 利用の方法論、ツール論が中心となっており、前提として準備、
考慮、検討しておくべき事項に関す記述がほとんど無い。例えば、本科目の第 9 回並びに第 10 回
の内容をもとに「OSS の概要に関する知識Ⅱ」に新たに追加するか、Ⅱ-1-4(オープンソースの導
入)を補強するかの案が考えられる
(2)ソフトウェア開発法
モデルカリキュラムにおいて必要な項目はほぼ網羅されているが、ツールとしての説明が中心で「ソ
フトウェア開発法」として体系的に整理、説明されたものではない。
専門学校等での実務カリキュラムとしては充分と考えられるが、大学等での教材として利用する場合
には方法論としての内容が重要となる。
本科目は方法論の観点から設計したのもであり、新たなコースウェアとして活用してもらえるのでは
ないかと考えている。
尚、モデルカリキュラムにおいても方法論的な内容をベースにした記述はあるものの、ほとんどがウ
ォーターフォールモデルをベースにしたものとなっている。大規模な基幹系ソフトウェアの開発におい
ては特に支障はないが、Web 系のソフトウェア開発においてはアジャイル開発が効果的に適用されてい
ることを考慮すると、実際の講義においてはそれらを意識した説明が必要となろう。
72
9.
今後の予定
今後、下記の通り普及展開を図る予定である。
(1) 津田塾大学における普及展開
津田塾大学においては、次年度も同じ講義を開講する。その後の継続については、他の講義の追
加や削除との兼ね合いを考慮しながら、そのまま継続、拡充または他の講義との統合を検討する。
(2) サイバー創研の普及活動
サイバー創研は、次年度における津田塾大学の講義に協力すると共に、下記に示す積極的な普及
活動を実施する。
・サイバー創研のホームページ(http://www.cybersoken.com/)で、今回の成果を紹介する。あわ
せて、教材をダウンロードできるようにする。
・サイバー創研が提供する教育研修メニューに今回開発した科目を追加し、大学だけでなく企業
に対しても普及を図る。
・サイバー創研が運営を支援している実践的ソフトウェア教育コンソーシアム
(http://www.p-sec.co.jp/)に今回開発した教材を紹介し普及を図る。なお、8 月 23 日から 24
日にかけて開催された FDCamp2009 において、本プログラムに基づく教材開発が完了し、実証
授業も終了し、今後、前記開発教材を利用展開可能なように公開する予定であることなどを紹介
した。
さらに、コンソーシアムのホームページでもサイバー創研のホームページと同様の内容を紹介す
る予定である。現在コンソーシアムは、約 100 名の会員で構成されており、大学、高専等の教
育機関が約 40、企業数も 40 となっている。
73