freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

軟件工程第5章-結(jié)構(gòu)化分析與設(shè)計-資料下載頁

2025-08-16 00:46本頁面
  

【正文】 的輸出數(shù)據(jù)流 ? 物理輸入要經(jīng)過編輯、格式轉(zhuǎn)換、合法性檢查等輔助性加工后變成純粹的邏輯輸入再傳給變換中心;變換中心產(chǎn)生的邏輯輸出要經(jīng)過格式轉(zhuǎn)換、組成物理塊、緩沖處理等輔助性加工后變成物理輸出,再送到系統(tǒng)外 復(fù)旦大學(xué)計算機科學(xué)技術(shù)學(xué)院 軟件工程(第二版) 復(fù)旦大學(xué)計算機科學(xué)技術(shù)學(xué)院 軟件工程(第二版) 90 ? 確定邏輯輸入 : 從物理輸入端開始,一步步向系統(tǒng)的中間移動,可找到離物理輸入端最遠(yuǎn)的,但仍可被看作系統(tǒng)輸入的那個數(shù)據(jù)流,就是邏輯輸入 ? 確定邏輯輸出 : 從物理輸出端開始,一步步向系統(tǒng)的中間移動,可找到離物理輸出端最遠(yuǎn)的,但仍可被看作系統(tǒng)輸出的那個數(shù)據(jù)流,就是邏輯輸出 ? 確定變換中心 : 確定了所有的邏輯輸入 /輸出后,位于邏輯輸入和邏輯輸出之間的部分就是變換中心 復(fù)旦大學(xué)計算機科學(xué)技術(shù)學(xué)院 軟件工程(第二版) 91 ? 這種劃分可能因人而異,并不唯一,但差別不會很大,對最后的程序結(jié)構(gòu)影響也不大 ? 例如,下圖是考務(wù)處理系統(tǒng)中“統(tǒng)計成績”子圖經(jīng)精化后的 DFD,其中的虛線指出了輸入流和輸出流的邊界。其中,“合格標(biāo)準(zhǔn)”既是物理輸入,又是邏輯輸入 復(fù)旦大學(xué)計算機科學(xué)技術(shù)學(xué)院 軟件工程(第二版) 92 復(fù)旦大學(xué)計算機科學(xué)技術(shù)學(xué)院 軟件工程(第二版) 93 2. 進(jìn)行第一級分解 第一級分解是將 DFD映射成變換型的程序結(jié)構(gòu) ? 主控模塊:完成整個系統(tǒng)的功能 ? 輸入流控制模塊:接收所有輸入數(shù)據(jù) ? 變換流控制模塊:對內(nèi)部形式的數(shù)據(jù)進(jìn)行加工處理,實現(xiàn)輸入到輸出的變換 ? 輸出流控制模塊:產(chǎn)生所有輸出數(shù)據(jù) 復(fù)旦大學(xué)計算機科學(xué)技術(shù)學(xué)院 軟件工程(第二版) 94 考務(wù)處理系統(tǒng)中“統(tǒng)計成績” DFD子圖分解后的結(jié)構(gòu)圖 ? 對大型系統(tǒng)可以將上述的一個模塊畫成多個模塊(如每個輸入 /輸出通路畫一個模塊) ? 分解的原則是在完成控制功能,并保持低耦合高內(nèi)聚的前提下,盡量減少模塊數(shù) 復(fù)旦大學(xué)計算機科學(xué)技術(shù)學(xué)院 軟件工程(第二版) 95 3. 進(jìn)行第二級分解 ? 輸入流控制模塊的分解: 從變換中心的邊界開始,沿著輸入通路向外移動,把輸入通路上的每個加工映射成程序結(jié)構(gòu)中輸入流控制模塊的一個低層??? ? 輸出流控制模塊的分解: 從變換中心的邊界開始,沿著輸出通路向外移動,把輸出通路上的每個加工映射成程序結(jié)構(gòu)中輸出流控制模塊的一個低層模快 ? 變換流控制模塊的分解: 把變換中心的每個加工映射成受變換控制模塊控制的一個低層模塊 復(fù)旦大學(xué)計算機科學(xué)技術(shù)學(xué)院 軟件工程(第二版) 96 考務(wù)處理系統(tǒng)中“統(tǒng)計成績” DFD子圖第二級分解后所得到的初始結(jié)構(gòu)圖 復(fù)旦大學(xué)計算機科學(xué)技術(shù)學(xué)院 軟件工程(第二版) 97 說明每個模塊,內(nèi)容包括: ? 模塊的接口描述 ? 模塊的局部信息(局部數(shù)據(jù)結(jié)構(gòu)) ? 處理過程陳述 ? 約束和限制條件 第二級分解后得到軟件的初始結(jié)構(gòu)圖。然后,根據(jù) DFD,在初始結(jié)構(gòu)圖上標(biāo)注模塊之間傳遞的輸入信息和輸出信息 復(fù)旦大學(xué)計算機科學(xué)技術(shù)學(xué)院 軟件工程(第二版) 98 事務(wù)分析 1. 確定事務(wù)中心 事務(wù)中心位于數(shù)條動作路徑的起點,這些動作路徑呈幅射狀從該點流出 2. 將 DFD圖映射成事務(wù)型的程序結(jié)構(gòu) 事務(wù)型的結(jié)構(gòu)圖如下圖,其中: 1)主控模塊:完成整個系統(tǒng)的功能 2)接收模塊:接收輸入數(shù)據(jù)(事務(wù)) 3)發(fā)送模塊:根據(jù)輸入事務(wù)的類型,選擇一個動作路徑控制模塊 4)動作路徑控制模塊:完成相應(yīng)的動作路徑所執(zhí)行的子功能 復(fù)旦大學(xué)計算機科學(xué)技術(shù)學(xué)院 軟件工程(第二版) 99 DFD圖映射成事務(wù)型的程序結(jié)構(gòu) 復(fù)旦大學(xué)計算機科學(xué)技術(shù)學(xué)院 軟件工程(第二版) 100 3.分解每條動作路徑所對應(yīng)的結(jié)構(gòu)圖 1)接收模塊的分解 從事務(wù)中心開始,沿著輸入路徑向外移動,把輸入路徑上的每個加工映射成結(jié)構(gòu)圖中受接收模塊控制的一個低層模塊 2)動作路徑控制模塊的分解 首先確定每條動作路徑的流類型(變換流或事務(wù)流),然后,運用變換分析或事務(wù)分析,將每條動作路徑映射成與其流特性相對應(yīng)的以動作路徑控制模塊為根模塊的結(jié)構(gòu)圖 復(fù)旦大學(xué)計算機科學(xué)技術(shù)學(xué)院 軟件工程(第二版) 101 分層 DFD的映射 ?對于分層數(shù)據(jù)流圖, 0層圖常常反映了系統(tǒng)由哪些子系統(tǒng)組成,此時可先將 0層圖映射成下圖形式的結(jié)構(gòu)圖 ?0層圖每個加工的 DFD子圖可映射成以相應(yīng)模塊為根模塊的結(jié)構(gòu)子圖 ?如果 DFD子圖中的加工還可分解成一張子圖,則再將其映射成以相應(yīng)模塊為根模塊的結(jié)構(gòu)子圖 ?依次一層一層分解下去,可得到最終的初始結(jié)構(gòu)圖 復(fù)旦大學(xué)計算機科學(xué)技術(shù)學(xué)院 軟件工程(第二版) 復(fù)旦大學(xué)計算機科學(xué)技術(shù)學(xué)院 軟件工程(第二版) 102 考務(wù)處理系統(tǒng)分層 DFD所得到的初始結(jié)構(gòu)圖 復(fù)旦大學(xué)計算機科學(xué)技術(shù)學(xué)院 軟件工程(第二版) 復(fù)旦大學(xué)計算機科學(xué)技術(shù)學(xué)院 軟件工程(第二版) 103 復(fù)旦大學(xué)計算機科學(xué)技術(shù)學(xué)院 軟件工程(第二版) 內(nèi)容摘要 ? 結(jié)構(gòu)化分析方法概述 ? 數(shù)據(jù)流圖 ? 分層數(shù)據(jù)流圖的審查 ? 數(shù)據(jù)字典 ? 描述基本加工的小說明 ? 結(jié)構(gòu)化設(shè)計概述 ? 數(shù)據(jù)流圖到軟件體系結(jié)構(gòu)的映射 ? 初始結(jié)構(gòu)圖的改進(jìn) ? 小結(jié) 復(fù)旦大學(xué)計算機科學(xué)技術(shù)學(xué)院 軟件工程(第二版) 104 初始結(jié)構(gòu)圖的改進(jìn) ? 對結(jié)構(gòu)圖改進(jìn)的依據(jù)就是觀察這種改進(jìn)是否符合軟件設(shè)計的準(zhǔn)則和啟發(fā)式設(shè)計策略 ? 結(jié)構(gòu)圖的改進(jìn)沒有明顯的步驟,也很難說改進(jìn)到什么程度可以終止了 ? 凡是設(shè)計者認(rèn)為不合理的地方都可以改進(jìn),但改進(jìn)后的結(jié)果應(yīng)該比改進(jìn)前好 ? 一次改進(jìn)常常使某些設(shè)計質(zhì)量變好了,而使另一些設(shè)計質(zhì)量變壞了,因此在改進(jìn)時要進(jìn)行折中 ? 改進(jìn)往往不是一次完成的,需要進(jìn)行多次的反復(fù),有時可提出多個改進(jìn)方案,然后,從中選取一個較優(yōu)的方案。 復(fù)旦大學(xué)計算機科學(xué)技術(shù)學(xué)院 軟件工程(第二版) 105 “考試報名”部分的改進(jìn) “考試報名”部分的結(jié)構(gòu)圖中,“輸入報名單”模塊比較簡單,它可以和“檢查報名單”合并。另外,“檢查報名單”模塊在發(fā)現(xiàn)報名單有錯時,其錯誤信息要經(jīng)過一連串的參數(shù)傳遞送到“打印報名單出錯信息”模塊,其耦合度比較大。如果將“打印報名單出錯信息”模塊也合并到“檢查報名單”模塊,那么,在發(fā)現(xiàn)報名單有錯時,立即輸出錯誤信息,這樣圖中相關(guān)參數(shù)的傳遞都可省去,從而降低了模塊間的耦合度?!拜斎雸竺麊巍?、“檢查報名單”和“打印報名單出錯信息”三個模塊合并后取名為“輸入并檢查報名單”,如圖所示。 復(fù)旦大學(xué)計算機科學(xué)技術(shù)學(xué)院 軟件工程(第二版) 復(fù)旦大學(xué)計算機科學(xué)技術(shù)學(xué)院 軟件工程(第二版) 106 復(fù)旦大學(xué)計算機科學(xué)技術(shù)學(xué)院 軟件工程(第二版) 107 同樣道理,準(zhǔn)考證在“編準(zhǔn)考證號”模塊產(chǎn)生,一直要到“打印準(zhǔn)考證”模塊才使用,而其它模塊都不使用此信息。因此可以將這二個模塊合并成“編制并打印準(zhǔn)考證”。另外,“登記考生”和“輸出考生名單”也可合并成“登記并輸出考生名單”,如圖所示。 復(fù)旦大學(xué)計算機科學(xué)技術(shù)學(xué)院 軟件工程(第二版) 108 ? 在變換分析的過程中,“輸出控制”模塊的作用是調(diào)用下面的三個輸出模塊,現(xiàn)在這三個輸出模塊都合并到其它模塊中去了,因此,“輸出控制”也可以刪去了。 ? 對于“輸入控制模塊”和“報名處理”模塊,它們除了調(diào)用低層模塊并傳遞參數(shù)外,沒有其它實質(zhì)性的工作,這種模塊稱為管道模塊,可以將其刪除,其低層模塊改由其上層模塊調(diào)用。 復(fù)旦大學(xué)計算機科學(xué)技術(shù)學(xué)院 軟件工程(第二版) 復(fù)旦大學(xué)計算機科學(xué)技術(shù)學(xué)院 軟件工程(第二版) 109 “統(tǒng)計成績”部分的改進(jìn) ? 先將一些比較簡單的模塊合并到與其功能相一致的模塊中,以減少耦合度 – 將“輸入成績清單”、“檢查成績清單”、“打印成績單出錯信息”合并成“輸入并檢查成績清單” – 將“輸入合格標(biāo)準(zhǔn)”與“審定合格者”合并,仍取名“審定合格者”,但它包含讀入合格標(biāo)準(zhǔn)功能 – 將“產(chǎn)生考生通知單”與“打印考生通知單”合并成“產(chǎn)生并打印考生通知單” 復(fù)旦大學(xué)計算機科學(xué)技術(shù)學(xué)院 軟件工程(第二版) 110 復(fù)旦大學(xué)計算機科學(xué)技術(shù)學(xué)院 軟件工程(第二版) 111 “ 分析試題難度 ” 和 “ 打印分類統(tǒng)計表 ” 模塊產(chǎn)生的 “ 難度分析結(jié)果 ” 和 “ 分類統(tǒng)計結(jié)果 ” 只在 “ 打印難度分析表 ” 和“ 打印分類統(tǒng)計表 ” 模塊中使用 , 因此 , 將 “ 打印難度分析表 ” 模塊和 “ 打印分類統(tǒng)計表 ” 模塊分別作為 “ 分析試題難度 ” 模塊和 “ 分類統(tǒng)計成績 ” 模塊的下屬模塊 , 可降低模塊間的耦合程度 。 復(fù)旦大學(xué)計算機科學(xué)技術(shù)學(xué)院 軟件工程(第二版) 復(fù)旦大學(xué)計算機科學(xué)技術(shù)學(xué)院 軟件工程(第二版) 112 “ 統(tǒng)計成績輸出控制 ” 可刪去 , “ 統(tǒng)計成績輸入控制 ” 模塊和 “ 統(tǒng)計成績處理模塊 ” 均為 “ 管道 ” 模塊 , 也可刪去 復(fù)旦大學(xué)計算機科學(xué)技術(shù)學(xué)院 軟件工程(第二版) 復(fù)旦大學(xué)計算機科學(xué)技術(shù)學(xué)院 軟件工程(第二版) 113 改進(jìn)后整個結(jié)構(gòu)圖 復(fù)旦大學(xué)計算機科學(xué)技術(shù)學(xué)院 軟件工程(第二版) 復(fù)旦大學(xué)計算機科學(xué)技術(shù)學(xué)院 軟件工程(第二版) 114 整個結(jié)構(gòu)圖的改進(jìn) 考慮到分析試題難度和分類統(tǒng)計成績是屬于后處理的一些工作,它們對這一次考試的總結(jié),為下一次考試命題作準(zhǔn)備的。同時,它們是相對獨立的功能,由考試中心發(fā)布啟動命令,因此,可以將它們移到主控模塊“考務(wù)處理系統(tǒng)”之下 復(fù)旦大學(xué)計算機科學(xué)技術(shù)學(xué)院 軟件工程(第二版) 復(fù)旦大學(xué)計算機科學(xué)技術(shù)學(xué)院 軟件工程(第二版) 115 結(jié)構(gòu)圖改進(jìn)技巧 1.減少模塊間的耦合度 可以通過將功能簡單的模塊合并到與其關(guān)系密切的模塊中,或調(diào)整模塊的位置,來減少模塊間的參數(shù)傳遞,或避免參數(shù)長距離傳輸,以降低耦合度。 2.消除重復(fù)功能 如果二個模塊中存在某一相同的功能,應(yīng)將這個功能從二個模塊中分離出來,作為一個獨立的模塊被二者調(diào)用。 3.消除“管道”模塊 “管道”模塊通常是應(yīng)該刪除的,除非刪除后上層模塊的扇出太大。 4.模塊的大小適中 如果一個模塊太大,要考慮將它分成二個模塊;如果一個模塊太小,可考慮將它合并在與它功能密切相關(guān)的模塊中。通常一個模塊的大小,以其實現(xiàn)代碼可書寫在 1~ 2頁紙(約 50~ 100行)為宜。 復(fù)旦大學(xué)計算機科學(xué)技術(shù)學(xué)院 軟件工程(第二版) 復(fù)旦大學(xué)計算機科學(xué)技術(shù)學(xué)院 軟件工程(第二版) 116 結(jié)構(gòu)圖改進(jìn)技巧 5.避免高扇出 一個模塊的扇出不宜過大,一般希望控制在 7177。 2范圍內(nèi)。當(dāng)一個模塊的扇出較大時,應(yīng)考慮重新分解 6.應(yīng)盡可能研究整張結(jié)構(gòu)圖,而不是只考慮其中的一部分 復(fù)旦大學(xué)計算機科學(xué)技術(shù)學(xué)院 軟件工程(第二版) ( a) 高扇出 ( b)重新分解 復(fù)旦大學(xué)計算機科學(xué)技術(shù)學(xué)院 軟件工程(第二版) 117 復(fù)旦大學(xué)計算機科學(xué)技術(shù)學(xué)院 軟件工程(第二版) 內(nèi)容摘要 ? 結(jié)構(gòu)化分析方法概述 ? 數(shù)據(jù)流圖 ? 分層數(shù)據(jù)流圖的審查 ? 數(shù)據(jù)字典 ? 描述基本加工的小說明 ? 結(jié)構(gòu)化設(shè)計概述 ? 數(shù)據(jù)流圖到軟件體系結(jié)構(gòu)的映射 ? 初始結(jié)構(gòu)圖的改進(jìn) ? 小結(jié) 118 復(fù)旦大學(xué)計算機科學(xué)技術(shù)學(xué)院 軟件工程(第二版) 小結(jié) ? 結(jié)構(gòu)化方法是一種傳統(tǒng)的面向數(shù)據(jù)流開發(fā)方法 ? 以數(shù)據(jù)流為中心構(gòu)建軟件的分析模型和設(shè)計模型 ? 在結(jié)構(gòu)化分析方面,本章介紹 結(jié)構(gòu)化分析的基本思想和分析過程 ,詳細(xì)介紹了 分層數(shù)據(jù)流圖的畫法 , 分層數(shù)據(jù)流圖的審查 , 數(shù)據(jù)字典各條目的描述內(nèi)容 以及 基本加工小說明的描述方法 ? 在結(jié)構(gòu)化設(shè)計方面,本章介紹 如何將分析的結(jié)果(DFD)映射成初始的程序結(jié)構(gòu)圖 ,包括 變換分析和事務(wù)分析 ,并介紹 對初始結(jié)構(gòu)圖的優(yōu)化 11
點擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1