結構化需求分析方法_第1頁
結構化需求分析方法_第2頁
結構化需求分析方法_第3頁
結構化需求分析方法_第4頁
已閱讀5頁,還剩10頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、結構化分析( SA)方法結構化開發方法 (Structured Developing Method)是現有的軟件開發方法中最成熟,應用最廣泛的方法,主要特點是快速、自然和方便。結構化開發方法由結構化分析方法 (SA 法 )、結構化設計方法 (SD 法 )及結構化程序設計方法 (SP法 )構成的。結構化分析 (Structured Analysis,簡稱 SA 法)方法是面向數據流的需求分析方法,是 70 年代末由 Yourdon,Constaintine及 DeMarco等人提出和發展,并得到廣泛的應用。 它適合于分析大型的數據處理系統,特別是企事業管理系統。SA 法也是一種建模的活動,主要是

2、根據軟件內部的數據傳遞、變換關系,自頂向下逐層分解,描繪出滿足功能要求的軟件模型。1 SA法概述1.SA法的基本思想結構化分析 (Structured Analysis,簡稱 SA 法 )是面向數據流的需求分析方法,是 70 年代由 Yourdon,Constaintine及 DeMarco等人提出和發展, 并得到廣泛的應用。結構化分析方法的基本思想是“分解”和“抽象”。分解:是指對于一個復雜的系統, 為了將復雜性降低到可以掌握的程度,可以把大問題分解成若干小問題,然后分別解決。圖 4 是自頂向下逐層分解的示意圖。頂層抽象地描述了整個系統,底層具體地畫出了系統的每一個細節,而中間層是從抽象到具

3、體的逐層過渡。抽象:分解可以分層進行,即先考慮問題最本質的屬性,暫把細節略去,以后再逐層添加細節, 直至涉及到最詳細的內容, 這種用最本質的屬性表示一個自系統的方法就是“抽象”。2.SA法的步驟建立當前系統的“具體模型”;系統的“具體模型”就是現實環境的忠實寫照,即將當前系統用DFD 圖描述出來。這樣的表達與當前系統完全對應,因此用戶容易理解。抽象出當前系統的邏輯模型;分析系統的“具體模型”,抽象出其本質的因素,排除次要因素,獲得用DFD 圖描述的當前系統的“邏輯模型”。建立目標系統的邏輯模型;分析目標系統與當前系統邏輯上的差別,從而進一步明確目標系統 “做什么”,建立目標系統的“邏輯模型”(

4、修改后的 DFD 圖)。為了對目標系統作完整的描述,還需要考慮人機界面和其它一些問題。3.SA法的描述工具 分層的數據流圖 數據詞典 描述加工邏輯的結構化語言、判定表或判定樹。2 數據流圖數據流圖 (Data Flow Diagram,簡稱 DFD) 是描述系統中數據流程的圖形工具,它標識了一個系統的邏輯輸入和邏輯輸出,以及把邏輯輸入轉換邏輯輸出所需的加工處理。1.數據流圖的圖符數據流圖有以下4 種基本圖形符號:箭頭表示數據流, 圓或橢圓表示加工。 雙杠或者單杠表示數據 存儲,矩形框表示數據的源點或終點,即外部實體。 數據流是數據在系統內傳播的路徑, 由一組成固定的數據項組成。 除了與數據存儲

5、 (文件 )之間的數據流不用命名外,其余數據流都應該用名詞或名詞短語命名。數據流可以從加工流向加工, 也可以從加工流向文件或從文件流向加工,也可以從源點流向加工或從加工流向終點。 加工 也稱為數據處理, 它對數據流進行某些操作或變換。每個加工也要有名字,通常是動詞短語,簡明地描述完成什么加工。在分層的數據流圖中,加工還應有編號。 數據存儲指暫時保存的數據,它可以是數據庫文件或任何形式的數據組織。流向數據存儲的數據流可理解為寫入文件,或查詢文件, 從數據存儲流出的數據可理解為從文件讀數據或得到查詢結果。 數據源點和終點是軟件系統外部環境中的實體(包括人員、組織或其他軟件系統 ),統稱為外部實體。

6、一般只出現在數據流圖的頂層圖中。還有一些輔助的圖例 :例 1:畫出圖書預定系統的 DFD 圖。現有一圖書預定系統,接收由顧客發來的訂單,并對訂單進行驗證, 驗證過程是根據圖書目錄檢查訂單的正確性, 同時根據顧客檔案確定是新顧客還是老顧客,是否有信譽。經過驗證的正確訂單,暫存放在待處理的訂單文件中。 對訂單進行成批處理, 根據出版社檔案, 將訂單按照出版社進行分類匯總,并保存訂單存根,然后將匯總訂單發往各出版社。畫圖步驟是: 首先確定外部實體 (顧客、出版社 )及輸入、輸出數據流 (訂單、出版社訂單 )。 再分解頂層的加工 (驗證訂單、匯總訂單 )。 確定所使用的文件 (圖書目錄文件、顧客檔案等

7、5 個文件 )。 用數據流將各部分連接起來,形成數據封閉。特別要注意的是:數據流圖不是傳統的流程圖或框圖, 數據流也不是控制流。數據流圖是從數據的角度來描述一個系統,而框圖則是從對數據進行加工的工作人員的角度來描述系統。 數據流圖中的箭頭是數據流, 而框圖中的箭頭則是控制流,控制流表達的是程序執行的次序。下圖是培訓中心管理系統的數據流圖, 由于只有一層, 因此分解的加工較多不易理解,而且如果其中某個加工較復雜,例如編號為3 的加工 “付款 ”和編號為 7 的加工 “復審 ”仍很復雜,一時難以理解,如果不繼續分解下去,直到每個加工都足夠簡單易于理解為止,則會影響需求分析結果的可讀性。1.畫分層

8、DFD 圖的方法如圖 2.8 所示,如果系統規模較大,僅用一個DFD 圖難以描述,會使得系統變得復雜,且難以理解。為了降低系統的復雜性,采取“逐層分解”的技術,畫分層的 DFD 圖。畫分層 DFD 圖的一般原則是: “先全局后局部 ,先整體后細節 ,先抽象后具體 ”。通常將這種分層的DFD 圖 ,分為頂層、中間層、底層。頂層圖說明了系統的邊界,即系統的輸入和輸出數據流, 頂層圖只有一張。 底層圖由一些不能再分解的加工組成,這些加工都已足夠簡單,稱為基本加工。在頂層和底層之間的是中間層。中間層的數據流圖描述了某個加工的分解,而它的組成部分又要進一步分解。畫各層 DFD 圖時,應 “由外向內 ”。

9、畫分層 DFD 圖的具體步驟: 先確定系統范圍,畫出頂層的DFD 圖。 逐層分解頂層 DFD 圖,獲得若干中間層DFD 圖。 畫出底層的 DFD 圖。在畫分層數據流圖時,首先遇到的問題就是應該如何分解?不能夠一下子把一個加工分解成它所有的基本加工,一張圖中畫出過多的加工是使人難以理解的,但是如果每次只是將一個加工分解成兩個或三個加工,又可能需要分解過多的層次,也會影響系統的可理解性。一個加工每次分解成多少個子加工才合適呢?根據經驗 “最多不要超過 7 個 ”。統計結果證明, 人們能有效地同時處理7 個或 7 個以下的問題,但當問題多于 7 個時,處理效果就會下降。當然也不能機械地應用,關鍵是要

10、使數據流圖易于理解。同時還有幾條原則可供參考:分解應自然,概念上要合理、清晰。只要不影響數據流圖的 “易理解性 ”,可以適當地多分解成幾部分,這樣分層圖的層數就可少些。一般來說,在上層可以分解得快些,而在中、下層則應分解得慢些,因為上層是一些綜合性的描述,“易理解性 ”相對地說不太重要。下節我們以一個實例來說明畫分層DFD 圖的方法。2 分層 DFD 圖的改進分層數據流圖是一種比較嚴格又易于理解的描述方式,它的頂層描繪了系統的總貌,底層畫出了系統所有的細部, 而中間層則給出了從抽象到具體的逐步過渡。1.畫分層 DFD 圖的基本原則.數據守恒與數據封閉原則所謂數據守恒是指加工的輸入輸出數據流是否

