(2)數(shù)據(jù)詞典的使用
在結(jié)構(gòu)化分析的過程中,可以通過名字,方便地查閱數(shù)據(jù)的定義:同時(shí)可按各種要求,隨時(shí)列出各種表,以滿足分析員的需要。還可以按描述內(nèi)容(或定義)來查詢數(shù)據(jù)的名字,通過檢查各個(gè)加工的邏輯功能,可以實(shí)現(xiàn)和檢查在數(shù)據(jù)與程序之間的一致性和完整性,在以后的設(shè)計(jì)與實(shí)現(xiàn)階段,以至于到維護(hù)階段。都需要參考數(shù)據(jù)詞典進(jìn)行設(shè)計(jì)、修改和查詢。
(3)數(shù)據(jù)結(jié)構(gòu)的描述
在數(shù)據(jù)詞典的編制中,分析員最常用的描述數(shù)據(jù)結(jié)構(gòu)的方式有定義式和Warnier圖。①定義式
在數(shù)據(jù)流圖中,數(shù)據(jù)流和數(shù)據(jù)文件都具有一定的數(shù)據(jù)結(jié)構(gòu)。因此必須以一種清晰、準(zhǔn)確、無二義性方式來描述數(shù)據(jù)結(jié)構(gòu)。
這種定義方法是自頂向下,逐級給出定義式,直到最后給出基本數(shù)據(jù)元素為止。②Warnier圖
Warnier圖是表示數(shù)據(jù)層次結(jié)構(gòu)的一種圖工具。它用樹形結(jié)構(gòu)描繪數(shù)據(jù)結(jié)構(gòu),它還能指出某一類數(shù)據(jù)或某一數(shù)據(jù)元素重復(fù)出現(xiàn)的次數(shù),并能指明某一特定數(shù)據(jù)在某一類數(shù)據(jù)中是否是有條件的出現(xiàn)。在進(jìn)行軟件設(shè)計(jì)時(shí),從Warnier圖入手,能夠很容易轉(zhuǎn)換成軟件的設(shè)計(jì)描述。
3.加工邏輯說明
在數(shù)據(jù)流圖中,每一個(gè)加工框只簡單地寫上了一個(gè)加工名,這顯然不能表達(dá)加工的全部內(nèi)容。隨著自頂向下逐層細(xì)化,功能越來越具體,加工邏輯也越來越精細(xì)。到最底一層,加工邏輯詳細(xì)到可以實(shí)現(xiàn)的程序,因此稱為“原子加工”或“基本加工”。如果能夠?qū)懗雒恳粋€(gè)基本加工的全部詳細(xì)邏輯功能,再自底向上綜合,就能完成全部邏輯加工。在寫基本加工邏輯的說明時(shí),應(yīng)滿足如下的要求:
·對數(shù)據(jù)流圖的每一個(gè)基本加工,必須有一個(gè)加工邏輯說明;
·加工邏輯說明必須描述基本加工如何把輸入數(shù)據(jù)流變換為輸出數(shù)據(jù)流的加工規(guī)則;
·加工邏輯說明必須描述實(shí)現(xiàn)加工的策略而不是實(shí)現(xiàn)加工的細(xì)節(jié)。
目前用于寫加工邏輯說明的工具有結(jié)構(gòu)化語言、判定表和判定樹。下面分別介紹。
(1)結(jié)構(gòu)化語言
結(jié)構(gòu)化語言也稱為PDL,是一種介于自然語言和形式化語言之間的半形式化語言。它是在自然語言基礎(chǔ)上加了一些限制而得到的語言,是使用有限的詞匯和有限的語句來描述加工邏輯。結(jié)構(gòu)化語言的詞匯表由英語命令動詞、數(shù)據(jù)詞典中定義的名字、有限的自定義詞和控制結(jié)構(gòu)關(guān)鍵詞IF-THEN-ELSE、WHELE-DO、REPEAT-UNTIL、CASE-OF等組成。其動詞的含義要具體,盡可能少用或不用形容詞和副詞。
語言的正文用基本控制結(jié)構(gòu)進(jìn)行分割,加工中的操作用自然語言短語來表示。其基本控制結(jié)構(gòu)有簡單陳述句結(jié)構(gòu)、判定結(jié)構(gòu)和重復(fù)結(jié)構(gòu)。此外在書寫時(shí),必須按層次橫向向右移行,續(xù)行也同樣向右移行,對齊。
要了解基本加工邏輯的來龍去脈、在數(shù)據(jù)流圖中的位置、加工的使用情況等有更清楚的了解,一般對結(jié)構(gòu)化英語的描述加一些外層說明。
(2)判定表
在某些數(shù)據(jù)處理問題中,某數(shù)據(jù)流圖的加工需要依賴于多個(gè)邏輯條件的取值,就是說完成這一加工的一組動作是由于某一組條件取值的組合而引發(fā)的。這時(shí)使用判定表來描述比較合適。下面以“檢查發(fā)貨單”為例,說明判定表的構(gòu)成。判定表由4個(gè)部分組成,雙線分割開的4部分是:
條件樁(Condition Stub)———左上部分:列出了各種可能的條件。除去某些問題中對各個(gè)條件的先后次序有特定的要求以外,通常判定表中對各條件的先后次序不要求。條件項(xiàng)(Condition Entry)———右上部分:給出各個(gè)條件的條件取值的組合。
動作樁(Action Stub):———左下部分:列出了可能采取的動作。這些動作的排列順序沒有限制,但為便于閱讀也可令共按適當(dāng)?shù)捻樞蚺帕小?/P>
動作項(xiàng)(Action Entry):———右下部分:是和條件項(xiàng)緊密相關(guān)的,它指出了在條件項(xiàng)的各種取值的組合情況下一步應(yīng)采取什么動作。這里將任一條件取值組合及其相應(yīng)要執(zhí)行動作作稱為規(guī)則,它在判定有中是縱貫條件項(xiàng)和動作項(xiàng)的一列。顯然,判定表中列出了多少個(gè)條件取值的組合,也就有多少條規(guī)則,即條件項(xiàng)一動作項(xiàng)有多少列。
在實(shí)際使用判定表時(shí),常常先把它化簡。如果表中有兩條或更多的規(guī)則具有相同的動作,并且其條件項(xiàng)之間存在著某些關(guān)系,就可設(shè)法將它們合并。就是說要執(zhí)行的動作與第三條件的取值無關(guān),這樣,便可將這兩條規(guī)則合并,合并后的第三條件取值用“—”表示,即與取值無關(guān)。類似地,無關(guān)條件項(xiàng)“—”,在邏輯上又可包含其他項(xiàng)值,具有相同動作的規(guī)則還可以進(jìn)一步合并。判定表能夠把在什么條件下,系統(tǒng)應(yīng)完成哪些操作,表達(dá)得十分清楚、準(zhǔn)確、一目了然。這是用語言說明難以準(zhǔn)確、清楚表達(dá)的,但是用判定表描述循環(huán)比較困難。有時(shí),判定表可以和結(jié)構(gòu)化語言結(jié)合起來使用。
(3)判定樹
判定樹也是用來表達(dá)加工邏輯的一種工具。有時(shí)候它比判定表更直觀,用它來描述加工,很容易為用戶接受。
沒有一種統(tǒng)一的方法來構(gòu)造判定樹,也不可能有統(tǒng)一的方法。因?yàn)榭陀^存在是用結(jié)構(gòu)化語言,甚至是自然語言寫成的敘述文作為構(gòu)造樹的原始依據(jù)的,但可以從中找些規(guī)律。首先,應(yīng)從文字資料中分清哪些是判定條件,哪些是判定做出的結(jié)論。
在表達(dá)一個(gè)基本加工邏輯時(shí),結(jié)構(gòu)化語言、判定表和判定樹常常交*使用,互相補(bǔ)充。因?yàn)檫@3種手段各有優(yōu)缺點(diǎn)。
總之,加工邏輯說明是結(jié)構(gòu)化分析方法的一個(gè)組成部分,對每個(gè)加工都要加以說明。使用的手段,應(yīng)當(dāng)以結(jié)構(gòu)化語言為主,對存在判斷問題的加工邏輯,可輔之以判定表和判定樹。
相關(guān)推薦:
計(jì)算機(jī)等級考試合格標(biāo)準(zhǔn)
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |