I2-7
オブジェクト指向モデリングに関する能力向上のための学習手法

A Learning Method to Improve Skills for Object-Oriented Modeling*1*1

内田 浩太郎 , 仲林 清
*1
*1
Kotaro UCHIDA , Kiyoshi NAKABAYASHI*1
千葉工業大学 大学院*1
Graduate School of Chiba Institute of Technology
Email: s1581003jp@s.chibakoudai.jp
あらまし：オブジェクト指向モデリングにおける能力向上を目的とした学習手法の設計を行った．本実験
では基本情報技術者試験の午後問題をベースに作成したモデリングに関する 1 題の例題と 2 題の課題を学習者に与え，1 題目の課題終了時に解説との比較についてレポートを作成させることにより，理解度・能力の向上を目指した．
キーワード：オブジェクト指向モデリング，基本情報技術者試験，

1.

はじめにオブジェクト指向の考え方を用いたシステムの設計・開発技能は多くの分野において求められる技術である(1)．実際の開発においても Java などに代表されるオブジェクト指向の言語は広く利用されており，オブジェクト指向モデリング(以下 OOM とする)に関する能力は，開発現場において求められている．
しかし，オブジェクト指向プログラミング(以下OOP とする)や OOM に関する概念の理解が不足している情報系学科の学生が多く見受けられる．大学
等のプログラミング演習においては，教育者が学習者個人の理解度を完全に把握することが困難であり，学習者が理解不足のまま次の内容に進んでしまうことが問題点として挙げられる．
そこで本研究では，基本情報技術者試験午後問題(以下午後問題とする)をベースにしたモデリングに関する 1 題の例題と 2 題の課題を学習者に与え，1題目の課題終了時に解説との比較についてレポートを作成させることにより，理解度・能力の向上を目指した．比較レポートを行わせることにより，学習者自身が理解度を把握できるようにすること，また教育者が学習者の理解度を把握し，それに応じたフィードバックを行いやすくすることを目的に，学習手法の設計・検証を行った．
以降課題ならびに学習手法の詳細・実験方法の詳細と結果について述べる．

2.

学習手法

属性の抽出・UML への書き起こしを行わせる．
課題は 2011 年度秋の書籍卸売業者受注システム，2009 年度秋の航空券発券システムの午後問題を採用した．どちらもシステム化の対象となる業務フローを図及び文章で説明したものである．
前半課題は，書籍卸売業者が書店からきた受注伝票の具体例(受注番号・得意先名・受注日・注文する商品)を提示し，システムとして行いたい処理を文章で補足している．受注伝票の図から，クラスとしてどこをどのようにまとめるかを判断することがこの課題のポイントである．
後半課題は，顧客がきて空港券を発見するまでのフローを，文章で提示している． 顧客が窓口で申し込む内容，顧客固有の情報，申込内容を見て窓口担当者が行う業務内容が含まれる．
2.2 学習目標
本研究の最終的な学習目標は，午後問題からモデリングを行えるようになることである．この学習目
標へ到達するために，3 つの小目標を設定した．
①クラスとなりうる名詞の抽出ができる②属性となりうる名詞の抽出ができる③それらの関係を UML 等でまとめることができる．
本研究では，設計の対象となる午後問題の抜粋と，小目標に対応した小問題を学習者に対して提示する．
学習者は午後問題を読み，そこからクラスとなりうる名称の抽出・属性となりうる名詞の抽出を行う．
2.3 学習手法

2.1 課題本研究で使用した OOM の課題は，午後問題のうち，出題分野がソフトウェア設計の問題を利用する．
この分野は，設計すべき対象についての概要が掲載されており，それを設計する過程を選択形式で問う問題である．
本研究では，この問題の前半部分を学習者に提示し，これをモデリングするにあたり，クラスの抽出・初めに学習者に対して，学習手法の説明，OOM に関するレクチャーを実施し，例題・例題の解説・練習問題の 3 点を配布する．配布後各学習者は配布資料を参考に練習問題に取り組み，わからない点などをまとめてもらう．
後日練習問題の解説と，要点の復習を行い，OOMに関する 2 つの課題に取り組ませる．前半課題が終了した時点で模範解答の紹介と解説を行い，学習者― 237 ―

