软件工程中的结构化分析方法
軟件需求分析--結(jié)構(gòu)化分析(SA)方法
結(jié)構(gòu)化開發(fā)方法(Structured Developing Method)是現(xiàn)有的軟件開發(fā)方法中最成熟,應(yīng)用最廣泛的方法,主要特點是快速、自然和方便。結(jié)構(gòu)化開發(fā)方法由結(jié)構(gòu)化分析方法(SA法)、結(jié)構(gòu)化設(shè)計方法(SD 法)及結(jié)構(gòu)化程序設(shè)計方法(SP 法)構(gòu)成的。
結(jié)構(gòu)化分析(Structured Analysis,簡稱SA 法)方法是面向數(shù)據(jù)流的需求分析方法,是70 年代末由Yourdon,Constaintine 及DeMarco 等人提出和發(fā)展,并得到廣泛的應(yīng)用。它適合于分析大型的數(shù)據(jù)處理系統(tǒng),特別是企事業(yè)管理系統(tǒng)。
SA 法也是一種建模的活動,主要是根據(jù)軟件內(nèi)部的數(shù)據(jù)傳遞、變換關(guān)系,自頂向下逐層分解,描繪出滿足功能要求的軟件模型。
1 SA 法概述
1.SA 法的基本思想
結(jié)構(gòu)化分析(Structured Analysis,簡稱SA 法)是面向數(shù)據(jù)流的需求分析方法,是70年代由Yourdon,Constaintine 及DeMarco 等人提出和發(fā)展,并得到廣泛的應(yīng)用。
結(jié)構(gòu)化分析方法的基本思想是“分解”和“抽象”。
分解:是指對于一個復(fù)雜的系統(tǒng),為了將復(fù)雜性降低到可以掌握的程度,可以把大問題分解成若干小問題,然后分別解決。
圖4 是自頂向下逐層分解的示意圖。頂層抽象地描述了整個系統(tǒng),底層具體地畫出了系統(tǒng)的每一個細(xì)節(jié),而中間層是從抽象到具體的逐層過渡。
抽象:分解可以分層進(jìn)行,即先考慮問題最本質(zhì)的屬性,暫把細(xì)節(jié)略去,以后再逐層添加細(xì)節(jié),直至涉及到最詳細(xì)的內(nèi)容,這種用最本質(zhì)的屬性表示一個自系統(tǒng)的方法就是“抽象”。
?
2.SA 法的步驟
⑴建立當(dāng)前系統(tǒng)的“具體模型”;
系統(tǒng)的“具體模型”就是現(xiàn)實環(huán)境的忠實寫照,即將當(dāng)前系統(tǒng)用DFD 圖描述出來。這樣的表達(dá)與當(dāng)前系統(tǒng)完全對應(yīng),因此用戶容易理解。
⑵抽象出當(dāng)前系統(tǒng)的邏輯模型;
分析系統(tǒng)的“具體模型”,抽象出其本質(zhì)的因素,排除次要因素,獲得用DFD 圖描述的當(dāng)前系統(tǒng)的“邏輯模型”。
⑶建立目標(biāo)系統(tǒng)的邏輯模型;
分析目標(biāo)系統(tǒng)與當(dāng)前系統(tǒng)邏輯上的差別,從而進(jìn)一步明確目標(biāo)系統(tǒng)“做什么”,建立目標(biāo)系統(tǒng)的“邏輯模型”(修改后的DFD 圖)。
⑷為了對目標(biāo)系統(tǒng)作完整的描述,還需要考慮人機(jī)界面和其它一些問題。
3.SA 法的描述工具
⑴ 分層的數(shù)據(jù)流圖
⑵ 數(shù)據(jù)詞典
⑶ 描述加工邏輯的結(jié)構(gòu)化語言、判定表或判定樹。
2 數(shù)據(jù)流圖
數(shù)據(jù)流圖(Data Flow Diagram,簡稱DFD)是描述系統(tǒng)中數(shù)據(jù)流程的圖形工具,它標(biāo)識了一個系統(tǒng)的邏輯輸入和邏輯輸出,以及把邏輯輸入轉(zhuǎn)換邏輯輸出所需的加工處理。
1.數(shù)據(jù)流圖的圖符數(shù)據(jù)流圖有以下4 種基本圖形符號:
箭頭,表示數(shù)據(jù)流;? 〇:圓或橢圓,表示加工;?? =:雙杠(帶一邊開口,一邊閉合),表示數(shù)據(jù)存儲;? □:方框,表示數(shù)據(jù)的源點或終點。
?
箭頭表示數(shù)據(jù)流,圓或橢圓表示加工。雙杠或者單杠表示數(shù)據(jù)存儲,矩形框表示數(shù)據(jù)的源點或終點,即外部實體。
⑴ 數(shù)據(jù)流 是數(shù)據(jù)在系統(tǒng)內(nèi)傳播的路徑,由一組成固定的數(shù)據(jù)項組成。除了與數(shù)據(jù)存儲(文件)之間的數(shù)據(jù)流不用命名外,其余數(shù)據(jù)流都應(yīng)該用名詞或名詞短語命名。數(shù)據(jù)流可以從加工流向加工,也可以從加工流向文件或從文件流向加工,也可以從源點流向加工或從加工流向終點。
⑵ 加工 也稱為數(shù)據(jù)處理,它對數(shù)據(jù)流進(jìn)行某些操作或變換。每個加工也要有名字,通常是動詞短語,簡明地描述完成什么加工。在分層的數(shù)據(jù)流圖中,加工還應(yīng)有編號。
⑶ 數(shù)據(jù)存儲 指暫時保存的數(shù)據(jù),它可以是數(shù)據(jù)庫文件或任何形式的數(shù)據(jù)組織。流向數(shù)據(jù)存儲的數(shù)據(jù)流可理解為寫入文件,或查詢文件,從數(shù)據(jù)存儲流出的數(shù)據(jù)可理解為從文件讀數(shù)據(jù)或得到查詢結(jié)果。
⑷ 數(shù)據(jù)源點和終點 是軟件系統(tǒng)外部環(huán)境中的實體(包括人員、組織或其他軟件系統(tǒng)),統(tǒng)稱為外部實體。一般只出現(xiàn)在數(shù)據(jù)流圖的頂層圖中。
總結(jié)
以上是生活随笔為你收集整理的软件工程中的结构化分析方法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: HbuilderX没有管理员权限,无法安
- 下一篇: 一吨应变式称重式传感器电路图_应变式传感