2010-11-29-02-SVG と UML の話 - 4 - project-enigma

2010-11-29-02-SVG と UML の話 - 4

>> Site top >> weblog >> 月別アーカイブ >> 2010年11月のlog >> 2010-11-29-02-SVG と UML の話 - 4

最終更新日付:2013/12/31 07:35:46


SVG と UML の話 - 4

2010 年 11 月 29 日

テキストで図形を記述するための SVG ( Scalable Vector Graphics ) とはどのようなものか? それで望みどおり UML 図面が書けるだろうか?

まず、前回と同じ小さなダイアグラムを SVG で作ったもの(のハードコピー画像)を見てもらおう。

そして、この図面のテキストソースは大体以下のような感じになる。

<?xml version='1.0' encoding='utf-8'?>
<?xml-stylesheet href='../default.css' type='text/css'?>
<svg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'
     version='1.1' baseProfile='full' xml:space='default' width='800.00' height='600.00'>
  
    <!-- class Foo -->
    <path class='Shape' d='M 163.00 183.50 l +74.00 0 l 0 +33.00 l -74.00 0 l 0 -33.00 z' />
    <text x='200.00' y='206.50' font-size='12pt'  text-anchor='middle'>Foo</text>
  
    <!-- class Bar -->
    <path class='Shape' d='M 363.00 183.50 l +74.00 0 l 0 +33.00 l -74.00 0 l 0 -33.00 z' />
    <text x='400.00' y='206.50' font-size='12pt'  text-anchor='middle'>Bar</text>
  
    <!-- dependency Foo to Bar -->
    <polyline class='DashLine' points='237.00,200.00 363.00,200.00' />
    <polyline class='Line' points='350.01,207.50 363.00,200.00 350.01,192.50' />
    <text x='300.00' y='210.00' text-anchor='middle'>&amp;lt;&amp;lt;uses&amp;gt;&amp;gt;</text>
  
</svg>

SVG の成り立ちだのなんだのについては(面倒だから)割愛するので、必要なら調べてみてほしい。ネット検索で色々と見つかるだろう。今回は、これが以前から書いている条件 ── 特定のアプリケーションにロックインせず、テキストで記述できること ── を満たしているかを考えてみよう。

ひとまずのところ、たしかにテキストのようだ。だから任意のテキストエディタで編集することができる。そして SVG はオープンな規格(のはず)で、ブラウザで(対応していれば)表示できる。だから編集や表示に特別なアプリケーションを必要としない。うん、ひとまず合格のようだ。

しかし、本当に手放しで喜べるような合格かと言われるとそうでもない。まず、テキストエディタで編集できるということと、「必要最低限の労力でストレスなく」それができることは大きく違う。先に示した SVG のソースを見ればわかるだろう。線やテキストは全て座標指定で、なにかを変えれば色々なところに影響が出る。クラス矩形の四隅の座標も気にしなければならないし、依存関係が斜めになったら矢印の角度まで気にしなければならないのだ。編集の度にそんなことで頭を悩ませるべきではないだろう。

もうひとつ、ブラウザとプラグインの問題がある。好む好まざるを別として Microsoft の Internet Explorer は大きなシェアを占めているが、このブラウザで SVG を表示するには Adobe の SVG Viewer というプラグインが必要だ。そしてこのプラグインは開発が終了しているらしい。また、他のブラウザでは表示が粗くて見難いなどの問題があった。

表示の問題はひとまず置いておくとしよう。まともに取り組むには問題が大き過ぎる。一方、編集の問題はそれよりはるかに少ない労力で緩和できるのだ。そして、編集の問題に投じた労力こそがこの一連の記事の本題なのだが、それは次回以降の説明としよう。

 

コメント

このページにコメントする

 

このページのタグ

Page tag : 開発

 

 


Copyright(C) 2005-2017 project-enigma.
Generated by CL-PREFAB.