系統的結構化分析與設計方法


1、結構化方法的主要思想:

(1)軟件是有組織、有結構的邏輯實體,其結構為自頂向下的形式 (2)軟件由程序和數據組成,其結構呈現三層組織形式,即系統、子系統、功能模塊/數據體 (3)軟件結構中的各部分既獨立又關聯

2、結構化方法的特點: (1)抽象性:抽象描述系統的本質內容 (2)結構化、模塊化、層次化: 分而治之,由分到合 (3)分析與設計線索: 面向過程(處理) – 過程驅動 面向數據 – 數據驅動

3、總體規划: 為所規划的軟件系統作出一個戰略的、宏觀的、全局的技術方案 構建宏觀結構模型,為后期的分析與設計奠定基礎 三個工作內容: (1)需求調查 (2)結構模型建立 (3)總體規划文檔撰寫

4、過程與數據間的關系建立 – U/C矩陣

(1)過程(處理)對數據的操作可以分為2類: Use – 使用,包括Select、Insert、Delete、Update Create – 建立,即創建數據 (2)U/C矩陣 二維矩陣表 橫向業務 – 過程 ;縱向 – 主題數據庫 (3)U/C矩陣的作用 為子系統划分提供幫助

5、子系統規划:

(1)建立U/C矩陣 (2)整理成“基本U/C矩陣” 在原始的U/C矩陣基礎上,反復調換列,使得盡可能多的“C”標記處於矩陣的對角線附近 (3)子系統划分 按照“職能域”對U/C矩陣進行划分 (4)子系統定義 含業務過程和主題數據庫

6、用傳統結構化和oo的觀點看待系統的比較:

1)傳統方法:系統是處理的集合,處理與數據實體的交互,處理接受輸入並產生輸出

2)OO方法:系統是交互對象的集合,對象與人或其他對象交互,對象發送和響應信息

7、結構化分析:

分析基礎:總體規划說明書;分析每個業務過程的詳細流程;分析每個主題數據庫的數據結構; 建立分析模型:系統業務流程圖、詳細的數據流圖、數據字典;結構化系統分析結果:系統分析說明書

8、系統流程圖:

對不同計算機程序、文件、數據庫和相關手工過程設計的表達;主要從較高的層次描述系統的相對獨立的子系統和程序模塊;用圖形化的方式描述了對子系統的組織;可以表明系統業務類:Batch(批處理) Real time(實時處理)

9、

 

10、基於數據流的系統分析 -- 數據流圖

數據流圖:用處理、外部實體、數據流以及數據存儲來表示系統需求的圖表

DFD的特點:圖形元素少且符號簡單易懂;較充分表達系統的主要需求:輸入、輸出、處理和數據存儲;最終用戶、管理人員和系統開發人員只需稍加培訓即可讀懂DFD圖,方便交流。

 

 

11、

DFD圖可以描述高層次的具有高度概括的系統處理 也可以描述低層次的具有更詳細分解的系統處理

抽象層次:把系統分解成一個逐步細化的分層集合的建模技術

11、關聯圖:在單個處理符號中概括系統內所有處理活動的DFD

關聯圖在表達系統邊界時用處很大 系統的范圍是通過單個的處理和外部實體所表示的事物來定義的 數據存儲不畫在關聯圖中是因為它本身被認為是系統內部的內容

當一個系統響應事件較多時,常常將系統分成多個子系統, 並為每個子系統創建一張關聯圖

 

12、DFD片段:用一個單一處理符號表示系統響應一個事件的DFD

在DFD片段中,展示了處理、外部實體和內部數據存儲之間的 交互細節 每個DFD片段僅顯示要響應該事件的那些數據存儲 一個DFD片段是為事件表中的每一個事件創建的

14、事件分離的系統模型/0層圖:    將一個系統或子系統的所有DFD片段組合到一個單個的DFD圖     中,這樣的DFD圖稱為事件分離的系統模型/0層圖

0層DFD圖:“處理”的編號為i

0層圖對整個系統或子系統進行比關聯圖更加詳盡的描述 但是,有時不使用0層圖,因為: 1)包含的信息與DFD片段重復; 2)圖表比較復雜,特別是對於需要響應較多事件的大系統 好處: 可以直觀地分析各個“處理”之間的數據流的關聯關系 適當規模的子系統可以使用0層圖

 

