ミス ユースケースの利活用 非機能要件から得られたリスク対応のモデル化 2010 年 12 月 2 日 南関東地区大会審査委員長アンリツエンジニアリング株式会社林啓弘 ET ロボコン 2010 CS 大会ワークショップ資料 /ET ロボコン実行委員会 1
概要 ET ロボコンのモデルにみる要求分析で 非機能要件や外乱等について列挙されていますが 列挙された当該課題の対策を行うにあたって どこでどのように対応しているかを文字列で表明されています 分かりづらいものも ユースケースを拡張したミス ユースケースを利活用して モデル図上に 課題対策 を表明してみませんか お誘い ET ロボコン 2010 CS 大会ワークショップ資料 /ET ロボコン実行委員会 2
ソフトウェアの品質特性 (JIS X 0129-1) ソフトウェアの品質特性 (JIS X -1) 0129 特性 機能性 信頼性 使用性 usability 効率性 efficiency 資源効率性 保守性 maintainability 変更性 移植性 合目的性 functionality 正確性 相互運用性 成熟性 reliability 障害許容性 回復性 理解性 習得性 運用性 魅力性 時間効率性 解析性 安定性 試験性 環境適応性 portability 設置性 セキュリティ 機能性標準適合性 信頼性標準適合性 使用性標準適合性 効率性標準適合性 保守性標準適合性 共存性 置換性 副特性 移植性標準適合性 ソフトウェアが 指定された条件の下で利用されるときに 明示的及び暗示的必要性に合致する機能を提供するソフトウェア 製品の能力 指定された条件下で利用するとき 指定された達成水準を維持す るソフトウェア製品の能力 指定された条件の下で利用するとき 理解 習得 利用でき 利 用者にとって魅力的であるソフトウェア製品の能力 明示的な条件の下で 使用する資源の量に対比して適切な性能を 提供するソフトウェア製品の能力 修正のしやすさに関するソフトウェア製品の能力 修正は 是正 若しくは向上 又は環境の変化 要求仕様の変更及び機能仕様の 変更にソフトウェアを適応させることを含めてもよい ある環境から他の環境に移すためのソフトウェア製品の能力 備考 : 環境には組織 ハードウェア又はソフトウェアの環境を含 めてもよい * 日本工業標準調査会 説明 要素技術などに記載されています 非機能要求から実装可能なアーキテクチャを設計し 技術的な機能仕様書に具体化する 非機能要求が あいまいになっている場合は 不足している基礎情報を調査し 事例や専門家の経験も活用して明示的に洗練する 非機能要求が 前提の多い仮説になっている場合は 技術的なリスクとして管理し エンジニアリング活動を行う 引用 要求工学 設計開発技術研究部会 非機能要求とアーキテクチャ WG 2007 年 8 月 ET ロボコン 2010 CS 大会ワークショップ資料 /ET ロボコン実行委員会 3
ソフトウェアの品質特性 (JIS X 0129-1) ソフトウェアの品質特性 (JIS X -1) 0129 特性 機能性 信頼性 reliability 障害許容性 使用性 usability 効率性 efficiency 資源効率性 保守性 maintainability 変更性 移植性 合目的性 functionality 正確性 相互運用性 成熟性 回復性 理解性 習得性 運用性 魅力性 時間効率性 解析性 安定性 試験性 環境適応性 portability 設置性 セキュリティ 機能性標準適合性 信頼性標準適合性 使用性標準適合性 効率性標準適合性 保守性標準適合性 共存性 置換性 副特性 移植性標準適合性 ソフトウェアが 指定された条件の下で利用されるときに 明示的及び暗示的必要性に合致する機能を提供するソフトウェ ア製品の能力 指定された条件下で利用するとき 指定された達成水準を維持 するソフトウェア製品の能力 指定された条件の下で利用するとき 理解 習得 利用でき 利用者にとって魅力的であるソフトウェア製品の能力 明示的な条件の下で 使用する資源の量に対比して適切な性能 を提供するソフトウェア製品の能力 修正のしやすさに関するソフトウェア製品の能力 修正は 是 正若しくは向上 又は環境の変化 要求仕様の変更及び機能仕 様の変更にソフトウェアを適応させることを含めてもよい ある環境から他の環境に移すためのソフトウェア製品の能力 備考 : 環境には組織 ハードウェア又はソフトウェアの環境を 含めてもよい 説明 粒度が適切ならばユースケースで表明 ユースケースでの表明が不適切ならば ユースケース記述で表明 ここは? 非機能要求から実装可能なアーキテクチャを設計し 技術的な機能仕様書に具体化する 非機能要求が あいまいになっている場合は 不足している基礎情報を調査し 事例や専門家の経験も活用して明示的に洗練する 非機能要求が 前提の多い仮説になっている場合は 技術的なリスクとして管理し エンジニアリング活動を行う 引用 要求工学 設計開発技術研究部会 非機能要求とアーキテクチャ WG 2007 年 8 月 * 日本工業標準調査会 ET ロボコン 2010 CS 大会ワークショップ資料 /ET ロボコン実行委員会 4
ソフトウェアの品質特性 (JIS X 0129-1) ソフトウェアの品質特性 (JIS X -1) 0129 特性 機能性 信頼性 使用性 usability 効率性 efficiency 資源効率性 保守性 maintainability 変更性 移植性 合目的性 functionality 正確性 相互運用性 reliability 障害許容性 回復性 理解性 習得性 運用性 魅力性 時間効率性 解析性 安定性 試験性 環境適応性 portability 設置性 セキュリティ 機能性標準適合性 成熟性 信頼性標準適合性 使用性標準適合性 効率性標準適合性 保守性標準適合性 共存性 置換性 副特性 移植性標準適合性 ソフトウェアが 指定された条件の下で利用されるときに 明示的及び暗示的必要性に合致する機能を提供するソフトウェ ア製品の能力 指定された条件下で利用するとき 指定された達成水準を維持 するソフトウェア製品の能力 指定された条件の下で利用するとき 理解 習得 利用でき 利用者にとって魅力的であるソフトウェア製品の能力 明示的な条件の下で 使用する資源の量に対比して適切な性能 を提供するソフトウェア製品の能力 修正のしやすさに関するソフトウェア製品の能力 修正は 是 正若しくは向上 又は環境の変化 要求仕様の変更及び機能仕 様の変更にソフトウェアを適応させることを含めてもよい ある環境から他の環境に移すためのソフトウェア製品の能力 備考 : 環境には組織 ハードウェア又はソフトウェアの環境を 含めてもよい * 日本工業標準調査会 説明 フェールセーフ設計 非機能要求から リスク因子を導出されているチームも リスク対応する? 対応するならば その影響は どのユースケースに? 新たなリスクを生んでいないか? どうやって判断する? ミスユース ケース リスク ネガティブ アクター リスク コントロール ファイナンス 危険の 回避 危険の 除去 危険の 保有 危険の 転嫁 危険回避は危険を伴う活動をしないこと 危険の防止 危険の分散 危険の結合 危険の制限 危険の準備 自家保険 キャプティブ 保険 共済 基金 危険の相殺 ET ロボコン 2010 CS 大会ワークショップ資料 /ET ロボコン実行委員会 5
ミスユースケース ミスユースケース : 人またはエンティティによって システムに損害を与える実行可能なアクションの集まり ネガティブアクター : ミスユースケースを開始するアクター これは意図的または不注意によるもの ( ミスユーザ ) ユースケース A 脅威 <<threaten >> Include や extend ミスユースケース A アクター ユースケース A の脆弱な処理を緩和する 緩和 <<mitigate >> ネガティブアクター ユースケース A の脆弱な処理を緩和する ET ロボコン 2010 CS 大会ワークショップ資料 /ET ロボコン実行委員会 6
ミスユースケース 新たなリスクを生んでいないか ユースケース A 脅威 <<threaten >> アクター <<include>> ユースケース A の脆弱な処理を緩和する 拡張点 :xxxxx <<extend>> ユースケース B の脆弱な処理を緩和する 緩和 ミスユースケース A <<mitigate >> <<include>> 脅威 <<threaten >> ミスユースケース B 緩和 <<mitigate >> ネガティブアクター ET ロボコン 2010 CS 大会ワークショップ資料 /ET ロボコン実行委員会 7
ミスユースケース記述 ミスユースケース記述の方法は 2 通り ミスユースケース記述 ミスユースケース名称 概要 基本パス 代替パスミスユース 緩和 ( 軽減 ) ポイントケース主体で 拡張ポイント記載する トリガー 前提条件 仮定 軽減の保証 関連するビジネスルール 潜在的なミスユーザのプロファイル ステークホルダーと脅威 軽量化記法 通常のユースケース記述に 脅威 の項目を付加します ET ロボコン 2010 CS 大会ワークショップ資料 /ET ロボコン実行委員会 8
ET ロボコンの 3D 難所 3D 難所が脅威の対象になる シーソーから降りたときにシーソーに後ろから跳ね飛ばされる 試走会を見ていて 衝突して転倒する シーソー 板上のラインを見失う 階段 降りた後 ラインを見失う ET ロボコン 2010 CS 大会ワークショップ資料 /ET ロボコン実行委員会 9
その他の脅威 光センサに影響を与えるものが脅威対象になる 電池 走行に影響をあたえる 太陽光 光センサ値の変動が大きく 緩和策まいまい式 コース ( ライン ) を見失う照明 ローパスフィルタ会場では制限されている カメラのフラッシュ ET ロボコン 2010 CS 大会ワークショップ資料 /ET ロボコン実行委員会 10
様々な分析手法 ミスユースケース分析 マインドマップ フィーチャ分析 ゴール指向分析 ユースケース分析 ミスユースケース分析 ソフトウェア品質特性 / 非機能要件 構造化分析 ロバストネス分析 ドメイン分析 要求分析 システム分析 リスク分析 ( 対象 ) コース戦略 分析方法等 フィッシュボーン ( 対象 ) その他戦略 アナロジー / メタファー その他 / 昨年振返り マインドマップ チーム数 20 0 6 4 4 2 11 1 1 3 3 2 5 5 4 0 9 チーム ID チーム ID 2 青大ロボコン研 MAX 21 ビバリー SILS 28 HELIOS 33 クラっち WIN 56 ひものエンベダーズ 74 チーム HULA パンダ 79HASHUFO 152SOROT 174StrayCab 05 253 逆襲の R-GRAY 264NiASET チーム名 18 誠レーシングチーム 72AEKRUNNER10 ソフトウェア品質特性 / 非機能要件 チーム名 マインドマップ マインドマップ マインドマップ マインドマップ マインドマップ マインドマップ マインドマップ マインドマップ : 一般社団法人ブザン教育協会 ET ロボコン 2010 CS 大会ワークショップ資料 /ET ロボコン実行委員会 11
様々な分析手法 マインドマップ フィーチャ分析 ゴール指向分析 ユースケース分析 ミスユースケース分析 ソフトウェア品質特性 / 非機能要件 構造化分析 ロバストネス分析 ドメイン分析 要求分析 システム分析 リスク分析 ( 対象 ) コース戦略 分析方法等 フィッシュボーン ( 対象 ) その他戦略 アナロジー / メタファー その他 / 昨年振返り マインドマップ チーム数 20 0 6 4 4 2 11 1 1 3 3 2 5 5 4 0 9 リスク分析 チーム ID 19Super くろしお 24i-K S 48 のんびびり Q 79HASHUFO 294芝浦雑伎団 チーム名 マインドマップ マインドマップ マインドマップ マインドマップ : 一般社団法人ブザン教育協会 ET ロボコン 2010 CS 大会ワークショップ資料 /ET ロボコン実行委員会 12
誠レーシングチーム ET ロボコン 2010 CS 大会ワークショップ資料 /ET ロボコン実行委員会 13
誠レーシングチーム ET ロボコン 2010 CS 大会ワークショップ資料 /ET ロボコン実行委員会 14
誠レーシングチーム << 緩和 >> 衝立 衝立に衝突し転倒する 段差後にコースアウトする 階段 << 緩和 >> シーソー ET ロボコン 2010 CS 大会ワークショップ資料 /ET ロボコン実行委員会 15
AEK RUNNER10 ET ロボコン 2010 CS 大会ワークショップ資料 /ET ロボコン実行委員会 16
AEK RUNNER10 ネガティブアクター マシンのゆがみ 遊び難所の段差消耗した電池会場の照明 ミスユースケースの補足説明脅威と緩和策 ET ロボコン 2010 CS 大会ワークショップ資料 /ET ロボコン実行委員会 17
青大ロボコン研 MAX ET ロボコン 2010 CS 大会ワークショップ資料 /ET ロボコン実行委員会 18
青大ロボコン研 MAX ET ロボコン 2010 CS 大会ワークショップ資料 /ET ロボコン実行委員会 19
ビバリー SILS ET ロボコン 2010 CS 大会ワークショップ資料 /ET ロボコン実行委員会 20
HELIOS ET ロボコン 2010 CS 大会ワークショップ資料 /ET ロボコン実行委員会 21
HELIOS 非機能要件からの機能追加 をユースケース図に組み込まれています ( 水色 ) UC-12 ライン形状の切り替わりを特定する UC-14 段差を検出する UC-13 曲線の繋ぎ目を補完する軌跡を走行する シナリオに異常ケースを記述し 対策を織り込まれている ET ロボコン 2010 CS 大会ワークショップ資料 /ET ロボコン実行委員会 22
クラっち WIN ET ロボコン 2010 CS 大会ワークショップ資料 /ET ロボコン実行委員会 23
クラっち WIN ET ロボコン 2010 CS 大会ワークショップ資料 /ET ロボコン実行委員会 24
ひものエンベダーズ ET ロボコン 2010 CS 大会ワークショップ資料 /ET ロボコン実行委員会 25
チーム HULA パンダ ET ロボコン 2010 CS 大会ワークショップ資料 /ET ロボコン実行委員会 26
SOROT UC021 電池電圧を取得する UC025 段差を検知する UC026 ロストを検知する 品質やパフォーマンスに関する要求を明らかにする エリア分割し 各エリアに対応する走行方法を実装 詳細は 3 ージへ ET ロボコン 2010 CS 大会ワークショップ資料 /ET ロボコン実行委員会 27
SOROT ET ロボコン 2010 CS 大会ワークショップ資料 /ET ロボコン実行委員会 28
StrayCab 05 ET ロボコン 2010 CS 大会ワークショップ資料 /ET ロボコン実行委員会 29
StrayCab 05 < 非機能要件より > PID 制御 スピード制御 三重多数決 色判定 時間判定 位置判定 位置補正 復帰走法 フェイルセーフ ET ロボコン 2010 CS 大会ワークショップ資料 /ET ロボコン実行委員会 30
逆襲の R-GRAY ET ロボコン 2010 CS 大会ワークショップ資料 /ET ロボコン実行委員会 31
逆襲の R-GRAY ET ロボコン 2010 CS 大会ワークショップ資料 /ET ロボコン実行委員会 32
逆襲の R-GRAY ET ロボコン 2010 CS 大会ワークショップ資料 /ET ロボコン実行委員会 33
NiASET 非機能要件マインドマップから 走行体を構成する部品の相性や個体差などを研究する部分を抽出プログラムにフィードバックできる情報の収集なども開発のサポートという形でここで行う 主な内容 相性 不良品を念頭に入れたハードウェアの選定 さまざまな情報を効率よく得るためのソフトウェアの作成 これにより開発の円滑化 ハードウェアの問題対処が高速に可能 詳細は 5 枚目に ET ロボコン 2010 CS 大会ワークショップ資料 /ET ロボコン実行委員会 34
NiASET ET ロボコン 2010 CS 大会ワークショップ資料 /ET ロボコン実行委員会 35
Super くろしお ET ロボコン 2010 CS 大会ワークショップ資料 /ET ロボコン実行委員会 36
i-k S ET ロボコン 2010 CS 大会ワークショップ資料 /ET ロボコン実行委員会 37
のんびびり Q ET ロボコン 2010 CS 大会ワークショップ資料 /ET ロボコン実行委員会 38
HASHUFO リスク分析 完走することを 安全 ととらえ,FTA(Fault Tree Analysis) によるリスク分析を実施 完走を阻害する障害を抽出 ユースケースに表明 ET ロボコン 2010 CS 大会ワークショップ資料 /ET ロボコン実行委員会 39
芝浦雑伎団 リスク保有 衝突の可能性があるが... リスク回避 当日の状況しだいでは 3D 難所を回避 ET ロボコン 2010 CS 大会ワークショップ資料 /ET ロボコン実行委員会 40
お誘い 非機能要求から実装可能なアーキテクチャを設計し 技術的な機能仕様書に具体化する 非機能要件から導出された実装可能な要件をユースケース ( 図 記述 ) に反映されているチームは 11 チーム中 6 チーム ミスユースケース ネガティブアクターを利活用して ユースケース図を見直してみませんか ユースケースに影響する対策が 構造や振る舞いの どの部分に影響があるかが 見出せるようになります ET ロボコン 2010 CS 大会ワークショップ資料 /ET ロボコン実行委員会 41
さて 会場では制限 されている カメラのフラッシュ ET ロボコン 2010 CS 大会ワークショップ資料 /ET ロボコン実行委員会 42
私見ですが 会場では制限されている カメラのフラッシュ カメラのフラッシュ禁止 規制は いらないのでは!? ET ロボコン 2010 CS 大会ワークショップ資料 /ET ロボコン実行委員会 43
終わり ミス ユースケースの利活用 2010 年 12 月 2 日 南関東地区大会審査委員長 アンリツエンジニアリング株式会社 林啓弘 ET ロボコン 2010 CS 大会ワークショップ資料 /ET ロボコン実行委員会 44