概念設計手法(要求定義支援ツール)第1回ブログ: RDD100とは
更新日:2015年09月14日
RDD100は、大規模プロジェクトの初期検討段階から完了に至るまでをサポートする、統合支援環境として、欧米で使われているソフトウエア製品です。特に、防衛産業、航空宇宙産業、通信基盤産業などで多くの実績を持っています。「RDD」は、Riquirement Driven Development(要求主導開発)から命名されています。
RDD100を活用できるプロジェクトは種類を問いません。一般に「システム・エンジニアリング」と呼ばれる様々な分野、即ち、コンピュータシステム開発、プラント建設、新製品開発、通信網開発整備、流通機構の改善事業計画等、多岐に渡って活用されている。
大規模プロジェクトは、例外なく社会的に大きな貢献を期待され、巨大な投資を伴うために失敗が許されない。従って、プロジェクトの推進に当たっては、膨大な情報を収集して、それらを的確に評価しながら、検討疎漏がないようにする緻密さが必要となります。RDD100は、大規模プロジェクトを緻密に推進できるように情報管理を行い、そのプロジェクトの抱えている問題の発見を容易にし問題が適切に解決できるように支援します。
RDD100の仕組みを一言で言えば、プロジェクトに関するあらゆる情報を格納するデータベースと言えます。それらの情報は、単に格納されるだけでなく、分類し、関連付けすることができます。
RDD100のデータベースとしての特徴は、様々な具体的な情報を、それぞれ独自の形式を持つ「要素」として格納し、各要素間を様々な「関係」でリンクし管理できる点にあります。一般的に、必要とされる要素の種類:「要求事項」、「問題点」、「解決策」など多数の要素を作るためのテンプレートは、あらかじめ製品に組込まれています。
これらの関係を結ぶ関係の種類も数多く用意されており、それらを用いて、プロジェクトで必要とする情報や、派生した情報の全てを緻密にネット化できます。
RDD100の主な機能としては、以下の6つのものがあります。
- 要求解析機能
- モデリング機能
- 動的検証機能
- ドキュメント生成機能
- グループ作業支援機能
- 一貫性検証機能
(1)要求解析機能
要求解析機能は、太鼓簿プロジェクトが実現しなければならない様々な要求事項や、制限事項を分類して解析し、最終的に要求を定義するまでの作業を支援する機能です。初期要求から始まり、その解析から派生した二次的な要求事項や解決すべき問題点を、系統的に関連付けて管理することができます。蓄積した情報は、要求解析過程での精密な記録でもあり、ある要求を定義するに至った理由を遡行追跡することを可能とする(トレーサブルにする)ため、結果として出来上がった「要求仕様」は、完全な根拠保証性を持つことができます。
(2)モデリング機能
モデリング機能は、要求解析作業で明らかになった「要求仕様」から、実現すべきシステムの機能や構造を「モデル」として表すことを支援する機能です(プロジェクトによっては、要求解析機能だけを使う場合もあります)。
このモデルは、システムを構成するコンポーネントが、どのような機能を持ち、どのように他のコンポーネントと協調して働くかを表したネットワークモデルであり、モデルそのものも、RDD100のデータベース中に格納される「要素」であり、モデルの各部は、要求仕様を反映していることを明らかにするために「要求仕様」と関連付けられ(リンクが張られ)ます。モデルの表現方法は、ビヘイビア・ダイアグラムと呼ぶRDD100独自の形式をとります。
(3)動的機能
動的機能は、モデルを、一種のソフトウエアプログラムとして実行し、モデル化したシステムの動作をシミュレートする機能です。この機能によって、システムに対する性能要求などの、動的な要求事項が実現できるようにモデルを改善することができます。
(4)ドキュメント生成機能
ドキュメント生成機能は、RDD100のデータベースに蓄積された情報を任意の形式で印刷し、様々なドキュメントを自動生成させることがえきます。この機能により、各種の仕様書などのドキュメントの保守に費やされていた工数を大幅に低減できます。
(5)グループ作業支援機能
グループ作業支援機能は、複数の担当者が分担して要求解析したり、モデリングを行うことを可能にする機能です。分担して作成したデータベースを、一つに統合したり、再分割することができます。
(6)一貫性検証機能
一貫性検証機能は、データベースに蓄積された情報の内容や関係付けの不備や矛盾を、過去と未来は逆転しないとの摂理を利用(確認)し、自動検証する機能です。データベース、特に定義した概念を構成するシステムに論理矛盾がないことを自動検証することで、その完全性を維持することに用います。
RDD100の実際の適用に当たっては、データベースに格納する要素の種類や関係の種類は、追加や変更が可能です。実際のプロジェクトにRDD100を適用してみると、多くの場合にこのような追加や変更が必要になってきます。このことを「ユーザによるスキーマの拡張」と呼んでいますが、RDD100には、あらかじめデザインガイドと呼ばれる拡張スキーマが付加されており、典型的なシステム・エンジニアリングには、そのまま適応することができます。デザインガイドは、システム・エンジニアリングの手順の定義も含んでいます。ユーザは、これらを参考にして、RDD100を実際のプロジェクトに適したものにカスタマイズすることになります。
次回以降の概念設計手法(要求定義支援ツール)のブログでは、 もう少し機能のイメージを具体化して順次解説して行ければと思います。