>サイトトップへ >このカテゴリの一覧へ

X 0125-1986

(1) 

目次

ページ

1.

  適用範囲

1

2.

  用語の意味

1

3.

  形式

2

3.1

  決定表

2

3.2

  条件指定

3

3.3

  動作指定

3

4.

  表の要素間の関係

3

4.1

  条件

3

4.2

  動作

3

4.3

  規則

3

5.

  決定表間の関係

4

5.1

  順番関係

4

5.2

  選択関係

4

5.3

  反復関係

4

5.4

  入れ子関係

6

5.5

  関係の組合せ

7

6.

  決定表の解釈

8

6.1

  解釈の方式

8

6.2

  完備性 (completeness)

9

附属書 1  作成の手順

10

附属書 2  決定表の例

13


日本工業規格

JIS

 X

0125

-1986

決定表

Decision Tables

1.

適用範囲  この規格は,単適合決定表の基本形式及び関連する定義を規定する。さらに,その作成と

利用のための用法を推奨する。

備考1.  この規格は,計算機による情報システムの文書化における決定表の利用法を対象とし,プロ

グラム文の表記などの他の利用法は規定しない。

2.

多重適合決定表の作成と利用のための形式及び用法は,対象としない。

引用規格: 

JIS X 0001

  情報処理用語

関連規格:JIS X 0121  情報処理用流れ図・プログラム網図・システム資源図記号

対応国際規格: 

ISO 5806

  Specification of single-hit decision tables

2.

用語の意味  この規格で用いる主な用語の意味は,JIS X 0001(情報処理用語)によるほか,次のと

おりとする。

(1)

決定表 (decision table)   問題の記述において起こり得るすべての条件と,それに対して実行すべき動

作とを組み合わせた表。

注  以下では,単に表と呼ぶことがある。

(2)

単適合決定表 (single-hit decision table)   条件の組合せのどの一つも,ただ一つの規則においてだけ

満たされる決定表。混同のおそれのない場合は,これを単に決定表と呼んでもよい。

(3)

多重適合決定表  (multiple-hit decision table)    条件の組合せのうちの少なくとも一つが,二つ以上の

規則によって満たされる決定表(1.

備考 2.参照)。

(4)

規則 (rule)   表の条件指定部及び動作指定部を通る一つの列であって,満たされるべき条件のただ一

つの組合せと,それに対応する動作との組を定義するもの。ある規則が満足されるとは,すべての条

件がその規則の条件指定に合致することをいう。

(5)

補完規則 (ELSE-rule)   表中に値による指定が示されていない条件のすべての組合せに対して,実行

すべき動作を示す規則。

備考  補完規則は,書かなくてもよい。

(6)

条件 (condition)   問題の表記において考慮すべき事項の記述又は条件の一部として考慮すべき他の

手続きへの参照。

(7)

動作 (action)   問題解決のために実行すべき処理の記述。

(8)

条件指定 (condition entry)   ある条件と特定の規則との関連付け。


2

X 0125-1986

(9)

動作指定 (action entry)   ある動作と特定の規則との関連付け。

(10)

条件記述部 (condition stub)   問題の記述において考慮すべきすべての条件を列挙したもの。

(11)

動作記述部 (action stub)   問題の記述において実行すべきすべての動作を列挙したもの。

(12)

表見出し (table heading)   他の文書から決定表を参照するための名前又はその他の手段。それの代わ

りに,又はそれに添えて,表の明確な説明を書いてもよい。

(13)

初期化部 (initialization section)   最初の条件を調べる前に順番に実行すべき無条件動作を列挙した

もの。これは,表見出しの次の行に書くことができる。初期化部は,任意選択とする。

(14)

制限指定表 (limited entry table)   すべての条件と動作が,指定部の規則への参照なしに,記述部中

の記述だけで完成している決定表(

附属書 の例 参照)。

(15)

拡張指定表  (extended entry table)    記述部中では条件や動作の共通部分だけが,記述されていて完成

していない決定表。その記述は,指定部の規則で指定された値によって完成する(

附属書 の例 

照)

(16)

混合指定表  (mixed entry table)    制限指定の行と拡張指定の行の双方を含む決定表(附属書 の例 4

参照)

