(前NTTデータ フェロー システム科学研究所長)山本 修一郎
以前、安全要求テンプレートについて解説した。本稿では、より基本的なIREBによる要求テンプレートと、その適用手法について説明する。また、要求テンプレートを用いて組み込みシステムの共通例題に対する要求を作成することにより、要求テンプレートの適用性を確認する。
図1 処理の種類(クリックで拡大)
要求テンプレート
要求の定式化における言語効果を削減するために、容易に学習でき、適用できる方法が要求テンプレートである。ここでIREBでは、自然言語を用いて記述された文の意味が複数に解釈されることを言語効果という。自然言語は、しばしば曖昧で多様に解釈できることから、特別な注意を払う必要がある。要求文が曖昧になる原因として、以下の5点がある。
① 名詞化:機能を名詞だけで表現すると、具体的な機能の内容が曖昧になる。
② 参照索引のない名詞:名詞の具体的な説明がないと意味が曖昧になる。
③ 万能限量詞:「すべて」「ほとんど」などの限量詞では、具体的な内容が不明である。
④ 不完全に指定された条件
⑤ 不完全に指定された処理用語
高品質要求を作成する上で、要求テンプレートが要求執筆者を効果的に支援する。
表1に示した要求テンプレートを用いて、要求を定式化するための手順は以下のようである。
- 法的な義務を決定する
- 要求の中核としての処理要求を決定する
- システムの活動を特徴づける
- 処理対象を挿入する
- 論理条件と時制条件を決定する
表1 要求テンプレート(クリックで拡大)
◆義務の決定
法的義務には「shall」「should」「will」がある。以下では、「shall」「should」「will」を、それぞれ必須、推奨、将来と略記する。「将来」については、要求の実現が今期ではなく、次期でもよいことを示す。
◆処理要求の定義
処理要求を定義したら、処理の種別を、自律、対話、受動に分類する。自律処理は、システムが自動的に実行する処理である。対話処理は、利用者とシステムが対話的に実行する処理である。受動処理は、外部環境からの契機によって、システムが受動的に応答する処理である。
◆処理対象の定義
処理対象を要求テンプレートに挿入する。代表的な処理対象は、処理を表現する動詞の目的語である。もし必要があれば、対象の詳細な属性を要求テンプレートに記述する。
◆論理条件と時制条件の決定
最後に、要求が実行されるために必要となる論理的な条件(論理条件)と、時間に関する条件(時制条件)を決定することにより、要求テンプレートを完成する。
組み込みシステムの共通例題[3]
組み込みシステムの共通例題では、自転車に搭載する自転車事故防止システムについて、走行状況取得機能、環境条件取得機能、危険運転警告機能、外部接続機能、事故回避機能が記述されている。以下では、これらの機能を要求テンプレートで記述してみよう。
◆走行状況取得機能
組み込みシステムの共通例題では、走行状況取得機能が以下のように記述されている。
「・車軸あるいは車輪スポークにセンサを取り付け、車輪の回転パルスを取得する。あるいはほかの方法により直接的に走行速度を計測しても構わない。
・ハンドルにセンサを取り付け、ハンドルの回転角を取得する。
・車体の適切な位置にセンサを取り付け、車体の傾きを取得する。
なお、これらのセンサによるデータは、適切な時間間隔(たとえば0.1sec単位など)で取得し、車載コンピュータにログとして記録していく。」
要求テンプレートを記述するために、自転車事故防止システムの名称を、ここではBACS(Bike Accident Countermeasure System)としよう。走行状況取得機能の要求テンプレートを表2に示す。
表2 走行状況取得機能の要求テンプレート(クリックで拡大)
ここで「車軸センサの回転パルスを取得する」という記述に対して、車軸センサからBACSへの情報入力であることから、処理種別を「受動的」、処理対象を「回転パルス」、詳細属性を「車軸センサ」とした。また、取得した情報の記録処理は、システムによる「自動的」な処理であるとした。さらに、これらのセンサ情報の取得と記録は0.1秒間隔で実施されることから時制条件を「0.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:保証ケース作成支援ツールの概要