システムエンジニアのためのモデリング心得 トップ10: その3 作業成果物が同じストーリーを語っていることを確認せよ

トレーサビリティリンクは、個々の作業成果物がシステム開発中に構築される他の全ての作業成果物とその細部において一貫性を持っていることを確実にします。

Bruce Douglass (Bruce.Douglass@us.ibm.com), Rationalチーフ・エバンジェリスト, システムズ・エンジニアリング, IBM

author photo組込みソフトウェア方法論者。トライアスリート。システムズエンジニア。UMLおよびSysML仕様開発コントリビューター。作家。黒帯。神経科学者。クラッシックギター奏者。高校中退。Bruce Powel DouglassはUSD(サウスダコタ大学)医学部より神経サイバネティックスの博士号を取得し、35年以上にわたる様々なハードリアルタイム環境のセーフティ・クリティカルなリアルタイム・アプリケーションの開発の経験を持っています。彼は5,700ページにおよぶ多くの技術書籍の著者で、Real-Time UML, Real-Time UML Workshop for Embedded Systems, Real-Time Design Patterns, Doing Hard Time, Real-Time Agility, Design Patterns for Embedded Systems in Cといった本を書いています。彼は、IBM Rationalのチーフ・エバンジェリストであり、システムズ領域のソート・リーダーでもあります。BruceはIBMの全世界の顧客に対してコンサルテーションや助言を提供しています。Bruceをツイッターでフォローするには@BruceDouglassです。



2014年 1月 10日

我々は、システム開発の中でたくさんの異なる種類の作業成果物を構築していきます。これらは、安全性分析、要求、脅威分析、FMEA(故障モード影響分析)、アーキテクチャ・モデル、ICD (interface control document - インタフェース管理文書)、設計、テストケース、文書、ソースコード、電気接続図、CAD図面、有限要素モデル、等です。これらの作業成果物は、通常、それぞれつながりのないツールの互換性のないファイル形式や表現形式を使って蓄えられていきます。しかしながら、これらの作業成果物全てが同じストーリーを語っているということは極めて重要になります。

もちろん、それぞれの作業成果物は、それ自身の観点からストーリーを語っていて、それ自身に関わるシステムの側面について焦点を合わせているわけですが、更に全てのほかの作業成果物に対してもその細部において一貫性を持たなければならないのです。

図1.全ての成果物が同じストーリーを語っているか?
image of the three bears

この一貫性を確証する方法は、作業成果物中の詳細な要素の間に詳細なトレーサビリティリンクを張ることです。この詳細なトレーサビリティは、以下のような分析を行うことを可能にします。

  • 網羅性
    • 全ての要求に対して、それを満たす設計要素があるか?
    • 全ての要求は、テストケースでカバーされているか?
    • 全ての設計要素は、プログラムコード、電気設計、もしくは機械設計により実装されているか?
    • テストケースは、十分に設計あるいはプログラムコードを網羅しているか?(例えば、構造網羅、判定網羅、あるいは、MC/DC(modified condition/decision coverage)網羅)
  • 正当性
    • 設計要素それぞれは、何らかの要求を満たすために存在しているか?(不要なお飾りになっていないか?)
    • 実装要素のそれぞれは、何らかの設計要素を実現するために存在しているか?
    • ディペンダビリティ要求は、安全性、信頼性、またはセキュリティに関する関心事に対応するように存在しているか?
  • 影響度
    • この要素(要求、設計、テストケース、実装)が変更されると、他の作業成果物のどの要素が変更を必要とするか、もしくは、最低限レビューの対象とすべきか?

トレース関係は、UML言語やSysML言語の基本的な部分です。あるモデリングの文脈においてトレースリンクを簡単に追加することができます。図2は、設計要素と要求の間のトレースリンクを表しています。UML/SysMLツール(例えばRational Rhapsody)を使うと、これらのトレースリンクをテーブル形式で要約することもできます。

図2.UMLおよびSysMLでのトレースリンク
UMLおよびSysMLでのトレースリンク

クリックして大きなイメージを見る

図2.UMLおよびSysMLでのトレースリンク

UMLおよびSysMLでのトレースリンク

あるいは、Rational DOORSのようなトレーサビリティ管理専用のツールにエクスポートすることも可能です(図3)。

図3.Rational DOORSでのトレーサビリティ管理
Rational DOORSでのトレーサビリティ管理

クリックして大きなイメージを見る

図3.Rational DOORSでのトレーサビリティ管理

Rational DOORSでのトレーサビリティ管理

トレーサビリティデータを入れていく最善の方法は、インクリメンタルに進む関連作業成果物の開発と並行してインクリメンタルに行っていくことです。作業成果物のあるまとまった追加(例えば、要求や設計やプログラムコードのある一部分)が安定化したときに、その追加を完結させるものとして、他の関係する作業成果物へのトレーサビリティリンクを含めるようにします。

訳者について

三ツ井欽一は、東京ソフトウェア開発研究所に所属するラショナル・システムズ開発担当マネージャーです。この記事の著者のBruce Douglassを含む、ラショナル・グローバル・チームのメンバーと共に、ラショナル・ソリューションの普及とお客様へ提供する価値の向上に日々取り組んでいます。

参考文献

学ぶために

製品や技術を入手するために

議論するために

コメント

developerWorks: サイン・イン

必須フィールドは(*)で示されます。


IBM ID が必要ですか?
IBM IDをお忘れですか?


パスワードをお忘れですか?
パスワードの変更

「送信する」をクリックすることにより、お客様は developerWorks のご使用条件に同意したことになります。 ご使用条件を読む

 


お客様が developerWorks に初めてサインインすると、お客様のプロフィールが作成されます。会社名を非表示とする選択を行わない限り、プロフィール内の情報(名前、国/地域や会社名)は公開され、投稿するコンテンツと一緒に表示されますが、いつでもこれらの情報を更新できます。

送信されたすべての情報は安全です。

ディスプレイ・ネームを選択してください



developerWorks に初めてサインインするとプロフィールが作成されますので、その際にディスプレイ・ネームを選択する必要があります。ディスプレイ・ネームは、お客様が developerWorks に投稿するコンテンツと一緒に表示されます。

ディスプレイ・ネームは、3文字から31文字の範囲で指定し、かつ developerWorks コミュニティーでユニークである必要があります。また、プライバシー上の理由でお客様の電子メール・アドレスは使用しないでください。

必須フィールドは(*)で示されます。

3文字から31文字の範囲で指定し

「送信する」をクリックすることにより、お客様は developerWorks のご使用条件に同意したことになります。 ご使用条件を読む

 


送信されたすべての情報は安全です。


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=60
Zone=Rational
ArticleID=958577
ArticleTitle=システムエンジニアのためのモデリング心得 トップ10: その3 作業成果物が同じストーリーを語っていることを確認せよ
publish-date=01102014