因果圖:用于描述系統(tǒng)的輸入和輸出之間的因果關(guān)系陕赃、輸入和輸入之間的約束關(guān)系
輸入與輸出的關(guān)系
恒等:若輸入條件發(fā)生鼠锈,一定會產(chǎn)生相應(yīng)的結(jié)果岭粤。比如
非:與恒等相反
與:多個輸入條件同時發(fā)生麸拄,才會產(chǎn)生相應(yīng)的結(jié)果
或:多個輸入條件只要有一個發(fā)生派昧,則產(chǎn)生相應(yīng)的結(jié)果
輸入與輸入間的約束關(guān)系
異:多個輸入條件中最多有一個發(fā)生,也可能都不發(fā)生拢切。比如有一件商品蒂萎,有3個顧客,最多有1個顧客可以買到淮椰,也可能都買不到
或:多個輸入條件中至少有一個發(fā)生五慈,也可能有多個發(fā)生。兄弟姐妹約定每周至少有一人回去照顧父母(意味著可以有多個人同時回去看望父母主穗,但至少有一個)
唯一:多個輸入條件中有且僅有一個發(fā)生泻拦。閏年和平年。
要求:多個輸入條件中忽媒,其中一個條件發(fā)生争拐,則另一個條件一定發(fā)生。輸入有效手機號和收取驗證碼晦雨,如果正常收到驗證碼則說明輸入的手機號一定是有效的架曹。
例1:某系統(tǒng)對修改文件有如下需求:第一個字符必須是A或者B,第二個字符必須是一個數(shù)字闹瞧,滿足這兩個條件則文件修改成功绑雄,如果第一個字符不正確,給出信息L奥邮,如果第二個字符不正確万牺,給出信息M。請給出該需求的判定表漠烧。請畫出因果圖并建立判定表杏愤。
中間關(guān)系:歸并邏輯靡砌,使邏輯關(guān)系更加清晰
畫出因果圖:
根據(jù)因果圖得出判定表:M=or(A1,A2)已脓、B1=and(A3,M)、B2=not(M)通殃、B3=not(A3)
例2:根據(jù)以下關(guān)于中國象棋軟件中關(guān)于走馬的規(guī)則的描述度液,畫出因果圖厕宗,并得出判定表: 1). 如果落點在棋盤外,則不移動棋子堕担; 2). 如果落點與起點不構(gòu)成日字型已慢,則不移動棋子; 3). 如果落點處有自己方棋子霹购,則不移動棋子佑惠; 4). 如果在落點方向的鄰近交叉點有棋子(絆馬腿),則不移動棋子齐疙; 5). 如果不屬于1-4條膜楷,且落點處無棋子,則移動棋子贞奋; 6). 如果不屬于1-4條赌厅,且落點處為對方棋子(非老將),則移動棋子并除去對方棋子轿塔; 7). 如果不屬于1-4條特愿,且落點處為對方老將,則移動棋子勾缭,并提示戰(zhàn)勝對方揍障,游戲結(jié)束。
例3:某金融平臺賬戶認證規(guī)則分為兩部分:個人身份認證和銀行卡認證漫拭,兩者都通過后則賬戶認證成功亚兄。個人身份認證需要提交個人基本信息和身份證正反面照片,提交后認證成功采驻。銀行卡認證分為提現(xiàn)認證和充值認證: 提現(xiàn)認證流程:提交正確銀行卡號--平臺給銀行卡中隨機打款--用戶確認金額审胚,認證成功 充值認證流程:提交正確銀行卡號--充值--網(wǎng)銀反饋,認證成功 畫出因果圖礼旅,并得出判定表
因果圖
判定表