(前NTTデータ フェロー システム科学研究所長)山本 修一郎
連載132回で、筆者が整理した実践的な要求のまとめ方であるCROS法を紹介した。今回は、CROS法の適用例を紹介しよう。例題は、筆者が今年度受託したIPA RISE事業の「保証ケース作榮支援方式」で試作している統一的保証ケース作成支援ツールに対する要求である。まず、RISEの概要と筆者が受託した研究項目の内容について説明する。次いで、統一的保証ケース作成支援ツールとそれに対して、保証ケースの研究者と民間企業の方々へのインタビューで得た13個の要求について述べ、CROS法を適用して、これらの要求を分類することを試みる。
RISEの概要
RISEでは、わが国のソフトウェア工学・システム工学の振興を図るために、大学・研究機関から研究テーマを公募することにより、有識者で構成される委員会で採択された研究提案を委託契約方式で助成している。RISEの公募テーマには、(A)ソフトウェア工学分野の先導的な研究(B)ソフトウェア工学・システム工学の実践的な適用に関する研究(C)ソフトウェアが経済社会にもたらす革新的効果に関する実証研究(D)ソフトウェア工学・システム工学に関する課題指定研究の研究区分がある。筆者が提案した「保証ケース作成支援方式の研究」の区分は(B)である。
(B)では、ソフトウェア開発現場への適用を目的としたソフトウェア工学の成果・手法を詳細化・具体化・実用化する研究が求められている。2015年度は、19件の提案があり、6件の提案が採択されている。採択された研究区分は、(B)が2件と(D)が4件である。(B)で採択された2件は、筆者の提案と、日本大学の松野裕准教授による提案「D-Caseに基づく議論構造可視化支援ツールの開発と、スマートコミュニティにおける合意形成の実証」である。
参考のために、「保証ケース作成支援方式の研究」の概要を表1に示す。
なお、「保証ケース作成支援方式の研究」は、2015年6月から2016年2月までの9か月のプロジェクトである。本稿では、このうち、研究課題1の要求を対象にする。
表1 「保証ケース作成支援方式の研究」の概要
研究課題 | 内容、目標 | |
1 | モデルに基づく保証ケースの統一的作成法 | モデル図の構造情報に基づいて保証ケースに関する活動プロセスを定式化し、支援ツールを試作することにより、自動化範囲と自動化による改善効果を明確化 |
2 | コードに基づく保証ケース作成法 | コードの静的解析情報に基づく、コードに対する保証ケースの作成手法を定式化 |
3 | 保証ケースレビュ手法 | 保証ケースの構成情報に基づき、レビュプロセスを定式化 |
4 | 開発技術者向け教育研修教材を作成 | 定式化した保証ケース作成・レビュ手法に基づき、開発技術者向け研修教材作成・研修実施・有効性確認 |
5 | 保証ケース導入準備能力評価指標 | 保証ケースの導入計画企業担当者へのヒヤリングを実施、保証ケースの導入可能性を評価 |
例題
◆保証ケース作成支援ツール
筆者らが試作している保証ケース作成支援ツールでは、図1に示すように、モデルを用いて作成されるシステム開発工程成果物を入力として、保証ケース情報を生成することができる。出力された保証ケース情報を保証ケースエディタに入力することにより、モデルに基づく保証ケースを確認することができるようになる。このツールによって任意のモデルに対して保証ケースを自動的に作成できるようになる。
モデルに基づく保証ケース自動生成方式の詳細は、文献[5][6]で提案している。
図1 手法の活動が適切である理由(クリックで拡大)
◆保証ケース作成支援ツールへの要求
この研究に着手した2015年6月以降8月までに、この保証ケース作成支援ツールの構想を有識者8名に提示して収集した要求を表2に示す。この一覧表を作成したときの筆者の印象は、「どうもこうもバラバラで、まとめるのが億劫だな。あとで整理しよう」というものであった。
CROS法をまとめたのは9月である。そこで、気付いたのは「そうだ!CROS法がある」ということである。10月末のことだ。
以下では、CROS法を用いて表2に示した保証ケース作成支援ツールへの13件の要求を分類してみよう。はじめに、CROS法の概要をまとめておく。
表2 保証ケース作成支援ツールへの要求一覧
ID | 要求 |
1 | 新規開発プロダクトに対する効果的な導入手法を保証ケース支援ツールが提供すること |
2 | エビデンスの対象がある程度の規模を有する技術成果物群の場合において、その成果物群の中でエビデンスとなるモデル要素を明示的に関連づけて妥当性を示すこと |
3 | モデルの背景にある前提やモデルが示す範囲を明らかにし、これらをモデルが満足することを示すこと |
4 | 実際のシステムを保証するために、SysMLと連携できること。ソフトウェア視点のUMLとも連携できること |
5 | UMLやSysMLで記載すると、自動的に保証ケース図を作図できること |
6 | 設計文書から保証ケースを自動生成できること |
7 | SysMLの要求図、UMLのユースケース図などを対象とするシステム開発のゴール分析と統合できること |
8 | 議論する対象と、保証ケースとの対応関係が明確化できること |
9 | 保証ケースの普及を促進するため、UMLなどの汎用化記法とのつなぎ方を明確化できること |
10 | 保証ケースの自動生成に不足する情報が整理できること |
11 | 個々の開発文書における設計意図を明確にするために、それぞれの位置づけや前提条件、背景、目的などを明確に関係者に伝達できること |
12 | 各種の開発ドメインごとに、モデルの特徴を保証するテンプレートを提供できること |
13 | 保証ケースのテンプレートのゴールが成立する前提、戦略をルール化 できること |
CROS法の概要
CROS法には、以下の4手順がある(図2)。
Categorize:要求を分類する
Relate:分類された要求を互いに関係づける
Organize:分類され、互いに関係づけられた要求を組織化する
Specify:組織化された要求を仕様と対応付ける
図1 手法の活動が適切である理由(クリックで拡大)
続きは本誌でご覧頂けます。→本誌を購入する
ご購入のお申込みは電話(03-3507-0560)でも承っております。
- 60:要求とアーキテクチャ
- 61:要求と保守・運用
- 62:オープンソースソフトウェアと要求
- 63:要求工学のオープンな演習の試み
- 64:Web2.0と要求管理
- 65:ソフト製品開発の要求コミュニケーション
- 66:フィードバック型V字モデル
- 67:日本の要求定義の現状と要求工学への期待
- 68:活動理論と要求
- 69:ビジネスゴールと要求
- 緊急:今、なぜ第三者検証が必要か
- 71:BABOK2.0の知識構成
- 72:比較要求モデル論
- 73:第18回要求工学国際会議
- 74:クラウド時代の要求
- 75:運用要求定義
- 76:非機能要求とアーキテクチャ
- 77:バランス・スコアカードの本質
- 78:ゴール指向で考える競争戦略ストーリー
- 79:要求変化
- 80:物語指向要求記述
- 81:要求テンプレート
- 82:移行要求
- 83:要求抽出コミュニケーション
- 84:要求の構造化
- 85:アーキテクチャ設計のための要求定義
- 86:BABOKとREBOK
- 87:要求文の曖昧さの摘出法
- 88:システムとソフトウェアの保証ケースの動向
- 89:保証ケースのためのリスク分析手法
- 90:サービス保証ケース手法
- 91:保証ケースのレビュ手法
- 92:要求工学手法の再利用
- 93:SysML要求図をGSNと比較する
- 94:保証ケース作成上の落とし穴
- 95:ISO 26262に基づく安全性ケースの適用事例
- 96:大規模複雑なITシステムの要求
- 97:要求の創造
- 98:アーキテクチャと要求
- 99:保証ケース議論分解パターン
- 100:保証ケースの議論分解パターン[応用編]
- 101:要求発展型開発プロセスの事例
- 102:参照モデルに対する保証ケース
- 103:参SEMATの概要
- 104:参SEMATの活用
- 105:SEMATと保証ケース
- 106:Assure 2013の概要
- 107:要求の完全性
- 108:要求に基づくテストの十分性
- 109:システムの安全検証知識体系
- 110:機能要求の分類
- 111:IREB
- 112:IREB要求の抽出・確認・管理
- 113:IREB要求の文書化
- 114:安全要求の分析
- 115:Archimate 2.0のゴール指向要求
- 116:ゴール指向要求モデルの保証手法
- 117:要求テンプレートに基づく要求の作成手法
- 118:ビジネスゴールのテンプレート
- 119:持続可能性要求
- 120:操作性要求
- 121:安全性証跡の追跡性
- 122:要求仕様の保証性
- 123:システミグラムとドメインクラス図
- 124:機能的操作特性
- 125:セキュリティ要求管理
- 126:ソフトウェアプロダクトライン要求
- 127:システミグラムと安全分析
- 128:ITモダナイゼーションとITイノベーションにおける要求合意
- 129:ビジネスモデルに基づく要求
- 130:ビジネスゴール構造化記法
- 131:保証ケース導入上の課題
- 132:要求のまとめ方
- 133:要求整理学
- 134:要求分析手法の適切性
- 135:CROS法の適用例
- 136:保証ケース作成支援ツールの概要