教育システム情報学会 2013年度学生研究発表会

北信越地区

初学者によるクラス図を用いた概念モデリングにおける誤り分析と，それに基づく学習支援機能の設計
Error analysis for conceptual modeling learningwith simple class diagram made by novice
and function design of modeling learning support system
増元健人*1, 香山瑞恵*2, 小形真平*2, 橋本昌巳*2, 大谷真*2
Kento MASUMOTO , Mizue KAYAMA*2, Shinpei OGATA*2, Masami HASHIMOTO*2, Makoto OTANI*2
*1

*1

*1

信州大学大学院
Graduate School of Science & Technology, Shinshu University*2
信州大学工学部*2
Shinshu University, Faculty of Engineering.
Email: 13tm543h@shinshu-u.ac.jp

あらまし：本研究の目的は，初学者を対象としたクラス図による概念モデリングの学習支援方法を探究することである．これまでに、簡単化したクラス図を用いた記述および読解課題における初学者の誤りの傾向を分析してきた．本稿では，誤りの自動同定機能をモデルエディタに実装することを目的に，再整理した誤りパタンと，それらを同定するための機能設計の成果について報告する．
キーワード：概念モデリング，クラス図，誤り分析，誤りパタン，初学者．

1.

はじめに

システム開発の上流工程では「モデル図やアルゴリズムを設計するための概念形成能力」，「ソフトウェア要求から必要な情報を読み取る要求分析能力」，「対象の特徴や本来の姿をより明確に示す抽象化能力」などが求められる[1,2]．それは開発者に限ったことではない．分析された要求の妥当性を確認する立場にあり，前提知識の乏しい顧客もまた読解を中心としたリテラシが求められる．故に，前提知識の乏しい初学者への教育方法の充実化が重要となる．
本研究では初学者を対象とした概念モデリングに関する教育方法の探求を目的としている．ここでの初学者とは，高校生や大学 1 年生など，専門的な知識を有しない学習者とする．概念モデリングの手法として本研究では，対象の全体像を静的な特徴として表現するクラス図を取り上げる．これまで，クラス図作成の基礎を確実に定着させるための教育方法を検討してきた[3,4]．本稿では，学習者が作成したクラス図に対する自動解析の仕組みについて述べる．

2.

図 1. クラス図による概念モデリング学習の構成モデル簿」クラスとして初学者集団を表現する．このクラスの属性は年度と授業名とした．さらに，「名簿」クラスに“属する”「学生」クラスを設け，この個々のインスタンスが「提出課題」を“持つ”．そして，個々の課題（「クラス」クラスと「関連」クラスから構成）に対して「正誤チェック」を行うこととした．

解析対象のモデル化

学習者がクラス図を作成する際，机上で手書きを行う場合と，モデルエディタを用いて記述する場合とが想定できる．自動解析を試みる際には，モデルエディタを用いた記述を前提とする．本研究では，クラス図エディタでもあるソフトウェア開発設計支援ツール：astah[5]を用いることとする．astah を用いることで，記述されたモデル図を XML 形式でファイル出力することができるようになる．このファイルを解析することで，記述要素の正誤や適不適，誤りの分類の自動化をねらう．
クラス図の自動解析を実現するにあたり，概念モデリング学習と学習者の関係を整理した (図 1)．
「名3.

評価基準の再整理

正誤チェックに際し，評価対象項目を 1)課題要求に依存するか否か，2)誤り指摘が自動化可能か否かの 2 観点から分類し，整理した結果を表 1 に示す．
17 項目は大きく 3 つのカテゴリ（「要求非依存・全児童評価（可能）」，「要求非依存・半自動評価（可能）」，「要求依存・半自動評価（可能）」）に分かれる．
自動評価が可能な 9 項目は，全て要求に依存しない項目となる．また，自動化が不可能な評価項目（半自動での評価は可能）については，要求に依存しな

11

教育システム情報学会 2013年度学生研究発表会

北信越地区

表 1. 評価対象項目
記述要素書式

クラス

関連クラス

クラス
関連分類

略称説明

要求非依存・全自動評価
記法誤り 記法誤り書いてあるが書式が違う
同クラス
全く同じクラスを複数記述する
クラス誤り クラス属性同じ クラス名と属性が全く同じ
クラス名無し クラス名の記述が無い
属性無し
属性が記述されていない
属性誤り 属性同じ
複数のクラスに同一セットの属性を記述する
同名属性
一つのクラス内に同一名の属性を記述する
関連名無し
関連名が記述されていない
関連誤り
多重度無し
多重度が記述されていない
要求非依存・半自動評価
クラス誤り 抽象度混在
抽象度の異なるクラスを記述する
メソッド
属性にクラスを利用して実現したいメソッドが含まれる
属性誤り
同義属性
一つのクラス内に名前の異なるが同じ意味の属性を記述する

具体値
属性誤り 数量
属性関係無し
関連名誤り
関連誤り
多重度誤り

要求依存・半自動評価
属性に具体値やクラスを構成する部品を記述する
属性にクラスの数量に関する記述がある
クラスに全く関係の無い属性が書かれている
関連名が書かれているが内容に誤りがある
多重度が書かれているが内容に誤りがある

い 3 項目と，依存する 5 項目に分類される．
前者 3 項目に対する正誤チェックの方法を以下に示す．
抽象度混在:クラス名を抽出し，同じ意味を持つ言葉が存在すれば分類される．
メソッド:属性を抽出し，動詞が存在すれば分類される．
同義属性:新たに設けた評価基準である．属性を抽出し，抽象度混在と同様に同じ意味を持つ言葉が存在すれば分類される．
一方，後者の 5 項目は，提示した課題の要求内容によって一概に正解と判断しにくい場合が生じる．
そのため分類に際しては特に留意を要する．これらの項目に対する正誤チェックの方法を以下に示す．
具体値:属性を抽出し，該当する属性をチェックする．次に，チェックされた属性を持つクラスのクラス名を参照し，本当に該当するか確認を行ってから分類をする．
数量:属性を参照し，該当する属性をチェックす
る．次に，チェックされた属性を持つクラスが持つ関連名と多重度を参照し，本当に該当するか確認を行ってから分類をする．
属性関係無し:クラス名と属性をセットで参照し，それぞれに関係性がなければ分類される．
関連名誤り:関連名を参照し，関連名の元と先に該当するクラス名をグループ化する．グループ化した関連名とクラス名を確認し，関係性が間違っていれば分類される．
多重度誤り:関連名誤りと同様に，関連名とそれの元と先に該当するクラス名，そして多重度をグループ化し，多重度の正当性を確認する．

4.

考察

図 1 に示した構成モデルに基づき，学習者が記述したモデル図を解析することで，各モデル図に内包12された要素および正誤チェックの結果からデータベースを構築できる．しかし，モデル図の全体像を視認し，各要素間のつながりを把握する必要性は排除できない．これについてはモデル図をキャプチャした結果もあわせて格納し，必要に応じて参照できる仕組みを設けることで対応することとした．
また，正誤チェック時の問題点として，要素名に対する表記のゆれが挙げられる．正答（あるいは模範回答）と全く同じ文字列のみならず，意味的に同一と見なせる表記も容認した上で正誤をチェックする必要がある．そのため表記のゆれをどの範囲まで許容するか検討する必要がある．

5.

おわりに

本稿では，クラス図作成に際しての誤りパタンを整理し，さらに学習者が作成したクラス図を自動的に解析する仕組みについて述べた．今後は，今回示した正誤チェック方法を具体化した評価機構の実装を進める．さらに，実装した機構の妥当性・有効性を評価する．
参考文献(1). スティーブ J.メラー他 : “Executable UML”, 翔泳社, 東京 (2003).
(2). S. Sendall : “Model Transformation : The Heart andSoul of Model Driven Software Development”,
IEEE SOFTWARE , Vol.20, No.5, pp.42-45, 2003.
(3). 増元健人他：“モデルベース設計における初学者の誤り分析とそれに基づく教育方法の検討－クラス図の記述・読解を対象として－” ,ESS2012, pp.101-109 , 2012.
(4). 増元健人他：“クラス図を用いた概念モデリン
グにおける初学者の誤り分析”, JSiSE2012 年度
学生研究発表会, 北信越-6, 2013.
(5). astah：http://astah.change-vision.com/ja/(2014/2/14 accessed).