Civil Engineer's Forum-FORUM8 このページをスタートページに設定する スマートフォンサイト モバイルサイト QR

Facebook - FORUM8

Twitter - FORUM8

YouTube - FORUM8

 Powered by Google

 サイトマップ | ご利用条件 | お問い合わせ | FAQ | F8ツールバー 英語翻訳サイト | Japanese | English | Korean | CHS/CHT | Vietnam | Francais | Europe

 誌上セミナー ●情報化講座 (12)
監修 :
田中 成典 教授
関西大学
総合情報学部
Vol.12 オブジェクトモデル最新講座

●オブジェクト指向の基礎知識
 オブジェクトは、属性(姿・形・性質)・関連・振舞い(操作)・アイデンティティといった4つの特性を持っています。属性と関連を合わせて、プロパティと呼び、プロパティと操作を合わせて、オブジェクトの特性と呼ぶ場合もあります。同じ特性を持つオブジェクトの集合であり、共通の特性を抽象化したものをクラスといい、クラスから生成したオブジェクトのことをインスタンスといいます。
 通常、クラスにおいては、インスタンスが持つデータとそのインスタンスに対して行える操作が定義されますが、それらデータ構造と処理を一体化すること(カプセル化)により、データと操作の関連やインスタンスが持つ役割を明確にし、整理することができます。
 カプセル化では、データの値、型、それに対する操作に対して、外部からはアクセスできず(情報隠蔽)、外部からはメッセージでアクセスします。そのことにより、データの内部構造を意識しないプログラミングが可能になります。
 また、クラスと操作においては、1つのメッセージを異なるクラスオブジェクトに送った場合、異なる振舞いとして適用されるといった多態性 (ポリモフィズム)もあります。

●モデルについて
 モデルとは、対象物を構築する前に、理解する目的で単純化・抽象化したもので、目的とは無関係な詳細を省略しますので、元の実体よりも扱いが容易になります。オブジェクト指向開発において、モデル化が重要になります。
 抽象化とは、ある目的にとって、重要な要素を抽出し、重要でない要素は切り捨てるということで、同じ対象物についても、目的により、多くの異なる抽象化が可能となります。
 モデルは、静的モデル(システムの静的、構造的、データ的な側面を表現するモデル)、動的モデル(システムの時間的、動作的、制御的な側面を表現するモデル)、機能モデル(システムの変換的、関数的、機能的な側面を表現するモデル)の3つに分類されます。

●オブジェクト指向による分析と設計
 オブジェクト指向の歴史は、1970年代後半、Tom Demarcoによるデータフロー・ダイアグラムいわゆる構造化分析/設計(SA/AD)からはじまり、1980年代後半には、Shlaer/Mellor法、Booch法、James Rumbaughらのオブジェクト指向方法論(OMT)、Ivar Hjalmar JacobsonによるOOSE法(ユースケースが特徴)が大きな役割を果たしてきました。
 1996年には、UML (Unified Modeling Language)Ver.0.9が誕生し、1997年には、OMGのもとUML Ver.1.1として標準化されました。
 オブジェクト指向開発の利点としては、
  ・モデル化が容易である
  ・各フェーズ間のモデル変換作業が容易である
  ・反復的な開発により、矛盾や不具合発生の機会が減少する
が挙げられます。


●オブジェクト指向プログラミング
 オブジェクト指向言語としては、SmallTalk、C++、Java、C#などがあり、特徴としては、データと操作の組み合わせであるカプセル化や多態性、継承が挙げられます。オブジェクト指向プログラミングの利点としては、再利用性、拡張性、段階的リリースの容易さがあり、データと手続きの一体化(カプセル化)が特徴です。作成手順としては、クラスの作成、各クラス内部への属性記述、各クラス内部への操作記述といったようにクラスを組み合わせて、1つのプログラムを作成します。オブジェクト間はメッセージでやりとりを行い、オブジェクトが受け取ったメッセージにより、操作を実行します。

●UML
 様々なOMT方法論が統合されてできたUMLですが、オブジェクト指向開発のメリットを最大限に活用するために、今後ますます重要度が高まるモデリング手法と思われます。UMLは、オブジェクト指向を表現するダイアグラムを必要に応じてかき分けます。図としては、要求図(ユースケース図)、構造図(クラス図、オブジェクト図、パッケージ図)、振舞い図(シーケンス図、コラボレーション図、アクティビティ図、ステートチャート図)、実装図(コンポーネント図、配置図)があります。基本モデルとしては、システムに要求される機能である機能モデル(ユースケースモデル)、オブジェクトモデルである静的モデル、メッセージの流れを表す相互作用モデルやオブジェクトの状態変化を表す状態モデルといった動的モデルから成り立ちます。

●当社での使用事例
 弊社製品では、UC-win/FRAME(3D)UC-win/SectionUC-1 地盤解析シリーズなどがオプジェクト指向で開発されています。使用しているプログラミング言語はDelphiです。Delphiもオプジェクト指向言語であり、従来はObject Pascalと呼ばれていました。
 例えば、UC-win/FRAME(3D)には、「断面」というオブジェクトが存在します。この「断面」オブジェクトは、「アウトライン」オプジェクトや「材料」オブジェクトなどの複数のオブジェクトで構成されております。ここで、「断面」オブジェクトのデータを変更することを考えます。「断面」オブジェクトにデータ変更を要求すると、実際は「アウトライン」オブジェクトや「材料」オブジェクトが自分の役割を認識してそれぞれがデータ変更を行います。その結果、最終的に「断面」オブジェクトのデータ変更が完了します。このように、あるオブジェクトが持つ複雑で膨大なデータ変更をそれぞれのオブジェクトに役割を委譲することによって、単純化することに成功しています。
 また、UMLも必要に応じて活用しています。特にクラス図を作成する機会は多く、設計や実装に役立てています。1つのプロジェクト(製品、部品)を大勢で開発するときは、UMLを活用して各プログラマーの意思統一を図っています。現在は、UMLの一部(クラス図など)からソースコードの一部を自動生成したり、あるいは、その逆を自動的に行うツールもあるようですので、この利用も検討しています。


参考文献:
・「オブジェクト指向への招待」 啓学出版、春木良且
・「オブジェクト指向方法論OMT」 トッパン J.ランボー/M.ブラハ/W.プレメラニ/F.エディ/W.ローレンセン著 羽生田栄一監訳
・「DBエンジニアのためのUML実践活用講座」DBMagazine 2002年3月号、翔泳社、井上樹,奥村洋
・「最新オブジェクト指向がわかる」 技術評論者、河合昭男

  
前ページ    インデックス 次ページ
(Up&Coming '08 晩秋の号掲載)
戻る
Up&Coming

FORUM8


お問合せ窓口




[ ユーザー紹介 ]
中国船級社
[ お知らせ ]
FORUM8デザインフェスティバル2017-3Days+Eveのご案内






>> 製品総合カタログ


>> プレミアム会員サービス
>> ファイナンシャルサポート

最近リリースした製品
RC断面計算
(部分係数法・H29道示対応)
Engineer's Studio® 面内 Ver.3
UC-1 Engineer's Suite 積算 Ver.4
xpswmm 2017
UC-win/Road (Simulink連携
プラグイン・オプション)

キャンペーン実施中
H29道路橋示方書対応リリース
記念、複数同時購入割引
UC-win/Road Ver.12 PSQ
認証取得
オータムFPBポイント倍増

セミナー・イベントカレンダー
開催間近のセミナー
12/12  UC-win/Road DS体験
12/13  UC-BRIDGE(分割施工
 対応)(部分係数法・
 H29道示対応)新製品体験
12/14  CIM入門
12/15  UC-win/Road・VR(東京)

ソフトウェア/支援サービス
VRソフト(バーチャルリアリティ)
《UC-winシリーズ》
・道路・シミュレータ
・ドライブ・シミュレータ
・マイクロ・シミュレーション
・避難解析・シミュレーション
>>その他VRソフト
FEM解析ソフト
・3次元プレート動的非線形解析
・2次元動的非線形解析
・総合有限要素法解析システム
>>その他FEM解析ソフト
土木・建築・設計ソフト
《UC-1シリーズ》
・構造解析/断面
・橋梁上部工
・橋梁下部工
・基礎工
・仮設工
・道路土工
・港湾
・水工
・地盤解析
・CALS/CAD
・維持管理・地震リスク
・建築/プラント
・船舶/避難
>>その他土木・建築・設計ソフト
SaaS/クラウド
《スパコンクラウド®》
・スパコンクラウドサービス
《VR-Cloud®》
・リアルタイムVRシステム
《UC-1 for SaaS》
・FRAME面内
・FRAMEマネージャ
・RC断面計算
・UC-Draw
・電子納品支援ツール
・グループウェア/事務処理
・ファイル転送サービス機能
・UC-1 クラウドサービス
解析支援サービス/サポート
・UC-win/Roadサポートシステム
・設計成果チェック支援サービス
・Engineer's Studio®解析支援
・地盤解析支援サービス
・EXODUS/SMARTFIRE解析支援
・xpswmm解析支援サービス
・建物エネルギーシミュレーション
・3Dレーザスキャン・モデリング
・3D模型サービス
・3D報告書・図面サービス
>>その他支援サービス
各種ソリューション
・耐震診断/解析
・鋼橋設計
・橋梁新工法
・建築設計
・自治体
・医療系VRシステム
・パーキングソリューション
・ECOソリューション
>>その他ソリューション