教育的視点からの UML図診断システム

教育的視点からの
UML図診断システム
海尻海谷研究室
修士2年
06TA521F
風間 将
1
目次








2
背景
目的
用語説明
システム概要
動作実験
まとめ
問題点
今後の予定
背景



3
ソフトウェア開発の設計段階にUML図を使うこと
が多くなってきている
大学の講義等でもUML図の学習が行われている
演習として学生がUML図を描き、教師はそれを採
点・評価する
背景

現状では・・・
–
–
提出された図形を採点するのは全て手作業
教師に対して学生の数が多い
⇒ 提出物の1つ1つにコメントを与えるのは
非常に手間がかかってしまう
⇒ 学生へのレスポンスが遅れてしまい
学習効果が低下してしまう
4
目的

UML図の診断をサポートするシステムの構築
–
–
–
5
提出された図形を機械的に処理する
診断を自動化し、教師の負担を軽減する
Webベースのシステムを構築することにより、迅速なレ
スポンスを実現する
用語説明

XMI
–

XQuery
–
6
CASEツールから出力される、UML図の情報を持った
XMLベースのファイル形式
XML形式のファイル内から任意の要素を取り出すため
の照会言語
システム概要

サポート内容
–
–

前提となること・・・
–
–
–
–
7
既存の誤りと正解をシステムが認識することで、そのこ
とに関する診断を自動化する
データを追加することでシステムを拡張していく
今回扱う図形はユースケース図のみ
ある問題に対する正解は複数ある可能性がある
ある正解に対する誤りが別の正解の誤りとは限らない
提出した図形に誤りがあった場合、学生はそれを修正
して再提出を行う
システム概要

診断ルール
–
–
8
提出された図形はシステム内に保存されている診断
ルールによって診断を受ける
診断ルールはXQueryによって作成される
システム概要

診断ルールの例:
–
9
「一般ユーザー」と「登録情報を修正する」が繋がってい
るかどうかを判別する診断ルール
システム概要
10

出力結果

ここからコメントを読み取り、システムで扱う
11
システム概要
①図形の提出



CASEツールから出力されたXMIファイルを用いる
ことで図形の情報を扱うことが出来る
しかし、ツールが図形を再現するための座標情報
などの診断に不要なデータも含まれている
独自のデータ形式(簡易表現)へ変換して使う
–
12
変換の仕組みはB4の安部君が用意してくれました
システム概要
①図形の提出
13
システム概要
①図形の提出
14
システム概要
①図形の提出
15
16
システム概要
②要素のマッピング


同じ問題について描かれた図形でも、使用する要
素の名前は各人によって異なる
名前は異なるが意味は同じである要素同士をシス
テムに判別させる必要がある
⇒ 提出された図形内の要素と、システム内に登録
済みの要素とのマッピングを行い、IDを割り振る
17
システム概要
②要素のマッピング


18
既存の要素全てに対しマッピングを行う
意味的に重複するマッピング候補はない
19
システム概要
③正解に関する処理

20
既存の正解図形を基にして判定を行う
システム概要
③正解に関する処理

本システムでいう正解とは、既存の正解図形との
完全一致のことを指す
–

21
ここで正解であると判断されると以降の処理をせずに終
了してしまうため
マッピングの結果と診断ルールより、
–
使用している要素の数
–
使用している要素の有無
を確認する
システム概要
③正解に関する処理

正解であると判断された場合・・・
–

既存の正解と一致しなかった場合・・・
–
–
22
その旨を学生に通知し、処理を終了する
続いて誤りについての診断を行う
どの正解に対しての誤りについて診断すればよいかを
判断する
システム概要
③正解に関する処理

使用されている要素が最も近い正解を採用する
–
23
「足りない要素」と「余分な要素」の数が最も少ないもの
を採用する
24
システム概要
④誤りに関する処理

25
採用された正解についての誤りを検出する診断
ルールを用いて診断を行っていく
システム概要
④誤りに関する処理

誤りが見つかった場合・・・
–
–

既存の誤りがなかった場合・・・
–
–
26
その誤りに対応するコメントを通知して処理を終了する
複数見つかった場合は全てを通知する
その図形は新出の誤りを含むか、別解の可能性がある
診断を教師の手に委ね、システムはコメント待ちの状態
となる
27
システム概要
⑤システムの拡張

既存の正解でもなく、既存の誤りも存在しなかった
図形は教師の手によって診断される
–

診断の結果から新たな診断ルールを作成し、対応
するコメントと共にシステムへ登録する
–
28
その図形が新たな正解であるか、新たな誤りを含んで
いるかを判断し、それについてのコメントを通知する
診断ルールの作成は現状、手作業で行っている
システム概要



①~⑤の処理を繰り返すことで、システムが判別
できる正解・誤りは増えていく
教師は同じ正解・誤りに対して二度と採点すること
がなくなる
既存の正解・誤りならばその場で診断結果が返る
⇒教師の負担を軽減し、学生に対するレスポンスも
速くすることが可能となる
29
動作実験

実験の目的・・・
–
–
30
本システムの支援内容が妥当であるかを検証する
本システムの診断部分が正しく動作するかを確認する
動作実験

実験内容・・・
–
–
–
31
ホテルのWebサービスについての問題
同研究室のB4に協力を依頼
作成してもらったユースケース図を基に必要なデータを
用意し、誤りがどの程度重複しているかを見る
動作実験

実験準備・・・
–
–
32
サンプルとして得られた図形 7個
作成した診断ルール 10個
動作実験
–
–
33
–
余分な要素についての誤り・・・4個
足りない要素についての誤り・・・4個
関連についての誤り・・・2個
動作実験
34
動作実験

35
実験結果・・・
動作実験



36
ほとんどの誤りが複数の図形に含まれるものであ
り、半数以上に含まれるものもいくつかあった
実際の講義での学生の人数を考えると、充分な支
援効果があると予想される
また全ての図形を手作業で診断し、システムの動
作が正しいものであることを確認した
まとめ




37
本システムでは、過去に登場したことのある正解と
誤りを検出することで診断をサポートする
新たに登場した正解と誤りを追加していくことでシ
ステムを拡張していく
対象となる学生が多ければ多いほどシステムの支
援効果は向上していく
行った実験により、本システムの支援内容が妥当
であることが確認された
問題点


38
現状、診断ルールは教師が手作業で用意するし
かない
複雑な診断ルールが必要となったとき、XQueryに
ついての知識が求められる
今後の予定


39
未実装であるマッピングの処理を用意する
診断ルールの生成をいかに行うかを考える