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

正文內(nèi)容

[工學(xué)]6_總體設(shè)計(jì)-文庫吧資料

2025-01-27 13:05本頁面
  

【正文】 模塊的作用域和控制域 圖 100/175 5. 力爭(zhēng)降低模塊接口的復(fù)雜程度 ? 模塊接口復(fù)雜是軟件發(fā)生錯(cuò)誤的一個(gè)主要原因。 ? 例如,在圖 A的控制域是 A、 B、 C、 D、E、 F等模塊的集合。 98/175 4. 模塊的“作用域”應(yīng)該落在“控制域”之內(nèi) ? 作用域是受該模塊內(nèi)一個(gè)判定影響的所有模塊的集合。 97/175 ④ 扇入 ?一個(gè)模塊的扇入表明有多少個(gè)上級(jí)模塊直接調(diào)用它; ?扇入越大則共享該模塊的上級(jí)模塊數(shù)目越多,這是有好處的,但不能違背模塊獨(dú)立原理單純追求高扇入。扇出太小時(shí)可以把下級(jí)模塊進(jìn)一步分解成若干個(gè)子功能模塊,或者合并到它的上級(jí)模塊中去。經(jīng)驗(yàn)表明,一個(gè)設(shè)計(jì)得好的典型系統(tǒng)的平均扇出通常是 3或 4(扇出的上限通常是 5~ 9)。 ? 對(duì)寬度影響最大的因素是模塊的扇出。 95/175 ② 寬度 ? 寬度是軟件結(jié)構(gòu)內(nèi)同一個(gè)層上模塊總數(shù)的最大值。 ? 深度和程序長(zhǎng)度之間應(yīng)該有粗略的對(duì)應(yīng)關(guān)系。 92/175 3. 深度、寬度、扇出和扇入都應(yīng)適當(dāng) ? 從 “ 結(jié)構(gòu)圖 ” 來看,合理的軟件結(jié)構(gòu),從深度、寬度、扇出、扇入等幾方面有一些基本的要求。 ? 過大的模塊往往是由于分解不充分,但是進(jìn)一步分解必須符合問題結(jié)構(gòu),一般說來,分解后不應(yīng)該降低模塊獨(dú)立性。 ? 例如,多個(gè)模塊公有的一個(gè)子功能可以獨(dú)立成一個(gè)模塊,由這些模塊調(diào)用; ? 有時(shí)可以通過分解或合并模塊以減少控制信息的傳遞及對(duì)全程數(shù)據(jù)的引用,并且降低接口的復(fù)雜程度。 ? 下面介紹幾條啟發(fā)式規(guī)則。 88/175 啟發(fā)性設(shè)計(jì)原則 1. 通過提高模塊獨(dú)立性,改進(jìn)軟件結(jié)構(gòu), 2. 模塊規(guī)模應(yīng)該適中 3. 深度、寬度、扇出和扇入都應(yīng)適當(dāng) 4. 模塊的作用域應(yīng)該在控制域之內(nèi) 5. 力爭(zhēng)降低模塊接口的復(fù)雜程度 6. 設(shè)計(jì)單入口單出口的模塊 7. 模塊功能應(yīng)該可以預(yù)測(cè) 89/175 ? 實(shí)踐中,總結(jié)經(jīng)驗(yàn)得出了一些啟發(fā)式規(guī)則。 ? 沒有必要精確確定內(nèi)聚和耦合的級(jí)別。 86/175 ? 耦合和內(nèi)聚的概念是Constantine,Yourdon,Myers和 Stevens等人提出來的。 ② 如果一個(gè)模塊完成的任務(wù)在邏輯上屬于相同或相似的一類,則稱為邏輯內(nèi)聚。 85/175 3. 低內(nèi)聚有如下幾類: ① 如果一個(gè)模塊完成一組任務(wù),這些任務(wù)彼此間即使有關(guān)系,關(guān)系也是很松散的,就叫做偶然內(nèi)聚。 ? 使用程序流程圖作為工具設(shè)計(jì)軟件時(shí),常常通過研究流程圖確定模塊的劃分,這樣得到的往往是過程內(nèi)聚的模塊。 ? 根據(jù)數(shù)據(jù)流圖劃分模塊時(shí),通常得到順序內(nèi)聚的模塊,這種模塊彼此間的連接往往比較簡(jiǎn)單。 ? 功能內(nèi)聚是最高程度的內(nèi)聚。 82/175 考察內(nèi)聚性 ? 同樣地,可以通過考察模塊內(nèi)容功能的聚合形式來判斷模塊的獨(dú)立性。簡(jiǎn)單地說,理想內(nèi)聚的模塊只做一件事情。 圖 81/175 2. 內(nèi)聚 ? 模塊的內(nèi)聚性是反映模塊的獨(dú)立性的另一個(gè)側(cè)面,模塊內(nèi)聚性越強(qiáng),其獨(dú)立性就越好。松散公共耦合和緊密公共耦合。公共耦合的復(fù)雜程度隨耦合模塊的個(gè)數(shù)增加而顯著增加。 79/175 ⑥ 公共耦合 ? 如圖 ,若一組模塊都訪問同一個(gè)公共數(shù)據(jù)環(huán)境,則它們之間的耦合就稱為公共耦合。 圖 77/175 對(duì)控制耦合的改進(jìn) ? 將控制標(biāo)志改為描述性標(biāo)志 . 78/175 ⑤ 外部耦合(注意與公共耦合的區(qū)別) ? 一組模塊都訪問同一全局簡(jiǎn)單變量,而且不是通過參數(shù)表傳遞該全局變量的信息,則稱之為外部耦合。 圖 76/175 控制耦合不可取 ? 本質(zhì)上,控制耦合干涉了被調(diào)用模塊的內(nèi)部處理邏輯,這樣就造成了 B模塊不再是一個(gè)暗盒,因此是一種不好的設(shè)計(jì)形式。 變“特征耦合”為“數(shù)據(jù)耦合” 74/175 變“特征耦合”為“數(shù)據(jù)耦合” 75/175 ④ 控制耦合 ? 模塊調(diào)用時(shí),傳送了控制信息,就構(gòu)成了控制耦合。 ? 標(biāo)記耦合又叫特征耦合,因?yàn)橐粋€(gè)數(shù)據(jù)結(jié)構(gòu)往往描述了一個(gè)事務(wù)的特征。 ? 如圖所示,開發(fā)票模塊在調(diào)用計(jì)算金額模塊時(shí),傳遞的“ 單價(jià) ” 、 “ 數(shù)量 ” 和 “ 金額 ” 都是簡(jiǎn)單的數(shù)據(jù)元素。 69/175 耦合形式舉例 70/175 ① 非直接耦合 ? 模塊間沒有直接關(guān)系,完全是由于主模塊的控制和調(diào)用形成的關(guān)聯(lián)聯(lián)系 ? 非直接耦合的模塊獨(dú)立性最強(qiáng)。 ? 耦合強(qiáng)弱,表現(xiàn)出相應(yīng)的模塊間接口的復(fù)雜程度。 65/175 如何判定模塊的獨(dú)立性? ? 決定模塊獨(dú)立性的因素有兩個(gè): ? 內(nèi)聚 ——即模塊內(nèi)功能的內(nèi)聚性; ? 耦合 ——即模塊之間的關(guān)聯(lián)性; ? 內(nèi)聚與耦合實(shí)際上是一個(gè)問題的兩個(gè)側(cè)面. ? 好的設(shè)計(jì)方案,應(yīng)該是由高內(nèi)聚和低耦合的模塊構(gòu)建的系統(tǒng)結(jié)構(gòu)。 ? 第二,易測(cè)試、易維護(hù)。 ? 模塊獨(dú)立性原則,希望每個(gè)模塊完成一個(gè)相對(duì)獨(dú)立的功能,并與其他模塊之間的關(guān)系盡量簡(jiǎn)單。 ?在修改期間由于疏忽而引入的錯(cuò)誤就很少可能傳播到軟件的其他部分。在測(cè)試期間和以后的軟件維護(hù)中會(huì)帶來極大好處。 ? 顯然,局部化有助于實(shí)現(xiàn)信息隱藏。 ? 具體講有兩個(gè)方面: ? (1)軟件內(nèi)部的過程,在外部是不應(yīng)該直接被調(diào)用的 ? (2)模塊內(nèi)部的數(shù)據(jù),必須嚴(yán)格設(shè)計(jì)其可見性 ? 公共\受保護(hù)\私有 60/175 局部化的概念也與“信息隱藏”概念是密切相關(guān) ? 所謂局部化是指把一些關(guān)系密切的軟件元素,物理地放得彼此靠近。 ? 可以把逐步求精定義為: “ 為了能集中精力解決主要問題而盡量推遲對(duì)問題細(xì)節(jié)的考慮。這樣可以推出: E(P1+P2)E(P1)+E(P2) 46/175 2. 模塊化的思想 47/175 2. 模塊化思想 ? 模塊化是為了簡(jiǎn)化對(duì)復(fù)雜問的理解。 44/175 2. 模塊化的思想 45/175 2. 模塊化的思想 ? 設(shè)某個(gè)問題 X,它的復(fù)雜性函數(shù)為 C( X),解決它所需的工作量為 E( X) ? 對(duì)于問題 P1和 P2,如果 C(P1)C(P2),即 P1比 P2復(fù)雜,那么 E( P1) E(P2),即問題越復(fù)雜,所需要的工作量越大。 模塊 ——是對(duì)一組軟件功能的封裝 理解一組相關(guān)概念: 解決復(fù)雜問題 分解 面向?qū)ο? 責(zé)任分解 對(duì)象 結(jié)構(gòu)化 功能分解 模塊 封裝 接口 多態(tài) 43/175 2. 模塊化的思想 ?模塊化是軟件工程中解決復(fù)雜問題的一種有效手段,它不僅可以使問題簡(jiǎn)化,而且也可以降低工作量。 ? 功能、狀態(tài)與接口反映模塊的外部特性,邏輯反映它的內(nèi)部特性。 ?( 2)功能:是模塊存在的必要條件,模塊必然是為實(shí)現(xiàn)某個(gè)功能而延生的。 41/175 1. 模塊的概念 ? 在軟件的構(gòu)架中,模塊是可以組合、分解和更換的單元。該集合一般是由于某種原因包裝在一起的,最主要的是為了完成一個(gè)功能。 ? (4) 詳細(xì)的實(shí)現(xiàn)計(jì)劃 ? (5) 數(shù)據(jù)庫設(shè)計(jì)結(jié)果 37/175 審查和復(fù)審 ? 最后應(yīng)該對(duì)總體設(shè)計(jì)的結(jié)果進(jìn)行嚴(yán)格的技術(shù)審查; ? 在技術(shù)審查通過之后再由使用部門的負(fù)責(zé)人從管理角度進(jìn)行復(fù)審。 ? (2) 用戶手冊(cè)根據(jù)總體設(shè)計(jì)階段的結(jié)果,修改更正在需求分析階段產(chǎn)生的初步的用戶手冊(cè)。 ? 總體設(shè)計(jì)結(jié)束,完成集成測(cè)試計(jì)劃; ? 本書第 7章將仔細(xì)討論軟件測(cè)試的目的和設(shè)計(jì)測(cè)試方案的各種技術(shù)方法。 ? 在數(shù)據(jù)庫課中已經(jīng)詳細(xì)講述了設(shè)計(jì)數(shù)據(jù)庫的方法,本書不再贅述。 ? 如果數(shù)據(jù)流圖已經(jīng)細(xì)化到適當(dāng)?shù)膶哟?,則可以直接從數(shù)據(jù)流圖映射出軟件結(jié)構(gòu),這就是 “ 面向數(shù)據(jù)流的設(shè)計(jì)方法 ” ,在 。 ? 應(yīng)該把系統(tǒng)組織成良好的層次結(jié)構(gòu),頂層模塊調(diào)用它的下層模塊以實(shí)現(xiàn)程序的完整功能,每個(gè)下層模塊再調(diào)用更下層的模塊,從而完成程序的一個(gè)子功能,最下層的模塊完成最具體的功能。 ? 功能分解導(dǎo)致數(shù)據(jù)流圖的進(jìn)一步細(xì)化,同時(shí)還應(yīng)該用IPO圖或其他適當(dāng)?shù)墓ぞ吆?jiǎn)要描述細(xì)化后每個(gè)處理的算法。 ? 分析師結(jié)合算法描述,仔細(xì)分析數(shù)據(jù)流圖中的每個(gè)“ 加工 ” ,如果一個(gè) “ 加工 ” 的功能過分復(fù)雜,必須把它的功能適當(dāng)?shù)胤纸獬梢幌盗斜容^簡(jiǎn)單的功能。 ? 結(jié)構(gòu)設(shè)計(jì)是總體設(shè)計(jì)階段的任務(wù),過程設(shè)計(jì)是詳細(xì)設(shè)計(jì)階段的任務(wù)。 25/175 設(shè)計(jì)過程 ? 方案設(shè)計(jì) ? 軟件結(jié)構(gòu)設(shè)計(jì) 26/175 軟件結(jié)構(gòu)設(shè)計(jì) ? 1. 功能分解 ? 2. 軟件的模塊化結(jié)構(gòu)設(shè)計(jì) 27/175 1. 功能分解 ? 為結(jié)構(gòu)設(shè)計(jì)做準(zhǔn)備 ? 設(shè)計(jì)通常分兩步完成:結(jié)構(gòu)設(shè)計(jì)和過程設(shè)計(jì)。 ? 用戶和有關(guān)的技術(shù)專家應(yīng)該認(rèn)真審查分析員所推薦的最佳系統(tǒng),如果該方案確實(shí)符合用戶的需要,并且是在現(xiàn)有條件下完全能夠?qū)崿F(xiàn)的,則應(yīng)該提請(qǐng)使用部門負(fù)責(zé)人進(jìn)一步審批。對(duì)每個(gè)合理的方案,分析師都應(yīng)該準(zhǔn)備下列 4份資料: ? (1) 系統(tǒng)流程圖; ? (2) 組成系統(tǒng)的物理元素(軟 /硬件)清單;實(shí)體布署圖; ? (3) 成本 /效益分析; ? (4) 實(shí)現(xiàn)這個(gè)系統(tǒng)的進(jìn)度計(jì)劃。 21/175 圖 這種劃分自動(dòng)化邊界的方法暗示 以批量方式更新庫存清單 22
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1