システム・モデルの作成とレビュー

2010年8月12日(木)
鈴木 高弘

システムのモデル化戦略

設計領域のモデル化には、一般的に2つの選択肢があります。

1つは、広くて浅いモデルです。広くて浅いモデルは、設計領域全体をカバーする汎用的なモデルです。システム全体に出現する主要なモジュールの洗い出しには有効ですが、浅すぎてこのまま設計を詳細化するには無理があります。

もう1つは、狭くて深いモデルです。このモデルは、システムの構築に耐えるだけの詳細性を持ちますが、ここで発見された設計ルールがほかの領域に適用できるかは不明です。

図1: 設計領域のモデル化オプション

2つのアプローチの長所を生かしながら欠点を補う手法が、T字形テクニックです。

まず、設計領域全体を把握するために、広くて浅いモデルを作ります。ここで、主要なモジュールが洗い出されますので、設計領域の中で中核となる機能について、狭くて深いモデルを作ります。この作業で、中核となる機能を構成する、詳細なモジュールが見えてきます。

これらのモジュールの仕様を明確にすることにより、ほかの機能を提供するモジュールに対する、そのモジュールが提供すべき機能の要件が明らかになります。この機能要件を、ほかの機能設計に対してフィードバックすることにより、効率のよい設計を実現できます。

図2: T字形によるハイブリッドなアプローチ

派生開発におけるモデル化戦略

過去に開発済みで動作を確認できるシステムをリバース・エンジニアリングでモデル化し、そのモデルを派生開発の要求に合うように改善していくのが、リバース・システム・モデル開発法です。すでに動作確認済みなので、ゼロから設計した場合に比べてリスクが少ないことや、動作を確認しながら設計レビューやモデル化の検証が可能なことなど、多くのメリットがあります。

リバース・エンジニアリングで作成したモデルは、SysMLの学習や引き継ぎにも有効です。既存のシステムから作成したシステム・モデルを使って設計レビューを行ってみると、レビューのツールとしての、SysMLの有効性が確認できます。

ソフトウエアの場合、ツールを使えば、ソース・コードからモデルを自動的に生成できます。この機能を有効に使うと、大規模なシステムでも、再利用方針の策定や拡張ポイントの設定など派生開発に必要な設計検討を効率的に行うことができます。

図3: 効率のよいモデルの作り方/使い方
株式会社ビズモ 代表取締役兼CEO

オブジェクト指向技術分野で20年以上の実務経験を持ち、同分野のスペシャリストとしては日本の草分け的存在。オブジェクト指向によるシステム構築のコンサルタントとして、多くの先進的なプロジェクトを手がける。モデル駆動型のシステム開発の発展と普及に取り組んでいる。
1999年 株式会社豆蔵を設立し、代表取締役に就任。
2005年1月 株式会社ビズモ設立に参画、代表取締役に就任。

連載バックナンバー

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています