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

正文內(nèi)容

軟件制造工程程序設(shè)計-文庫吧

2024-12-22 19:55 本頁面


【正文】 局部數(shù)據(jù)結(jié)構(gòu)的存取限制。 ? “隱蔽”意味著有效的模塊化可以通過定義一組獨立的模塊而實現(xiàn),這些獨立的模塊彼此間僅僅交換那些為了完成系統(tǒng)功能而必須交換的信息。 程序設(shè)計原理 ? 在一節(jié)不和諧的課堂里,老師嘆氣道:“要是坐在后排聊天的同學(xué)能象中間打牌的同學(xué)那么安靜,就不會影響到前排睡覺的同學(xué)?!? ? 這個故事告訴我們,如果不想讓壞事傳播開來,就應(yīng)該把壞事隱藏起來,“家丑不可外揚”就是這個道理。 ? 為了盡量避免某個模塊的行為去干擾同一系統(tǒng)中的其它模塊,在設(shè)計模塊時就要注意信息隱藏。應(yīng)該讓模塊僅僅公開必須要讓外界知道的內(nèi)容,而隱藏其它一切內(nèi)容。 程序設(shè)計原理 模塊獨立性 ? 模塊獨立性指每個模塊只完成系統(tǒng)要求的獨立子功能,并且與其他模塊的聯(lián)系最少且接口簡單。 ? 用兩個定性的度量標(biāo)準(zhǔn) 耦合性( coupling)和內(nèi)聚性( cohesion) 來衡量模塊的獨立性。 程序設(shè)計原理 模塊獨立性 ( 1)耦合性( coupling) ? 耦合性也稱塊間聯(lián)系 。 指軟件系統(tǒng)結(jié)構(gòu)中各模塊間相互聯(lián)系緊密程度的一種度量。 ? 模塊之間 聯(lián)系越緊密 ,其 耦合性就越強 ,模塊的 獨立性則越差 。 ? 模塊間耦合高低 取決于 模塊間接口的復(fù)雜性、調(diào)用的方式及傳遞的信息。 程序設(shè)計原理 ? 耦合按從弱到強的順序可分為以下七種類型: ? 非直接耦合、數(shù)據(jù)耦合、標(biāo)記耦合、控制耦合、外部耦合、共通耦合、內(nèi)容耦合。 ? 按上述順序, 耦合性 逐漸 升高 ,模塊 獨立性 逐漸 降低 。 程序設(shè)計原理 非直接耦合 (Nondirect Coupling) 兩個模塊之間沒有直接關(guān)系,它們之間的聯(lián)系完是通過主模塊的控制和調(diào)用來實現(xiàn)的。 非直接耦合的 模塊獨立性最強 。 數(shù)據(jù)耦合 (Data Coupling) 一個模塊訪問另一個模塊時,彼此之間是通過 簡單數(shù)據(jù)參數(shù) (不是控制參數(shù)、公共數(shù)據(jù)結(jié)構(gòu)或外部變量 ) 來交換輸入、輸出信息的。 舉例: float B( float w){ // 計算水費 …. } 標(biāo)記耦合 (Stamp Coupling) 一組模塊通過參數(shù)表傳遞 記錄信息 ,就是標(biāo)記耦合。這個記錄是某一數(shù)據(jù)結(jié)構(gòu)的子結(jié)構(gòu),而不是簡單變量。 舉例: float B(struct Fee e){ // 計算水費 …. } struct Fee{ float w。 //水的用量 float h。 //房子的面積 } 控制耦合 (Control Coupling) 如果一個模塊通過傳送開關(guān)、標(biāo)志、名字等控制信息,明顯地控制選擇另一模塊的功能,就是控制耦合。 外部耦合( External Coupling) 模塊之間通過指定的外部設(shè)備、通信協(xié)議等環(huán)境因素耦合在一起 ,則稱之為外部耦合 。 公共耦合( Common Coupling) 若一組模塊都訪問 同一個公共數(shù)據(jù)環(huán)境 ,則它們之間的耦合就稱為公共耦合。公共的數(shù)據(jù)環(huán)境可以是全局?jǐn)?shù)據(jù)結(jié)構(gòu)、共享的通信區(qū)、內(nèi)存的公共覆蓋區(qū)等 。 內(nèi)容耦合 (Content Coupling) 如果發(fā)生下列情形,兩個模塊之間就發(fā)生了內(nèi)容耦合 (1) 一個模塊直接訪問另一個模塊的內(nèi)部數(shù)據(jù) 。 (2) 一個模塊不通過正常入口轉(zhuǎn)到另一模塊內(nèi)部 。 (3) 兩個模塊有一部分程序代碼重迭 (只可能出現(xiàn)在匯編語言中 )。 內(nèi)容耦合舉例 : int c。 A(int* a, int* b) { c = *a。 *a = *b。 *b = c。 } B(… ){ c = d。 //訪問了 A的內(nèi)部數(shù)據(jù) } 原則: 盡量使用數(shù)據(jù)耦合和標(biāo)記耦合 ,少用控制耦合,限制外部耦合和公共耦合的范圍,完全不用內(nèi)容耦合。 模塊獨立性 ( 2)內(nèi)聚性 ? 內(nèi)聚性又稱塊內(nèi)聯(lián)系 。 指模塊的 功能強度 的度量,即一個模塊內(nèi)部各個元素彼此結(jié)合的緊密程度的度量。 ? 若一個 模塊內(nèi)各元素 (語名之間、程序段之間) 聯(lián)系的越緊密 ,則它的 內(nèi)聚性就越高 。 程序設(shè)計原理 模塊獨立性 ( 2)內(nèi)聚性 ? 內(nèi)聚按強度從低到高共分七級: ? 巧合內(nèi)聚、邏輯內(nèi)聚、時間內(nèi)聚、過程內(nèi)聚、通信內(nèi)聚、信息內(nèi)聚、功能內(nèi)聚。 ? 內(nèi)聚性逐漸加強,功能趨于單一,模塊獨立性也逐漸加強。 程序設(shè)計原理 ? (2) 內(nèi)聚 模塊獨立性 功能內(nèi)聚 (Functional Cohesion) 模塊中的所有成員都是為了實現(xiàn)某一單一功能。 比如根據(jù)生日計算雇員年齡的子程序就是功能內(nèi)聚性的,因為它只完成一項工作,而且完成得很好。 信息內(nèi)聚(順序內(nèi)聚) (Informational Cohesion) 一個模塊內(nèi)的處理元素和同一個功能密切相關(guān),而且這些處理必須順序進(jìn)行 。 例: 假設(shè)有一個按給出的生日計算雇員年齡、退休時間的子程序,如果它是利用所計算的年齡來確定雇員將要退休的時間,那么它就具有順序內(nèi)聚性。 通信內(nèi)聚 (Communication Cohesion) 模塊內(nèi)所有處理元素都在同一個數(shù)據(jù)結(jié)構(gòu)上的操作。在一個模塊中,兩個操作只是使用相同數(shù)據(jù),而不存在其它任何聯(lián)系時產(chǎn)生的。 比如,在 GetNameAndChangePhoneNumber()這個子程序中,如果 Name 和 PhoneNumber 是放在同一個用戶記錄中的,那么這個子程序就是通訊內(nèi)聚性。 過程內(nèi)聚( Procedural Cohesion) 使用流程圖做為工具設(shè)計程序時,把流程圖中的某一部分劃出組成模塊,就得到過程內(nèi)聚模塊。 例如,把流程圖中的循環(huán)部分、判定部分、計算部分分成三個模塊,這三個模塊都是過程內(nèi)聚模塊。 時間內(nèi)聚( Classical Cohesion) 時間內(nèi)聚又稱為經(jīng)典內(nèi)聚。這種模塊大多為多功能模塊,但模塊的各個功能的執(zhí)行與時間有關(guān),通常要求所有功能必須在同一時間段內(nèi)執(zhí)行。 例如初始化模塊和終止模塊。 邏輯內(nèi)聚( Logical Cohesion) 這種模塊把幾種 相關(guān)的功能組合 在一起,每次被 調(diào)用時,由傳送 給模塊的判定參 數(shù)來確定該模塊 應(yīng)執(zhí)行哪一種功 能。 巧合內(nèi)聚( Coincidental Cohesion) 巧合內(nèi)聚 (偶然內(nèi)聚 )。當(dāng)模塊內(nèi)各部分之間沒有聯(lián)系,或者即使有聯(lián)系,這種聯(lián)系也很松散,則稱這種模塊為巧合內(nèi)聚模塊, 它是內(nèi)聚程度最低的模塊。 事實上,確定內(nèi)聚的精確級別是不必要的,重要的是 盡量爭取高內(nèi)聚和識別低內(nèi)聚 。 ? 模塊化的設(shè)計原則 ? ( 1)改進(jìn)軟件結(jié)構(gòu)提高模塊獨立性 ? ( 2)模塊規(guī)模應(yīng)該適中 ? ( 3)保持適當(dāng)?shù)纳热牒蜕瘸? ? ( 4)模塊的作用范圍應(yīng)在控制范圍之內(nèi) ? ( 5)力爭降低模塊接口的復(fù)雜程度 ? ( 6)設(shè)計單入口單出口的模塊 ? ( 7)模塊功能應(yīng)該可以預(yù)測 以上啟發(fā)式規(guī)則多數(shù)是經(jīng)驗數(shù)據(jù),對改進(jìn)設(shè)計,提高軟件質(zhì)量,有重要的參考價值 模塊化設(shè)計的啟發(fā)式原則 ? 例:若其中 B、 C、 D之間存在內(nèi)容耦合,可將它們合并為一個模塊 BCD,若 E、 F中有一個公共的子功能,可將該子功能獨立成一個模塊。 A B C D E F A BCD E′ F′ E′ F′ 模塊化設(shè)計的啟發(fā)式原則 ( 1)改進(jìn)軟件結(jié)構(gòu)提高模塊獨立性 ( 2)模塊規(guī)模應(yīng)該適中 ? 經(jīng)驗表明,模塊的規(guī)模要在一頁以內(nèi),模塊的總行數(shù)最好在 30~60行,這種規(guī)模易于閱讀和理解。 ? 過長的模塊往往是分解不充分的表現(xiàn),會增加閱讀理解的難度;但小模塊太多也會使模塊之間聯(lián)系變得復(fù)雜,增大系統(tǒng)在模塊調(diào)用時傳遞信息所花費的開銷,不值得單獨存在,可以把它合并到上級模塊中去。 ? 由于種種原因如功能和用途的約束,一個模塊可能會大于
點擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1