XMLドキュメントデータの構造を利用した品質評価手法

XMLドキュメントデータの構造を利用
した品質評価手法の提案
金京煥† 川口真司† 谷口真也‡
†
松下誠†
井上克郎
†大阪大学大学院基礎工学研究科
‡NTTソフトウェア(株)
1
Software Engineering Research Group, Graduate School of Engineering Science, Osaka University
背景
インターネットの普及に伴い,電子文書や
データ構造の記述
XMLを用いる
XMLで記述されたドキュメントデータは様々
な用途に利用
ex)要求仕様書,ソフトウェアデザイン仕様書,テクニカ
ル仕様書など
2
Software Engineering Research Group, Graduate School of Engineering Science, Osaka University
目的
用途に応じた評価基準を設定した上で,評価
を行う必要がある
XMLドキュメントデータの構造を利用した
DTD定義に基づいて評価するための手法を提
案
• 多様なドキュメントデータおよび評価基準に対応
-DOMモデルより評価用のデータ構造記述を導出,導出
された構造に対する評価を行う
3
Software Engineering Research Group, Graduate School of Engineering Science, Osaka University
XMLドキュメントデータの評価
XMLで記述されたドキュメントの品質を評価
する
-再利用
-ドキュメント作成の柔軟性
-読みやすさの向上
4
Software Engineering Research Group, Graduate School of Engineering Science, Osaka University
XMLドキュメントの評価手順
(1)
XMLドキュメントデータを,DTD定義に基
づいて以下の3つの手順により評価を行う
(1)DOMツリー構築
構文解析してDOMツリー生成
(2)評価用DOMツリー作成
(1)で作成したDOMツリーを評価用DOMツリーに
変換
(3)評価用DOMツリーの構造評価
あらかじめ定めた評価基準を評価用DOMツリーに適
用
5
Software Engineering Research Group, Graduate School of Engineering Science, Osaka University
XMLドキュメントの評価手順
(2)
(XML文書)
(DOMツリー)
XML parser
DTD
評価
基準
評価用DOM
変換ルール
DOM変換
評価
(評価用DOMツリー)
値
6
Software Engineering Research Group, Graduate School of Engineering Science, Osaka University
評価用DOMツリー(1)
評価用DOMツリーが必要な理由
-XMLドキュメントはタグを自由に定義
-そのままの形で一律に評価することは難しい
ドキュメント構造を元にしたモデルに変換する
7
Software Engineering Research Group, Graduate School of Engineering Science, Osaka University
評価用DOMツリー(2)
評価用DOMツリーに変換する際の変換ルー
ルを記述する際には2つの概念を導入
(1)モジュール
-評価を行う際の基本単位
-DOMツリー上で1つ以上の要素の集合である
(2)リンク
-モジュール間の関係を表す
8
Software Engineering Research Group, Graduate School of Engineering Science, Osaka University
評価用DOM変換ルール
目的
• 品質を評価しやすくするため導入
-XMLドキュメントはタグを自由に定義
-そのままの形で一律に評価することは難しい
• DOM変換ルールを記述の際に2つの概念を導入
-モジュールとリンク
• DOM変換ルールを通して評価用DOMツリーに変
換
9
Software Engineering Research Group, Graduate School of Engineering Science, Osaka University
評価用DOM変換ルールの例
DOMツリーを調査
DOMツリー上で子供要素を持たない要素と
子供要素を持つ要素区分
子供要素を持たない場合
-見出しならモジュールとみなさない
-内容ならモジュールとみなす
子供および孫を持つ場合
-直接的な内容含まず要素を含む→モジュール
-直接的な内容,要素を含む→各々をモジュール
10
Software Engineering Research Group, Graduate School of Engineering Science, Osaka University
評価用DOMツリーの例
XML文書
DOM
DOMツリー
root
A
<root>
<A>内容</A>
<B>
<c>内容</c>
<d>内容</d>
</B>
</root>
root
B
c
評価用
モジュールA
モジュールB
要素c
要素d
d
要素Aは内容のみ
要素Bは直接的な内容を含まず2つの
11
要素を含む
Software
Engineering Research Group, Graduate School of Engineering Science, Osaka University
評価用DOMツリーの構造評価基
準
評価基準とは
•品質評価のため利用される尺度
-入力:評価用DOMツリー
-出力:具体的な数値
評価用
DOMツリー
評価
値
12
Software Engineering Research Group, Graduate School of Engineering Science, Osaka University
評価の例
読みやすさに対する評価
読みやすさを妨げる原因
-深い階層
-区分ない長いドキュメント
-一つのドキュメント内の多くの要素を含む
13
Software Engineering Research Group, Graduate School of Engineering Science, Osaka University
評価基準と評価基準値設定の例
ドキュメントの評価基準値設定→ユーザが設
定
よい読みやすさに対する基準値
-階層は2以下
-要素数は1桁以下
-モジュール数は1桁以下
-モジュールサイズは1画面以下
14
Software Engineering Research Group, Graduate School of Engineering Science, Osaka University
評価基準と評価
•前の例で,読みやすさに対して評価基準を適用
A モジュール
階層
要素数
サイズ
モジュール数
B モジュール
1
0
1
1
2
1
2
よい評価値
2 以下
1 桁以下
1 画面
1 桁以下
読みやすさを判断
15
Software Engineering Research Group, Graduate School of Engineering Science, Osaka University
試作ツール(1)
試作ツールの概要
-XMLドキュメントを構文解析して様々な情報
を出力
-その情報を用いて評価用DOMツリーを作る
現在までの試作ツール
-図1
*XMLドキュメント(DTD
+XMLインスタンス)
-図2
*DTDの名前,ルート要素,要素リスト,およびリ
ンク数の情報を出力
16
Software Engineering Research Group, Graduate School of Engineering Science, Osaka University
XMLドキュメント
XMLドキュメントの例(図1)
17
Software Engineering Research Group, Graduate School of Engineering Science, Osaka University
XMLパーザの情報
XMLパーザに対する情報(図2)
18
Software Engineering Research Group, Graduate School of Engineering Science, Osaka University
試作ツール(2)
-図3
*XMLドキュメントデータの評価手順における評価用DOM
ツリー作成
*図2を用いて評価用DOMツリーに変換
*ルート,モジュール,要素を選択(実装中)
19
Software Engineering Research Group, Graduate School of Engineering Science, Osaka University
変換ルールと変換用DOMツリー
•変換用DOMツリーフレーム(図3)
20
Software Engineering Research Group, Graduate School of Engineering Science, Osaka University
まとめと今後の課題
XMLドキュメントデータをDTD定義に基
づいて評価するための手法を提案
本手法は利用目的に応じて多様なXMLド
キュメントを評価することができる
本手法に基づく評価ツールを実装して,有効
性について評価を行う
実装中
21
Software Engineering Research Group, Graduate School of Engineering Science, Osaka University
補足(1)
子供要素を持たない場合
-見出しならモジュールとみなさない
ex) <A> XMLとは</A>
-内容ならモジュールとみなす
ex)具体的な情報
<B>XMLはW3Cで提案した拡張なマークアップ
言語として………..
</B>
22
Software Engineering Research Group, Graduate School of Engineering Science, Osaka University
補足(2)
子供および孫を持つ場合
-直接的な内容含まず要素を含む→モジュール
ex) <A>
<B>HTMLは.....</B>
<C> XMLは..... </B>
</A>
-直接的な内容,要素を含む→各々をモジュール
<A>
……………………….
<B>HTMLは.....</B>
<C> XMLは..... </B>
</A>
23
Software Engineering Research Group, Graduate School of Engineering Science, Osaka University
補足(3)
DOM(Document Object Model)
-XMLのデータにアクセスするための標準
的なインターフェースとオブジェクトモデル
である
A
B
C
1つの要素をオブ
ジェクトとみなす
E
F
G
24
Software Engineering Research Group, Graduate School of Engineering Science, Osaka University