XML文書の構造を利用した品質評価手法の提案と実現

Download Report

Transcript XML文書の構造を利用した品質評価手法の提案と実現

XML文書の構造を利用した
品質評価手法の提案と実現
金京煥
井上研究室
2002/2/20
修士論文発表会
1
背景
インターネットが発展→電子文書
W3Cで提案されたXMLが注目される
様々な用途に利用される
例)要求仕様書,ソフトウェアデザイン仕様書など
 ユーザがDTDを定義
用途に応じて様々な文書のフォーマットを
生成

2002/2/20
修士論文発表会
2
XML(eXtensible Markup Language)
W3Cで提案された拡張可能な言語
SGMLのサブセット
ユーザがDTDを定義
プラットフォームに独立
2002/2/20
修士論文発表会
3
DTD(Document Type Definition)
文書型定義
文書の構造を定義
(例)
論文
<!ELEMENT 論文 (タイトル,著者,所属,まえがき,…
)>
<!ELEMENT タイトル (日本語|英語)>
<!ELEMENT
タイトル 著者
著者(#PCDATA)>
所属
まえがき
<!ELEMENT まえがき (#PCDATA)>
日本語
英語
2002/2/20
修士論文発表会
…
・
4
XML文書の構造
XMLの文書
XML宣言
<?xml version=“1.0”?>
<!ELEMENT 論文 (タイトル,著者,所属,まえがき,…)>
DTD
<!ELEMENT タイトル (#PCDATA)>
<!ELEMENT 著者 (#PCDATA)>
<!ELEMENT まえがき (#PCDATA)>
インスタンス
2002/2/20
<論文>
<タイトル> XML</タイトル>
<著者> KIM </著者>
<まえがき>。。。。。。</まえがき>
</論文>
修士論文発表会
5
XML文書の評価
XMLで記述された文書に対して読みやすさ,
や再利用しやすさなどを定量的に評価

品質が劣る文書を検出して改善を行う
しかし、XML文書にはDTDがたくさん存在
するため、そのまま評価することが困難
2002/2/20
修士論文発表会
6
問題点
ある評価基準を評価する場合


DTDで定義されるタグの集合は異なるため,それぞれ
の文書のDTDに対応する形で評価基準を適用
多様なDTDが存在するので,そのままでは新しい評
価基準を使うためにはDTDの数だけ評価基準の適用
を行わなければならない
DTD1
2-a
1-a 1-b
基準1
2002/2/20
DTD2
DTD3
3-a
基準2
修士論文発表会
7
研究の目的
品質評価することができる共通の枠組みが必要
XML文書をDTD定義に基づいて評価する
ための手法を提案


2002/2/20
多様な文書および評価基準に対応する
XML文書モデルより評価用のデータ構造を導
出
修士論文発表会
8
評価用DOMツリー
共通の構造パターンを持ったツリーに変換してから文書
の評価を行う
DTD1
1-a
1-b
DTD2
2-a
3-a
DTD3
評価用DOMツリー
評価用DOMツリー
評価用DOMツリー
評価用DOMツリー
共通な枠組み
基準2
基準1
2002/2/20
修士論文発表会
9
評価用DOMツリーの目的
品質を評価しやすくするために導入
文書構造を元にしてモデルに変換
評価用DOMツリーが必要な理由
XML文書はユーザがDTDを定義
評価目的によって,着目するDOMツリーの構
成要素が異なる


あらゆるXML文書をそのままの形で一律に
評価することは難しい
評価したい目的に応じてDOM変換ルールを用いる
2002/2/20
修士論文発表会
10
評価用DOMツリー作成
DOMツリーを評価基準と連携したDOM変
換ルールを用いて評価用DOMツリーに変
換
DOM変換
DOMツリー
2002/2/20
DOM変換ルール
修士論文発表会
評価用DOMツ
リー
11
DOM変換ルール
評価対象となるXML文書を評価用DOMツ
リーに変換
モジュールと構造リンクを用いて変換ルー
ルを記述する


モジュール:評価を行なう際の基本単位であり,DOM
ツリー上で1つ以上の要素の集合.ユーザに一度に
提供して理解できる情報量
構造リンク:モジュール間の関係を表す
文字例サイズ,行数を入力:モジュール指定
2002/2/20
修士論文発表会
12
DOM変換ルールの例(1/2)
親子関係において,子供となる内容モデル
がテキストなら,その要素をモジュールと
みなす
ルート
ルート
A
B
A
テキスト
2002/2/20
B
テキスト
修士論文発表会
13
DOM変換ルールの例(2/2)
サイズが1画面以下ならモジュールを1つの
モジュールと統合→兄弟の親がモジュール
ルート
B
A
C
テキスト
2002/2/20
ルート
D
テキスト
A
B
テキスト
修士論文発表会
14
評価用DOMツリーの構造評価
評価
(評価用DOMツリー)
値
評価基準
評価用DOMツリーの構造評価

2002/2/20
あらかじめ定めた評価目的に応じた基準に基
づき,評価用DOMツリーの評価を行う
修士論文発表会
15
品質特性
XML文書の構造を利用して4つの品質に
対して評価を行なう




2002/2/20
読みやすさ
メインテナンスのしやすさ
文書作成の柔軟さ
再利用しやすさ
修士論文発表会
16
読みやすさ
読みやすさに対する評価基準

モジュールサイズ
 1画面に収める程度の文量

モジュール内リンク数
 多くのリンクが張っていると行き来をよく行なう
 階層関係の理解を妨げる

階層
 ユーザは現在読んでいる位置を直感的に認識す
ることが困難
2002/2/20
修士論文発表会
17
文書作成の柔軟さ
文書作成の柔軟さに対する評価基準

エンティティ
 文書の量が多い場合,複数ファイルに分割

1ファイルに1モジュール
 文書作成の分担
2002/2/20
修士論文発表会
18
メインテナンスのしやすさ
メインテナンスのしやすさに対する評価基準
 階層
 入れ子が存在するので,階層が深い場合テストや変更が非
常に難しい

モジュール内のリンク数
 多くのリンクが張っていると変更時モジュール内のリンクまで
テストが必要

エンティティ
 要素宣言型の内容モデルなどに頻繁に同じ宣言パターンが
現れる
2002/2/20
修士論文発表会
19
再利用しやすさ
再利用しやすさに対する評価基準

DTD
 既存のDTDを再利用する:開発コストを削減
 よいDTDは修正することなしに長期間使用
 よいDTDとはすでに広く使われているDTD

エンティティ
 同じ処理を繰り返しコーディングするよりも,1つに
まとめてサブルーチンとして処理
2002/2/20
修士論文発表会
20
本手法の実装
本手法に基づいたXML文書評価システム


言語:Java
コード量:4000行程度
ツールの構成



2002/2/20
構文解析部
DOMツリー変換部
構造計測部
修士論文発表会
21
システム構成
(XML文書)
(DOMツリー)
構文解析部
DTD
DOMツリー変換部
変換ルール
評価基準
構造計測部
(評価用DOMツリー)
値
2002/2/20
修士論文発表会
22
構文解析部(1/2)
XML文書構文解析部を選択して,XML文
書を入力
2002/2/20
修士論文発表会
23
構造解析部(2/2)
評価対象となるXML文書の情報やDOMツ
リーが出力
2002/2/20
修士論文発表会
24
DOMツリー変換部
出力ファイル名,モジュールサイズ,文書
形式,行数,階層を入力
モジュールサイズ,行
数,階層→アンケート
2002/2/20
修士論文発表会
25
構造計測部
計測結果
2002/2/20
修士論文発表会
26
評価実験
評価対象


評価用データ:論文,スライド,マニュアル
論文:ICSE(2000),ICSR(1998),全国大会
 3つに対して実験

スライド:学生が作成(4人) 平均:17ページ
 4つに対して実験

マニュアル:学生(5人),Web
 11個に対して実験
2002/2/20
修士論文発表会
27
実験結果(1/3)
論文
•・1画面で一覧できないモジュールを多数検出
1画面に収める程度の文量に分ける
基準
結果
評価
サイズ
≦2100
4622
×
階層
≦3
3
○
行数
≦28
63
×
2002/2/20
内容のまとまりを確認しやすくなり,
モジュール単位で読むことが可能
修士論文発表会
28
実験結果(2/3)
スライド
•モジュールサイズや行数において異常値を検出
1画面に収める程度の文量に分けて計測
基準
結果
評価
サイズ
≦180
305
×
階層
≦3
2
○
行数
≦7
13
×
2002/2/20
ユーザはモジュール単位で読むこと
が可能
修士論文発表会
29
実験結果(3/3)
マニュアル

異常な特徴を示したモジュールは得られな
かった
 マニュアルのサイズが小さい
2002/2/20
修士論文発表会
30
まとめと今後の課題
XML文書をDTD定義に基づいて評価する
ための手法を提案した
本手法に基づく評価ツールを実装して3種
類のXML文書に対して評価を行った
品質特性を確認
多様な形式の文書を収集して評価を行う
大量の文書を収集して評価を行う
2002/2/20
修士論文発表会
31
2002/2/20
修士論文発表会
32
参照
評価用DOMツリーに変換しないといけないか?
いいえ
・XMLはユーザがDTDを定義→様々なDOMツリーが生成
・評価目的によって,着目するDOMツリーの構成要素が異なる
どこからどこまでがモジュールか機械は分からない:
ユーザがモジュールを指定
そのままの形で一律に評価しにくい
共通の構造パターンを持った評価用DOM ツリーに変換
2002/2/20
修士論文発表会
33
参照
(例)
HTMLの場合
Hタグをモジュールと
みなす
<h1> XMLとは</h1>
<P>XML。。。。</p>
<P>。。。。。。</p>
2002/2/20
修士論文発表会
HTMLはすでにタグが決定され
ているので,共通のパターン
構造を持つ
34
XML文書のスライド
2002/2/20
修士論文発表会
35
ICSE
XML文書(論文)
2002/2/20
修士論文発表会
36
参照
XSLは階層構造を持つ
XSL=Pattern + Action
<element type= “manual”>
manual
<target-element type=“A”/>
</element>
A
2002/2/20
B
修士論文発表会
37
参照
評価基準は人によって違う


2002/2/20
パラメータ形式としてユーザが指定する
最終的には「このような値が良い」といえる.
修士論文発表会
38
参照
XML文書がこれらの性質に満たしているか
を評価
XML文書をDTD定義に基づいて評価す
るための手法を提案


2002/2/20
多様な文書および評価基準に対応する
DOMモデルより評価用のデータ構造を導出
修士論文発表会
39