11、匹配,即每一個加工既有輸入數據流又有輸出數據流。 或者說一個加工至少有一個輸入數據流,一個輸出數據流。加工分解的原則自然性:概念上合理、清晰;均勻性:理想的分解是將一個問題分解成大小均勻的幾個部分;分解度:一般每一個加工每次分解最多不要超過加工為止。7 個子加工 ,應分解到基本子圖與父圖的 “平衡 ”父圖中某個加工的輸入輸出數據流應該同相應的子圖的輸入輸出相同 (相對應 ),分層數據流圖的這種特點稱為子圖與父圖“平衡 ”。例 1 考察下圖中子父圖的平衡顯然,圖 2.13 中子圖與父圖不平衡。 子圖是父圖中加工2 的分解,加工 2 有輸入數據流 R 和 M ,輸出數據流 T,而子圖則只有一個輸入

12、數據流N,卻有兩個輸出數據流 T 與 S。圖 2.14 中,子圖是父圖中加工4 的分解,雖然表面上加工 4 只有一個輸入數據流“訂貨單”,而子圖卻有三個輸入數據流,但是如果“訂貨單” 是由“客戶” 、“帳號” 和“數量” 三部分組成, 即有如下數據條目:訂貨單 =客戶 +帳號 +數量數據詞典 ),則子、父圖平衡。合理使用文件當文件作為某些加工之間的交界面時,文件必須畫出來, 一旦文件作為數據流圖中的一個獨立成份畫出來了, 那么它同其它成份之間的聯系也應同時表達出來。理解一個問題總要經過從不正確到正確,從不確切到確切的過程, 需求分析的過程總是要不斷反復的, 一次就成功的可能性是很小的,對復雜的

13、系統尤其如此,因此,系統分析員應隨時準備對數據流圖進行修改和完善,與用戶取得共識,獲得無二義性的需求, 才能獲得更正確清晰的需求說明,使得設計、編程等階段能夠順利進行,這樣做是必須和值得的。3.分層 DFD 圖的改進DFD 圖必須經過反復修改,才能獲得最終的目標系統的邏輯(目標系統的DFD 圖)。改進的原則與畫分層DFD 圖的基本原則是一致的,可從以下方面考慮 DFD 圖的改進: 檢查數據流的正確性 數據守恒 子圖、父圖的平衡 文件使用是否合理。特別注意輸入 /出文件的數據流。 改進 DFD 圖的易理解性 簡化加工之間的聯系 (加工間的數據流越少, 獨立性越強,易理解性越好 )。 改進分解的均

14、勻性。 適當命名 (各成分名稱無二義性,準確、具體 )。4.數據詞典分層數據流圖只是表達了系統的“分解 ”,為了完整地描述這個系統,還需借助 “數據詞典 ” (data dictionary)和“小說明 ”對圖中的每個數據和加工給出解釋。對數據流圖中包含的所有元素的定義的集合構成了數據詞典。它有四類條目:數據流、數據項、文件及基本加工。在定義數據流或文件時,使用表 2-1 給出的符號。將這些條目按照一定的規則組織起來,構成數據詞典。1.數據流條目給出了 DFD 中數據流的定義, 通常對數據流的簡單描述為列出該數據流的各組成數據項。例:數據流 “乘客名單 ”由若干 “乘客姓名 ”、“單位名 ”和

15、“等級 ”組成,則詞典中的 “乘客名單 ”條目是:乘客名單 = 乘客姓名 +單位名 +等級 又如:報名單 =姓名 +單位名 +年齡 +性別 +課程名也可以對數據流進行較詳細的描述,如下例:例:某查詢系統中,有個名為“查詢 ”的數據流,目前 “查詢 ”有三種類型,即“顧客狀況查詢 ”、 “存貨查詢 ”和“發票存根查詢 ”,預計至1990 年底還將增加3至 4 種其他類型的查詢。系統每天約需處理2 000 次查詢,每天上午9:0010:0 是查詢的高峰,此時約有 1 000 次查詢。上述信息都是 “用戶要求 ”的一部分,在分析階段應該認真收集, 并記錄在詞典的有關條目中, 所以 “查詢 ”條目描述如下。數據流名:查詢簡 述:系統處理的一個命令別 名:無組 成: 顧客狀況查詢 |存貨查詢 |發票存根查詢 數據量: 2000 次 /天峰 值:每天上午 9:00 l0:00 有 l000 次注 釋 : 至 1990 年底還將增加 3 至 4 種查詢2.文件條目給出某個文件的定義, 文件的定義通常是列出文件記錄的組成數據流,還可指出文件的組織方式。例:某銷售系統

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論