結構化分析工具之判定表


什么是判定表?

也稱決策表,能表示輸入條件的組合,以及與每一輸入組合對應的動作組合。與因果圖法相似判定表法主要側重輸入條件之間的邏輯關系。用於描述數據是如何被加工處理的。

判定表(Decision table)是一種表達邏輯判斷的工具。是分析和表達多邏輯條件下執行不同操作的情況的工具。在一個程序中,如果輸入輸出比較多,輸入之間和輸出之間相互制約的條件較多,在這種情況下應用決策表很合適,它可以很清楚地表達它們之間的各種復雜關系。

決策表是把作為條件的所輸入的各種組合值以及對應輸出值都羅列出來而形成的表格。它能夠將復雜的問題按照各種可能的情況全部列舉出來,簡明並可以避免遺漏。因此利用決策表能夠設計除完整的測試用例集合。

判定表的組成

判定表通常有以下無個部分組成:

  • 條件樁(Condition Stub):在左上部,列出了問題的所有條件。通常認為列出的條件的次序無關緊要。
  • 動作樁(Action Stub):在左下部,列出了問題規定可能采取的操作。這些操作的排列順序沒有約束。
  • 條件項(Condition Entry):在右上部,列出針對它左列條件的取值。在所有可能情況下的真假值。
  • 動作項(Action Entry):在右下部,列出在條件項的各種取值情況下應該采取的動作。
  • 規則:一種條件取值組合與其對應的動作組合(即判定表中貫穿條件項和動作項的一列)構成判定表的一個規則。條件組合的數目就是規則的數目。

如圖所示:

 

決策表的構造

判定表的建立步驟:
  1. 確定規則的個數.假如有n個條件。每個條件有兩個取值(0,1),故有2的n次方種規則。
  2. 列出所有的條件樁和動作樁。
  3. 填入條件項。
  4. 填入動作項。得到初始判定表。
  5. 簡化.合並相似規則(相同動作)。

對於N個條件的決策表,相應有2^n規則(每個條件分別取真、假值),當n比較大時,決策表很龐大。實際使用決策表時,常常先將它簡化。決策表的簡化以合並相似規則為目標,即若表種有兩條或兩條以上規則具有相同的動作,並且在條件項之間存在極為相似的關系,便可以合並。合並后的條件項用符號“-”表示,說明執行的動作與該條件的取值無關,稱為無關條件。

 

判斷表的優缺點

優點:

能夠將復雜的問題按照各種可能的情況全部列舉出來,簡明並避免遺漏。因此,利用判定表能夠設計出完整的測試用例集合。在一些數據處理問題當中,某些操作的實施依賴於多個邏輯條件的組合,即:針對不同邏輯條件的組合值,分別執行不同的操作。判定表很適合於處理這類問題。

缺點:

其缺點是判定表的建立過程較煩雜,且表達方式不如前兩種簡便。判定表在用於知識表達中,有許多其他方式所達不到的作用。

適用情況:

1、條件和動作、規則比較明確,容易轉換成判定表的

 

不適用情況(以下情況不太好直接使用判定表,但經過一定變形后也可以用):

1、條件數量太多

2、條件的取值不止true和false,而是有多種,比如范圍0-100等

3、條件之間有順序關系的,當順序變動會影響動作結果


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2026 CODEPRJ.COM