goo blog サービス終了のお知らせ 

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

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

形式仕様とDbC,UMLとICONIX,コンポーネント指向、DDD、時相論理までのまとめ

2010-06-11 16:19:07 | トピックス

 Twitterのまとめの中に、形式仕様とDbC(契約による設計)の話が出てきたり、よく、ICONIX(資生堂?・・・そりゃ、ICONIQ)の話とかでてくる。
 読んでる人には、???となってしまうかもしれないので、ここで、その辺の、開発方法論の話をざっとまとめてみる。

 ざっくりなんで、ツッコミどころ満載、不正確です。




■構造化手法、データ中心指向、形式仕様

 設計手法としては、まず構造化手法がでてきて(デマルコ:DFDを作るやつ)、その後、いやプロセスでは変更が大きいので、データに着目しようよ、っていうことで、データ中心になっていった(DOA、たまに出てくる佐藤正美氏は、このDOAの立場)。

 これに対して(対してはいないか、同時並行に?)、プログラムを厳密に定義し、高品質なソフトを作ろうと考える研究、実践があった。
 元は、Hoare論理なんかで、これを形式仕様記述という形で言語化したものに、VDMやZがある。
 設計論のほうでは、メイヤーが、これらの考えを受けて(たしか、メイヤーはZの研究もしてた?)、事前条件、事後条件、不変条件を定義する、契約による設計(DbC)を提唱した。




■オブジェクト指向

 そして、データとプロセスをひとまとめにして、カプセル化(局所化)することによって、変更に柔軟なソフトを作ろうとする考えが出てくる。これがオブジェクト指向。

 SmallTalkや、(上述のメイヤーが作った)Eiffelという言語、ランボー、ブーチ、ヤコブソンのスリーアミーゴーズ(警官ではない)による設計論が出てきた。とくに、設計論の図示の分野では、スリーアミーゴーズによる標準化(妥協の産物?)のUMLが出てきた。

 このUMLを形式仕様化しようとしたのが、OCL。

 ただし、UMLは、設計の図(UML・・・Lはランゲージなんで、言語と彼らは言い張るわけだが・・)を決めただけで、どういう手順で行うか?ということについては決めていない。

 この設計手順、もっと大きく言うと開発手法として、RUPが出てきた・・・が、これは、たいへん。重い。そこで、軽量化したのがICONIX(らしい)。




■コンポーネント指向へ

 オブジェクト指向において、再利用まで考えると、オブジェクト、クラスという粒度は細かすぎる。
 そこで、もうちょっと粒度を上げた、コンポーネントという概念で考えようという流れが出てきた。
 これがコンポーネント指向。

 (上記のOCLのような)UMLと形式仕様をあわせたような形で、コンポーネント化を試みるカタリシス手法(Catalysis)、そのカタリシスをベースに、開発方法論を述べた「UMLコンポーネント設計」に見られる開発手法である、UML Componentsが、コンポーネント指向の一翼を担っている。

 もう一翼としては、UMLから、ソース自動化?を試みたMDA(モデル駆動開発)と、プロダクトライン開発をベースにコンポーネント論を展開するKobrAがある。




■コンポーネントのほかに・・・

 おぶっじぇくと指向における再利用等の生産性向上は、
 コンポーネントのほかに、ソフトウエアパターンという手法がある。
 パターン化です。設計レベル、分析レベル、実装レベルで、いろんなパターン化がありえます。

 実装レベルでは、GoFによるデザインパターン、分析でのアナリシスパターン、アーキテクチャ全体としてのDDDとか・・

 そして、実装面では特に、フレームワークが出てきて、MVCやDIという考え方や、Tomcat,Struts,Spring・・・などの実装方法が出てきた。

 開発環境も、Eclipseに代表される(あ、Visual Studioも)IDEが出てきて、生産性向上に役立っている。




■形式仕様は・・・

 UMLは、生産性を上げるため、分かりやすくするという方向に行ったが、
 その反対?に、生産性を上げるため、高品質なものをつくる、そのために厳密に定義するという形式手法という方法が(先ほど言ったように)ある。

 形式仕様は、ひとつは、形式仕様言語(VDM,Z)という方向に行ったが、
 もうひとつ、モデル検査という方向にも発展していった。これは、システムをクリプキ構造によりモデル化して、時相論理や、CTL(計算機論理)によって、モデルが満たすべき性質を記述し、本当にモデルが、それを満たすかどうか確認するという、手法である。

 そしてこの形式手法をUMLと融合させたのがOCLって話は、さっきした。




<<参考文献>>
UML – a tutorial
http://www.sci.brooklyn.cuny.edu/~kopec/uml/uml_tutorial.pdf
(PDFです)のFigure 1 Some of the influences on UML.


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

Windows 7へのアップグレードは、お金かかりそうですね…

2010-06-11 14:11:39 | そのほか

ここのスラッシュドットの記事

そろそろWindows 7 への移行時?
http://slashdot.jp/articles/10/06/11/0144211.shtml

によると(以下斜体は上記サイトより引用)


IT 分野のアドバイザリー企業ガートナーによると、「企業は Windows 7 への移行を真剣に検討する時期にある」とのこと (computing.co.uk の記事、本家 /. 記事より) 。

ガートナーの試算によると、IT マネージャの 8 割が Windows Vista への移行を見送ったという。しかし Windows XP のサポートは 2014 年 4 月をもって終了する予定であり、2012 年以降は XP をサポートするアプリケーションも減ってくると予想されるため、早めに移行に着手した方がよいとのこと。


とのことだけど・・・


Windows 7 へのアップグレードは、既存ハードウェアやソフトウェアとの互換性が 100 % 保証されているわけではない。またアプリケーションの再インストールを行わなければならず、インストール用 CD やライセンス情報の準備や、ドライバインストールやアップデートプログラムの実行などが必要となるとのこと。また、グラフィックカードなどが Windows 7 に対応していない可能性などもあり、正確な資産情報がない場合は大がかりな作業となることを覚悟する必要があるという。


うーん、お金かかりそうですね。

Vistaを見送った時点では、まさか、Vistaのあと(=Windows 7)が出るとき、
こんなに不況になっているとは、
予想してませんでしたもんね・・・

ちなみに

なお、XP の企業ユーザのうち半分が SP2 のままであるともされており、まずは SP2 のサポートが終了する 2010 年 7 月 13 日より前に SP3 への更新を済ませておくよう助言している。


とのこと



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