備考  通常,拡張指定表と呼ばれるものは,制限指定をも含み,したがって,厳密にはいかなる拡張

指定表も混合指定表も,制限指定表(

附属書 の例 参照)に変換することのできる混合指定

表である。

(17)

完備した表 (complete table)   条件指定のすべての組合せに対して,それを満足する規則が存在する

決定表。

3.

形式

3.1

決定表  決定表の一般形式を,図 に示す。

表の本体は,条件部と動作部の境界及び記述部と指定部の境界に二重線又は一本の太線を引いて,四つ

の部分に分割する。

図 1  一般形式と名称

備考  決定表を読みやすくするために,各条件及び各動作を細い横線で区切り,各規則を細い縦線で区切って

書いてもよい。決定表の各条件,各動作及び各規則に,一意に参照するための名前を付けてもよい。


3

X 0125-1986

3.2

条件指定  条件指定の書き方は,次による。ただし,Y 及び N については,別の 2 値表現を用いて

もよい。

指定形式

規則における意味

適用対象

Y

その規則を満足するには,この Y に対応する条件が満た
されなければならない (Y= “Yes”)。

N

その規則を満足するには,この N に対応する条件が満た
されてはならない (N= “No”)。

制限指定

語句,値又は
コード

記述が未完の条件を,この語句,値又はコードによって
完成させる。その規則を満足するには,これにより完成
された条件が満たされなければならない。コードを用い

る場合には,その意味を注記する。

拡張指定

その規則を満足するには,この“−”に対応する条件は

無関係であるか,又は,その規則の文脈においては,こ
の条件は論理的に起こり得ない。起こり得ないことを強
調する目的で,

“−”の代わりに“#”を書いてもよい。

あらゆる種類

3.3

動作指定  動作指定の書き方は,次による。

指定形式

規則における意味

適用対象

X

*

その規則が満足されると,記述された動作が実行される。

制限指定

語句,値又は
コード

記述が未完の動作を,この語句,値又はコードによって
完成させる。その規則が満足されると,この完成された

動作が実行される。コードを用いる場合には,その意味
を注記する。

拡張指定

その規則が満足されると,記述された動作は実行されな
い。

あらゆる種類

*

通常,英大文字 X を書く。

4.

表の要素間の関係

4.1

条件  列記された条件の間の関係は,論理積 (AND) とする。最初の条件の前に,IF があるものと

想定する。

例: IF(最初の条件)AND(2 番目の条件)AND…AND(最後の条件)

条件を列記する順番が,効果をもつことがある。順番が意味をもたない場合には,読みやすくするため

に,重要な条件,すなわち,

“キー”条件を最初に記述してもよく,その場合の順番は,プログラム作成に

当たって選定する順番とは異なってもよい。

4.2

動作  動作の間の関係は,逐次実行を意味する。最初の動作の前には,THEN があるものと想定し,

最初の動作,2 番目の動作,…,そして最後の動作を順番に実行する。

動作は,実行すべき順番に記述する。同じ動作であっても,規則によって実行の順番が異なる場合には,

それらの異なる順番を示すのに必要な個数だけ動作を重ねて記述しなければならない。動作の実行の順番

を番号で指定することは,拡張指定表におけるコードなどと混同されるおそれがあるので,行わないほう

がよい(3.3 参照)

すべての規則において,最後に実行される動作は,その次の手続きがどこに記述されているかを示すほ

うがよい。ただし,表がそれ自体で完結している場合を除く。

4.3

規則  列記された規則の間の関係は,排他的論理和とする。

決定表における規則の順番は,意味をもたない。ただし,補完規則を用いる場合には,読みやすくする

ために,表の最後の規則として書くほうがよい(

図 参照)。


4

X 0125-1986

5.

決定表間の関係  大きい複雑な問題は,一組の決定表によって記述してもよい。

(1)

決定表間の関係は,次の 4 種類とし,これらを組み合わせることもできる。

(a)

順番 (sequence)

(b)

選択 (selection)

(c)

反復 (repetition)

(d)

入れ子 (nesting)

(2)

相互に関係付けられている決定表は,それぞれの表に関しては論理的に独立していなければならない。

