结构化分析方法及其图形工具
文章目錄
- 結(jié)構(gòu)化分析方法
- 圖形工具
- 數(shù)據(jù)流圖:
- 數(shù)據(jù)字典:
- E-R圖:
- HIPO:
- 程序流程圖:
- 總結(jié)
結(jié)構(gòu)化分析方法
是一種用圖形化的方式來表示軟件開發(fā)的方法,指注重軟件設(shè)計(jì)的結(jié)構(gòu)的合理性。
優(yōu)點(diǎn):
- 圖形化的表達(dá)更加直觀,清晰,往往一張圖比文字更具說服力;
- 有些圖能表達(dá)系統(tǒng)立體的結(jié)構(gòu)設(shè)計(jì),強(qiáng)調(diào)邏輯功能;
- 用圖形表達(dá)能很好的將系統(tǒng)各部門聯(lián)系起來,而不是若干個(gè)子系統(tǒng)的拼湊
圖形工具
數(shù)據(jù)流圖:
數(shù)據(jù)流圖(Data Flow Diagram)簡(jiǎn)稱:DFD,通過系統(tǒng)對(duì)數(shù)據(jù)“流”的圖形表示,是從數(shù)據(jù)傳遞和加工角度,顯示了系統(tǒng)輸入和輸出的信息,數(shù)據(jù)的流向以及最終存儲(chǔ)在哪里,能讓用戶更加直觀的明白系統(tǒng)的工作原理。
基本元素:
- 數(shù)據(jù)源
- 數(shù)據(jù)存儲(chǔ)
- 處理
- 數(shù)據(jù)源點(diǎn)/終點(diǎn)(Input/Output)
那么,如何畫數(shù)據(jù)流圖呢?
舉個(gè)栗子:
- 畫出整個(gè)系統(tǒng)概括的模型,系統(tǒng)實(shí)質(zhì)上由若干個(gè)數(shù)據(jù)源點(diǎn)/終點(diǎn)以及一個(gè)處理組成。處理就代表了系統(tǒng)對(duì)數(shù)據(jù)加工的基本功能。
- 在概括模型的基礎(chǔ)上對(duì)處理,也就是訂貨系統(tǒng)進(jìn)行細(xì)化,并且給出數(shù)據(jù)的最終存儲(chǔ)地,標(biāo)明數(shù)據(jù)流的內(nèi)容。
- 對(duì)系統(tǒng)細(xì)化后產(chǎn)生的兩個(gè)分支再次進(jìn)行細(xì)化,層層遞進(jìn)的展示內(nèi)部數(shù)據(jù)的流向。
- 給已經(jīng)細(xì)化的系統(tǒng)勾畫出邊界。
- 以劃分系統(tǒng)的功能為劃分方式再次劃分邊界。
數(shù)據(jù)字典:
數(shù)據(jù)字典(Data Dictionary),顧名思義,起到了字典的作用,是結(jié)構(gòu)化分析方法的一種重要工具,功能是對(duì)數(shù)據(jù)流圖中的各個(gè)基本要素的具體內(nèi)容所做的完整的定義和說明。
- 舉個(gè)栗子:
E-R圖:
基本元素:
- 實(shí)體,實(shí)體又分為強(qiáng)實(shí)體與弱實(shí)體;強(qiáng)實(shí)體:一般所說的實(shí)體;弱實(shí)體是指一個(gè)實(shí)體對(duì)于另一個(gè)實(shí)體(強(qiáng)實(shí)體)具有很強(qiáng)的依賴關(guān)系,并且該實(shí)體主鍵的一部分或全部從其強(qiáng)實(shí)體中獲得,則該實(shí)體成為弱實(shí)體。
- 屬性,即實(shí)體的屬性
- 聯(lián)系,即實(shí)體與實(shí)體之間聯(lián)系,可以為1:N,1:1,M:N
舉個(gè)栗子:
HIPO:
HIPO(Hierachy plus input-Process-Output),由層次結(jié)構(gòu)圖和IPO圖兩部分組成的。
- 層次結(jié)構(gòu)圖(H):描述軟件的層次結(jié)構(gòu),矩形框表示一個(gè)模塊,矩形框之間的直線表示模式之間調(diào)用關(guān)系。舉個(gè)栗子:
- IPO圖:H圖中只說明了軟件系統(tǒng)由諸多模塊組成及其控制層次結(jié)構(gòu),并未說明模塊間的信息傳遞及模塊內(nèi)部處理。因此,需要繪制具體的IPO圖來表達(dá)模塊間信息的傳遞。IPO的形式為:列出有關(guān)的輸入數(shù)據(jù),對(duì)輸入數(shù)據(jù)進(jìn)行處理,最終填寫輸出數(shù)據(jù)。舉個(gè)栗子:
H圖說明了軟件系統(tǒng)由哪些模塊組成及其層次結(jié)構(gòu),IPO圖說明了模塊間的信息傳遞及模塊內(nèi)部的處理。如果在結(jié)構(gòu)化設(shè)計(jì)中,一個(gè)系統(tǒng)模塊結(jié)構(gòu)圖很復(fù)雜,可采用層次圖對(duì)其進(jìn)行進(jìn)一步的抽象,并且可以給結(jié)構(gòu)圖中的每一模塊配以相應(yīng)的IPO圖進(jìn)行描述。對(duì)于IPO圖,軟件開發(fā)人員可以利用它進(jìn)行模塊設(shè)計(jì),編寫、修改或維護(hù)程序,也可根據(jù)它評(píng)價(jià)總體設(shè)計(jì),所以說IPO圖是系統(tǒng)設(shè)計(jì)階段的一種重要文檔資料。
程序流程圖:
程序流程圖(Program flow chart),是用規(guī)定的元素描述程序運(yùn)行的具體步驟,也就是邏輯思路。
基本元素:
-
開始/結(jié)束
-
流程
-
判定
-
數(shù)據(jù)
-
數(shù)據(jù)庫(kù)
-
連接線
舉個(gè)栗子:
總結(jié)
需求分析中首先需要數(shù)據(jù)流圖來展示數(shù)據(jù)流的走向以及數(shù)據(jù)最終存儲(chǔ)地;再繪制數(shù)據(jù)字典,是數(shù)據(jù)流圖中的數(shù)據(jù)源及數(shù)據(jù)存儲(chǔ)的定義及解釋,而數(shù)據(jù)字典只列出了定義,并未展示出它們之間的聯(lián)系;繪制ER圖來表示實(shí)體與實(shí)體間的聯(lián)系;而在總體設(shè)計(jì)中,首先需要繪制HIPO圖對(duì)整個(gè)系統(tǒng)有個(gè)宏觀的掌控;再繪制程序流程圖來表達(dá)各個(gè)模塊的具體邏輯思路。
總結(jié)
以上是生活随笔為你收集整理的结构化分析方法及其图形工具的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 用php批处理图片,PHP中使用CURL
- 下一篇: 线性与非线性规划:三次拟合