结构化分析与设计流程塑模.ppt
《结构化分析与设计流程塑模.ppt》由会员分享,可在线阅读,更多相关《结构化分析与设计流程塑模.ppt(70页珍藏版)》请在三一办公上搜索。
1、第五章 結構化分析與設計流程塑模,內容大綱,學習目標第一節 導論第二節 結構化分析與設計評估準則第三節 資料流程圖建構策略第四節 資料流程圖建構指南第五節 資料流程圖的評估第六節 資料流程圖轉結構圖與模組設計第七節 結論,學習目標,詳讀本章,你至少能瞭解:系統分析與設計之評估準則。資料流程圖建構策略與指南。如何描述處理規格。如何將資料流程圖轉成結構圖與模組設計。,導論,結構化之分析與設計將所面對問題之流程與資料分開處理,並分別稱為流程塑模與資料塑模。本章先介紹流程塑模。流程塑模主要是以資料流程圖作為塑模之工具,將企業流程分解成具層級結構之模組。,結構化分析與設計評估準則,良好的結構化設計有三個
2、特徵:模組間有很好的分割階層式的系統架構獨立的模組功能要達到良好的系統設計與提升模組的品質,須考慮:模組間的耦合力,是指一個系統內部各模組之間的相關程度。模組的內聚力,是指一個模組內部所做事情之相關程度。其他的考慮因素,如功能分割等。,內聚力,內聚力(Cohesion)是一種衡量模組內部之工作相關程度之方法。換句話說,模組的內聚力是衡量模組完成一件單一,且定義清楚之工作的程度。內聚力的種類大概可分為七種:功能內聚力順序內聚力溝通內聚力暫時內聚力程序內聚力邏輯內聚力偶發內聚力,內聚力(續),功能內聚力係指當一個模組只做一件事情,亦即具有唯一的功能,是為功能型的內聚力。例如:,檢查身分證號碼的正確
3、性,以異動檔更新庫存主檔,計算營業稅,內聚力(續1),順序內聚力係指模組內具有多個功能或處理多件事情,且一項功能的輸出立即成為下一個功能的輸入,亦即共用相同資料,則此模組具有順序內聚力。,讀取某數值X,計算X之平方,將計算所得結果顯示於螢幕上,內聚力(續2),溝通內聚力係指模組內具有多個功能或處理多件事情,且這些功能使用相同的資料(輸入),但它們的執行順序沒有相關性。,產品資料,查詢品名規格,查詢庫存數量,查詢儲存架位,內聚力(續3),暫時內聚力模組內具有多個功能或處理多件事情,但是這些功能僅僅在時序上有所關聯,也就是必須在同一時間內執行完成,所以這種模組具有暫時內聚力。,內聚力(續4),程序
4、內聚力係指模組內具有多個功能或處理多件事情,這些功能必須按照一定的順序來執行,且不共用資料,這些功能群集在一個模組內僅為了確保它們的執行順序,則這模組具有程序內聚力。,內聚力(續5),邏輯內聚力係指模組內具有多個邏輯上相關聯的功能。,內聚力(續6),偶發內聚力若一個模組內部要做好幾件工作,且每一件工作都不相干,則該模組具有偶發內聚力。在設計時,偶發內聚力應盡量避免,例如可將個別的工作分別獨立出來自成一個模組,使各模組具有功能內聚力。,圖5-8 模組內聚力之判定決策樹,表5-1 內聚力之評比因素與結果,耦合力,耦合力是一種衡量模組間相互關聯強度的方法。當解決了一模組內的錯誤狀況,而在其他的模組內
5、引起了新的錯誤,這種現象稱為連鎖反應。解決連鎖反應之可行方法是盡量使一個模組不與其他模組糾結在一起,即讓每個模組盡量的獨立。,耦合力(續),耦合力可分為五類:資料耦合力資料結構耦合力控制耦合力共同耦合力內容耦合力,耦合力(續1),資料耦合力係指模組間如果使用一些簡單型別資料作為兩模組間傳遞之參數,則稱此模組間具有資料耦合力。,耦合力(續2),資料結構耦合力係指模組間以資料結構型別來做程式的介面,但並非每個模組均用到該資料結構之所有欄位。例如有一個資料結構稱為租車,該資料結構有六個欄位:牌照號碼、會員證號碼、使用汽油量、汽車型式、已開公里數與租借天數等。若這三個模組間是以租車之資料結構作為程式的
6、介面(如圖 5-10),則這些模組間具有資料結構耦合力。,圖5-10 資料結構耦合力,耦合力(續3),資料結構耦合力可能產生以下的問題:雖然每一個模組可能只用到局部的欄位,但只要資料結構內任一個欄位修改過,則所有的相關模組均會受影響。每一個模組使用了比實際需要更多的記憶體空間。解決資料結構耦合力的方法是將所要用到的欄位傳遞過去,而不必傳整個資料結構,則資料結構耦合力就可改變成資料耦合力。,耦合力(續4),控制耦合力係指當一模組傳遞旗標去控制另一個模組內的作業(內部邏輯)時,則稱這兩模組之間具有控制耦合力。例如有兩個模組:報表列印選擇與產生庫存報表或異動報表,前一個模組傳送旗標來控制下一個模組做
7、輸入或輸出之動作(如圖 5-11),則這兩模組間具有控制耦合力。,圖5-11 控制耦合力,耦合力(續5),控制耦合力之缺點如果被呼叫的模組被拆成兩個或兩個以上的模組時,會因資料的糾結或須瞭解呼叫模組等而不易達到目的。撰寫呼叫模組時,如不瞭解被呼叫的模組,便不易著手撰寫程式,同時會增加程式測試的成本。共同耦合力兩模組使用相同的資料區且都可讀寫資料區內之資料,則這兩模組具有共同耦合力。,圖5-12 共同耦合力,耦合力(續6),共同耦合力盡量少用,主要原因為:如果共用資料產生錯誤,則所有涉及之模組均會受影響。使用共同資料區的模組名稱均模稜兩可,不易定義,經常會造成困擾。共用資料區內資料時常會被濫用,
8、使模組的邏輯變得複雜,而不易瞭解。一個使用很多共用資料區的模組,在維護上相當困難。模組變動時,不知哪些資料會被牽動。,耦合力(續7),內容耦合力內容耦合力是一個模組使用另一個模組內之部分程式碼或改變其他模組內的局部變數。內容耦合力具有下列特徵:一個模組以多個進入點的方式進入另一模組(參考圖5-13)。一個模組參考或改變其他模組的內部資料。一個模組改變其他模組內部的執行過程。,圖5-13 控制流程的內容耦合力,耦合力(續8),一般來說,耦合力愈弱愈好。模組間的耦合力有時可能不只是單純的一種情形,可能存在兩種以上的耦合力,此時這兩模組間的關係以較強的耦合力為準,例如兩個模組具有資料結構耦合力和共同
9、耦合力的關係,則我們應以共同耦合力為準。,表5-2 耦合力之評比因素與結果,耦合力(續9),一般而言,可以接受的內聚力包含功能內聚力、順序內聚力與溝通內聚力,而在耦合力部分則是資料耦合力與資料結構耦合力。雖然這些內聚力與耦合力是可以接受,但就系統設計而言,良好的設計希望達到模組內的內聚力為功能內聚力,即一個模組只處理單一個功能;模組間的耦合力為資料耦合力,即模組間的溝通只使用簡單型別參數來溝通。,耦合力(續10),一個良好的設計除了耦合力與內聚力的分析外,尚有一些值得注意的事,包括:模組功能的劃分。當模組太大,為了減少功能重複的模組、管理的需求、發展可重複使用的模組或發展易撰寫的模組等情況時,
10、都是模組功能劃分的適當時機。模組除有正規之處理外,亦須考量錯誤與輔助訊息及例外狀況之處理。,資料流程圖建構策略,以資料流程圖塑模企業流程是結構化分析與設計之重點工作,也是系統模組化之重要步驟。常用的資料流程圖建構方式有兩種:由上往下分割與由中間往外建構方式。,由上往下分割,以由上往下分割之方式建立資料流程圖之步驟為:建構環境圖。由環境圖向下階層化,以分割出系統主要功能並圖示之,即第零階之資料流程圖。對第零階資料流程圖中的每一個處理,再進行向下階層化,以產生更低階之資料流程圖,如此重複進行,直到資料流程圖中所有處理不需再向下階層化為止。,由上往下分割(續),應用由上往下分割之方式建構資料流程圖可
11、能會碰到以下的問題:第零階之資料流程圖不容易產生,因為系統分析師不容易從環境圖直接分出系統的主要功能。對於一個大的系統而言,常依系統分析師的人數來分割,但這種方式可能不是最佳的方案。倘若於舊系統上建立新系統,則舊系統的主要功能分割方式可能繼續成為新系統的主要功能分割方式。,由中間往外建構,Yourdon(1988;1989)基於由上往下分割方式可能遭遇的問題,因此建議採用由中間往外的方式建構資料流程圖,其建構步驟為:建立環境圖。建立事件列。建立初步的資料流程圖,也就是將前述的事件列利用事件分割方法,以獲得初步資料流程圖。對初步資料流程圖不斷地進行向上及向下階層化,直到獲得完整的資料流程圖為止。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 结构 化分 设计 流程
![提示](https://www.31ppt.com/images/bang_tan.gif)
链接地址:https://www.31ppt.com/p-6373655.html