日本ソフトウェア科学会第 41 回大会 (2024 年度) 講演論文集

教授者のクラス配置に基づいた初学者向けクラス図作
成支援手法
齊藤 悠太

國分 健弘

田中 昂文

櫨山 淳雄

橋浦 弘明

現在，情報系の高等教育機関ではソフトウェアの開発対象に関するモデリング演習が行われている．演習中に学習者が作成するモデルには要素の欠落などの欠陥が多く存在するだけでなく，クラス図の要素のレイアウトが教授者が作成した正答例と大きく異なっていることが多い.
本論文では，このような問題に着目し，演習中の学習者に対して成果物の正誤を示すだけでなく，学習者のクラス図のレイアウトを教授者のレイアウトに自動変換することで，モデリング演習中の学習者への効果的な支援を行う
ための手法を提案する. 提案した手法をツールとして実装し，評価を行った結果，レイアウトの自動変換が学習者への有効なフィードバックになることが示された.

るソフトウェア開発においても，モデリング作業が重1 はじめに要な作業であることに変わりはない．この際，モデリ

情報系の高等教育機関では，学習者の情報システム

ング作業の始点となる要求はプロジェクトオーナーの設計，構築を行う能力を培うためにソフトウェアのや顧客から文書や口頭，言外の方法も含めた様々な手開発対象に関するモデリング演習を行っている. モデ段で提供されるだけでなく，開発者が要求を正確に獲リング演習は，構成主義的な課題を通じて，学習者が得できているかどうかについて不安がある場合には，概念に対する理解を深め，経験的にその知識を積み重要求の提供元に確認の質問をしたり，必要に応じてヒねていくことを主な目的としている [1]．

アリングを行って提供される情報を自分で増やすことモデリング演習では成果物の表記方法として，主ができることが多い. その一方で，学習者が行なうモに ERD，DFD，UML(クラス図) などの図式言語がデリング演習では，演習の始めに教授者から簡単な要用いられている. Chren ら [5] は，学習者がモデリン

求文が与えられるのみであることが多い. 追加の情報

グ演習で作成する UML のクラス図について，他の図を得るために学習者が教授者に質問をすることは可と比較して特に誤りが多いことを指摘している.

能であるが，多数の学習者に対して十分な数の教授

このような問題が発生する原因として，演習特有の者が割り当てられていることは少ない. よって，学習問題が考えられる．教育機関外で一般に行われてい者には限られた要求文を駆使して膨大な解空間から要件に適したモデルを選定，作成する必要があるが，∗

A method for assisting novices creating class diagrams based on the instructor’s class layout.
This is an unrefereed paper. Copyrights belong to
the Author(s).
Yuta Saito, Takehiro Kokubu, 日本工業大学, Nippon
Institute of Technology.
Takafumi Tanaka, 玉川大学, Tamagawa University.
Atsuo Hazeyama, 東 京 学 芸 大 学, Tokyo Gakugei
University.
Hiroaki Hashiura, 日本工業大学, Nippon Institute ofTechnology.

このような作業は初学者には難しい作業である.
また，モデリング演習の終了時に，教員は正解例となるクラス図を学習者に提示して，解説を行うことがある. しかしながら，学習者はその正答例や解説の意
図を十分に理解できないことが多い. このため，学習者が新たな課題に取り組むと依然として要求を正確に表現できず，要素が欠落や誤りを含んだ成果物を繰り返し作成してしまうという問題もある [5].

初学者のモデリングが困難な原因として，前述のリングの分野ではクラス図のレイアウトが読み手のものも含めて以下のような問題が指摘されている [29]

理解に与える影響について，多くの研究が行われて[9]．

いる．例えば，Störrle は [23] クラス図のレイアウト• UML の用語や設計方法に関する知識不足

は，レイアウトのルールや美的基準といわれる指針に• ツールの使い方に関する不理解従うことで，可読性が向上することを指摘している．

• 問題文に記載されたシステムのドメインや仕様

レイアウトのルールとしては，クラス図の要素同士の理解不足• 教員のフィードバックが不十分（時間や労力のコストの問題）• （プログラミングと比較して）開発環境から得られるフィードバック（出力やエラーメッセージなど）が不十分を重ねて配置しないという基本的なルールから，親クラスを子クラスの中心に配置するというルール [7]，さらにデザインパターンにおいてクラスをまとめて配置（クラスタ化）するなど，クラス図特有のルールまで多岐にわたるものが提案されている.
本論文ではクラス図のレイアウトを用いて学習者

本研究は，モデリング演習がプログラミング演習のモデリングを支援する手法を提案する．この手法はと比較して，開発環境からから得られるフィードバッ

上述の学習者が直面する課題を解決するために，クラクが不十分であるという問題に着目した. 一方で，過ス図（正解例）のレイアウトを支援に用いる．本論文