分解“處理”-理解“處理”的細節: 一個DFD片段中的處理也可

1層DFD圖:將0層DFD中的處理進一步細化等到的DFD圖 “處理”的編號為“i.j” 2層DFD圖:將1層DFD中的處理進一步細化等到的DFD圖 “處理”的編號為“i.j.k”

包含多個更小的處理 有時分析員需要將該DFD片段進一步細化,生成更 詳細層次的DFD圖

15、DFD質量評估:

高質量的DFD: 可讀性強、內部一致、能夠准確描述系統需求 措施: 最小化復雜度 (就是使每幅DFD圖盡量簡單易懂,避免信息超量(信息超量: 當太多的信息同時顯現時所發生的難以理解的情況))保證數據流一致性。

最小化復雜度:措施:采用分層結構將DFD划分為小的且相對獨立的子集 這樣可以逐級閱讀、考察DFD

構造DFD圖的7±2規則: 單個DFD中不應有超過7±2個處理 單個DFD中不應超過7±2個數據流進出同一個處理/數據存儲

接口最小化: DFD中各個元素之間的連接數越少越好

保證數據流一致性:

數據流一致性表現在三個方面: 一個“處理”和該“處理”被詳細分解后在數據流內容上應該一致 對一個“處理”,有數據流入卻沒有相對應的數據流出 對一個“處理”,有數據流出卻沒有相對應的數據流入

 黑洞 --- 帶有輸入數據的但並不用其產生輸出數據的 “處理”或數據存儲

 奇跡 --- 沒有足夠數據元素作為輸入或產生來源的一個 “處理”或“數據存儲”

 

DFD總結:

在關聯圖中不畫數據存儲 數據流不反映處理順序,顯示數據通過系統的流程, 因此“處理”可以並行工作 ;

“處理”過程既有輸入,又有輸出;有輸入無輸出稱之為黑洞;若無輸入而產生輸出稱之為奇跡;輸出內容不全部依賴於輸入為灰洞

 

在傳統方法中,DFD圖在一個圖中描述了三種元素:

處理 -- 每個最底層“處理”需要詳細描述其細節

數據流 -- “數據流”包含的數據元素需要定義

數據存儲 -- “數據存儲”需要在ERD中定義

處理方法:

1. “處理”細分解,層層分解,直到可詳細描述細節 2. 結構化語言/偽代碼 3. 決策表/決策樹

16、數據字典—數據分析:

數據字典是數據分析的描述模型,包括: 數據項定義,數據結構定義,數據流描述,數據存儲描述

數據項定義:定義特定數據項的組成和意義 數據結構定義:定義有數據項組成的表達數據的基本數據 數據流描述:描述數據流的數據構成,並指明其來源或去向 數據存儲描述:描述保存在存儲介質上的數據文件或數據庫 表的格式和內容

廣義的數據字典,也可以包含對“處理”的描述

數據結構:由數據項組成,它給出了數據基本結構單位 數據結構名 數據結構說明 數據結構組成:{數據項/數據結構} 數據結構約束

 數據流是數據元素的集合,數據流定義就是列出其  包含的所有數據項

數據元素還需進一步的定義: 說明類型、長度等 數據元素一般在設計階段詳細定義

數據存儲:數據結構保存或停留之處,數據文件或數據庫表 數據存儲名 數據存儲說明 輸入的數據流 輸出的數據流 數據存儲組成:{數據結構} 數據量 存取頻度 存取方式

數據處理:給出處理的流程和說明信息 數據處理名 數據處理說明 輸入數據: {數據結構} 輸出數據: {數據結構} 處理過程簡要描述

17、結構化的系統設計主要考慮: 模塊的層次化、模塊之間的接口、數據庫設計和用戶界面設計的關聯性; 用系統流程圖記錄各個子系統間的關聯 為每個模塊設計內部邏輯 采用自頂向下的方法進行設計 具有系統自動化邊界的DFD ;結構圖

18、結構圖定義:以模塊為基礎、以模塊間的調用為關聯所構成的圖稱模塊結構圖,簡稱結構圖

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM