版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
模塊案例與結(jié)構(gòu)化設計第一頁,共51頁。主調(diào)模塊被調(diào)模塊被調(diào)模塊主調(diào)模塊被調(diào)模塊被調(diào)模塊循環(huán)調(diào)用條件調(diào)用1.結(jié)構(gòu)圖無嚴格的模塊調(diào)用順序,但一般習慣從左至右2.因為約定遵從從上向下的調(diào)用,調(diào)用關系也可以不使用箭頭,而直接使用直線3.模塊間傳遞的信息如果出現(xiàn)在數(shù)據(jù)字典中,則視為數(shù)據(jù),否則為控制信息結(jié)構(gòu)圖的畫法第二頁,共51頁。計算獲得有效數(shù)據(jù)生成報表打印報表獲得編輯數(shù)據(jù)核對數(shù)據(jù)打印表頭打印表尾讀入數(shù)據(jù)編輯數(shù)據(jù)顯示無效數(shù)據(jù)打印一行有效數(shù)據(jù)EOF編輯數(shù)據(jù)EOF有效數(shù)據(jù)編輯數(shù)據(jù)有效數(shù)據(jù)結(jié)果編輯數(shù)據(jù)數(shù)據(jù)數(shù)據(jù)EOFEOF結(jié)果日期行行行總計一個完整的結(jié)構(gòu)圖第三頁,共51頁。期末成績查詢第四頁,共51頁。Main(){stuNo=讀入學號模塊調(diào)用成績查詢模塊調(diào)用顯示模塊}主模塊第五頁,共51頁。成績查詢模塊(){
調(diào)用查期末成績模塊如果有不及格科目則
標志1=True
調(diào)用不及格處理模塊}不及格處理模塊(){
標志2=確定留退模塊()如果標志2!=True則 調(diào)用查補考安排模塊}顯示結(jié)果模塊(){
調(diào)用顯示成績模塊如果標志1==True則 調(diào)用不及格顯示模塊}顯示不及格處理模塊(){
如果標志2==True則 調(diào)用留退通知模塊否則 調(diào)用補考通知模塊}子模塊第六頁,共51頁。學生期末成績查詢讀入學號顯示成績查詢期末成績顯示期末成績顯示不及格處理確定留退顯示補考顯示留退改寫后的模塊圖第七頁,共51頁。模塊總體設計舉例問題描述:病人監(jiān)護系統(tǒng)中的實時監(jiān)測模塊。該模塊使用病床專用設備測量病人的若干生理參數(shù),如體溫、脈搏、血壓等等。每個病人各種指標的安全范圍由醫(yī)生預先指定。每經(jīng)過一定的時間間隔,監(jiān)測模塊從監(jiān)視設備讀入這些數(shù)據(jù),并存入數(shù)據(jù)庫中。若發(fā)現(xiàn)某個指標超出合理范圍,則向維修站發(fā)出設備故障通知,報告床號。若發(fā)現(xiàn)某個指標越出安全范圍,則向護理站發(fā)出通知,報告病人號。第八頁,共51頁。分析產(chǎn)生的DFD病人護理站病歷合理數(shù)據(jù)數(shù)據(jù)不安全因素讀取數(shù)據(jù)存儲數(shù)據(jù)檢查數(shù)據(jù)通報不安全因素維修站不合理數(shù)據(jù)第九頁,共51頁。FS2病人監(jiān)護采集數(shù)據(jù)檢查數(shù)據(jù)處理數(shù)據(jù)獲取下一個病人PN,F(xiàn)SEOF,EFEOFFSEFUSF,EFUSFFSPNEF,USFPN,F(xiàn)SPN,F(xiàn)SPNPN,F(xiàn)SFSSR讀取數(shù)據(jù)檢查不合理范圍查詢安全范圍判定病人是否安全寫數(shù)據(jù)庫通報設備故障通報不安全因素EFBNPN,F(xiàn)SEFPN,BN初始結(jié)構(gòu)圖PN—病人號;BN—床位號;SR—安全范圍;FS—各指標數(shù)據(jù);EF—設備故障標志;EOF——標志已查過最后一個病人; FS2—標志指標是否合理;USF—標志指標不安全EFEF第十頁,共51頁。第1次改進“處理數(shù)據(jù)”模塊沒有實質(zhì)性的功能,所包含的三個子模塊相互之間沒有什么關聯(lián),內(nèi)聚程度很低。該模塊只是充當了“管道”,改進如下:廢除“處理數(shù)據(jù)”模塊;直接由主模塊調(diào)用“通報設備故障”、“通報不安全因素”和“寫數(shù)據(jù)庫”三個模塊第十一頁,共51頁。病人監(jiān)護寫數(shù)據(jù)庫通報不安全因素通報設備故障檢查數(shù)據(jù)采集數(shù)據(jù)第1次改進結(jié)果第十二頁,共51頁。第2次改進通報設備故障時應通報床位號而不應是病人號,因此要傳遞床位號。床位號BN可由“采集數(shù)據(jù)”模塊傳給主模塊,再由主模塊傳遞給“通知設備故障”模塊。但這樣做增加了模塊間的聯(lián)系,改為由“采集數(shù)據(jù)”的下屬模塊“讀取數(shù)據(jù)”直接調(diào)用“檢查不合理范圍”的結(jié)果也是設備是否有故障的標志,也應該通知維修站,所以也改由“采集數(shù)據(jù)”模塊的下屬模塊“讀取數(shù)據(jù)”直接調(diào)用第十三頁,共51頁。PN,F(xiàn)S病人監(jiān)護采集數(shù)據(jù)檢查數(shù)據(jù)通報不安全因素獲取下一個病人PN,F(xiàn)SEOF,EFPN,BNEOFFSEFUSFUSFPNFS2BNPN,F(xiàn)SFSSRSR讀取數(shù)據(jù)檢查不合理范圍查詢安全范圍判定病人是否安全寫數(shù)據(jù)庫通報設備故障EFBNPN,F(xiàn)SEFFS第2次改進結(jié)果EF第十四頁,共51頁。第3次改進若由“檢查數(shù)據(jù)”模塊直接調(diào)用“通報不安全因素”模塊,則可減少模塊間的聯(lián)系,即不用傳遞USF標志(排除控制耦合)。這樣的話,“檢查數(shù)據(jù)”的名字改為“報告不安全因素”更為恰當?shù)谑屙?,?1頁。第3次改進結(jié)果病人監(jiān)護采集數(shù)據(jù)報告不安全因素寫數(shù)據(jù)庫PN,F(xiàn)SEOF,EFEFUSFPNSR,F(xiàn)SEFPN,F(xiàn)S查詢安全范圍通報不安全因素PN,F(xiàn)S判定病人是否安全第十六頁,共51頁。第4次改進“獲取下一個病人”模塊的界面要返回病人號和床位號,如果使“讀取數(shù)據(jù)”模塊包括從病人號查床位號的功能,則“獲取下一個病人”模塊的接口可以簡化第十七頁,共51頁。第4次改進結(jié)果采集數(shù)據(jù)獲取下一個病人PNEOFFSEFPNBNFS讀取數(shù)據(jù)檢查不合理因素從PN查BNEOFPN通報設備故障FS2BN第十八頁,共51頁。第5次改進通過床號讀取數(shù)據(jù),經(jīng)過第4次改進后,已經(jīng)是通過病人號讀數(shù)據(jù)了,為了明確功能,模塊名稱應改為“采集病人數(shù)據(jù)”但是通過床號讀取數(shù)據(jù)模塊對于維修人員可能會反復使用,因此應該保留,作為一個公用模塊,易于重用第十九頁,共51頁。第5次改進結(jié)果采集數(shù)據(jù)獲取下一個病人PNEOFFSEFPNBNFSEOFPNFS2BN從PN查BN從床號讀數(shù)據(jù)通報設備故障檢查不合理因素BN采集病人數(shù)據(jù)EF第二十頁,共51頁。第6次改進“從床號讀數(shù)據(jù)”應該是功能單一,調(diào)用“通報設備故障”不應屬于該模塊內(nèi)容。否則維修期間可能會反復報警,干擾維修站。將“通報設備故障”改為上層模塊調(diào)用,使“從床號讀數(shù)據(jù)”模塊功能更明確,公用性也更好第二十一頁,共51頁。第6次改進結(jié)果病人監(jiān)護采集數(shù)據(jù)報告不安全因素寫數(shù)據(jù)庫判定下一個病人PN,F(xiàn)SEOF,EFPNEOFFSEFUSFPNEFSREFFSPNFS,SR采集病人數(shù)據(jù)檢查安全范圍判定病人是否安全通報不安全因素EFPNPN,F(xiàn)S從PN查BN從床號讀數(shù)據(jù)通報設備故障檢查不合理因素BNBNEFFSBNFSFS2PN,FSEF第二十二頁,共51頁。第7次改進給護士站或維修站的通報消息可能采用了同一種方式或界面,因此可能會有公用的模塊,比如“寫一行”(或者“發(fā)出警報”之類)因此再抽出一個模塊“寫一行”,供兩個模塊調(diào)用。第二十三頁,共51頁。第7次改進結(jié)果病人監(jiān)護采集數(shù)據(jù)報告不安全因素寫數(shù)據(jù)庫判定下一個病人PN,F(xiàn)SEOF,EFPNEOFFSEFUSFPNEFSREFFSPNFSFS,SR采集病人數(shù)據(jù)檢查安全范圍判定病人是否安全通報不安全因素EFPNPN,F(xiàn)S從PN查BN從床號讀數(shù)據(jù)通報設備故障產(chǎn)生一行寫一行檢查不合理因素BNBNEFEFFSBNFSFS2PN,FS一行一行一行第二十四頁,共51頁。模塊結(jié)構(gòu)圖例子某公司銷售采購處理系統(tǒng)的數(shù)據(jù)處理子系統(tǒng)(簡稱GETSOL)的處理過程是:公司營業(yè)部對每天的顧客訂貨單形成一個訂貨單文件,它記錄了訂貨項目的數(shù)量、貨號、型號等詳細數(shù)據(jù)。然后在這個文件的基礎上對顧客的訂貨情況進行分類統(tǒng)計、匯總等項處理操作,我們可設計該子系統(tǒng)的層次化模型結(jié)構(gòu)圖如下:第二十五頁,共51頁。
層次化模塊結(jié)構(gòu)圖舉例
ORD——訂貨單;ITM——訂貨項目;LIT——訂貨表;NLT——修改后的訂貨表;SOL——訂貨匯總表;
EOF——文件接輸標志;
MATCH——匹配第二十六頁,共51頁。結(jié)構(gòu)圖優(yōu)化方法減少模塊間的聯(lián)系,減少參數(shù)傳遞,特別是控制信息的傳遞消除重復功能消除“管道”模塊考慮變化控制模塊大小整體考慮參照系統(tǒng)分析說明書第二十七頁,共51頁。從數(shù)據(jù)流圖導出結(jié)構(gòu)圖轉(zhuǎn)換分析模型(邏輯模型)設計模型(物理模型)第二十八頁,共51頁。轉(zhuǎn)換存在鴻溝數(shù)據(jù)流圖著眼于現(xiàn)實世界,結(jié)構(gòu)圖著眼于計算機世界。數(shù)據(jù)流圖反映數(shù)據(jù)流,反映系統(tǒng)的邏輯功能,即系統(tǒng)能夠“做什么”;結(jié)構(gòu)圖反映程序控制層次,反映系統(tǒng)的物理模型,即怎樣逐步實現(xiàn)系統(tǒng)的總功能。簡單地說:數(shù)據(jù)流圖描述線性的工作流程,結(jié)構(gòu)圖描述工作的分配(誰負責做什么)第二十九頁,共51頁。對線性結(jié)構(gòu)的DFD作分析,步驟:劃分數(shù)據(jù)流圖的輸入、主加工和邏輯輸出設計頂層模塊:系統(tǒng)的主加工,反映整個系統(tǒng)功能套用固定格式生成第1、2層模塊結(jié)構(gòu)圖對第2層模塊進一步分解,構(gòu)造完整的模塊結(jié)構(gòu)圖第三十頁,共51頁。第1步劃分輸入、加工、輸出原始數(shù)據(jù)機內(nèi)數(shù)據(jù)正確數(shù)據(jù)解格式化解輸出解邏輯輸出邏輯輸入(物理輸入)(物理輸出)P1讀入數(shù)據(jù)P2編輯數(shù)據(jù)P3求解P4編輯格式P5打印輸出第三十一頁,共51頁。第2步構(gòu)造第1、2層模塊正確數(shù)據(jù)求解編輯數(shù)據(jù)計算獲得正確數(shù)據(jù)輸出解編排格式打印解編輯數(shù)據(jù)讀入數(shù)據(jù)正確數(shù)據(jù)原始數(shù)據(jù)機內(nèi)數(shù)據(jù)解格式化解解正確數(shù)據(jù)格式化解解第三十二頁,共51頁。第3步繼續(xù)分解更細粒度的模塊分解,如:計算中間結(jié)果數(shù)據(jù)計算A計算B最終解第三十三頁,共51頁。數(shù)據(jù)流圖的層次和結(jié)構(gòu)圖的層次存在一定的對應關系,但不是機械照搬。M32.......................................................................P1.4第三十四頁,共51頁。轉(zhuǎn)換實例以討論過的工資計算系統(tǒng)數(shù)據(jù)流圖為例來介紹變換分析建立軟件結(jié)構(gòu)的主要步驟。
(1)劃分邊界,區(qū)分系統(tǒng)的輸入、變換中心和輸出部分。(虛線將輸入、變換中心和輸出部分分開)
輸出輸入第三十五頁,共51頁。轉(zhuǎn)換實例(續(xù))(2)完成第一級分解,設計系統(tǒng)的上層模塊。(工資計算系統(tǒng)的一級分解結(jié)果如下圖)
P1(部分)P1(部分)P2、P3第三十六頁,共51頁。轉(zhuǎn)換實例(續(xù))(3)開始第二級分解,由于P1處理過程有一部分對應“取得基本數(shù)據(jù)”模塊、還有一部分對應著“計算工資”模塊,所以不要局限于P1的第2層數(shù)據(jù)流程圖,我們不妨將最底層的數(shù)據(jù)流程圖拼在一起,從而確定P1中哪些是輸入、哪些是變換處理。(虛線將輸入、變換中心和輸出部分分開)第三十七頁,共51頁。轉(zhuǎn)換實例(續(xù))第三十八頁,共51頁。轉(zhuǎn)換實例(續(xù))
(4)完成第二級分解,設計輸入、變換中心和輸出部分的中、下層模塊(圖中省略了模塊調(diào)用傳遞的信息)第三十九頁,共51頁。第四十頁,共51頁。第四十一頁,共51頁。事務分析對并行結(jié)構(gòu)的DFD進行分析,如:根據(jù)輸入數(shù)據(jù)判斷業(yè)務類型,不同業(yè)務的具體處理過程有區(qū)別。Q內(nèi)容B結(jié)果C結(jié)果B數(shù)據(jù)A結(jié)果清單原始輸入A數(shù)據(jù)P內(nèi)容C數(shù)據(jù)R內(nèi)容決定事務類型打印更新內(nèi)容事務A事務B事務C更新P更新Q更新R第四十二頁,共51頁。事務分析結(jié)果業(yè)務處理分配處理分析類型判別業(yè)務輸入數(shù)據(jù)處理事務C處理事務A處理事務B事務A更新P事務B更新Q事務C更新R打印清單第四十三頁,共51頁。事務分析結(jié)果上圖存在控制耦合,消除后:業(yè)務處理分配處理輸入數(shù)據(jù)判別業(yè)務處理事務C處理事務A處理事務B事務A更新P事務B更新Q事務C更新R打印清單第四十四頁,共51頁?;旌辖Y(jié)構(gòu)分析一個大型系統(tǒng)中常常是變換型和事務型的混合結(jié)構(gòu)。為了導出它們的初始結(jié)構(gòu)圖,也必須同時采用變換分析和事務分析兩種方法。一般情況,結(jié)構(gòu)化設計的基本思路是,以變換分析為主,事務型為輔,導出初始設計
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 新疆喀什地區(qū)2025-2026學年九年級上學期期末考試物理試卷(含答案)
- 廣東省揭陽市惠來縣2025-2026學年八年級數(shù)學上學期期末考試(含答案)
- 甘肅省定西市臨洮縣2025-2026學年下學期九年級化學一模練習試卷(含答案)
- 物化考試題及答案
- 蚊蟲危害題目及答案
- 網(wǎng)上答題題目及答案
- 辦事處行政專員崗位職責
- 部編版一年級數(shù)學上冊期末試卷及答案(真題)
- 山西省忻州市忻府區(qū)播明聯(lián)合學校2022年高二語文測試題含解析
- 2026年培訓師專業(yè)技能提升
- 消防工程施工資料管理與規(guī)范
- 《2025年CSCO非小細胞癌診療指南》解讀
- 在線網(wǎng)課學習課堂《人工智能(北理 )》單元測試考核答案
- 摩托車新車寄售協(xié)議書范文范本
- DL∕T 1724-2017 電能質(zhì)量評估技術導則 電壓波動和閃變
- 民警職級晉升工作總結(jié)范文三篇
- 銀齡計劃教師總結(jié)
- (高清版)DZT 0351-2020 野外地質(zhì)工作后勤保障要求
- 港珠澳大橋工程管理創(chuàng)新與實踐
- 化妝培訓行業(yè)分析
- 孩子如何正確與師長相處與溝通
評論
0/150
提交評論