グループによるソフトウェア設計・開発教育のためのコミュニケーション支援システム ?インスペクション支援を中心として?
6
0
0
全文
(2) 1 はじめに 情報技術の発展に伴い、ソフトウェア開発に対. について述べる。詳細は文献[7]を参照されたい。. する要求が高まってきており、高度な技術を有す. 攻(学生定員40名)3年生の通年(4 単位)の選択. る人材育成が求められてきている。大学教育にも. 科目である。本科目はプログラミング関連の科目. 質的な転換が迫られてきている。実社会で行われ. に続き行われるものであり、企業において行われ. ているソフトウェア開発は一般に、複数人により. る中規模から大規模ソフトウェアの開発に関連す. 構成されるプロジェクトという形態で行われてい. る技術(ソフトウェア工学)を教授することを目. る。それにもかかわらず、大学等の教育現場にお. 的とする。この授業は従来型の形態の授業である。. いて、プロジェクト形式でのソフトウェアシステ. すなわち、週 1 回受講者と教授者が教室に集って. ムの実践的な設計・開発教育の場が少ないという. 講義、演習を行う。. 本科目は東京学芸大学教育学部教育情報科学専. のが現状である[8,10]。著者らは、1997 年度より. 前期にはまず、ソフトウェア開発のライフサイ. 大学においてソフトウェアシステムの設計・開発. クルモデルに関する講義の後に、構造化分析、ER. 教育をグループ演習形式で行っている[7]。 この授. モデル、オブジェクト指向開発方法論等ソフトウ. 業では、学習者の作業負荷は大きく[2]、効果的で. ェア開発における上流工程での分析、設計方法論. 効率的な学習支援が必要不可欠である。そこで、. を中心に講義を行い、前期のまとめとして酒倉庫. 著者らは本教育を支援するシステムの開発も行っ. 問題[11]に記述された業務をグループ単位で分析. てきた[5,6]。. し、モデル図を作成し、結果を発表させている。. 開発途中の成果が目に見えにくいという性質を. そして前期の最後に、後期に取り組む演習課題を. 有するソフトウェアシステムを複数人により共同. 提示するとともに、グループ編成を行う。後期は、. で設計・開発していく場合、プロジェクト内での. グループによるシステム設計・開発演習を中心に、. コミュニケーションの円滑な流れや情報の共有が、 その進展にあわせて工程管理、品質管理、メトリ プロジェクトの成功に大きく関わってくる[9]。 と クス等プロジェクト管理の知識や、レビューやテ りわけ、開発するソフトウェアの概念形成、開発. スト等の検証技術について講義するとともに、グ. 内容、実現方式等について話合い、決定を行う上. ループ演習にそれらを実際に取り込み、実践して. 流工程におけるコミュニケーションが重要となる。 いる。後期の演習課題の、他の授業の演習課題に このことを教育の場でも認識させ、そして、それ 比べて特徴的なことは、完成までに3,4ヶ月の を支援するシステムを提供することが重要である。 期間を要し、完成に至るまでの計画を自ら立案し、 著者らのこれまでの教育実践の経験から、コミュ 必要に応じて、課題遂行のために授業時間以外に ニケーション支援システムとして、学習者間での. も学習時間を割くことが求められることである。. コミュニケーションのみでなく、学習者と教授者. 各年度に課した課題は次の通りである。会議室. (教官ならびに TA)とのコミュニケーション支援. 予約システム(1997 年度)、障害処理票管理システ. も重要なことがわかっている。本論文では、著者. ム(1997 年度)、新幹線座席予約システム(1998 年. らのこれまでの教育実践の経験に基づいたソフト. 度、2000 年度)、酒倉庫問題[11](1998 年度、1999. ウェア設計・開発教育におけるコミュニケーショ. 年度)、レストラン情報管理システム(1999 年度)、. ン支援システムの中で、特にインスペクションプ. 図書館情報管理システム(1999 年度)、研究費予算. ロセス支援システムを提案し、開発したシステム. 管理システム(2000 年度)、時間割編成支援システ. を実際の授業に適用した結果について述べる。. ム(2000 年度)。 各グループに対して主要マイルストーンとして、. 2. 授業の概要 本章では、著者らが取り組んでいる授業の概要. 計画立案終了時、分析と画面、機能、データ設計 終了時、開発完了時の3つを設け、その段階での. −84−.
(3) 成果を発表させるとともに、隔週で進捗状況報告. が並行して学習を進め、かつ、何度かの修正を経. も課し、教授者と学習者間での議論、アドバイス. て文書を完成させていく教育の場では、以下の2. を行っている。ソフトウェア開発プロジェクトで. つが重要であることがわかったが、これまでの研. は上流工程での作業の質がプロジェクト全体の成. 究開発プロジェクトでは、それに対する支援を提. 否の鍵を握っているので、とりわけ、分析と設計. 供していない。. 終了時での成果の確認に注力している。この段階. * 教授者側が並行して行われている複数のグルー. では、学習者グループと教授者とで設計インスペ. プの(場合によっては複数の成果物に対する)イ. クション[3]を行っている。. ンスペクションの状況を把握できなければならな. インスペクションとは、要求仕様書、設計書、. い。. ソースプログラム等に含まれる間違いや矛盾を検. * 成果物とそれに対するコメントの対応付け (あ. 出し、それをその著者や著者グループに対して指. る成果物のある版に対するコメントは、次回のイ. 摘を行うものである [3]。. ンスペクション会議に引き継がれる必要がある). 著者の経験から、学習者は彼らの開発活動の中 でインスペクションは重要な作業だと認識してい ることがわかっている [7]。しかし、授業内での1 グループに対する1回のインスペクションは約1. 本論文では、ここで示した2つの機能を含むイ ンスペクション支援システムを提案する。 3. グループ学習支援システム. 時間を要しており、同一グループに対して何度か. 本論文で提案するインスペクション支援システ. インスペクションを行う必要がある場合もある。. ムは、ソフトウェア設計・開発教育のためのグル. そのため、授業の枠数の制約からすべてを授業時. ープ学習支援システム[6]の1サブシステムであ. 間内に行うことは不可能である。また、授業時間. るので、本章では、まずグループ学習支援システ. 以外に、教官、TA、学習者グループが一同に会す. ムの概要について述べる。続いて次章で、本論文. る時間を設定することも容易ではない。そのため、. で提案するインスペクション支援システムについ. 関係者が地理的に分散し、非同期にインスペクシ. て述べる。. ョンを行うことができる環境が求められる。. 本システムは、グループ形式のソフトウェア設. インスペクション活動を支援するシステムがこ. 計・開発演習教育を支援するものであり、グルー. れまでにいくつか研究開発されてきた[1, 4, 10]。. プ編成、電子教科書、開発プロセス支援の3つの. ICICLE は以下のような機能を有している[1]。. サブシステムから構成されている[6]。. * インスペクション会議での様々な役割の支援 * 電子成果物によるインスペクションの実現. プロセスモデル 参照. * ワークステーションを用いたインスペクション の実施. * コメントの共有化. DB. グループ DB 受講者 DB. 参照. 計画立案. 参照. 個人進捗報告. Shoenig は Lotus Notes を用いた、ソフトウェア 開発のグループ学習環境を提供している。その 1 機能としてインスペクション支援機能を提供して. グループ 進捗報告. コミュニケーション. 電子掲示板. 凡例. いる[10]。Harjumaa と Tervonen は、Web ベースのイ ンスペクション支援システムを開発している[4]。. 著者らの教育実践の経験から、複数のグループ. −85−. 文書. 作業領域. 機能. データの流れ. DB. リンク. 計画書. 文書. ファイル登録. 成 文書作 情報共有. 個人進捗報告. グループ進捗報告. 掲示板投稿記事. 成果物一覧. テスト仕様書. テスト仕様書作成. 議事録. 議事録作成 メトリクスDB. データ収集(例 例:ログイン時間, アクセスログ). 図1 グループ学習支援システムの構成 (開発プロセス支援サブシステム).
(4) このうち、学習者の開発作業を支援するのが開. が開かれる(図3)。各インスペクターはそれぞれ. 発プロセス支援サブシステムで、このサブシステ. 独立にコメントを記述し、記述後、再度インスペ. ムではテンプレートに基づく文書作成支援、情報. クションが必要か否かを示すボタンを押す。イン. 共有、コミュニケーション支援、学習プロセスを. スペクターは他のインスペクターのコメントを参. 定量的に計測するデータ収集機能が提供されてい. 照することができる。すべてのインスペクターの. る(図 1) 。本論文で提案するインスペクション支. コメントが揃うと、対象グループに結果を示す通. 援システムは、この開発プロセス支援サブシステ. 知が自動的に送られる。再度インスペクションが. ムのうちの1つの機能である。. 不要と回答したインスペクターは、再度インスペ クションが行われる際、アクションをとる必要は ないが、コメントを加えることもできる。インス. 4 インスペクション支援システムの提案 著者らの授業では、分析並びに設計終了時にイ ンスペクションを行っている。そこでネットワー. ペクションが完了した成果物はグループ外にも公 開される。. クを介して非同期にインスペクションが行える機 能を提供した。インスペクション支援は以下のよ うな機能を提供している。 (1)インスペクションプロセスの支援 インスペクションは図2に示す手順で行われる。. 図3 図を用いた成果物に対する書き込みの画面 (2)状況把握支援 教授者は全グループに対してインスペクション を行う。そして、1つのグループは複数の成果物 図2 インスペクションプロセス. をインスペクション対象とし、さらに1つの成果 物に対して複数回のインスペクションを必要とす. インスペクションを受けるグループは、その対. る場合がある。このため、教授者は状況把握に困. 象成果物をシステムに登録する。分析、設計段階. 難をきたす。そこで状況を表示する機能を提供し. の仕様書は図やシステムの画面イメージなどを用. た。図4に示した状態遷移図の状態値で対象グル. いて表現される場合が多く、これらを扱えるワー. ープの対象成果物のインスペクションの状況を表. ドプロセッサやプレゼンテーションツールで作成. 示する。この図で「インスペクション待(Waiting. した文書をシステム内にアップロードできるよう. for inspection) 」は当該成果物の作成もしくは修. にした。インスペクション依頼画面で対象物を指. 正中を表す。学習者グループがインスペクション. 定すると、教授者に依頼があったことを示す通知. を 依 頼 す る と 、「 イ ン ス ペ ク シ ョ ン 中 ( In. が送られる。教授者は、インスペクション対象グ. progress) 」という状態になる。インスペクション. ループの対象成果物のインスペクションを行うこ. 対象物が承認(すべてのインスペクターが再イン. とを指定すると、コメントを記述するウィンドウ. スペクション不要と判断)すると、 「インスペクシ. −86−.
(5) ョン終了(Finished) 」という状態に遷移する。ま. でのコメントも引き継がれる必要がある。すなわ. た、インスペクションの回数もあわせて表示する. ち、インスペクターは前回指摘事項を確認しなが. (図 5)。. ら新たに提出された文書の確認を行う(図 6) 。 Ask for inspection from a group. waiting for inspection. in progress. Approve. A rtifa c t v e rs io n N. N -th in sp e c tio n. M o d ific a tio n. I n s p e c tio n c o m m e n ts. finished. Re-inspection request from the teacher. 図4 インスペクションの状態遷移図. A rtifa c t v e rs io n N + 1. N + 1 - th in s p e c tio n. 図6 成果物とインスペクションコメントの関連 ここで実践において、ある問題が生じた。シス テムはファイルに版数情報を付加して版管理を行 い、インスペクションのコメントとの対応付けを 行っていたが、ユーザが更新ファイルに対して名 前を勝手に変えてしまうことがあったために、コ メントとの対応関係が途切れてしまうことがあっ た。そこで、ファイル名と版数の管理をシステム が行うようにした。 5 評価. 図5 インスペクション状況一覧表示画面. 本システムを2000年度の授業に適用を行った。 以下で、授業終了後に行ったアンケート結果に基. (3)版管理、構成管理支援 ソフトウェア開発で作成される文書やプログラ. づく定性的な評価を述べる。. ムは開発の進展にともないその中身の改訂が必要. 4 つのグループが本システムによるオンライン. となることがしばしば起こる。そこで、版管理が. インスペクションを選択し、残りが対面によるイ. 必要となってくる。インスペクション時にも、イ. ンスペクションを選択した (対面式を選択したグ. ンスペクションでの結果を反映することにより成. ループのうちの 2 つのグループが 2 度目のインス. 果物は複数の版をもつことになり版管理が重要に. ペクションにおいてオンライン方式を採用した)。. なってくる。また、インスペクションの結果、新. 各グループになぜその方式を選択したか尋ねた。. たな文書の作成が必要になってくることもある。. オンラインを選択したグループからは、 「時間の短. このことはプログラムのみでなく、文書に対して. 縮」 、 「全員が同一の時間に同一の場所に集まらな. も、構成管理が重要となることを意味する。. くてもよい」 「簡単である」 、 、 という意見があった。. インスペクションの結果に基づき、文書を更新. 一方、対面式を選択したグループからは、 「何かわ. し、再度インスペクションを行うことがある。そ. からないことを言われてもその場で聞ける」 、 「イ. の時文書の版管理とあわせて、インスペクション. ンスペクションは大事なことであり、大事なこと. −87−.
(6) は対面で聞かないと不安である」 、 「手間がかから ない」 、という意見があった。また、それぞれ選択 した方式の長所、短所を尋ねた。結果は以下のと おりである。 対面を選択した学生は、その長所と して、直接対話することによる利点を、また短所 として、 指摘事項の記録の難しさをあげた。 一方、 オンラインを選択した学生は、長所として、教師 や TA がコメントを書くので、手間が省けるし、 その意図を確実に理解できる、指摘を共有できる 点をあげた。一方、非同期によるコミュニケーシ ョンのため、インスペクション完了までの時間が かかってしまった、対面のほうが直接的な対話が 行えるため、自分たちの考えを理解してもらいや すい、直接言われたほうがためになる、という意 見があった。この結果から、オンラインによるイ ンスペクションが成功するためには、教授者は学 習者グループからの要請に迅速に対応するととも に、オンラインインスペクションでは、文書に記 述されていることのみで読み手に理解してもらう 必要があるため、学習者は文書による説明能力を 高める必要がある。実際にスムーズにインスペク ションが進んだグループの成果物は、モデル図に 加え、その具体例が示されていた。 6 おわりに 本論文では大学におけるソフトウェア設計・開 発グループ演習におけるコミュニケーション支援 システム、特にインスペクション支援システムの 提案、開発、適用について述べた。適用の結果、 指摘事項の記録化、 情報共有に有効である一方で、 時間がかかってしまう、自分たちの考え方が十分 に伝わらないという課題が明らかになった。 謝辞. 参考文献 [1] L. Brothers, et al., ICICLE:Groupware for Code Inspection, Proceedings of the ACM Conference on Computer Supported Cooperative Work (CSCW’90), ACM Press, pp. 169 – 181, 1990. [2] J. Brown, Bloodshot Eyes: Workload Issue in Computer Science Project Courses, Proceedings of the 7th Asia Pacific Software Engineering Conference (APSEC2000), IEEE Computer Society Press, pp. 46-52, Singapore, December 2000. [3] T. Gilb, D. Graham, Software Inspection, 1993. [4] L. Harjumaa and I. Tervonen, Virtual Software Inspections over the Internet, Proceedings of the Workshop on Software Engineering over the Internet, 2000,http://sern.cpsc.ucalgary.ca/~maurer/icse2000ws/ submissions/Submissions.html. [5] A. Hazeyama, Y. Miyadera, L. Xiangning, S. Yokoyama, T. Souma, Development of Group Programming Support System, Proceedings of the 7th International Conference on Computers in Education (ICCE99), Vol. 1, pp. 669 - 676, IOS Press, November 1999. [6] 櫨山淳雄,長田圭史,宮寺庸造, 横山節雄, 業務ソフトウェア設計・開発教育支援システム, 教育システム情報学会誌, Vol. 17, No. 3 (秋号), pp.251-262, 2000. [7] 櫨山淳雄,業務ソフトウェア設計・開発教育 の実践とその評価, 教育システム情報学会誌, Vol. 17, No. 3 (秋号), pp. 367-378, 2000. [8]松本吉弘,IT 時代に対応する大学のソフトウ ェアエンジニアリング教育,情報処理学会誌, Vol.42,No.1,pp. 99-100,2001 年 1 月. [9] 落水浩一郎,ネットワークを介した共同作業 に対する支援環境の参照モデルに関する一考察, 情報処理学会研究報告ソフトウェア工学 115-10, pp.73-80,1997 年 7 月. [10] S. Schoenig, Supporting a Software Engineering Course with Lotus Note, Proceedings of the International Conference on Software Engineering Education and Practice (SEEP1998), IEEE Computer Society Press,1998. [11] T. Yamazaki, Survey of program design techniques by a common problem, IPSJ magazine, Vol. 25, No. 9, pp. 934, September, 1984 (In Japanese).. 本研究の一部は、 平成 12 年度文部科学省科学研 究費補助金(援助研究(A)課題番号 12780120) の援助を受けている。ここに記して謝意を表す。 システムの実装に際し助言、協力いただいた東 京学芸大学大学院修士課程長田圭史氏に感謝の意 を表す。. −88−.
(7)
関連したドキュメント
This paper introduces an on-line cooperative planning and design system and studies its educational application as an exercise tool for practicing public
* Department of Mathematical Science, School of Fundamental Science and Engineering, Waseda University, 3‐4‐1 Okubo, Shinjuku, Tokyo 169‐8555, Japan... \mathrm{e}
母子保健・子育て支援の領域では現在、親子が生涯
都市中心拠点である赤羽駅周辺に近接する地区 にふさわしい、多様で良質な中高層の都市型住
独立行政法人福祉医療機構助成事業の「学生による家庭育児支援・地域ネットワークモデ ル事業」として、
はじめに 中小造船所では、少子高齢化や熟練技術者・技能者の退職の影響等により、人材不足が
法制執務支援システム(データベース)のコンテンツの充実 平成 13
平成 支援法 へのき 制度改 ービス 児支援 供する 対する 環境整 設等が ービス また 及び市 類ごと 義務付 計画的 の見込 く障害 障害児 な量の るよう