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