ゴール指向要求分析における構成
要素に着目した分解に関する一考察
筑波大学大学院 ビジネス科学研究科
岡野 道太郎
1
はじめに
• システム開発上、顧客が「開発するシステムの
あるべき姿」を定めることは重要である。
• ゴール指向要求分析は「あるべき姿」を示した
トップゴールを分解し、開発可能な要求を導く
• 要求:Lamsweerde[1]のSystem Requirement
– 「ソフトウェア」や「他のシステムコンポーネントと協
調して」(cooperation)実現される規範的な
(prescriptive) 文
– 本研究ではコンポーネント=構成要素とする
[1] Axel van Lamsweerde,Requirements Engineering: From System Goals to UML Models
to Software Specifications,Wiley,2009(18p) 2
信号機のゴール分解(1)
コンポーネン
ト(青・赤)
コンポーネント間の
協調・連携
1.コンポーネントに分解する(赤、青)
2.分割されたコンポーネント(赤)から見て、他のコンポーネント(青)と共に行なう
こと(協調)も挙げる
要素分解
3
信号機のゴール分解(2)
• 信号機に「制御システム」というコンポーネント
• 制御システムにCPUは必須ではない
– 現在はCPU→以前はリレーとタイマー:時代の変化
– 時代の変化に影響されにくいコンポーネントの分解
方法は?→リサーチクエスチョン
4
時代の変化に影響されにくいコンポー
ネントの分割方法
• 「あるべき姿」からシステムが満たすべき要求を、
時代の変化に影響されにくく挙げる方法
– 信号機の場合、道路交通法の目的「道路における危
険を防止し、その他交通の安全と円滑を図り、及び
道路の交通に起因する障害の防止に資する」から、
信号機の要求が導き出せることになっている
– 道路交通法は、昭和35年から今まで続いている
• 道路交通法が時代の変化に影響されにくいコン
ポーネントの作り方に参考になるかも知れない
5
道路交通法等における信号機の定義
• あるべき姿:「道路交通法」1条 目的
• 信号機の定義:「道路交通法」
• 信号機の意味:「道路交通法施行令」
– 第一条の二 設置、管理しなければならない
– 第二条 信号の意味等
• 信号の種類:青色の灯火など
• 信号の意味:歩行者は進行することができるなど
– 第三条 信号の灯火の配列
• 配置(赤、黄、青の順)
• 2 信号の順序(青、黄、赤など)
• 3 信号機の構造、性能その他必要な事項は内閣府令で
道路交通法で
「意味は政令
で」と指定
6
法律での「あるべき姿」の示し方
• 道路交通法施行令の手法
– 「種類」分けて、種類ごとに定義する
– 「種類」間の関係を述べる
• 配置(空間的)、順番(時間的)
– 構造等、細かいことは、委譲する
• 内閣府令
• Lamsweerdeの「要求」と同じ
– 参考になるかも知れない
• この先、法律はどうなっているのか?
– 内閣府令=道路交通法施行規則
定義に使う言葉
は、「道路交通
法」等でも定義
→環境(文脈)
「種類」がコン
ポーネント
7
信号機の構造
• 道路交通法施行規則 (信号機の構造等)
– 第四条 信号機の構造及び燈器の高さの基準は、別表
第一のとおりとする。
– 2 青色の灯火の矢印及び黄色の灯火の矢印の種類及
び形状は、別表第一の二のとおりとする。
– 3 信号機の燈器の性能は、次の各号に定めるとおりと
する。
• 一 燈火は、高速自動車国道及び自動車専用道路においては
二百メートル、その他の道路においては百五十メートル前方から
識別できる光度を有すること。
• 二 燈火の光の発散角度は、左方、右方及び下方に、それぞれ
四十五度以上のものであること。
• 三 太陽の光線その他周囲の光線によつて紛らわしい表示を生
じやすいものでないこと。
8
信号機の構造
9
法律での「あるべき姿」の示し方2
• 別表でも「縦型」「横型」と分け、最終的に1つの「種類」に
なったところで、図示している
– 「種類」に「分類」していき、最終的に1つの「種類」になったとこ
ろで、図示している
• 「種類」の順番
– 信号の構造→信号の燈器→燈器の矢印
• 大分類→小分類
• なぜ、青と赤の信号から始めたのか?
– 信号機の定義:電気により操作され、かつ、道路の交通に関し、
灯火により交通整理等のための信号を表示する装置をいう
• 電気により操作される装置(上位・大分類)のうち「信号を表示する」
• 「大分類」+「固有の部分」に「分類」する
– CPU:「電気により操作される装置」で議論される
10
本研究での提案手法
• コンポーネントを分解するときに、
– コンポーネントの要素全てを挙げるのでなく
– そのコンポーネントの上位概念+上位概念と異なる
部分(特徴)を挙げる(オブジェクト指向の継承)
• 信号機→電気制御装置+青信号+赤信号
• コンポーネントの「協調」は上位概念と特徴との
協調、及び特徴間の協調のみ挙げる
– 上位概念を構成するコンポーネント間の協調は、そ
の上位概念内で議論するはず
• CPUか、リレーかの議論は「電気制御装置」で行われる
11
例1:美味しいぺペロンチーノ
ある事例: • 提案手法
– 「ぺペロンチーノ」を「パスタ」と
「ぺペロンチーノ」の特徴に分解
• 「パスタ」と比較し、「ぺペロンチー
ノ」の特徴を挙げる
– 特徴と上位概念・特徴間の協調
を述べる
• 麺の固さ等はパスタの中で議論
ぺペロンチーノの構造はわかるが、
美味しいぺペロンチーノには何が欠けて
はいけないのかが(要求仕様)は不明
→テストの要求仕様としては不十分 Wikipedia
で検索
Google
で検索
12
上位概念 特徴
協調
例2:信号機
• コンポーネント+協調(空間的・時間的)
• コンポーネントは上位概念+特徴だけでない
– 青赤
13
まとめ
• ゴール指向要求分析はゴールを分解して、「あるべき
姿」から開発可能な要求を導く
• 要求:コンポーネント+コンポーネント間の協調
– 全てのコンポーネントを挙げると時代の変化に対応でき
ない部分がでてくる
• 出来るだけ時代の変化にも対応できるようなコンポー
ネントの挙げ方について研究した
– コンポーネントを分解するときに、コンポーネントの上位概
念+上位概念と異なる部分(特徴)を挙げる方法もある
– コンポーネントの「協調」は上位概念と特徴との協調(連
携)、及び特徴間の協調(連携)のみ挙げる
• 時代の変化はどこに書く?
14
D-CASEとの関係
• 前提(文脈)に環境を記述できるので、時代
の変化を環境の変化として示せる
15
技術の変化:ICT発展
交通量変化
制御装置と信号にわけることにより、影響を受ける範囲を限定
デザイン思考等との関係
• 上位概念+特徴で示すのであれば、(トップダウ
ンによる分解でなく)ボトムアップで要求を挙げ、
集約することも可能ではないか?
• 細々した要求をブレインストーミングで出す
• 出てきた要求を親和図法でグループにまとめる
• グループ間の相互作用を考え出す(強制連想法)
– →デザイン思考の手法
• 要求間の矛盾の確認:ストーリーテリング(シナリオ)
– 機械学習、AIによる支援の可能性
• 上位概念の抽出:wikipedia,検索(例1)→AIでも可能?
• ペルソナとしての対話型BOT
16

ゴール指向要求分析における構成要素に着目した分解に関する一考察