DRIPが生み出すプロセス開発のブレークスルー
要求・デザイン・知識・並列エンジニアリングツール DRIP
X-MBD 拡張モデルベース開発
DRIPが実現するツールチェーンギャップの解消
「要求」の形式記述がもたらす恩恵は単に仕様の明確化に留まりません。
「要求」の形式化は要求が「実装」と地続きで接続できる事を意味し、これは過去に出来なかった様々な「要求」~「実装」間における新しいプロセス改善やそれに伴う技術革新を考えることが出来る様になったという事でもあります。
ツールチェーンギャップを解消する取り組みは、プロセス開発にブレークスルーを促す為の取り組みでもあります。
ここでは、DRIPがギャップを解消する事によって可能となるアイデアの一例を紹介しています。
Before 要求の整理・分業機能
一口に要求と言っても、これを整理して記述する事は容易ではありません。
開発初期の要求は内容も極めて抽象的なため、情報の共有・伝達がし辛く分業も困難です。
After 要求の整理・分業機能
DRIPは「
要求」と「
設計原理、決定、前提条件」(デザイン)と「
知的資産」(ナレッジ)の3つに分割する事で思考を整理します。
ここで書かれる文書は
相互関係を互いに定義し合いながら記述する事が可能で、思考の整理と同時に分業化への手助けとなります。
Before 設計の整理・分業機能
設計の現場には一人または極少数の突出した技術を持つ人物が居り、プロセスの大部分の品質を彼(等)に依存するケースが多々あります。
しかし、突出した技術者が現場を離脱した際のリスクまで考慮する事は容易ではありません。
After 設計の整理・分業機能
DRIPは
設計プロセスを整理する事で思考や情報の整理と同時に、分業の手助けとなります。
分業が可能となる事で、高い技術を持つ人物への負荷の集中を回避すると同時に、リスクの分散にもつながります。
Before 事前検証/意思疎通機能
要求の受け渡しやその解釈は人と人とコミュニケーションの上に成り立っているのが現実です。
After 事前検証/意思疎通機能
DRIPは文書の
内容を一意化することで誤解なく意図を伝えます。
更に文書に対する
事前検証機能も有しており、これにより要求の時点である程度の矛盾検出が可能です。
Before 必要情報の整理機能
ある担当者がプロジェクトにアサインされたとき、その人が読まなくてはならない文章量は膨大なものになります。
After 必要情報の整理機能
DRIPでは文書を要約して「
式」に落とし込めるようになっております。
これにより、担当者は「
式」さえ読めば最低限、重要な部分は把握出来る様になります。
Before 仕様ペンディング管理機能
要求がペンディングなしに書けることは現実には稀です。
After 仕様ペンディング管理機能
DRIPは
ペンディングの管理機能を有しており、ペンディング事項のヌケ・モレを防ぎます。
更に、ペンディング事項が「何かしらの選択」をする内容のものであった場合、「どの選択をしたらシステムが成り立つか?」の分析を行う事が可能です。
Before 各種自動生成機能
要求を書いた側にとって「(読む人が)書いた通りに作ってくれるだろうか?」は永遠の課題です。
同時に作る人にとっても「仕様の意図通りに作れただろうか?」が永遠の課題です。
After 各種自動生成機能
DRIPは、実装の外殻モデルを仕様書から自動生成する事により、実装の大枠を要求側で設定可能です。これにより意識の齟齬による間違いを軽減します。
さらにDRIPは実装の完了したモデルと仕様書を結合させる事で、要求の意図を含んだ
テストハーネスを自動生成します。
これにより、より一層の「
意図通りに作れたか?」の検証が促される事となります。
Before ソフトウェア/ハードウェア矛盾検出機能
ソフトウェア設計が出来ても、そのフローが現実に基板上にレイアウトされたマイコンの上で動くとは限りません。
After ソフトウェア/ハードウェア矛盾検出機能
DRIPは
アーキテクチャ上で「ソフトウェアフローとマイコン同士の結線の矛盾」と「ソフトウェアROM/RAM負荷とマイコンのROM/RAM許容量」のチェックが可能です。
これにより、システム設計の段階でマイコンにソフトウェアを書き込むことなく、ソフトウェアとハードウェア間の矛盾検出が可能となります。
Before テスト項目の自動抽出機能
V字右側のテストプロセスは対になるV字左側プロセスの各仕様を元にテストする事となります。
しかし、仕様書の何をテストしたら良いのか?
これを調べるのは必ずしもい容易ではありません。
After テスト項目の自動抽出機能
DRIPは「
式」で表現した重要な内容を
テストハーネスの期待結果として埋め込むことが可能です。
これで、テスト評価項目の負担が軽減されると同時に、仕様書からテスト対象を探す負担も軽減されます。
Before テスト仕様と分離したテストハーネス
例えばテストハーネスを100個作ったとします。
そこにもし仕様変更がかかった場合、変更箇所がたとえ僅かだとしても、対応工数は膨大なものになります。
After テスト仕様と分離したテストハーネス
DRIPは「
実装」と「
要求」、「
ローレベル要求」、「
テストケース」から
テストハーネスを自動生成します。
つまり、
テスト仕様と
テストハーネスは分離された事となり、仮に
テストケースが仕様変更されたとしても(自動生成できるため)実装側の負担はほぼゼロになります。
Before 該当箇所の参照機能
「テストの結果、仕様の不備が判明した」、「実装の中で仕様の不備が判明した」」、「仕様を書いている中で(別担当もしくはプロセスの)不備が判明した」、こうした状況は現実のプロセスでは往々にして存在します。
しかし、「修正すべき場所」を見つけるのは必ずしも容易ではありません。
After 該当箇所の参照機能
DRIPは各種
トレーサビリティ機能を有しており、マウスクリックで簡単に該当箇所へジャンプする事が可能です。
Before 値の最適化機能
仕様策定の段階で値を決められないケースは、現実のプロセスでは珍しくありません。
こうしたとき、テストを繰り返すことでその「最適値」を模索する事があります。
After 値の最適化機能
DRIPは
「最適値候補」を自動検出します。(ランダム生成ではなく数学的根拠のある候補値)
さらに、その全パターン自動検証を行う事で、候補の中から最も最適な「最適値」を算出する事ができます。
Before 情報共有/バージョン管理機能
プロジェクトは一人が一つの現場で行う訳ではありません。
常に最新の情報のみが必要とされる訳でもありません。時によっては、過去の任意の時点の仕様が必要となる場合もあります。
After 情報共有/バージョン管理機能
DRIPはバージョン・コントロール・システムに対応しております。
これにより、複数担当者・複数拠点であっても同時に仕事をすることが可能です。
更に、過去の任意の時点の仕様を確認する事も出来ます。
Before プロダクトライン管理機能(派生開発)
プロジェクトは常にゼロ(要求)からスタートするとは限りません。
既存の資産や過去のプロジェクトがある前提で、その途中から派生のプロジェクトが始まる事がほとんどです。
こうした事が続いて仕様の派生版が増えてくると、その内容や差分の管理が次第に困難になってきます。
After プロダクトライン管理機能(派生開発)
DRIPには派生版管理機能があります。
これにより常に原本の修正が可能となり、派生版の管理が容易となります。
まとめ
V字の要求と実装デザインがつながり、様々な検証・自動化・効率化を実現します。

お問い合わせ先
株式会社 NEAT
愛知県名古屋市千種区池下1-11-21
TEL:052-764-3311 FAX:052-764-3632
Engineered Mechatronics, Inc.
28175 Haggerty Road, Novi, MI 48377, USA
TEL:Ph: +1 248 513 8059
* 記載の会社名および製品名は、各社の登録商標および商標です。