度なフィードバックを与えると正解例を提示しているにおけるレイアウトとはクラスの配置を指す．本研究のと変わらず，学習者の学習効果を阻害する可能性もの目的は，以下の 2 点を調査することで，学習者の指摘されている [12]．このような問題を同時に解決すモデリング演習においてクラス図のレイアウトを用るアプローチとして，一戸ら [11] は学習者に正解例といた支援が有益なフィードバックとなるかを明らかに

成果物の類似度を 0.0〜1.0 で表される数値で提示すすることであるることにより，学習者が正解例に頼ることなく自らの• 成果物の類似度への影響

試行錯誤により成果物を自力で正解例に近づけるこ• モデリング演習中の類似度の推移とができる環境を提案している.

本論文の構成は以下の通りである．第 2 節では，ク

一方で，このような類似度のみのフィードバックでラス図作成支援とクラス図のレイアウトに関する研は成果物に対する学習者の実感と乖離が生じる場合

究を紹介する．第 3 節では，提案手法であるレイアがある. モデリング演習で扱われるクラスに含まれる

ウトの自動変換について説明する．第 4 節では，RQ

要素はそれほど多くはないため，例えば属性を 3 つとその評価方法について述べる．第 5 節で実験結果持つクラスの場合，1 つの属性が正解例に含まれててを示し，その考察を行う．第 6 節では本論文の結論といて，2 つの属性が誤っている場合，類似度は学習者

今後の展望について述べる．

に 0.33 と提示される. 膨大な解空間から学習者が選択した 3 つの属性のうち 1 つが正解しているのであ2 関連研究れば，本来はそれを足がかりに属性を類推して類似度

2. 1 クラス図の支援を向上させることが期待される. しかしながら，学習

モデリング演習において，学習者に対して成果物者は自分の成果物が否定されたように感じてしまうの自動でフィードバックを行う研究は多数行われていことがあり，この成果物を放棄して新たに一から成果る．その例を表 1 に示す.

物を構築しなおそうとすることがある. このようなこ欠落要素の検知を行う研究として Wei ら [25] が挙とにより，類似度が安定して向上せず，不規則に変動げられる. Wei ら [25] は同一の学習者が作成したクラしてしまうという問題があった.

ス図，シーケンス図，アクティビティ図から欠落した本研究では，前述の問題を解決するために，さらに要件 (セマンティックホール) を発見するための手法

モデルのレイアウトに着目した. リバースエンジニアとフレームワークを提案している. この方法は正解例

表1

研究の分類

させることは難しい．

Karasneh [12] らはソフトウェア設計のための事例

#

分類

文献

1

欠落要素の検知[25] [22] [13] [20] [17]

事例集 (UML リポジトリ) が学習者のモデルの品質[3] [10]を向上させることに役立つと述べている. その一方集をモデリング演習に活用する手法を提案しており，

2

自動採点

[15] [11]で，このような方法では学習者が良い事例と悪い事例

3

その他[12] [19] [18] [6]の判別を行うことができない学習者の存在や，事例を使用することに対し，学習者が「教授者の怠慢であを使わずに，学習者の作成したモデルの一貫性や完全る」「現在の内容を学ぶ上で事例は必要以上の資料で性を向上させることができる利点がある. 一方で，こある」と感じる問題が発生すると指摘している.

の手法は学習者が複数の成果物を作成した際に生じこの他にも，Rodrigues ら [19] や Reuter ら [18] はル表記のぶれに着目しているため，そもそも学習者がモデル（クラス図）を AR や 3D で表現することで，完全に見落としていて全てのモデルに対して記述が要素を直感的に理解させることを提案している．ま行われていない要件をセマンティックホールとして検た，Rocco ら [6] はニューラルネットワークを用いて出することはできない. したがって，本研究が想定しモデリングの次の行動を提案するシステムを提案しているクラス図のみのモデリング演習者，完全な初学ている.

者の支援には適していない．

このように学習者のクラス図作成を支援する様々なSoler ら [22] は，UML クラス図の教育と学習を支研究が行われているが，モデリング中に何度もフィー援するウェブベースのツールを開発した．このツール

ドバックを受け取ることができたたり，フィードバッ

は学習者に練習問題を与え，成果物を自動的に修正すクがヒントとして適切なレベルであることを確認しる. 修正後，学習者は検出された相違点の概要を示すている研究は少ない.

フィードバックを受け取ることができる.

Krusche ら [13] は，オンライン・モデリング・エ

2. 2 クラス図のレイアウト

ディターを作成した．Krusche ら [13] のエディタは要

前述のとおりリバースエンジニアリングの分野で素の横に欠けている要件を強調表示することができは，クラス図を自動生成する際にどのようなレイア

るため，学習者は個別かつ直接的なフィードバックをウトが好ましいのかについて議論されている [23] [14]受けることができる.

[21]．

これらの欠落要素の検知の共通の利点として，欠Störrle [23] はレイアウトの基準を順守している「良落する要素を明示することで，学習者が成果物を自い」レイアウトが認知負荷のいくつかの側面に対しら修正でき学習者の意欲が向上するということが挙て有益な効果をもたらすことを明らかにした．特に，げられる. 一方で，モデリング中に学習者がフィード