教育システム情報学会 JSiSE2016
第41回全国大会 2016/8/29-8/31が出した答えと模範解答の比較をレポートとして書かせる．
前半課題の比較レポートが完成した後，後半課題に取り組ませる．終了後模範解答の紹介と解説を行
い，アンケート調査を実施する．

3.

実験方法と評価

3.1 実験方法
学習効果を確認するための実験を実施した．演習
講義で Java を学習したことのある情報系学科学部生
4 年生 3 名を対象者とした．事前レクチャーの内容は以下の通りである．
llllllOOP と手続き型言語の違い
OOM の基本的な考え方
クラスとは
属性とは
操作とは
例題の説明

学習者には，これらの説明スライド一式，例題と考え方のポイントをまとめた解説資料，練習問題を配布し，1 週間各自で学習を進めてもらった．
その後，練習課題の振り返りを実施後，前半課題・解説・比較レポート・後半課題・解説・アンケート調査の順に実験を進めた．
学習者に振り返りレポートを行わせる際，ポイン
トとして「模範解答とどこが異なっているのか」・「それはなぜ間違えてしまったのか」・「次回どこに注意すべきなのか」の 3 つに注目させて，レポートに取り組ませた．学習者 A と C については，次の注意点を具体的に挙げていたため，若干ながら改善が見られた．
3.2 実験結果
表 1 は，各課題における目標到達度の変化である．

A表 1 学習手法
学習目標達成状況
前半課題
後半課題①②③①②③△△×△△○

B×△△×△△

C×△×△△△

学習者○:達成している△:一部達成していない
×:達成していない

習者 C 自身も「よくわからなかった」というコメントをしていた．
前半課題では例題や練習問題で提示した UML の印象が強く，回答が例題に引っ張られてしまっていた．これは UML や属性・操作についての理解が不足していたことが原因と言えるため，再度回答例と合わせてレクチャーを行った．
学習者 A はこのレクチャーを通じて，「クラスと属性の区別に気を付けるべき」という振り返りを行い，後半課題では一部抽出不足はあったが，前半課題に比べ改善が見られた．③については，①・②の抽出不足はあるが，クラスとクラスの関係性についてフィードバックを行ったため，UML についての理解度が向上したと考えられる．
学習者 B は振り返りにて，「属性の扱いについてズレがあった」等とコメントしていたが．大きな改善は見られなかった．
学習者 C は，問題を先に UML で表現しながら解き進めていたが，振り返り時にクラスや属性の抽出から始めていることがわかると，「問題内容の確認後に，図式化して整理すべきだと考えた」とコメントし，後半課題ではクラスとして抜き出せる名詞と，属性として抜き出せる名詞をはじめに抽出し，それらがどう対応するかを考えることから始めていた．
結果として一部不足している部分はあるが，前半課題に比べ改善が見られた．

4.

おわりに

本研究では，OOM について，回答と模範解答を比較させるレポートを書かせ，次の課題で実践させることによる理解度・能力の向上を目指した．振り返りの中で次に注意すべき点を挙げていた 2 名の学習者について，若干ながら改善が見られた．しかし，すべての学習者において前後半で大きな改善が見られる結果とはならなかった．
その原因として，事前課題の取組が不足しており前半課題開始時点で必要な知識をすべて理解しきれていない点，解説の内容と学習者の回答をうまく比較できていない点，回数が不足しており学習者の回答分析がうまくできていない点などが挙げられる．
今後の課題として，前提知識を得るための教材の開発，振り返りレポート作成時のポイントについての再検討，本番課題とレポートによる振り返りの流れを複数回実施した場合の検証，振り返り内容に応じたフィードバック方法の検討を行う必要がある．
参考文献(1) IT ス キ ル 標 準 V3 2011 情 報 処 理 推 進 機 構 ：http://www.ipa.go.jp/jinzai/itss/release20120326.html

前半課題の①において，学習者 A は受注伝票・商品・購入者という名詞を抽出した．それに対して学習者 B はクラスの理解が不足しており，注文・販売法という分割をした．学習者 C は例題で提示したUML の単語を，そのまま置き換えただけであり，学― 238 ―