ある表の条件は,別の表での条件判定の結果とは,独立に判定されなければならない。したがって,

別々の表の規則どうしの間には,何の関係もないものとする。ただし,これは,ある表における条件

判定の結果を,その表における動作によって示し(例えば,フラグを設定する。

,その表示を直後の

表の条件判定で調べるようなやり方を排除するものではない。

5.1

順番関係  図 に示すように,ある表が直後の表をもつとき,その二つの決定表は順番関係にある

という。三つ以上の決定表も同じようにして順番関係を構成できる。すなわち,番目の表がただ一つの

直後の表として  (n+1)  番目のものをもつ場合に,それらの表は順番関係にあるという。

順番関係にある表においては,先行の表が直後の表への指示子をもった動作を含んでいるほうがよい。

この動作は,後続の表を引き続いて解釈するすべての規則において,最後に実行される。

5.2

選択関係  図 に示すように,ある表が二つ以上の直後の表を選択的にもつとき,それらの表は選

択関係にあるという。

選択関係にある表においては,先行の表が直後の表への指示子をもった動作を含んでいるほうがよい。

この動作は,直後の表の一つを引き続いて解釈するすべての規則において,最後に実行される。

5.3

反復関係  図 に示すように,ある表を再び調べるために,その表の少なくとも一つの規則が直後

の表としてその表自体を指示したとき,この表は反復関係をもつという。

そのような規則では,その表への指示子をもった動作を最後に実行する必要がある。


5

X 0125-1986

図 2  決定表の順番関係

図 3  決定表の選択関係


6

X 0125-1986

図 4  決定表の反復関係

5.4

入れ子関係  ある表に記述されている条件の判定の間(図 参照)又は動作の実行の間に(図 

照)他の表の実行が完了するとき,それらの表は入れ子関係にあるという。ここで,入れ子にする表を親,

入れ子にされる表を子という。この関係は,入れ子(JIS X 0001 の 07.08.04)の定義と同じとする。

入れ子関係にある親の表は,子を呼ぶ条件又は動作において,子の表を指す何らかの適切な指示子を必

要とする。子の表は,同様にその親の表に戻る動作を必要とする。この動作は,子の表で入れ子関係を保

つすべての規則において,最後に実行されなければならない。親の表においては,条件のときにはその条

件に戻って値を与え,動作のときには次の動作に戻る。

図 5  決定表の入れ子関係(条件から呼び出す。)

備考  この例では,表 2 を実行してから,表 1 の条件を判定する。


7

X 0125-1986

図 6  決定表の入れ子関係(動作から呼び出す。)

5.5

関係の組合せ  問題とその解を記述するのに,これらの関係を任意に組み合わせて使用してよい。

例: 図 に,幾つもの関係を組み合わせた例を示す。

表 1 は,その表の反復を要求する二つの規則,及び表 2 を直後の表とする二つの規則をもつ。表 2 は,

更に表 3 を直後の表とする二つの規則,及び表 4 を直後の表とする二つの規則をもつ。表 3 及び表 4 は,

それぞれ,条件を評価するために表 5 を入れ子にする。

表 1 からの可能な選択は,次のいずれかである。

(1)

表 1 の反復

(2)

表 2,表 3(表 5 を入れ子としている)への順番処理

(3)

表 2,表 4(表 5 を入れ子としている)への順番処理


8

X 0125-1986

図 7  組み合わされた関係

6.

決定表の解釈

6.1

解釈の方式  決定表の解釈の方式は,次の(1)又は(2)とする。いずれの方式を用いるかは,規定しな

い(4.1 参照)

(1)

列順序方式 (columnar method)   事例を特定しておき,この事例について規則を一つずつ順番に調べ

ていき,満足する規則を定める。その手順は,次のとおりとする。

(a)

特定された事例についてすべての条件を判定し,それらすべての値を定める。

(b)

それらの値によって規則を一つずつ順番に調べていく。一致する値の組が見つかったら,その規則

に指定されているすべての動作を順番に実行する。

(c)

特定された事例についての値によってどの規則も満足されないなら,補完規則に指定されているす

べての動作を順番に実行する。

(2)

行順序方式 (linear method)   条件を一つずつ順番に判定していき,満足される規則を定める。その

手順は,次のとおりとする。


9

X 0125-1986

(a)

最初の条件を判定する。

(b)

この判定によって満足されない規則をすべて無視する。

(c)

残った規則について次の条件を調べる。その条件が,残った規則の全部について“−”指定をもっ

ているならば,その条件を無視する。その条件が,残った規則の一部について“−”以外の指定を

もっているならば,その規則だけについて条件を判定する。

(d)

すべての条件が判定されるか又は無視されるまで,手順(b)及び(c)を繰り返す。

(e)

条件判定のすべての結果によって満足される一つの規則が適用される。又は,いかなる規則も満足

されないときには,補完規則が適用される。

その規則で指定されたすべての動作を順番に実行する。

6.2

完備性 (completeness)   定義[2.(2)参照]によって,解釈のいずれの方式においても,満足される

規則がただ一つだけ定まらなければならない。補完規則が表に含まれていても,指定されている規則のう

ちの一つが満足されていれば,定義[2.(5)参照]によって,補完規則が適用されることはない。補完規則

を含む表は,常に完備している。補完規則は,効果としては,省略時適用の規則である。誤って表から書

き落とした規則がある場合は,その代わりに,補完規則が適用されるので,補完規則の使用には注意を要

する。

補完規則を含まない表は,条件の論理的に可能なすべての組合せを指定しなければならない。そのよう

な表については,すべての組合せを網羅するように,その作成に当たって注意しなければならない。完備

性の検証は,決定表作文の重要な部分である。


10

X 0125-1986

附属書 1  作成の手順

1.

条件指定の構成  決定表を最初に設計するとき,表の大きさを縮小する前に,条件指定の全組合せを

列挙するのがよい。これによって,いかなる条件の組合せも見落とさないようにできる。

決定表の規則の総数は,常に,各々の条件としてとり得る値の個数の積である。

例: 表に次の三つの条件がある。

(1)

条件 1 は,二つの値をとる。

(2)

条件 2 は,三つの値をとる。

(3)

条件 3 は,四つの値をとる。

規則の総数=2×3×4=24

条件指定を構成するための一般的手順は,次のとおりとする。

手順 1  規則の総数を最初の条件としてとり得る値の個数で割る。これにより,それらの値の各々

について必要になる一連の規則の個数が得られる。

手順 2  手順 1 で得られた商を,その次の条件の値の個数で割り,各値に対する一連の規則の個数

を得る。

手順 3  同様に,次々に得られる各商を,後続の条件の値の個数で割る。最後の商は,1 になる。

例: 拡張指定表に次の三つの条件がある。

(1)

条件 1 は,二つの値 Y,N をとる。

(2)

条件 2 は,三つの値 A,B,C をとる。

(3)

条件 3 は,四つの値 1,2,3,4 をとる。

規則の総数=2×3×4=24

  条件 1 における一つの値当たりの規則数=24÷2=12(すなわち,Y が 12 個,N が 12 個)

  条件 2 における一つの値当たりの規則数=12÷3=4(すなわち,A が 4 個,B が 4 個,C が

4

個)

  条件 3 における一つの値当たりの規則数=4÷4=1(すなわち,1,2,3,4 にそれぞれ一つ

ずつ)

  したがって,条件指定の全組合せは,次のとおりとなる。

条件 1 Y Y Y Y Y Y Y Y Y

Y

Y

Y

N

N

N

N

N

N

N N N N N

N

条件 2 A A A A B B B B C

C

C

C

A

A

A

A

B

B

B B C C C

C

条件 3 1 2 3 4 1 2 3 4 1

2

3

4

1

2

3

4

1

2

3 4 1 2 3

4

注  全組合せの多い表では,完備性を保証するため,他の適切な方法をとること。

2.

表の分離  ある種の問題においては,条件の個数によって,規則の個数が非常に多くなる場合がある。

1

枚の紙に書き切れない表は,何らかの論理的境界で分離して複数の表にし,適切な順番関係又は選択関

係で構成することが望ましい(本体 5.1 及び 5.2 参照)

分離の一つの方法を次に示す。最初の条件のただ一つの値だけに基づいて表を構成する。その条件の他

の値の各々について一つずつ,次のように規則を作成する。その規則では,二番目以降の条件すべてに対

して記号“−”

[本体 6.1(2)(c)“−”指定参照]を指定し,直後の表を参照する動作を一つだけ指定する。


11

X 0125-1986

例:

条件 1

A

A

A

A

A

A

A

A

A

B

C

条件 2 20 20 20 30 30 30 40 40 40 − −

条件 3

P

Q

R

P

Q

R

P

Q

R

− −

表 2 を処理する

− − − − − − − − −

X

表 3 を処理する

− − − − − − − − − −

X

3.

表の簡単化  拡張指定表や混合指定表は,詳細な吟味によってだけ簡単化できる。

制限指定表は,次の要件が満たされる場合に簡単化できる。

(1)

二つの規則を一つにまとめること,すなわち結合することができるのは,次のときに限られる。

(a)

動作の種類及び順序が,全く同一である。

(b)

それらの条件指定が,1 行だけで異なる。

(2)

その異なる指定“Y”及び“N”を,記号“−”で置き換え,規則を結合する。

(3)

結合して作られた規則を,(1)(2)の手続きに従って,更に結合することもできる。ただし,ある規則

の条件指定の記号“−”は,別の規則の“Y”又は  “N”と同じとみなしてはならない。

例: 

条件指定の全組合せを含む表

1

2

3

4

5

6

7

8

条件 A

Y

Y

Y

Y

N

N

N

N

条件 B

Y

Y

N

N

Y

Y

N

N

条件 C

Y

N

Y

N

Y

N

Y

N

動作 P

− − − − − − X

X

動作 Q

− − − − − X

− −

動作 R

X

X

X

X

X

− X

X

動作 S

X

X

X

X

X

− − −

この表を最も簡単化するには,次のように結合する。

初めの四つの規則を結合する。この場合,第 5 規則は同じ動作をもっているが,結合することはで

きない。

第 7 規則と第 8 規則を結合する。

簡単化した表

条件 A

Y

N

N

N

条件 B

− Y

Y

N

条件 C

− Y

N

動作 P

− − − X

動作 Q

− − X

動作 R X

X

− X

動作 S X

X

− −

(4)

互いに排他的な条件が含まれているときは,そのことを利用して表の大きさを縮小できる。

次の例の二つの条件は,明らかにまとめることができる。


12

X 0125-1986

4.

規則数の検査  規則数の検査は,次のとおりとする。

(1)

次の手順を用いて表の完備性を検査することができる(

附属書 の 1.参照)。

手順 1  単純規則,すなわち条件指定に記号“−”を含まない規則の規則数を“1”とする。

手順 2  条件指定に記号“−”を含む規則の規則数は,それぞれの記号“−”の因数の積とする。

記号“−”の因数は,その条件のとり得る値の個数とする。

手順 3  表の規則数の総数を求め,条件指定の全組合せ数と比較する。

例: 附属書 の例 の表から,次の規則が得られる。

4, 2, 1, 1, 8

したがって,単純規則の総数は 16 である。

(2)

補完規則を用いた場合,規則数をすぐに求められるとは限らない。その場合の規則数は,詳しく調べ

なければならない。


13

X 0125-1986

附属書 2  決定表の例

各種の決定表の例を示す。

例 1:制限指定表

表 3  制御切れ

まだレコ−ドがあるか

Y

Y

Y

Y

N

前と同じ従業員か

Y

N

N

N

#

前と同じ課か

Y

N

N

#

前と同じ部か

− −

Y

N

#

レコ−ドを併合する

X

− − − −

従業員明細を印字する

X

X

X

X

課小計を更新する

X

X

X

課小計を印字する

− −

X

X

X

部中計を更新する

− −

X

X

X

課小計をクリアする

− −

X

X

部中計を印字する

− − −

X

X

大計を更新する

− − −

X

X

部中計をクリアする

− − −

X

新しい見出しを印字する

− −

X

X

表 2 を処理する

X

X

X

表 4 を処理する

X

− − − −

終了する

− − − −

X

例 2:拡張指定表

表 7  控除分析

階級=

1

1

2

2

3

3

4

4

控除コ−ド=

0

A

B

A

B

A

B

A

B

右の控除値を設定する  0

10 20 10 30 20 40 30 60

右の表を処理する

6

8

8

8

8

9

9

9

9

例 3:拡張指定表から制限指定表への変換

表 7  控除分析

階級=1

Y

Y

N

N

N

N

N

N

階級=2

N

N

Y

Y

N

N

N

N

階級=3

N

N

N

N

Y

Y

N

N

階級=4

N

N

N

N

N

N

Y

Y

控除コ−ド=0

Y

N

N

N

N

N

N

N

N

控除コ−ド=A

N

Y

N

Y

N

Y

N

Y

N

控除コ−ド=B

N

N

Y

N

Y

N

Y

N

Y

E

L

S

E

控除値=0 を設定

X

− − − − − − − − −

控除値=10 を設定

X

X

− − − − − −

控除値=20 を設定

− −

X

− −

X

− − − −

控除値=30 を設定

− − − −

X

− −

X

− −

控除値=40 を設定

− − − − − −

X

− − −

控除値=60 を設定

− − − − − − − −

X

表 6 を処理

X

− − − − − − − − −

表 8 を処理

X

X

X

X

− − − − −

表 9 を処理

− − − − −

X

X

X

X


14

X 0125-1986

表 7  控除分析

表 20 を処理

− − − − − − − − −

X

備考  例 の拡張指定表を制限指定表に変換した一例である。

論理的に完備させるために,補完規則とそれに関連す

る動作の行を追加してある。

例 4:混合指定表

一次更新(表 13)

トランザクションファイルの終了

Y

Y

N

N

N

N

N

N

N

N

N

N

N

N

マスタ入力ファイルの終了

Y

N

N

N

N

N

N

N

N

N

N

N

N

Y

キー比較 T:MO

− −

<

<

<

<

= = = = = >  > −

T

コ−ド=

− −

I

I

A

D

I

I

A

D

D

−  −  −

IND

設定

− −

Y

N

− −

Y

N

Y

N Y N

更新ルーチン(表 15)を実行する

− − − − − − − −

X

− −  −  −  −

MO

ファイルを書く

X

X

− − − − − − − − − X  X −

新しい MI を読む

X

− − − − − − − −

X X X

MI

を MO に転記する

X

− − − − − − − −

X X X

T

を MO に転記する

− − −

X

− − − − − − −  −  −  −

IND

を設定する

− − −

X

− − − − − − −  −  −  −

IND

を解除する

− − − − − − − − −

X

− X −  −

新しい T を読む

− − −

X

− − − −

X

X

X

−  −  −

誤りコ−ド=

− −

1

2

2

3

4

− − −  −  −  −

誤りル−チン(表 22)を処理する

− −

X

X

X

X

X

− − −  −  −  −

終了ル−チン(表 21)を処理する

X

− − − − − − − − − −  −  −  −

一次更新(表 13)を処理する

X

X

− − − −

X

X

X X X

二次更新(表 14)を処理する

− − − − − − − − − − −  −  − X

記号名とコ−ドの意味 

MI

:マスタファイル入力領域内のレコード

MO

:マスタファイル出力領域内のレコード

T

:トランザクションファイル入力領域内のレコード

IND

:MO が前に挿入されたレコードを保持していることを示す標識

A

:修正トランザクション

D

:削除トランザクション

I

:挿入トランザクション


15

X 0125-1986

原案作成委員会  構成表

氏名

所属

(主査)

管      忠  義

学習院大学

(幹事)

東      基  衞

日本電気株式会社

大  隅      晃

沖電気工業株式会社

太  田  宗  洋

日本ユニバック株式会社

金  子  英  一

株式会社東芝

黒  田  寿  一

三菱電機株式会社

遠  山      澄

日本アイ・ビー・エム株式会社

中  村  真  和

株式会社日立製作所

長  野  宏  宣

日本電信電話公社

西  村  恕  彦

東京農工大学

松  原  友  夫

社団法人情報サービス産業協会

松  山  辰  郎

富士通株式会社    産業能率短期大学

守  屋  慎  次

東京電機大学

山  本  喜  一

慶應義塾大学

吉  村      正

バロース株式会社

坂  井  喜  毅

工業技術院標準部