回覆列表
  • 1 # 使用者6847486145697

    結構化分析方法

    結構化開發方法(Structured Developing Method)是現有的軟體開發方法中最成熟,應用最廣泛的方法,主要特點是快速、自然和方便。結構化開發方法由結構化分析方法(SA法)、結構化設計方 法(SD 法)及結構化程式設計方法(SP 法)構成的。

    結構化分析(Structured Analysis,簡稱SA 法)方法是面向資料流的需求分析方法,是70 年代末由Yourdon,Constaintine 及DeMarco 等人提出和發展,並得到廣泛的應用。它適合於分析大型的資料處理系統,特別是企事業管理系統。

    SA 法也是一種建模的活動,主要是根據軟體內部的資料傳遞、變換關係,自頂向下逐層分解,描繪出滿足功能要求的軟體模型。

    1 SA 法概述

    1.1 SA 法的基本思想

    1.1. 結構化分析(Structured Analysis,簡稱SA 法)是面向資料流的需求分析方法,是70年代由Yourdon,Constaintine 及DeMarco 等人提出和發展,並得到廣泛的應用。

    結構化分析方法的基本思想是“分解”和“抽象”。

    分解:是指對於一個複雜的系統,為了將複雜性降低到可以掌握的程度,可以把大問題分解成若干小問題,然後分別解決。

    圖4 是自頂向下逐層分解的示意圖。頂層抽象地描述了整個系統,底層具體地畫出了系統的每一個細節,而中間層是從抽象到具體的逐層過渡。

    抽象:分解可以分層進行,即先考慮問題最本質的屬性,暫把細節略去,以後再逐層新增細節,直至涉及到最詳細的內容,這種用最本質的屬性表示一個自系統的方法就是“抽象”。

    2.SA 法的步驟

    ⑴建立當前系統的“具體模型”;

    系統的“具體模型”就是現實環境的忠實寫照,即將當前系統用DFD 圖描述出來。這樣的表達與當前系統完全對應,因此使用者容易理解。

    ⑵抽象出當前系統的邏輯模型;

    分析系統的“具體模型”,抽象出其本質的因素,排除次要因素,獲得用DFD 圖描述的當前系統的“邏輯模型”。

    ⑶建立目標系統的邏輯模型;

    分析目標系統與當前系統邏輯上的差別,從而進一步明確目標系統“做什麼”,建立目標系統的“邏輯模型”(修改後的DFD 圖)。

    ⑷為了對目標系統作完整的描述,還需要考慮人機介面和其它一些問題。

    3.SA 法的描述工具

    ⑴ 分層的資料流圖

    ⑵ 資料詞典

    ⑶ 描述加工邏輯的結構化語言、判定表或判定樹。

    2 資料流圖

    資料流圖(Data Flow Diagram,簡稱DFD)是描述系統中資料流程的圖形工具,它標識了一個系統的邏輯輸入和邏輯輸出,以及把邏輯輸入轉換邏輯輸出所需的加工處理。

    1.資料流圖的圖符資料流圖有以下4 種基本圖形符號:

    箭頭表示資料流,圓或橢圓表示加工。雙槓或者單槓表示資料儲存,矩形框表示資料的源點或終點,即外部實體。

    ⑴ 資料流 是資料在系統內傳播的路徑,由一組成固定的資料項組成。除了與資料儲存(檔案)之間的資料流不用命名外,其餘資料流都應該用名詞或名詞短語命名。資料流可以從加工流向加工,也可以從加工流向檔案或從檔案流向加工,也可以從源點流向加工或從加工流向終點。

    ⑵ 加工 也稱為資料處理,它對資料流進行某些操作或變換。每個加工也要有名字,通常是動詞短語,簡明地描述完成什麼加工。在分層的資料流圖中,加工還應有編號。

    ⑶ 資料儲存 指暫時儲存的資料,它可以是資料庫檔案或任何形式的資料組織。流向資料儲存的資料流可理解為寫入檔案,或查詢檔案,從資料儲存流出的資料可理解為從檔案讀資料或得到查詢結果。

    ⑷ 資料來源點和終點 是軟體系統外部環境中的實體(包括人員、組織或其他軟體系統),統稱為外部實體。一般只出現在資料流圖的頂層圖中。

    還有一些輔助的圖例:

    例 1:畫出圖書預定系統的DFD 圖。現有一圖書預定系統,接收由顧客發來的訂單,並對訂單進行驗證,驗證過程是根據圖書目錄檢查訂單的正確性,同時根據顧客檔案確定是新顧客還是老顧客, 是否有信譽。經過驗證的正確訂單,暫存放在待處理的訂單檔案中。對訂單進行成批處理,根據出版社檔案,將訂單按照出版社進行分類彙總,並儲存訂單存根,然 後將彙總訂單發往各出版社。

    畫圖步驟是:

    ⑴ 首先確定外部實體(顧客、出版社)及輸入、輸出資料流(訂單、出版社訂單)。

    ⑵ 再分解頂層的加工(驗證訂單、彙總訂單)。

    ⑶ 確定所使用的檔案(圖書目錄檔案、顧客檔案等5 個檔案)。

    ⑷ 用資料流將各部分連線起來,形成資料封閉。

    特別要注意的是:資料流圖不是傳統的流程圖或框圖,資料流也不是控制流。資料流圖是從資料的角度來描述一個系統,而框圖則是從對資料進行加工的工作人員的角度來描述系統。資料流圖中的箭頭是資料流,而框圖中的箭頭則是控制流,控制流表達的是程式執行的次序。

    下 圖是培訓中心管理系統的資料流圖,由於只有一層,因此分解的加工較多不易理解,而且如果其中某個加工較複雜,例如編號為3 的加工“付款”和編號為7 的加工“複審”仍很複雜,一時難以理解,如果不繼續分解下去,直到每個加工都足夠簡單易於理解為止,則會影響需求分析結果的可讀性。

    1.畫分層DFD 圖的方法

    如圖2.8 所示,如果系統規模較大,僅用一個DFD 圖難以描述,會使得系統變得複雜,且難以理解。為了降低系統的複雜性,採取“逐層分解”的技術,畫分層的DFD 圖。

    畫 分層DFD 圖的一般原則是:“先全域性後區域性,先整體後細節,先抽象後具體”。通常將這種分層的DFD 圖,分為頂層、中間層、底層。頂層圖說明了系統的邊界,即系統的輸入和輸出資料流,頂層圖只有一張。底層圖由一些不能再分解的加工組成,這些加工都已足夠 簡單,稱為基本加工。在頂層和底層之間的是中間層。中間層的資料流圖描述了某個加工的分解,而它的組成部分又要進一步分解。畫各層DFD 圖時,應“由外向內”。

    畫分層DFD 圖的具體步驟:

    ⑴ 先確定系統範圍,畫出頂層的DFD 圖。

    ⑵ 逐層分解頂層DFD 圖,獲得若干中間層DFD 圖。

    ⑶ 畫出底層的DFD 圖。

    一般來說,在上層可以分解得快些,而在中、下層則應分解得慢些,因為上層是一些綜合性的描述,“易理解性”相對地說不太重要。

    下節我們以一個例項來說明畫分層DFD 圖的方法。

    2 分層DFD 圖的改進

    分層資料流圖是一種比較嚴格又易於理解的描述方式,它的頂層描繪了系統的總貌,底層畫出了系統所有的細部,而中間層則給出了從抽象到具體的逐步過渡。

    1.畫分層DFD 圖的基本原則

    ⑴.資料守恆與資料封閉原則

    所謂資料守恆是指加工的輸入輸出資料流是否匹配,即每一個加工既有輸入資料流又有輸出資料流。或者說一個加工至少有一個輸入資料流,一個輸出資料流。

    ⑵加工分解的原則

    自然性:概念上合理、清晰;

    均勻性:理想的分解是將一個問題分解成大小均勻的幾個部分;

    分解度:一般每一個加工每次分解最多不要超過7個子加工,應分解到基本加工為止。

    ⑶子圖與父圖的“平衡”父圖中某個加工的輸入輸出資料流應該同相應的子圖的輸入輸出相同(相對應),分層資料流圖的這種特點稱為子圖與父圖“平衡”。

    ⑷合理使用檔案

    當檔案作為某些加工之間的交介面時,檔案必須畫出來,一旦檔案作為資料流圖中的一個獨立成份畫出來了,那麼它同其它成份之間的聯絡也應同時表達出來。

    理 解一個問題總要經過從不正確到正確,從不確切到確切的過程,需求分析的過程總是要不斷反覆的,一次就成功的可能性是很小的,對複雜的系統尤其如此,因此, 系統分析員應隨時準備對資料流圖進行修改和完善,與使用者取得共識,獲得無二義性的需求,才能獲得更正確清晰的需求說明,使得設計、程式設計等階段能夠順利進 行,這樣做是必須和值得的。

    3.分層DFD 圖的改進

    DFD 圖必須經過反覆修改,才能獲得最終的目標系統的邏輯(目標系統的DFD 圖)。改進的原則與畫分層DFD 圖的基本原則是一致的,可從以下方面考慮DFD 圖的改進:

    ⑴ 檢查資料流的正確性

    ① 資料守恆

    ② 子圖、父圖的平衡

    ⑵ 改進DFD 圖的易理解性

    ① 簡化加工之間的聯絡(加工間的資料流越少,獨立性越強,易理解性越好)。

    ② 改進分解的均勻性。

  • 中秋節和大豐收的關聯?
  • 拓撲空間的分類介紹?