ウィリアムのいたずらの、まちあるき、たべあるき

ウィリアムのいたずらが、街歩き、食べ物、音楽等の個人的見解を主に書くブログです(たま~にコンピューター関係も)

電子政府に国民という視点はあるのだろうか?

2007-06-30 23:21:25 | Weblog

 さて、前にプロセス指向とオブジェクト指向の話を書きました。
 プロセス指向、構造化分析とその後のDOAにより、DFDからER図に落とし込むという手法で、システム開発手法は、一応完結しました。
 この手法にのっとり、全社的な会社業務をトップダウンに分析していく1つの方法論が、(もともとは政府調達のために出来たから、関係ないけど)EAといえると思います。
 そして、EAは電子政府、e-Japanに採用され、今に至っています
(電子政府のEAにおいては、一部クラス図は表れるが、それはERの代用であり、後述するクラス図の目的とは違う)。

 この手法は、会社や政府の業務をトップダウンに分析していきます。したがって、最終的には、こまかな業務にブレイクダウンされ、それをシステム化していきます。いわば役所なり会社なりのトップから下へおりていく、会社(電子政府の場合、役人)の視点からの業務分析といえます。




 オブジェクト指向の場合、このERのデータとアクティビティ図、ユースケース図からきたユースケースを、クラス図にまとめます。そしてそのクラスは、オブジェクトであるモノという実体から派生させて考えたものです。つまり、現実にあるモノの視点で業務が再統合されます。

 たとえば、電子政府をオブジェクト指向で分析した場合を考えると、各役所で出てきた業務に対し、対象が、国民(市民?)の業務と必要なデータをもう一度、クラス図上で、まとめなおします。つまり、クラス図に書くとき、国民とか自治体とか、利用者の視点でもう一度まとめなおすことが出来ます。
 そこで必要なメソッドが抜けていたり、ダブっていたりしたら気がつきます。




 しかし、EAには、クラス図を、そのような形(利用者からの見直しのカタチ)で利用することはないわけで。。。

 はたして、設計的に、そのようなやり方で、利用者の視点でモノを見てるんでしょうか。。
 役人の視点から見てシステム化するだけなら、単に利用者は、システムに振り回されて、より不便になるような気がする。



  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

オブジェクト指向は、なぜクラス指向と言わないのか

2007-06-30 20:03:22 | Weblog

 むかし、表題のようなことを書いているサイトがあったと思う。
 (そのサイトがどこにあるかは、わすれてしまったけど)

 今日、生物のお勉強をしていて、理由をおもいついたので、ちょっと書いてみる。




■たしかにオブジェクト指向はクラス中心に考えている

 たしかにオブジェクト指向では、クラスという概念を中心に考えている。
 Javaで書くのもクラスだし。。

 でも、クラス指向とは言わず、オブジェクト指向という。。
 これはなぜ?




■そもそも、はじめにあったのは、プロセス指向

 そもそも、初めにあったのは、構造化分析などで行われる、業務を分析する、プロセス指向的なアプローチだった。
 これは、業務なので、動詞中心(つまり出来事、コトの世界)の話。

 でも、業務というのは、形があったり、目に見えるものではない。
 そのため、業務の内容が変わりやすく、また担当者により範囲も不明確なため、仕様変更も多かった。




■そこで、オブジェクト「もの」中心で考えるようになった。

 そこで、出来るだけ変わらないもの・・・というので、
 データ中心(データの構造は変わりにくい)を経て、
 モノの世界、名詞中心で物事を押さえるようになった。

 実在するモノで考えていくので、この場合、変わりにくい

 つまり、はっきりしないプロセス=動詞=コトの世界から、

 その実体がはっきりするオブジェクト=名詞=モノの世界へと

発想を転換した、それがオブジェクト指向ということになる。




■しかし、クラスには実体がなく、あいまい性が残る

 しかし、オブジェクト指向で利用されるクラスは、オブジェクトを
人の見方によって切り出したものであり、実体がない(クラスの実体は、
オブジェクトになってしまう)そうすると、業務同様、人が考えるもの
で、あいまい性(というか恣意性というか)がのこる。

 オブジェクト指向は、モノに立脚しているから、恣意性が入りにくい。
 そこが特徴になる。




■つまり、モノを言い表しているのがオブジェクト

 つまり、オブジェクト指向で重要なのは、
 モノの世界に注目したがゆえに、恣意性が減少するコトが言いたいわけで、
 それを言い表しているのは「オブジェクト」である。

 なので、オブジェクト指向なのかな?




と、生物の種(これは遺伝子プールとして実在する)と、
そのほかの目とか網とか(これは人間が考えたクラスわけ、分類)の違いの話を
放送大学大学院 生物環境科学2の話を聞いて思った。


  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

DTPの構造を考える-その14:まとめなど

2007-06-30 13:31:21 | 土日シリーズ

 土日シリーズ「DTPの構造を考える」です。

 このシリーズ、第9回までで、本の構造、さらにDTPソフト全体でもつ、フォント、色、ライブラリの構造を概念的に説明してきました。
 それ以降、機能のお話しを書いています。

 今回は、前回、ちょっと残っていた、位置決めの話をして、最後にまとめて、このシリーズをおしまいにしたいと思います。




■位置決めと再表示範囲で処理スピードがきまってくる

 さて、挿入・削除・属性変更で大きさ、高さが変わった場合、位置決めをしなおして、再表示します。このときの位置決めの範囲なのですが、変更があった文字以降は、もちろんなのですが、その前の文字も位置決めにかかわってくることがあります。
 たとえば、文字を挿入したら、行頭に”)”がきてしまう場合は、ふつう、行頭に”)”を持っていきません(行頭禁則文字なので)。この場合、その行の文字をつめて、”)”が文末にはいるようにします。追加した文字の箇所が行中でも、その行の先頭からその行の最後(”)”の字)までをつめるわけです。

 このように、修正の先頭は、その文字ではなく、その親(この場合、行)全体にかかわってきます。
 一方終わりは、たとえば、”。”のあと、行末まで結構開いていると、1文字入れても、そこで吸収されてしまい、次の行からは動かなくなります。そこで、この位置決めはここで終了していいことになります。
 このように、どこまでの範囲で再評価をどのようにさせるかで、処理スピードは変わってきます。

 また、どこまでの位置決めのルールをフォローするかという問題があります。
 英語でアルファベットが並ぶ場合、ハイフネーションをしなければ、その行に押し込まなければいけません。だから、いっぱい並べば、どんどん横幅を小さくして(長体をかけて)押し込むことになります。

 ところが、写研文化に従えば、長体は、40%までしかかけません。

 さあ、どーする・・・そのままでは、入れられなくなります。
 ここで、字全体を小さくする(にも、限界があり、1、2級の文字とかは、あり得ない。3級ならルビであるかなあ??)、自動ハイフネーションする(辞書があればね)、エラーとする、無理やり文字を切ってしまう。。

 などなど、どこまでがんばるかは、DTPソフトによってきます。




■キーボードショートカット

 一般的な編集ソフトの作り方で取り上げなかったDTPの話題として、キーボードショートカットがあります。キーボードショートカットは、キーボードからイベントがあがると、モデルの処理を呼び出すようなコントローラーがあり(画面のイベントと共用してるかも。。)、そこで、制御しています。(もしくは、画面イベントに変換し、コントローラーに送るという手もあるが。。)




■まとめ

まとめると、DTPには、本があったとき、その素材として、文、写真(イメージ)、線画とあり、それぞれ、枠の中に入っています。文は、さらに行とか文字とかに分かれます。

 この、本ーページー枠ー(文、写真、線画)という、見た目の構造が物理構造で、このほかに、意味的な論理構造というのをもちます。
 これは、 一般的な編集ソフトの作り方 その10:メモリ上への要素展開(共通要素の例)で示したように、メモリ上に表現するときは、これら要素の共通部分があり、これにより親子関係などが表現できるようになっていて、具体的な、要素固有の値(写真のファイル名や文字のフォントなど)は、この構造から継承した、各要素のクラスに記述されます。
(オブジェクト指向でない場合、各要素の構造体を持ち、そこにセットされています)

 そして、各要素独自の操作である位置決めや表示なども、共通要素から継承された各要素のメソッドに書きます(オブジェクト指向でない場合は、そういうクラスがある)

 このほかに、本やDTPソフト全体で、色やフォント情報を持ちます。




 画面からある要素が選択され(どの要素が選択されているかを決める手法はアル)、何をするかのイベントが指定されると、コントローラーに入り、処理すべきモデルが呼び出されます。

 DTPソフトでは、画面-コントローラー各要素を操作するモデル部分に分かれ、バッチ処理、キーボードショートカットも、コントローラーに入るようになります(MVCの考え)

 モデルの部分としては、一般的な編集ソフトの作り方 その12:イベント発生時の動き(概要)。で示したような基本的な動きがあり、これらが呼び出されると、本を親とした各要素を操作し、そのあと必要があれば、再度位置決め、表示となります。この操作方法は、各社各様にちがいますが、「行の構成アルゴリズム」という位置決めアルゴリズムが一応、JIS規格としてあります

 エクステンションは、動的にプログラムを読み込むことでも実現できます(他の方法もあるけど)




ということで、このシリーズは、ひとまずここでおしまいです。

次週から、土日シリーズ土曜日は、違う話をやる予定です。


  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする