日本ソフトウェア科学会第 30 回大会 (2013 年度) 講演論文集

DFD を用いた要求仕様の洗練化のためのトレーサビリティ構築と条件の抜け漏れ検出
和田 大輝

弓倉 陽介

鷲見 毅

藤本 宏

村田 由香里ソフトウェア開発において要求仕様の多くは記述と理解が容易なことから自然言語を用いられるが，曖昧性や抜け漏れを含みやすい問題がある．そこで，要求仕様の不備を検出するため，これまで我々は自然言語の要求仕様からDFD を生成する手法を提案している．仕様の文章の構造的情報を DFD で可視化することで，DFD の要素や構造から仕様の抜け漏れの機械的な検出を試みてきた．しかし，DFD から仕様の抜け漏れを検出し，仕様を修正する作業は，依然人手に頼る部分は大きい．そこで，本研究では，仕様の抜け漏れを容易に要求仕様にフィードバック可能にするため，DFD 生成時に要求仕様との間でトレーサビリティを構築する手法を提案する．さらに，DFD 上での仕様の抜け漏れを自動で検出する手法として，要求仕様の条件の組み合わせを網羅的に調べることで，条件の抜け漏れを検出する手法を提案する．

様の文を DFD で表し，DFD の要素や接続関係を検1 はじめに査することで，要求仕様の抜け漏れを視覚的に検出で近年，ソフトウェア開発において，要求仕様の不備きる．

を残したまま開発が進むことで，開発遅延や品質低下

この手法を用いた要求仕様の改善作業では，要求仕を招くことがある．要求仕様に含まれる不備を排除

様から DFD を自動で生成し，要求仕様と DFD の対するために，要求仕様のレビューが行われるが，ソフ応関係を人手で行うことで，要求仕様を修正していトウェアが大規模・複雑化する中，レビューだけで要た．また，生成した DFD の検査では，簡単な仕様不求仕様の品質を十分に保つには，コストが非常にか足については自動で検出し，仕様の意味まで考慮しかる．

た不備検出は人手で検出していた．そのため，要求仕このような状況に対して，自然言語解析技術を用様の規模が大きく，生成される DFD が大きくなるほいて要求仕様の不備を排除する手法が開発されていど，要求仕様と DFD の対応関係や DFD の検査に時る [1] [2]．文献 [1] は，要求仕様を含む文書成果物から間を要した．

曖昧性や誤りを検出する手法が示されている．一方，そこで，本研究では，要求仕様の修正を容易化する

我々は文献 [2] で要求仕様の抜け漏れを検出する方法

手段として，DFD による要求仕様間の参照を効率化として，自然言語から DFD(Data Flow Diagram) をするためのトレーサビリティ構築手法を提案する．ま

生成する手法を提案している．この手法では，要求仕た DFD を用いた仕様不備を機械的に検出する方式として，特にモダリティに着目した要求仕様の条件の抜

Construction of Traceability and Detecting Deficiencies of Conditional Sentences for Quality Improvement of Requirements Specifications Using Data
Flow Diagrams
Taiki Wada, Yosuke Yumikura, Takeshi Sumi, Hiroshi
Fujimoto, Yukari Murata, (株) 東芝ソフトウェア技術センター, Toshiba Corporation, Corporate Software
Engineering Center.

け漏れ検出手法について述べる．
本論文の構成は次の通りである．2 章は，DFD を用いた要求仕様の洗練化方法の課題，3 章にはトレーサビリティ構築手法，4 章では条件の抜け漏れ検出手法，5 章に提案手法で得られた評価と考察，6 章にまとめを述べる．

日本ソフトウェア科学会第 30 回大会 (2013 年度) 講演論文集

2ある．

• 設計者自身が，要求仕様を洗練するために，DFD要求仕様とそれに対応する要求仕様を参照する

1. 仕様からDFDへ変換• DFD を読める Stakeholder が，要求および仕様DFDが全て正しく DFD へモデル化されているかを確認する

2.DFDの検査

DFD

図1

3. 仕様の洗練

抜け漏れ発見DFD を用いた要求仕様の洗練手順• DFD を読めない Stakeholder が，元の要求仕様が全て DFD に表されているか確認する
これまで，要求仕様と DFD の参照関係づけは，人手で対応付けていた．そのため，要求仕様や DFD が大きくなると参照関係を探すことが困難であった．そこ
で，本稿では，要求仕様から DFD を生成するとき，2 DFD による要求仕様の洗練化の課題

トレーサビリティを構築することで，相互の参照を自2. 1 従来の DFD による要求仕様の洗練化手順

動で確認できる手法を提案する．

これまでの DFD を用いた要求仕様の洗練化手順は，次の通りである（図 1）．

2. 2. 2 DFD の検査における課題
これまでの DFD の検査は，単純な DFD の構造に1. 要求仕様の自然言語解析を行い，自然言語が持基づく検査だけであり，DFD の無名要素と DFD のつ格構造を DFD 構造に対応させる変換パター

断裂から要求仕様の抜け漏れを検出していた．本稿でンを用いて DFD を生成，係り受け情報により，は DFD の要素間の関係性の意味に着目した自動検査

DFD 間を接続し，同じ要素を持つ DFD は統合手法を提案する．

する [2]．

提案手法では，要求仕様の記述者が文に含めた意図

2. DFD から要求仕様に抜け漏れがないかを検査を汲み取り，記述が抜け漏れている条件に着目した検する．検査の観点は，DFD の無名要素や DFD査を行う．自然言語では，条件の組み合わせを記述すが断裂しているかに注目し，そのような DFD がると抜け漏れが発生し易い．そのため，これまで要求現れる原因を検討する．

仕様に現れる条件の組み合わせの抜け漏れを人手で

3. DFD の検査によって見つけた要求仕様の抜け漏れを，元の要求仕様書へと反映する．

レビューして検出していた．条件の組み合わせを持った例として要求仕様 RS1 を示す．
【RS1-1】 A が真であり，B が真であれば D する

2. 2 従来の DFD を用いた要求仕様洗練化における課題
従来の DFD による要求仕様の洗練化では，２つの課題があった．以下にその課題について述べる.

【RS1-2】 A が真であり，B が偽であれば E する【RS1-3】 A が偽であり，B が偽であれば F する
【RS1-4】 C が真であれば，G する【RS1-5】 A が真であり，C で偽であれば H する

2. 2. 1 DFD の生成における課題

この要求仕様に書かれている条件の組み合わせを網

前節の Step1 で示したように，要求仕様から DFD羅的に考えた時，次の条件の抜け漏れがあることが分を生成したとき，DFD の要素間で接続や統合が行かる．

われる．そのため，元の要求仕様の一つの文がどの• A が偽であり，B が真のときDFD に対応するのか確認することが難しい．DFD• C が偽のときがどの要求仕様から生成されたか確認するためには• A が真であり，C が真のとき要求仕様と DFD 間で参照を取る必要がある．要求仕• A が偽であり，C が真のとき様と DFD 間で参照を利用したシーンは以下の通りで• A が偽であり，C が偽のとき日本ソフトウェア科学会第 30 回大会 (2013 年度) 講演論文集
抜け漏れている条件は，要求仕様に記述されている

表1

条件を包含する関係，または包含される関係になる

3

要素の関係

要素の種類生成元ことがある．例えば，抜け漏れている条件の「A が要求なし仕様

USDM で当該仕様が記述された要求真であり，C が真のとき」は，RS1-4 の「C が真であ文当該文を構成する仕様単文当該単文を構成する文れば，G する」の条件を包含していると言える．こDFD 要素 （ノード，エッジ） 当該要素を生成した単文のとき，抜け漏れている条件の処理は，その包含関係を持つ要求仕様の条件から導かれる処理と同様になる場合が考えられる．例のように，抜け漏れている条件の「A が真であり，C が真のとき」は，RS1-41構成物

1USDM1の「G する」の処理が候補として示唆できる．同様
理の候補として導ける．本手法では，条件の組み合わ

nDFDn

DFD要素

1要素項目

1生成元要素ID
1111ID1ID

要素種類

1

せの抜け漏れの検出と同時に，処理の候補も検出して1提示する方法を取る

3 トレーサビリティ構築手法

ID1n11111ID

構成物

1要素の種類

11USDM要素

11に，「C が偽のとき」は，RS1-5 から「H する」を処nn

図2

接続情報
要素名

生成元USDMの単文ID

トレーサビリティで保持するデータ

本節では，図 1 の洗練化手順のうち，1. 仕様から各要素の対応関係のデータを保持する必要がある．

DFD への変換において，DFD と要求仕様書のトレーUSDM の各要素と DFD 要素には，表 1 に示す親子サビリティを構築する手法を述べる．

関係が存在している．本手法では，この親子関係をデータとして保持する．

3. 1 トレーサビリティの対象

USDM と DFD のトレーサビリティを構築するた本手法では，要求仕様の USDM から DFD の生成めに保持するデータ構造を図 2 に示す．図 2 の上側を行う際にトレーサビリティを構築する手法を提案

は，USDM が持つデータを示しており，USDM 要素する．

は，要素の種類，要素の項目，要素ごとの固有の ID，USDM(Universal Specification Describing Man-生成元要素 ID を保持している．また，図 2 の下側は，

ner) [3] とは，要求を階層化し，要求から抽出した仕DFD が持つデータを示しており，DFD 要素は，要様を項目化して記述する手法であり，要求と仕様の素の種類や要素名，DFD 要素間の接続関係，要素ご関連が明確になっている．USDM と DFD の間でトとの固有の ID，生成元の USDM 単文の ID を保持しレーサビリティを利用するシーンを以下に示す．ている．

(a) DFD 要素の作成元となった USDM 要素を参照する(b) USDM の仕様項目から，作成される DFD を参照する

USDM 要素とは，要求，仕様，仕様を構成する文，文

3. 3 トレーサビリティの構築
USDM を入力としてトレーサビリティ用のデータを保持しながら DFD へ変換する手順を述べる．

1. USDM から要求と仕様を抽出を構成する単文を表す．また，DFD の要素とは DFD

USDM から要求と仕様にあたる項目を抽出し，を構成するノードとエッジを表している．

USDM 要素のデータとして保持する．
2. 仕様を文に分割

3. 2 トレーサビリティの構築用データ

仕様は，句点ごとに文字列を区切り，文として分

ト レ ー サ ビ リ ティの 利 用 を 可 能 に す る た め に ，割する．取得した文は USDM 要素のデータとし

USDM から DFD へ変換を行う際に，生成されるて保持する．

日本ソフトウェア科学会第 30 回大会 (2013 年度) 講演論文集

4
3. 文を自然言語解析

文を自然言語解析することで，単文に分割し，構文情報などを抽出する．生成された単文は，給湯ロック
水温判定
沸騰ボタン
偽 偽 真 OFF ON OFF ON ON ON OFF

給湯ボタン
ON

USDM 要素のデータとして保持する．
4. 自然言語解析結果から DFD 構造を生成
単文構造を DFD 構造へ変換する．DFD 構造を構成する DFD 要素は DFD 要素のデータとして保持する．

5. DFD 構造を統合し DFD を生成

待機する

沸騰する
図3

保温する

RS2 から生成した DFD

DFD 構造を統合し，DFD を生成する．DFD のデータは ID を付与して保持する．

が ON であれば，保温する

この手順を踏むことで，前項で示したデータ構造でトレーサビリティに必要なデータを保持して，要求仕様4. 1 条件の抽出の USDM から DFD へ変換する．

DFD から要求仕様の条件を抜き出すために，DFDトレーサビリティを構築することで，3. 1 節の (a)生成時に DFD 要素に付加される条件のモダリティ [2]に示したような，DFD の要素からそれを生成したを利用する．条件のモダリティが付加された DFD のUSDM 単文をたどり，USDM の文，仕様，要求へ参例を図 4 に示す．条件のモダリティは，要求仕様の文照することができる．また，USDM 仕様から構成さ中に「〜ば」，「〜のとき」，「〜の場合」という表現がれる文，単文，DFD 要素とたどることで，(b) に示現れるときに，その変換結果が DFD に与えられる．

したようなトレーサビリティの利用ができる．

条件のモダリティが与えられた DFD の中から因子と水準を抽出する．本手法では，条件文の中で，ガ格4 条件の抜け漏れ検出手法となるものを因子，その他の格を水準として取り出

本節では，図 1 の洗練化手順のうち，2.DFD の検す．条件のモダリティを持つ DFD では，ガ格がデー査における条件の抜け漏れ検出手法を述べる．

タストア，その他の格がデータフローやプロセスで表はじめに，DFD から条件を抽出する方法についてされる．また，条件のモダリティのデータフローの出述べる．次に，本手法の全体の手順と条件の組み合わ力先となる DFD のノードは，条件によって導かれるせの抜け漏れを見つけるために利用するデータ構造処理となる．

を説明し，その後，DFD から条件の組み合わせの抜け漏れを探索する詳細な処理手順を示す．

例として，図 4 の場合，データストアの「水温判定」と「沸騰ボタン」が因子，それぞれの水準とし提案手法の説明では，以下の要求仕様 RS2 を例とて「偽」と「OFF」が取り出せる．データフローのして利用する．RS2 から生成される DFD は図 3 の先のノード「待機する」は因子と水準から導かれる処ようになる．

理となる．このように条件のモダリティが付加され【RS2-1】 水温判定が偽であり，沸騰ボタンが OFF

た DFD において，因子と水準の抽出方法は， [2] のであれば，待機するDFD の生成パターンに合わせて作成する．

【RS2-2】 水温判定が偽であり，沸騰ボタンが ONであり，給湯ロックが ON であれば，沸騰する

4. 2 検査の手順【RS2-3】 水温判定が真であり，沸騰ボタンが OFF

要求仕様の条件の抜け漏れを検査するため，本手法であり，給湯ロックが ON であれば，保温する

では，次の 3 つの手順を取る．また，各手順で保持す【RS2-4】 水温判定が真であり，沸騰ボタンが ONであり，給湯ロックが OFF であり，給湯ボタンるデータを示す．

1. DFD から因子水準データの取得

日本ソフトウェア科学会第 30 回大会 (2013 年度) 講演論文集
表2

<条件>
水温判定

偽
待機する

<条件>
沸騰ボタン
図4

OFF

モダリティを付加した DFD

要求仕様に存在する因子，水準，条件における処

5

因子水準データ表

因子

水準

仕様文への参照

水温判定

偽

RS2-1

水温判定

偽

RS2-2

水温判定

真RS2-3

水温判定

真RS2-4

沸騰ボタン

OFF

RS2-1

沸騰ボタン

ON

RS2-2

沸騰ボタン

OFFRS2-3沸騰ボタン

ON

RS2-4給湯ロック

ON

RS2-2給湯ロック

ON

RS2-3給湯ロック

OFF

RS2-4給湯ボタン

ON

RS2-4

理を抽出して下記のようなデータ表へ保持する• 因子水準データ表

表3

DFD から取り出した因子と水準，その因子と水準が含まれる仕様文への参照を組にしたデータを持つ

仕様文-処理データ表
仕様文への参照

処理

RS2-1

待機する

RS2-2

沸騰する

RS2-3

保温する

RS2-4保温する• 仕様文-処理データ表
DFD から取り出した条件における処理と，その処理が含まれる仕様文への参照を組に導かれる処理とする

3. 条件のモダリティを持つデータストアとそれにしたデータを持つ接続するデータフローが同じ仕様文から生成さ

2. 複数因子水準データの取得れたものであれば，仕様文への参照を取得する

要求仕様が持つ因子の組み合わせを取得して，そ4. 取得した条件の因子，水準，条件における処理，れに対して水準の全ての組み合わせを抽出し，複仕様文への参照を各々組にして因子水準データ表

数因子水準データとして保持すると仕様文-処理データ表へ登録する．

• 複数因子水準データ表

表 2 は，RS2 から作成した因子水準データ表であ一つの仕様文に現れる水準の組み合わせと，る．1 行ごとに仕様に現れる条件の因子，水準，仕様その仕様文への参照を組に持つデータを持つ文への参照を登録している．また，表 3 は RS2 から

3. 抜け漏れている条件の探索全網羅した水準の組み合わせに関して，要求仕様作成した仕様文-処理データ表であり，仕様に現れる条件の処理と仕様文への参照を登録している．

内に記述されていない水準の組み合わせを見つ

これら因子水準データ表の作成後は，因子が取りける．また抜け漏れている水準の組み合わせから得る全ての水準を求める．例えば表 2 では，因子が導ける処理の候補を提示する．

「水温判定」となる行を取得し，重複する水準を排除

4. 2. 1 DFD から因子水準データの取得することで，「水温判定」が取り得る水準を全て取得

要求仕様から生成した DFD から 4. 1 節で述べたできる．

ルールに従って，因子と水準を抽出し，因子水準デー

4. 2. 2 複数因子水準データの取得

タと仕様文-処理データ表を取得する．取得手順を以複数因子水準データを取得する手順を次に示す．

下に示す．

因子水準データ表内で仕様文への参照が同値とな

1. DFD から要素を一つずつ探索る行を取得する．次に，取得した行から因子を取りだ

2. 条件のモダリティを持つデータストアが存在す

し，その因子を列名に持つ複数因子水準データ表をるとき，その要素名を因子とする．また，データ作成する．作成した複数因子水準データ表には，因子ストアから出力するデータフローの要素名を水の水準として，全ての組み合わせを登録する．このと準とし，データフロー先のノードを条件によってき，水準の組み合わせが要求仕様の仕様文に記述され日本ソフトウェア科学会第 30 回大会 (2013 年度) 講演論文集

6

表5

条件表
因子水準

水温判定
沸騰ボタン

偽OFF

1. 仕様文への参照が同値となる行を取得

仕様文への参照

RS2-1
RS2-1

2. 因子を列名とする複数因子水準データ表を作成

水温判定 沸騰ボタン 仕様文への参照
真ON
真OFF
3. 水準の全ての組み合わせ
偽ONを登録4. 仕様文への参照を登録
偽OFF
RS2-1
図5表4

沸騰ボタン

給湯ロック

給湯ボタン

真ON

ONON

真ON

OFFON

真OFF

ONON

真OFF

OFFON

偽ON

ONON

偽ON

OFFON

偽OFF

ON

ON

偽OFF

OFF

ON

表6

複数因子水準データ表の作成

複数因子水準データ表の例 1

水温判定

沸騰ボタン

給湯ロック

真ON

ON

真ON

OFF

真OFF

ON

真OFF

OFF

偽ON

ON

偽ON

OFF

偽OFF

ON

偽OFF

OFF

仕様文への参照

RS2-3

RS2-2ていれば，仕様文への参照を登録する．

RS2 の因子水準データ表から複数因子水準データ表を作成する例を表 5 に示す．仕様文への参照として「RS2-1」を選択したとき，「水温判定」と「沸騰ボタ

複数因子水準データ表の例 2

水温判定

仕様文への参照

RS2-4結合した複数因子水準データ表

水温判定

沸騰ボタン

給湯ロック

給湯ボタン

真ON--

真OFF--

偽ON--

偽OFF--

真ON

ON-

真ON

OFF-

真OFF

ON-

真OFF

OFF-

偽ON

ON-

偽ON

OFF-

偽OFF

ON-

偽OFF

OFF-

真ON

ONON

真ON

OFFON

真OFF

ON

ON

真OFF

OFF

ON

偽ON

ON

ON

偽ON

OFF

ON

偽OFF

ON

ON

偽OFF

OFF

ON

仕様文への参照

RS2-1

RS2-3

RS2-2

RS2-4ン」を因子として，複数因子水準データ表を作成している．また，表 4, 表 5 は，RS2 の因子水準データ表

れている条件に対して，現在の要求仕様の内容からそから作成されたその他の複数因子水準データ表であの候補となる処理を求める手順を示す．

り，因子の組み合わせが違う複数条件ごとに表を作成している．
作成した複数因子水準データ表は結合し，一つの複1. 複数因子水準データ表の中から仕様文への参照を持たない行を取得．

2. 1 で取得した行から水準の組を取得

数因子水準データ表にする．結合は複数因子水準デー

3. 2 で取得した水準の組を包含する，または，包タ表間で因子の組み合わせに包含関係があるときに含される関係にある水準の組を持つ行を複数因実施する．表 6 には，RS2 から作成した複数因子水子水準データ表から取得

準データ表を結合した結果を示す．表内の「−」は結4. 3 の結果，同じ水準の組を持つ行が仕様文への合した結果表れる空白の値であり，条件として要求仕参照を持つならば，その値を 1 で取得した行の様に明文化されていない因子のため Don’t care とし仕様文への参照へ登録するて扱う．また，複数因子水準データ表の中で，仕様文前項で作成した RS2 から抽出した複数因子水準への参照のない行は，要求仕様に記述されていない水データ表（表 6）に対して，上記の手順を適用した結準の組み合わせを示している．

果を表 7 に示す．仕様への参照にアンダーラインが付

4. 2. 3 抜け漏れている条件の探索

いているものは，処理の候補として見つかったことを本項では，複数因子水準データ表を基に，要求仕様表している．例として，「水量判定が真，沸騰ボタンがに記述されていない条件の抜け漏れを検出し，抜け漏ON」の抜け漏れている複数条件は，仕様の RS2-4 に日本ソフトウェア科学会第 30 回大会 (2013 年度) 講演論文集
表7

未記述の複数条件に関係する仕様の抽出

水温判定

沸騰ボタン

給湯ロック

給湯ボタン

仕様文への参照

真ON--

RS2-4

真OFF

--

RS2-2

偽ON--

RS2-2

偽OFF--

RS2-1

真ON

ON-

真ON

OFF-

RS2-4

真OFF

ON-

RS2-3

真OFF

OFF-

偽ON

ON-

偽ONOFF-偽

OFF

ON-

RS2-1

偽OFF

OFF-

RS2-1

真ON

ONON

真ON

OFFON

RS2-4

真OFF

ON

ON

RS2-3

真OFF

OFFON

偽ON

ONON

偽ON

OFFON

偽OFF

ON

ON

RS2-1

偽OFF

OFF

ON

RS2-1

7

USDM から DFD への変換では用語の揺らぎは取り除かれていることが望ましく [2]，文献 [5] により修正した仕様を利用する．

5. 1 評価結果
本手法を適用して見つけた条件の抜け漏れの数を以下に示す．要求仕様内の仕様文の数は 83 である．
RS2-2

• 抜け漏れている条件数（処理候補なし）：19• 抜け漏れている条件数（処理候補あり）：206
この中で，本手法によって見つけられた抜け漏れている条件の例を示す．
結果 1 ポットの状態がアイドル，ポンプが給湯中

RS2-2でない，沸騰ボタンが 100msec 以上押されるとき処理の候補：なし
結果 2 ポットの状態が沸騰行為中，ポンプが給湯仕様内に以下の条件が記述されていません「水温判定が真であり、沸騰ボタンがONのとき」→処理の候補は，「保温する」です「 水温判定が真であり、沸騰ボタンがOFFのとき」→処理の候補は， 「保温する」です「 水温判定が偽であり、沸騰ボタンがONのとき」→処理の候補は， 「沸騰する」です「 水温判定が真であり、沸騰ボタンがONであり、かつ、給湯ロックがONのとき」→処理の候補は， 「保温する」です:

図6

条件の抜け漏れ提示例

中でない，沸騰ボタンが 100msec 以上押される
とき処理の候補：システムが沸騰する
結果 3 ポットの状態が保温行為中，ポンプが給湯中でないとき処理の候補：ヒータを制御する

記述されている「水温判定が真，沸騰ボタンが ON，

結果 4 ポットの状態が沸騰行為中，ポンプが給湯

給湯ロックが OFF，給湯ボタンが ON」の複数条件中のときに包含されている条件であるため，RS2-4 が仕様文処理の候補：なしへの参照として与えられている．

結果 1 と 2 は，要求仕様の pot-230-11 において，ポッ仕様文への参照からは，4. 2. 1 項で作成した仕様

トの状態が保温状態のときの沸騰ボタンの操作の仕文-処理データ表によって，その仕様文の条件におけ様はあるが，その他のポットの状態において，沸騰ボる処理が取得できる．これにより，抜け漏れている複タンの操作の仕様がないことを表している．また，結数条件に対して，処理の候補を求め，要求仕様に含果 2 に関しては，pot-310-21 で，ポットの沸騰行為まれる条件の抜け漏れ結果として提示する．図 6 は中の処理が書かれているため，沸騰ボタンが押されてSR2 の中で，抜け漏れている複数条件と処理の候補も「システムが沸騰行為をする」と，他の条件の記述を提示した結果である．

から候補となる処理を挙げている．この結果，沸騰ボタンの操作で想定していない状況があり，要求仕様と5 評価と考察して抜け漏れの可能性を示唆できる．

本手法の評価では，まず，抜け漏れとして検出した【pot-230-11】 ポットの状態が保温行為中で，ポ条件数を示し，次に，適用結果からどのような要求仕ンプが給湯中でなければ，沸騰ボタンが 100msec様の抜け漏れを検出できたかを述べた後に，評価と考以上押されると，ブザーを 100msec 鳴らした後，察をする．
要求仕様には，文献 [3] の 2 章，3 章を利用するが，ポットの状態を沸騰行為にする．
【pot-310-21】 ポットの状態が沸騰行為中ならば，

日本ソフトウェア科学会第 30 回大会 (2013 年度) 講演論文集

8システムが目標温度 ON/OFF 方式でヒータを制御して沸騰させる．

6 おわりに同様に，結果 3 では，pot-320-21 で保温行為中にヒー

本稿では，DFD を用いて要求仕様を洗練するとき，タを制御するという仕様が書かれているため，暗黙要求仕様の修正を容易するため，要求仕様と DFD のの処理として「ヒータを制御する」が導かれている．

相互で参照が可能なトレーサビリティ手法を提案しこれに関しては，ポンプが給湯中にヒートを制御するた．また，DFD の検査を人手で行う手間を排除する

状況に危険性がないか要求仕様の検討が必要である

ため，自動で要求仕様の条件の抜け漏れを検出すると示唆できる．

手法を提案した．提案手法は，実際の要求仕様に適用【pot-320-21】 ポットの状態が保温行為中のとき，し，網羅的に条件の抜け漏れを探索することの有効性

各保温行為モードにおける目標温度を保つように，PID 制御方式でヒータを制御する．
このように，本手法を用いて要求仕様から条件の組みを示した．
今後は，条件以外のモダリティに着目して要求仕様の抜け漏れを検出する手法を検討していく．

合わせを検出して，処理の候補を出すことで，要求仕様で考えられていなかった仕様の抜け漏れを示唆できる有効性を示せた．本手法では，水準の全ての組み合わせを求めるため，結果 4 のように仕様として同時に起こらない条件の組み合わせを求めることがある．そのため，抜け漏れている条件から要求仕様の問題となり得るか確認するのは，人手を要する．ただ，通常このような条件の組み合わせ漏れは人手で仕様から表を作成しないと気付けず，また仕様の候補まで検討するまでには至らない．本手法を用いることで，条件の組み合わせに関する仕様が，広い範囲に渡る場合においても，機械的に検出し，その結果を USDMに対応付けて修正することで，作業の効率化がはかれると考えられる．

参 考 文 献[ 1 ] 竹内広宣, 中村大賀, 萩野紫穂, 水野謙, 岩間太, 鎌田真由美：ソフトウェア開発における文書成果物の分析技術とその活用, コンピュータソフトウェア, Vol.30,
No.1, pp.53-64, 2013.
[ 2 ] 弓倉陽介, 鷲見毅, 藤本宏, 和田大輝, 村田由香里：
自然言語解析を用いた要求仕様の評価手法, 情報処理学会, 第 181 回ソフトウェア工学研究会 (SIGSE), 2013.
[ 3 ] 話題沸騰ポット（GOMA-1015 型）要求仕様書第7 版, 組込みソフトウェア管理者・技術者育成研究会,
2005.
[ 4 ] 清水吉男：要求を仕様化する技術表現する技術 改訂
第 2 版, 2010.
[ 5 ] 水 口 大 知：SLP に よ る 組 込 み シ ス テ ム 要 求
仕 様 の レ ビュー Ver.2.0, http://www.jfp.co.jp/slp/
SLP review 20100916.pdf, 2010.