ミス・ユースケースの利活用

ミス・ユースケースの利活用
非機能要件から得られたリスク対応のモデル化
2010年12月 2日
南関東地区大会審査委員長
アンリツエンジニアリング株式会社
林 啓弘
ETロボコン2010 CS大会ワークショップ資料/ETロボコン実行委員会
1
概要

ETロボコンのモデルにみる要求分析で
非機能要件や外乱等について列挙されて
いますが、列挙された当該課題の対策を
行うにあたって、どこでどのように対応して
いるかを文字列で表明されています。
分かりづらいものも

ユースケースを拡張した ミス・ユース
ケースを利活用して、モデル図上に「課題
対策」を表明してみませんか。
お誘い
ETロボコン2010 CS大会ワークショップ資料/ETロボコン実行委員会
2
ソフトウェアの品質特性 (JIS X 0129-1)
ソフトウェアの品質特性 (JIS X 0129-1)
特性
副特性
機能性
合目的性
functionality
正確性
説明
ソフトウェアが、指定された条件の下で利用されるときに、
相互運用性
セキュリティ
明示的及び暗示的必要性に合致する機能を提供するソフトウェア
製品の能力
機能性標準適合性
信頼性
成熟性
reliability
障害許容性
回復性
指定された条件下で利用するとき、指定された達成水準を維持す
るソフトウェア製品の能力
信頼性標準適合性
使用性
理解性
usability
習得性
運用性
指定された条件の下で利用するとき、理解、習得、利用でき、利
用者にとって魅力的であるソフトウェア製品の能力
魅力性
使用性標準適合性
効率性
時間効率性
efficiency
資源効率性
効率性標準適合性
保守性
解析性
maintainability
変更性
非機能要求から実装可能
なアーキテクチャを設計し、
技術的な機能仕様書に具
体化する。
非機能要求が、あいまい
になっている場合は、不足
している基礎情報を調査し、
事例や専門家の経験も活
用して明示的に洗練する。
明示的な条件の下で、使用する資源の量に対比して適切な性能を
提供するソフトウェア製品の能力
修正のしやすさに関するソフトウェア製品の能力。修正は、是正
安定性
若しくは向上、又は環境の変化、要求仕様の変更及び機能仕様の
試験性
変更にソフトウェアを適応させることを含めてもよい。
非機能要求が、前提の多
い仮説になっている場合は、
技術的なリスクとして管理し、
エンジニアリング活動を行う。
保守性標準適合性
移植性
環境適応性
portability
設置性
引用
ある環境から他の環境に移すためのソフトウェア製品の能力。
共存性
備考:環境には組織、ハードウェア又はソフトウェアの環境を含
置換性
めてもよい。
要素技術などに記載されています
移植性標準適合性
要求工学・設計開発技術研究部会
非機能要求とアーキテクチャWG
非機能要求とアーキテクチャWG
2007年
2007年8月
*日本工業標準調査会
ETロボコン2010 CS大会ワークショップ資料/ETロボコン実行委員会
3
ソフトウェアの品質特性 (JIS X 0129-1)
ソフトウェアの品質特性 (JIS X 0129-1)
特性
副特性
機能性
合目的性
functionality
正確性
説明
ソフトウェアが、指定された条件の下で利用されるときに、
相互運用性
明示的及び暗示的必要性に合致する機能を提供するソフトウェ
セキュリティ
ア製品の能力
機能性標準適合性
信頼性
成熟性
reliability
障害許容性
回復性
信頼性標準適合性
使用性
理解性
usability
習得性
運用性
指定された条件下で利用するとき、指定された達成水準を維持
するソフトウェア製品の能力
粒度が適切ならば
ユースケースで表明。
指定された条件の下で利用するとき、理解、習得、利用でき、
利用者にとって魅力的であるソフトウェア製品の能力
効率性
ユースケースでの表明が不適切ならば、
ユースケース記述で表明
時間効率性
efficiency
資源効率性
魅力性
使用性標準適合性
効率性標準適合性
保守性
解析性
maintainability
変更性
ここは?
非機能要求から実装可能な
アーキテクチャを設計し、技
術的な機能仕様書に具体化
する。
非機能要求が、あいまいに
なっている場合は、不足して
いる基礎情報を調査し、事例
や専門家の経験も活用して
明示的に洗練する。
明示的な条件の下で、使用する資源の量に対比して適切な性能
を提供するソフトウェア製品の能力
修正のしやすさに関するソフトウェア製品の能力。修正は、是
安定性
正若しくは向上、又は環境の変化、要求仕様の変更及び機能仕
試験性
様の変更にソフトウェアを適応させることを含めてもよい。
非機能要求が、前提の多い
仮説になっている場合は、技
術的なリスクとして管理し、エ
ンジニアリング活動を行う。
保守性標準適合性
移植性
環境適応性
portability
設置性
引用
ある環境から他の環境に移すためのソフトウェア製品の能力。
共存性
備考:環境には組織、ハードウェア又はソフトウェアの環境を
置換性
含めてもよい。
移植性標準適合性
要求工学・設計開発技術研究部会
非機能要求とアーキテクチャWG
非機能要求とアーキテクチャWG
2007年
2007年8月
*日本工業標準調査会
ETロボコン2010 CS大会ワークショップ資料/ETロボコン実行委員会
4
ソフトウェアの品質特性 (JIS X 0129-1)
ソフトウェアの品質特性 (JIS X 0129-1)
特性
副特性
機能性
合目的性
functionality
正確性
説明
フェールセーフ設計
ソフトウェアが、指定された条件の下で利用されるときに、
非機能要求から
相互運用性
明示的及び暗示的必要性に合致する機能を提供するソフトウェ
セキュリティ
ア製品の能力
機能性標準適合性
信頼性
成熟性
reliability
障害許容性
指定された条件下で利用するとき、指定された達成水準を維持
信頼性標準適合性
理解性
usability
習得性
リスク対応する?対応するならば、その影響は、どのユース
ケースに・・・ ?新たなリスクを生んでいないか?
するソフトウェア製品の能力
回復性
使用性
リスク因子を導出されているチームも・・・
どうやって判断する?
指定された条件の下で利用するとき、理解、習得、利用でき、
利用者にとって魅力的であるソフトウェア製品の能力
運用性
リスク・
コントロール
魅力性
使用性標準適合性
効率性
時間効率性
efficiency
資源効率性
明示的な条件の下で、使用する資源の量に対比して適切な性能
効率性標準適合性
保守性
maintainability
解析性
ミスユース
ケース
を提供するソフトウェア製品の能力
安定性
正若しくは向上、又は環境の変化、要求仕様の変更及び機能仕
試験性
様の変更にソフトウェアを適応させることを含めてもよい。
保守性標準適合性
環境適応性
portability
設置性
危険回避は危険を伴う
活動をしないこと
危険の
除去
危険の防止
ネガティブ・
アクター
リスク・
ファイナンス
危険の制限
危険の
保有
ある環境から他の環境に移すためのソフトウェア製品の能力。
共存性
備考:環境には組織、ハードウェア又はソフトウェアの環境を
置換性
含めてもよい。
移植性標準適合性
危険の分散
危険の結合
修正のしやすさに関するソフトウェア製品の能力。修正は、是
変更性
移植性
危険の
回避
危険の準備
自家保険
キャプティブ
危険の
転嫁
保険・共済・基金
危険の相殺
*日本工業標準調査会
ETロボコン2010 CS大会ワークショップ資料/ETロボコン実行委員会
5
ミスユースケース
ミスユースケース :人またはエンティティによって、システムに損害を与える実行
可能なアクションの集まり。
ネガティブアクター :ミスユースケースを開始するアクター。 これは意図的または
不注意によるもの。(ミスユーザ)
ユースケースA
Include や extend
脅威
<<threaten>>
ミスユースケースA
緩和
ユースケースAの
脆弱な処理を緩和する
<<mitigate>>
アクター
ネガティブ
アクター
ユースケースAの
脆弱な処理を緩和する
ETロボコン2010 CS大会ワークショップ資料/ETロボコン実行委員会
6
ミスユースケース
新たなリスクを生んでいないか・・・
脅威
<<threaten>>
ユースケースA
ミスユースケースA
緩和
<<include>>
<<mitigate>>
<<include>>
ユースケースAの
脆弱な処理を緩和する
アクター
拡張点:xxxxx
ミスユースケースB
脅威
<<threaten>>
<<extend>>
ユースケース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
様々な分析手法
分析方法等
マインドマップ
ミスユースケース分析
チーム数
マインドマップ
チームID
20
チーム名
18 誠レーシングチーム
マインドマップ
72 AEK RUNNER10
マインドマップ
フィッシュボーン
0
フィーチャ分析
6
ゴール指向分析
4
ユースケース分析
4
ミスユースケース分析
2
2
11
21
ビバリーSILS
構造化分析
1
28
HELIOS
ロバストネス分析
1
33
クラっちWIN
ドメイン分析
3
56
ひものエンベダーズ
要求分析
3
74
チームHULAパンダ
システム分析
2
79 HASH UFO
リスク分析
5
152
SOROT
(対象)コース戦略
5
174
StrayCab05
(対象)その他戦略
4
253
逆襲のR−GRAY
アナロジー/メタファー
0
264
NiASET
その他/昨年振返り
9
ソフトウェア品質特性/非機能要件
ソフトウェア品質特性/非機能要件
チームID
チーム名
青大ロボコン研MAX
マインドマップ
マインドマップ
マインドマップ
マインドマップ
マインドマップ
マインドマップ:一般社団法人ブザン教育協会
ETロボコン2010 CS大会ワークショップ資料/ETロボコン実行委員会
11
様々な分析手法
分析方法等
マインドマップ
チーム数
マインドマップ
20
0
フィッシュボーン
リスク分析
チームID
チーム名
19 Superくろしお
マインドマップ
4
24 i−K∀S
マインドマップ
ユースケース分析
4
48 のんびびりQ
マインドマップ
ミスユースケース分析
2
79 HASH UFO
フィーチャ分析
6
ゴール指向分析
ソフトウェア品質特性/非機能要件
11
構造化分析
1
ロバストネス分析
1
ドメイン分析
3
要求分析
3
システム分析
2
リスク分析
5
(対象)コース戦略
5
(対象)その他戦略
4
アナロジー/メタファー
0
その他/昨年振返り
9
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
StrayCab05
ETロボコン2010 CS大会ワークショップ資料/ETロボコン実行委員会
29
StrayCab05
<非機能要件より>
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
HASH UFO
リスク分析 ・・・
完走することを「安全」ととらえ,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