さて、再利用と自動化、そしてインテグレーションの話に戻りましょう。
システムの開発において、まるっきり新規開発という機会は極めてまれだと思います。
コード再利用に関しても、以下に列挙するさまざまな項目の組み合わせになりますし、コード再利用を全くしなくとも、開発プロセスや個別のテーラリング結果、ノウハウ、要件やアーキ設計などの原則、レビュー観点、テンプレートなど多くの要素が、同様な形で再利用されていきます。もっと汎化してしまえば、使用するハードウェアやコンパイラ、開発機材のような道具もあれば、さらには、関与する人的資源についても再利用(同じ人たちを投入)するケースもあるでしょう。
※1)そのものが果たす役割(周囲に求められること)、関連したりつながったりする要素など。余談ですが、d)との境界を決めるためには、影響分析観点の整理が必要です。
つまり、再利用は、上記のa)〜 d)の4つを組み合わせる(統合、インテグレート/integrateする)という側面を持つことになります。
さて、ここに登場するインテグレーション(integration)、「何をやり終えたら、完了と言える」のでしょうか?
昔々、私がインテグレーションをお客さまとやっていたころは、こんな感じで着手するのが一般的でした。
そして、実際にインテグレーションを開始すると、こんな事態に遭遇することがありました。
そして、これらにめどがつくと、次に浮かんでくるのは、この疑問です。
疎通テストレベルだとこんなことを確認すると思います。
でも、これだけではないですよね? 実際、以下のように考え始めたら、いくらでも出てきます。以下は氷山の一角どころか、そのかけらでしかないでしょう。
安全関連プロジェクト向けでは、BSW/マイコンなどの構成要素や、コンパイラなどの使用する道具については、Safety Manualなどの形で、具体的な指示が提供されることもあります。
しかし、それらはあくまで「構成要素単体」や「使用する道具」そのもの単体や、そこに直接関係するものに対する指示に限られます。
なぜなら、「構築されるシステム(ECUなど)全体」に求められることを、構成要素やそれを構築するのに使用される道具の観点で、具体的かつ網羅的に示すことはできないからです(当たり前のことではありますが)。
では、インテグレーションゴールを、具体的かつ網羅的に示そうとしたら、どう考えたらいいのでしょうか?
Copyright © ITmedia, Inc. All Rights Reserved.