初心者のモデラーは上級モデラーよりもレイアウト

バックを受けることができない，何度もフィードバッ

から多くの恩恵を受けることを指摘している．

クを受けることができないといった問題がある.

Adrian ら [14] はソフトウェアの可視化のために一

成果物，特にクラス図を自動採点する研究は多数貫したレイアウトを提案した．このレイアウトでは，行われている [2] [30] [4]，一戸ら [11] は正解例と成果物

ソフトウェアアーティファクトの位置はその語彙を反の類似度をフィードバックとして学習者に返すツー

映し，距離は語彙の類似性に対応する．実体の語彙をルを開発した．これにより，モデリング中に学習者はm 次元空間に配置し，Multidimensional Scaling をフィードバックを受け取ることが可能になった．一方

用いて，これらの位置を 2 次元ディスプレイにマッピ

で，前節で述べたとおり，フィードバックが学習者のングすることで，最終的にデジタル標高や等高線が適

実感との乖離している場合，は安定して類似度を向上用されたソフトウェアの地図が作成される．

Bonita ら [21] はデザインパターンをクラスタ化す

接する 2 文字」の数を計算し，その 2 倍を比較対象ることで役割検出の精度が向上することを明らかに

文字列の文字列長の和で割った値を返す関数であり，している．また，初学者と経験者の視線の動きの違い

従来から用いられてきた LCS（Longest Commonがあることも示している．

Subsequence）アルゴリズムよりも要素名の比較に適Helen ら [16] の研究では，表記の仕方が作成者の直感と合わない場合，安心感がなく熱心にクラス図を見るため，被験者はエラーを特定しやすくなると述べている．

していると述べられている．

(1) クラスの比較
1 比較対象クラスの抽出とクラス名類似度 CNS○（Class Name Similarity）の計算

Ahmar ら [8] は，可読性を向上させるために，場面

クラス Ci ∈ S ，クラス Cj ∈ A とする．ある Ciに合わせてレイヤーを変更する方法を提案している．

と，対応する（類似度を計算する対象となる） Cj の

このレイヤーを使うことで，元のクラス図の要素に組を比較対象クラスの組と呼ぶ．以下に計算手順を

背景色や明度，線の太さ，テキストのフォントなどの示す．

情報を追加することが可能になる．また，元のクラス

I ある Ci について，比較対象クラスの組に属を見えなくするレイヤーも存在し，表示するクラス

していないすべての Cj とクラス名の類似度を減らす．場面に合わせてレイヤーを変えることで，nameSim(Ci , Cj ) を計算する．

大きなクラス図の複雑さを減らし，コミュニケーショ
ンをより効果的にする．

II 計 算 さ れ た ク ラ ス 名 の 類 似 度 の 最 大 値
max(nameSim(Ci , Cj )) が閾値 Tn を超えた場

このように，クラス図のレイアウトの良し悪しに合，その (Ci , Cj ) を比較対象クラスの組としてよって，理解に影響があることは明らかである．一方抽出する．また，(Ci , Cj ) のクラス名類似度 CNSで，これらのレイアウトのルールはクラス図の自動生を，nameSim(Ci , Cj ) とする．

成などリバースエンジニアリングの分野では活用されているものの，モデリング分野への適用した研究は少ない.

III 手順 I. および手順 II. をすべての Ci について行う．

IV 比較対象クラスの組に属していない Cj を不足クラスとし，不足クラスの数を NMC（Number of

2. 3 田中らの類似度
本論文では，提案手法や実験，評価において，成果
物と正解例から田中ら [28] の類似度を用いて算出す

Missing Classes）として計算する．
2 属性名類似度 ANS（Attribute Name Similar○ity）の計算る．田中らは類似度を以下のように定義している．以

比較対象クラスの組 (Ci , Cj ) の各属性について，

下の内容のスナップショットが本研究における成果物

クラスと同様の手順で比較対象属性の組（類似度をに該当する．

計算する対象となる属性の組）を抽出し，各組の属性
名類似度 ANS を計算する．また，比較対象属性の組

以下，スナップショットを S ，正解例のクラス図に属していない Cj の属性を不足属性とし，その数をを A と記述する．また，クラス図の要素（クラス，

NMA（Number of Missing Attributes）として計算

属性，関連）の要素名（クラス名，属性名，関連名）

する．

の類似度を計算する関数として nameSim(E1, E2)

3 クラス類似度 CSi（Class Similarity）の計算○（要素 E1, E2 の要素名の類似度を 0（最小）〜1（最あるクラス Ci ∈ S に関する正解例との類似度 CSi

大）の範囲で返す関数）を使用する．現在は，Xing

は，クラス Ci が比較対象クラスの組に属している場

ら [26] の研究で定義されている nameSimilarity

合は以下の式で計算し，そうでない場合は 0 とする．

を nameSim として使用することを検討している．

式中の NA は Ci の属性数を表す．

nameSimilarity は，比較対象文字列に共通する「隣∑
CN S + AN S
CSi =1 + NA + NMA
A,S の全関連に関する類似度 CSall は次の式で計クラス図の組 (S, A) の類似度 CDS は以下の式で
計算する．

CDS =

算する．式中の N RS は S の関連の数を表す．

∑

CSi
CSall =N Cs + N M C(2) 関連の比較

CSall + RSall
2

3 提案手法
本論文ではクラス図（正解例）のレイアウトを支援に用いて，成果物のレイアウトを正解例のレイアウ

1 比較対象関連の抽出○

トに自動変換する．具体的には，学習者が作成した関連 Ri ∈ S と関連 Rj ∈ A から，それぞれの対クラス図（成果物）のクラスの配置を正解例のクラ

応する端のクラスの組が比較対象クラスの組である

スの配置と同じになるように再配置することである．

(Ri , Rj ) を比較対象関連の組として抽出する．比較対

この節ではレイアウトの自動変換について説明する．

象関連の組に含まれない Rj を不足関連とし，不足関レイアウトの自動変換の例を図 1 に示す．右が教員連の数を NMR（Number of Missing Relationships）

が作成した正解例，左が学習者が作成した成果物，そとして計算する．

して中央が正解例 (右) のレイアウトになるように成2 関連名類似度 RNS（Relationship Name Simi○

larity）の計算

果物 (左) のレイアウトを変更した成果物である．レ
イアウトの自動変換では，成果物のクラス (カート，

比較対象関連に属する関連の組について，

顧客，注文，商品) を正解例のクラス (カート，顧客，

nameSim(Ri , Rj ) が閾値 Tn を超えた場合は (Ri , Rj )注文，商品) の座標へ再配置している．このとき，クの関連名の類似度 RNS を nameSim(Ri , Rj ) とし，

ラスや関連を作成することはなく，成果物に存在する

そうでない場合は 0 とする．

クラスのみを用いて再配置を行う．そのため，これら3 多重度の類似度 CaS の計算○のクラスの再配置が行われた成果物はクラス，属性，

比較対象関連に属する関連の組 (Ri , Rj ) の対応すそして関連が欠けている，もしくは余分に存在する場

る両端について，多重度の類似度 CaS（Cardinality

合も考えられる．学習者は，正解例のレイアウトに変Similarity）を決定する．今回対象とするクラス図でわることで，正解例を作成した教員の視点でシステム

は「1」，「0..1」，「1..*」，「*」の 4 種類の多重度を用いを見ることでき，今の成果物に足りない要件を作成することとし，これらの組み合わせに対してあらかじめるように促される．

類似度を設定しておく．比較対象の多重度の組に応じて，対応する類似度の値を決定する．
4 関連類似度 RSi （Relationship Similarity）の○計算

レイアウトの自動変換は瞬間的に行うことができ，学習者は何度でもレイアウトの自動変換が行える．レ
イアウトの自動変換で学習者が得ることができる情報は正解例のクラスの配置のみである．学習者はレイ関連 Ri ∈ S の正解例との類似度 RSi は，対象の関連 Ri が比較対象関連に属している場合は以下の式
で計算し，そうでない場合は 0 とする．

∑
RN S + CaS
1+2
A, S の全関連に関する類似度 RSall は次の式で計RSi =算する．式中の N RS は S の関連の数を表す．

∑

RSi
N Rs + N M R(3) クラス図の類似度の計算
RSall =

アウトを変更する過程で必要となる類似度などの情報は得ることができない．
本論文では，モデル描画ツール KIfU [24] でレイア
ウトの自動変換が行えるように，ツールを拡張した．
レイアウトを変更する方法は大きく 3 つの工程で行われる．それが「対応するクラスの探索」，「クラスの再配置」，「元の関係を維持した関連の配置」である．以下それぞれについて述べる．

図1

レイアウトの自動変換 (左：成果物，中央：レイアウトの自動変換後の成果物，右：正解例)

3. 1 対応するクラスの探索

クラス図を 1 回編集するごとに Base64 コードにしてはじめに，「対応するクラスの探索」について説明

データベースに登録している．そこで，対応する正する．これは，再配置を自動的に行うためには正解例

解例クラスと成果物クラスのペアをもとに，Base64と成果物に含まれる各要素がどのように対応していコードの座標の値を正解例クラスの値に変更する機

るのかを同定する必要があるからである．

能を追加した．

対応するクラスの探索では，クラスごとの類似度

CS を用いて成果物のクラスの中から「対応するクラ

3. 3 元の関係を維持した関連の再配置

ス」を見つける．対応するクラスの定義は，正解例の最後に「元の関係を維持した関連の再配置」についある 1 つのクラスに対する CS の値が 0.6 以上かつて説明する．レイアウトの自動変換では，クラスの成果物のクラスの中で最も大きいことである．つま座標のみを変化させるため，クラスとクラスを繋いり，正解例のある 1 つのクラスに対して，対応するク

でいる関連は元の関係を崩さないように再配置する．

ラスは成果物のクラスの中から 1 つしか選ばれない．

これは，学習者がレイアウトの自動変換によって，自KIfU には，元々クラス図の類似度を算出する機能が分で作成したクラス図だと認識できなくなることを備わっているため，対応する正解例のクラスと成果物防ぐためである．このとき，座標 (0,0) に再配置されのクラスはペアで記録されている．

た対応するクラスと判断されていないクラスとの関連も残るため，関連とクラスが重なる可能性がある．

3. 2 クラスの再配置

KIfU では，クラス図のデータはクラスの座標データ

次に「クラスの再配置」について説明する．座標ののみを書き換えるため，関連は元の関係を維持するよ

変更では，1 つ目の工程で成果物の中から見つけた対

うに再配置される．

応するクラスを正解例の対応するクラスの座標に再これら 3 つの工程を踏むことでレイアウトの自動配置するために，成果物のクラスの座標データのみを変換が完了する．本論文では，学習者が任意のタイミ

書き換える．そして，1 つ目の工程で対応するクラス

ングで何度でもレイアウトの自動変換が行えるようと判断されていない成果物のクラスについては，描画にレイアウトの自動変換ボタンを作成した．レイアウ

画面の左上，座標 (0,0) に再配置するため，クラスのトの自動変換ボタンが押されたときに，自動的に一連座標データをすべて (0,0) に書き換える．このとき，の工程が行われる．

座標 (0,0) に再配置されたクラスが複数存在する場合
は，クラス同士が重なる可能性がある．KIfU では，

4 実験
4. 1 Research Question(RQ)
以下の Reseach Question に答えることで提案手法を評価する．

RQ1. 正解例のレイアウトは成果物作成にどのよ

図2

実験群と統制群の CDS の比較

うな影響を与えるのか？田中らの類似度 CDS によって学習者のクラス図への影響を調べる．また類似度

CDS だけでなく，クラスの類似度 CSall と関連の類
似度 RSall からクラスと関連のどちらに効果があるのかを評価する．

RQ2. レイアウトの影響はいつから表れるのか？こ3. 被験者に電子商取引システムのシステム概要が書かれた用紙を配布する

4. 被験者がツールを用いてモデリング演習を行う(1 時間)
5. 被験者がツール内でクラス図を提出するのリサーチクエスチョンでは，RQ1 と同様に類似度

実験群への描画ツールの説明では，基本的な操作

CDS ，CSall ，RSall を用いる．モデリング中の類似の説明に加えて，対応する要素の定義と正解例のレ度を計測することで，学習者の手詰まりの解消できてイアウトに自動変換することついての説明を行った．

いるかどうかを評価する．

このとき，類似度の定義の説明など詳細な説明は行っていない．そして，チュートリアルで実際に機能を使

4. 2 実験方法

わせることで，どれだけクラスが一致していれば対応

学習者のクラス図のモデリングに対するレイアウするクラスと判断されるのかを体感させた．

ト自動変換の有益性を説明するために，実験を実施

評価対象は，20 名の被験者が作成したクラス図でした．被験者は日本工業大学情報メディア工学科の学ある．これらのクラス図から類似度 CDS ，CSall ，お生 20 名であり，以下の 2 つのグループに 10 名ずつ

よび RSall を算出し，両側の t 検定を行って有意差を無作為に割り当てた．

検討した．また，クラスを分類する際，単語が 1 文字

• レイアウト自動変換機能を持つ KIfU [24] を使用
するグループ（以下，実験群）• レイアウト自動変換機能を持たない KIfU [24] をでも異なると CS の値に影響が出るため，クラス図に使用できる単語は問題文に記載されている単語に限定する制限を課した．

使用するグループ（以下，統制群）
実験では，被験者がシステム概要に基づいてクラス図を作成するモデリング演習を行った．このシステム
概要は，わかば商社が従来 FAX や電話で行っていた

5 結果
5. 1 RQ1: 正解例のレイアウトは成果物作成にどのような影響を与えるか？

商品の注文を電子化するための電子商取引システム

モデリング演習で得られた類似度 CDS を図 2 に示の構築を目的としている．概要には，わかば商社の業

す．類似度 CDS は t 検定の結果 p=0.0235(α=0.05)

務フローや電子化の要望が含まれている．この概要はとなり，有意な差が見られた．この結果から，レイア

文献 [27](p.63) を参考に著者が修正したものである．

ウトの自動変換は学習者のクラス図のモデリングに

実験手順は以下の通りであり，実験群と統制群のど対して有益なフィードバックであることが示された．

ちらも同じ手順で進めた．

1. 被験者に対し，クラス図と描画ツールについて説明を行う

2. チュートリアルとして被験者が自由にツールを使う

次に，この効果がクラス図の各要素に対してどのよ
うな効果があるのかを調べた．CSall の結果を図 3，2 に示す．CSall の検定の結果は p=0.2886(α=0.05)となり，有意な差は見られなかった．
一方で，クラスに関する結果は，著者らの予想とは

図3

実験群と統制群の CSall の比較

図4

実験群と統制群の RSall の比較

異なるものであった．著者らは自動変換後のレイアウ
トの空白から，学習者が不足しているクラスの存在に気付くと考えていたが，実験群と統制群の間に有意な差は見られなかった．

表2

#

クラス名

各クラスの CS の平均値

CS の平均値

CS の平均値

( 実)

(統)

1

顧客

0.96

0.99

2

注文

0.52

0.65

3

カート

0.60

0.48

4

注文明細

0.53

0.05

5

商品

0.90

0.94

6

在庫

0.93

0.82

図5

類似度と支援回数の分布が生じる．そして，クラスの配置により，学習者が作成する関連の選択肢が絞られていると考える．今回
し か し ，各 ク ラ ス の CS に 着 目 し た と こ ろ ，の演習で提出されたすべてのクラス図において，要「 注 文 明 細 」ク ラ ス に お い て 有 意 な 差 を 確 認 し た素が重なっている箇所は確認できなかった．これは，(p=0.0003734, α=0.05)．また，表 2 からわかる通学習者がレイアウトのルールについて言及せずとも，り，有意な差ではないものの，「注文」クラスの CS は

自然に要素の重なりを避けていることを示している．

実験群より統制群の方が大きい．この結果は，「注文」

このような学習者の行動から，レイアウトによって選と「注文明細」というクラス名が類似しているため，択肢を絞り込んでいると考えることができる．

多くの学習者がこれら 2 つの概念を 1 つの概念とし

CDS ，CSall ，RSall これらの類似度は，統制群よて捉えたことが原因であると考える．クラスの再配置

り実験群の方が分散が大きい．この原因を調べるたはクラス間の距離から不足しているクラスの存在をめにレイアウトの自動変換機能の使用回数を調べた．

示唆することはできるが，概念の理解に対する効果は

図 5 に再配置機能を使った回数と類似度の分布を示

限定的であると考えられる．

す．相関分析を行ったところ，r=0.7877 となり，強最後に RSall の結果を図 4 に示す．RSall の検定のい相関が見られた．このことから，類似度が高いクラ結果は p=0.0704(α=0.05) となり，有意な差が見らス図を作成した学生は，より多くのフィードバックをれた．

求めると考えられる．

この結果は，「注文明細」クラスの有無とクラスの配置が密接に関係していると考える．
「注文明細」ク
ラスが存在することで，3 本の関連を作成する可能性

5. 2 RQ2: レイアウトの影響はいつから表れる

上がり幅が小さい点，そして 40〜50 分の間の類似度の上がり幅が大きい点が挙げられる．これは今回のモデリング演習において，類似度の推移にサイクルが存在していることを示唆している．このサイクルは 1
サイクル約 30 分周期であり，クラス，属性，関連などの要素を作成する 0〜30 分の間が 1 周目，作成した要素の削除，移動，名前の変更等の修正を行う 30
分〜60 分の間が 2 周目である．そしてこのサイクルが存在すると仮定した場合，本手法の効果はクラス図の修正を行う，サイクルの 2 周目から表れているということになる．
本論文と同じ KIfU を用いた一戸ら [11] の研究では，モデリング演習中に数値によるフィードバックを返している．しかし，学習者の実感とモデリングの評
価結果に乖離が存在したため，類似度の向上が不安定である被験者も存在した．これに対し，本論文におい
図6

実験群と統制群の CDS の推移のか？

て実験群の類似度は安定して向上している．

6 まとめと今後の課題

クラス図を 1 回編集するごとにクラス図を記録す

ソフトウェア開発対象に関するモデリング演習は学る KIfU の機能を用いて，モデリング演習中の類似度

習者にとって難易度が高く，学習者が作成するクラスの推移について調査した．図 6 にモデリング演習中

図は誤りが多く，正答例とも大きく異なっていることの類似度の変化を示す．

が多い．この問題を解決するために本論文では，学習図 6 からわかるように，作図時間が 50 分までは，者のクラス図のレイアウトを教授者のレイアウトに実験群と統制群に有意な差は見られない．実験群の自動変換する手法を提案し，提案した手法をツールと分散は主に 30〜40 分の間，2 周目のサイクルの始まして実装した．

りに広がっていることがわかる．しかし，多くの被験実験では演習を行い，レイアウトの自動変換機能

者が関連を作成し始める 20 分以降，統制群の CDSが使える実験群と使えない統制群の類似度を比較しはペースを落として緩やかに上がり続けるのに対し，た．結果として，類似度は実験群の方が統制群より値

実験群はペースを落とさずに類似度を向上させ続けが大きく，提案手法が学習者への有効なフィードバッ

ている．この結果から，本手法が学習者のモデリング

クになることが示された．他に特筆すべき点として，における手詰まりを解消する支援になっていると考え実験群の方が分散が大きいこと，演習中の両群の類似る．そして，この統制群の結果から，学習者が一定の度の変化に共通する点が見られたことである．分散がタイミングまでモデリングを行った場合，教員からの大きい原因は，実験群の被験者によってフィードバッ

フィードバックなどを受け取らなければ非効率的な演クを求めるタイミング異なっていることによって，効習を続ける可能性があることを示唆している．そのた果にばらつきが現れたと考える．演習中の類似度の変め，演習を適切なタイミングで切り上げることも重要化から，クラス図のモデリングには周期があることをであると言える．

示唆していると考える．

両群に共通する点として，10〜20 分の間の類似度

今後の展望として，効果のばらつきを小さくするの上がり幅が大きい点，20 分〜40 分の間の類似度のためにフィードバックの機会を増やす試みを予定している．
謝辞 本研究の一部は JSPS 科研費 24K15214 の助成を受けた.
参 考 文 献[ 1 ] Ben-Ari, M.: Constructivism in computer science education, Vol. 30, No. 1, Mar. 1998, pp. 257–
261.
[ 2 ] Bian, W., Alam, O., and Kienzle, J.: Automated Grading of Class Diagrams, Proc. ofthe 2019 ACM/IEEE 22nd International Conference on Model Driven Engineering Languages
and Systems Companion (MODELS-C), Sep. 2019,
pp. 700–709.
[ 3 ] Bogdanova, D.: Towards Personalized Feedback
in a Smart Learning Environment For Teaching
Conceptual Modelling, Proc. of the 13th International Conference on Research Challenges in Information Science (RCIS2019), May. 2019, pp. 1–5.
[ 4 ] Boubekeur, Y., Mussbacher, G., and McIntosh, S.: Automatic assessment of students’ software models using a simple heuristic and machinelearning, Proc. of the 23rd ACM/IEEE International Conference on Model Driven Engineering
Languages and Systems: Companion Proceedings(MODELS ’20), New York, NY, USA, Association
for Computing Machinery, Oct. 2020.
[ 5 ] Chren, S., Buhnova, B., Macak, M., Daubner,
L., and Rossi, B.: Mistakes in UML Diagrams:
Analysis of Student Projects in a Software Engineering Course, Proc. of the 2019 IEEE/ACM 41stInternational Conference on Software Engineering: Software Engineering Education and Training(ICSE-SEET), May. 2019, pp. 100–109.
[ 6 ] Di Rocco, J., Di Sipio, C., Nguyen, P. T.,
Di Ruscio, D., and Pierantonio, A.: Finding with
NEMO: a recommender system to forecast the next
modeling operations, Proc. of the 25th International Conference on Model Driven Engineering
Languages and Systems (MODELS ’22), New York,NY, USA, Association for Computing Machinery,Oct. 2022, pp. 154–164.
[ 7 ] Eichelberger, H.: Aesthetics of class diagrams,
Proc. of the First International Workshop on Visualizing Software for Understanding and Analysis,Jun. 2002, pp. 23–31.
[ 8 ] El Ahmar, Y., Gérard, S., Dumoulin, C.,
and Le Pallec, X.: Enhancing the communication value of UML models with graphical layers,
2015 ACM/IEEE 18th International Conference on
Model Driven Engineering Languages and Systems(MODELS), Oct. 2015, pp. 64–69.
[ 9 ] Ergin, H., Walling, I. L., Rader, K. P., andDobbs, D. J.: A Study of Modeling Perception in a First-Time Modeling Class, Proc. ofthe 2019 ACM/IEEE 22nd International Con-

ference on Model Driven Engineering Languages
and Systems Companion (MODELS-C), May. 2019,
pp. 680–689.
[10] Hasker, R. W.: UMLGrader: an automatedclass diagram grader, Vol. 27, No. 1, Evansville, IN,
USA, Consortium for Computing Sciences in Colleges, Oct. 2011, pp. 47–54.
[11] Ichinohe, Y., Hashiura, H., Tanaka, T.,
Hazeyama, A., and Takase, H.: Eﬀectiveness of Automated Grading Tool Utilizing Similarity for Conceptual Modeling., Springer, Aug. 2018, pp. 117–
126.
[12] Karasneh, B., Jolak, R., and Chaudron, M.
R. V.: Using Examples for Teaching Software Design: An Experiment Using a Repository of UML
Class Diagrams, Proc. of the Asia-Paciﬁc Software
Engineering Conference (APSEC2015), Dec. 2015,
pp. 261–268.
[13] Krusche, S., Reimer, L. M., von Frankenberg,N., and Bruegge, B.: An Interactive Learning
Method to Engage Students in Modeling, Proc. of
the IEEE/ACM 42nd International Conference on
Software Engineering: Software Engineering Education and Training (ICSE-SEET2020), Oct. 2020,
pp. 12–22.
[14] Kuhn, A., Loretan, P., and Nierstrasz, O.: Consistent Layout for Thematic Software Maps, Proc.
of the 15th Working Conference on Reverse Engineering (WCRE ’08), USA, IEEE Computer Society, Oct. 2008, pp. 209–218.
[15] Modi, S., Taher, H. A., and Mahmud, H.: A Tool
to Automate Student UML diagram Evaluation,
Academic Journal of Nawroz University, Vol. 10,
No. 2, Jun. 2021, pp. 189–198.
[16] Purchase, H. C., Colpoys, L., McGill, M., Carrington, D., and Britton, C.: UML class diagram
syntax: an empirical study of comprehension, Proc.
of the 2001 Asia-Paciﬁc Symposium on Information Visualisation (APVis ’01), AUS, AustralianComputer Society, Inc., Dec. 2001, pp. 113–120.
[17] Reischmann, T. and Kuchen, H.: Towards anE-assessment tool for advanced software engineering skills, Proc. of the 16th Koli Calling International Conference on Computing Education Research (Koli Calling ’16), New York, NY, USA,
Association for Computing Machinery, Nov. 2016,
pp. 81–90.
[18] Reuter, R., Hauser, F., Muckelbauer, D., Stark,T., Antoni, E., Mottok, J., and Wolﬀ, C.: Using
Augmented Reality in Software Engineering Education? First insights to a comparative study of
2D and AR UML modeling, Proc. of the 52nd
Hawaii International Conference on System Sciences (HICSS2019), Jun. 2019.
[19] Rodrigues, C. S. C., Werner, C. M. L., and Landau, L.: VisAr3D: An Innovative 3D Visualizationof UML Models, Proc. of the 2016 IEEE/ACM 38th
International Conference on Software EngineeringCompanion (ICSE-C), May. 2016, pp. 451–460.
[20] Schots, M., Rodrigues, C. S. C., Werner, C.,
and Murta, L.: A Study on the Application of thePREViA Approach in Modeling Education, Proc. of
the XXIX International Conference of the Chilean
Computer Science Society (SCCC2010), Nov. 2010,
pp. 96–101.
[21] Sharif, B. and Maletic, J. I.: An eye tracking
study on the eﬀects of layout in understanding therole of design patterns, Proc. of the 2010 IEEE
International Conference on Software Maintenance(ICSM’10), Sep. 2010, pp. 1–10.
[22] Soler, J., Boada, I., Prados, F., Poch, J., andFabregat, R.: A web-based e-learning tool for UML
class diagrams, Proc. of the IEEE EDUCON 2010
Conference, Apr. 2010, pp. 973–979.
[23] Störrle, H.: On the impact of layout quality
to understanding UML diagrams: Diagram typeand expertise, Proc. of the IEEE Symposium on
Visual Languages and Human-Centric Computing(VL/HCC2012), Oct. 2012, pp. 49–56.
[24] Tanaka, T., Hashiura, H., Hazeyama, A.,
Komiya, S., Hirai, Y., and Kaneko, K.: Learners’
Self Checking and Its Eﬀectiveness in Conceptual
Data Modeling Exercises, Vol. E101.D, No. 7, Institute of Electronics, Information and Communication Engineers, Jul. 2018, pp. 1801–1810.
[25] Wei, B., Delugach, H. S., Colmenares, E., andStringfellow, C.: A Conceptual Graphs Framework

for Teaching UML Model-Based Requirements Acquisition, Proc. of the 2016 IEEE 29th International Conference on Software Engineering Education and Training (CSEET), Apr. 2016, pp. 71–75.
[26] Xing, Z. and Stroulia, E.: UMLDiﬀ: an algorithm for object-oriented design diﬀerencing, Proceedings of the 20th IEEE/ACM International Conference on Automated Software Engineering, ASE’05, New York, NY, USA, Association for Computing Machinery, Nov. 2005, pp. 54–65.
[27] 株式会社テクノロジックアート: ゼロからはじめる
UML モデリング入門, 株式会社翔泳社, Jan. 2003.
[28] 田中昂文, 橋浦弘明, 櫨山淳雄, 古宮誠一: 学習者のクラス図作成過程における成果物と正解例との類似度の変遷を用いた進捗状況可視化手法の提案, 情報処理学会
ソフトウェアエンジニアリングシンポジウム 2015 論文集, Aug. 2015, pp. 206–207.
[29] 小木曽禎, 遠山紗矢香, 湯浦克彦: 学生向けモデリ
ング演習支援システムの開発と評価, 情報処理学会研
究報告コンピュータと教育 (CE), Vol. 2011-CE-109,
No. 5, Mar. 2011, pp. 1–9.
[30] 宮島和音, 小形真平, 香山瑞恵, 海尻賢二: UML モ
デリング教育を支援するルールベースのクラス図採点支
援ツール, 電子情報通信学会第 77 回全国大会講演論文
集, Vol. 2015, No. 1, Mar. 2015, pp. 841–842.

A 付録

図7

実験で用いた正解例