0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

模塊化滿足數(shù)據(jù)和控制耦合

星星科技指導(dǎo)員 ? 來源:嵌入式計算設(shè)計 ? 作者:JAY THOMAS ? 2022-11-01 11:15 ? 次閱讀

自軟件工程學(xué)科誕生以來,模塊化一直是永恒的口號之一。這種結(jié)構(gòu)化設(shè)計和功能分解方法將軟件分解為具有明確接口的明確定義的功能單元或模塊。這種方法的成熟價值是高質(zhì)量的軟件。但是,當您采用模塊化時,軟件測試必須檢查模塊組合在一起并交互的方式。這種測試被稱為“數(shù)據(jù)和控制耦合”。

讓我們來了解一下如何使用軟件系統(tǒng)中的控制和數(shù)據(jù)耦合來評估系統(tǒng)的模塊化,并提供寶貴的好處,包括:

? 提高軟件可測試性? 提高軟件可維護性

? 減少變更

的影響? 簡化軟件重用

術(shù)語“內(nèi)聚”描述了模塊化軟件組件的屬性。具有明確定義的接口并獨立于其他模塊運行的模塊被認為具有高水平的內(nèi)聚力。例如,命令行 MD5 加密哈希生成器是演示高級別內(nèi)聚的軟件組件的示例。輸入是任何描述的數(shù)據(jù)對象(例如文件),輸出是base-64哈希表示。由于哈希生成器采用單個輸入,提供單個輸出并且沒有外部依賴項,因此它被認為表現(xiàn)出高水平的內(nèi)聚力。

光譜的另一端是飛行控制系統(tǒng)。這些高度依賴于飛機的當前狀態(tài)(例如,飛機是否在地面上)和傳入的飛行數(shù)據(jù)流(例如,空速、高度、姿態(tài)等),因此具有低水平的內(nèi)聚力。

凝聚力會顯著影響任何試圖從一個系統(tǒng)中提取軟件模塊以便在另一個系統(tǒng)中重用的人,他們會很樂意告訴你關(guān)于阻礙的隱藏依賴關(guān)系的戰(zhàn)爭故事。問題就在這里:如果模塊不是真正內(nèi)聚的,那么怎么可能在它的所有依賴項的上下文中測試每個模塊呢?為此,您必須了解軟件模塊之間存在的耦合。這種耦合提供了一種衡量軟件內(nèi)聚力的方法,還提供了可用于評估和提高軟件質(zhì)量的指標。

耦合的概念在1980年Meiler Page-Jones的《結(jié)構(gòu)化系統(tǒng)設(shè)計實用指南》一書中定義為“一個模塊對另一個模塊的依賴程度;具體來說,衡量一個模塊中的缺陷在另一個模塊中顯示為缺陷的可能性,或者一個模塊中的更改需要更改另一個模塊的可能性。

他確定了耦合的兩種基本風格,并將它們定義為:

? 控制耦合 - 一種耦合類型,其中一個模塊將信息傳達給另一個模塊,以明確影響后者

? 數(shù)據(jù)耦合 - 一種耦合形式,其中一個模塊將信息傳達給另一個模塊

讓我們看一個例子來闡明兩者之間的差異。

飛機發(fā)動機控制系統(tǒng)消耗高度和空速等空氣數(shù)據(jù)信息,但是當飛機在地面和空中時,使用不同的控制算法。選擇使用哪種算法由起落架系統(tǒng)的“車輪重量”信號決定,該信號指示飛機是否在地面上。在此示例中,發(fā)動機控制系統(tǒng)對高度和空速數(shù)據(jù)流的依賴性表明與提供它們的系統(tǒng)存在很強的數(shù)據(jù)耦合。同樣,“車輪上的重量”信號表示發(fā)動機控制系統(tǒng)和起落架系統(tǒng)之間的強控制耦合。

耦合指標可用于在整個軟件設(shè)計和驗證過程中提高軟件質(zhì)量。目的是表明軟件模塊僅以軟件設(shè)計預(yù)期的方式相互影響,確保沒有計劃外、異?;蝈e誤的行為。在設(shè)計過程中記錄數(shù)據(jù)和控制耦合提供了一組在軟件集成過程中進行測試的要求。同樣,確保在軟件測試期間執(zhí)行模塊之間的數(shù)據(jù)和控制耦合,表明軟件的集成和架構(gòu)得到了充分驗證。

許多準則,例如定義民用機載系統(tǒng)創(chuàng)建適航法規(guī)的DO-178C標準,要求對安全關(guān)鍵軟件進行控制和數(shù)據(jù)耦合評估,以確保滿足這些設(shè)計,集成和測試目標。同樣,英國國防部標準 00-55“國防設(shè)備中安全相關(guān)軟件的要求”要求使用控制和數(shù)據(jù)耦合等指標來評估軟件模塊化。

測量控制和數(shù)據(jù)耦合是通過控制和數(shù)據(jù)流分析的組合來實現(xiàn)的??刂屏鞣治鲈谡{(diào)用層次結(jié)構(gòu)的程序和單個過程上執(zhí)行。

數(shù)據(jù)流分析通過源代碼跟蹤變量,并報告任何異常使用。此檢查在過程級別和作為系統(tǒng)范圍分析的一部分執(zhí)行。這是一種非常強大的技術(shù),不僅可以為數(shù)據(jù)耦合評估提供基礎(chǔ),還可以檢測其他嚴重問題,例如在初始化之前使用的變量或在其邊界之外訪問的數(shù)組。

盡管從命名中很容易假設(shè)控制流分析提供了控制耦合和數(shù)據(jù)耦合的數(shù)據(jù)流分析的可見性,但事實并非如此??刂屏骱蛿?shù)據(jù)流分析對于評估控制和數(shù)據(jù)耦合都是必要的。

無論正在開發(fā)的軟件是否對安全至關(guān)重要,通過控制和數(shù)據(jù)耦合來測量軟件模塊的內(nèi)聚力都有助于提高軟件可測試性和可維護性,同時減少變更的影響,簡化軟件重用。

審核編輯:郭婷

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 發(fā)動機
    +關(guān)注

    關(guān)注

    33

    文章

    2486

    瀏覽量

    69488
  • 控制系統(tǒng)
    +關(guān)注

    關(guān)注

    41

    文章

    6642

    瀏覽量

    110721
收藏 人收藏

    評論

    相關(guān)推薦

    智能模塊化數(shù)據(jù)中心煥新上市:不止IMDC更是AIDC

    可在到達客戶現(xiàn)場前實現(xiàn)工廠預(yù)制及全面檢測,通過邊緣控制層級的智能管理及數(shù)字運維軟件APP,幫助客戶實現(xiàn)快速部署,實現(xiàn)端到端一站式交付和遠程數(shù)字管理。 作為全新部署于智算邊緣的IMDC智能
    的頭像 發(fā)表于 01-09 11:05 ?87次閱讀
    智能<b class='flag-5'>模塊化</b><b class='flag-5'>數(shù)據(jù)</b>中心煥新上市:不止IMDC更是AIDC

    原理圖模塊化,BOM 物料位號處理

    原理圖模塊化,BOM 物料位號的處理問題 原理圖模塊化,把常用的模塊保存成一個PART(在TOOL 菜單下 選擇 Generate Part)。保存成OLB格式。使用的時候,就像使用元器件一樣,從
    發(fā)表于 01-03 08:22

    華為預(yù)制模塊化數(shù)據(jù)中心連續(xù)十年蟬聯(lián)全球第一

    近日,第三方國際權(quán)威機構(gòu)Omdia發(fā)布《2023全球預(yù)制模塊化數(shù)據(jù)中心報告》,對全球預(yù)制模塊化數(shù)據(jù)中心市場動態(tài)、市場份額、發(fā)展趨勢進行洞察和分析。報告顯示,2023年華為預(yù)制
    的頭像 發(fā)表于 12-31 11:41 ?249次閱讀

    精密空調(diào)—模塊化精密空調(diào)方案,讓數(shù)據(jù)中心更可靠!

    隨著信息技術(shù)的飛速發(fā)展,數(shù)據(jù)中心作為信息存儲與處理的核心,對精密空調(diào)的穩(wěn)定性與精確性提出了更高要求。模塊化機房精密空調(diào)以其高效、節(jié)能、靈活的特點,成為現(xiàn)代數(shù)據(jù)中心的首選解決方案。 模塊化
    的頭像 發(fā)表于 12-17 09:23 ?168次閱讀
    精密空調(diào)—<b class='flag-5'>模塊化</b>精密空調(diào)方案,讓<b class='flag-5'>數(shù)據(jù)</b>中心更可靠!

    全球第四 科華數(shù)據(jù)蟬聯(lián)全球模塊化UPS榜單

    近日,第三方權(quán)威機構(gòu)Omdia發(fā)布《2024全球模塊化UPS市場報告》,對全球模塊化UPS市場動向、市場份額及發(fā)展趨勢等進行了分析與洞察。報告顯示,作為模塊化UPS的創(chuàng)新引領(lǐng)者,科華數(shù)據(jù)
    的頭像 發(fā)表于 12-13 14:51 ?385次閱讀
    全球第四 科華<b class='flag-5'>數(shù)據(jù)</b>蟬聯(lián)全球<b class='flag-5'>模塊化</b>UPS榜單

    模塊化示波器的技術(shù)原理和應(yīng)用

    變化。 模塊化設(shè)計: 模塊化示波器采用模塊化設(shè)計,使得用戶可以根據(jù)實際需求選擇不同的功能模塊進行組合,從而滿足不同的測量需求。 這種設(shè)計不
    發(fā)表于 12-11 14:20

    模塊化儀器的技術(shù)原理和應(yīng)用場景

    不是嵌入在儀器框架或包裝中的顯示和控制。 軟件驅(qū)動:模塊化儀器通常沒有自己的用戶界面,因此被稱為無面儀器。它們通過共享計算機顯示器和鍵盤/鼠標進行操作,并通過編程軟件接口(驅(qū)動程序)與儀器模塊進行通信
    發(fā)表于 11-28 15:09

    模塊化插座接線方法有哪些

    模塊化插座,也稱為模塊化電源插座或模塊化PDU(Power Distribution Unit),是一種可以根據(jù)需要靈活配置電源插座和接口的設(shè)備。這種設(shè)計允許用戶根據(jù)具體的用電需求,選擇不同的
    的頭像 發(fā)表于 10-18 09:50 ?686次閱讀

    研華工控機的模塊化設(shè)計,復(fù)雜應(yīng)用場景的靈活解決方案!

    工控機模塊化設(shè)計是工業(yè)自動和嵌入式系統(tǒng)領(lǐng)域的重要趨勢。靈活、可擴展的設(shè)計,使得用戶可以根據(jù)實際需求,選擇合適的模塊進行組合,形成高度定制的工控機產(chǎn)品,從而
    的頭像 發(fā)表于 09-07 09:58 ?421次閱讀
    研華工控機的<b class='flag-5'>模塊化</b>設(shè)計,復(fù)雜應(yīng)用場景的靈活解決方案!

    安波福模塊化連接器的優(yōu)勢

    “整個藍圖中缺失的部分就是一種新型連接器,它可以實現(xiàn)自動、實現(xiàn)所需的連接器密度并滿足當今架構(gòu)的所有要求,同時為OEM提供其個性架構(gòu)設(shè)計所需的靈活性。這就是模塊化連接器的用武之地?!?/div>
    的頭像 發(fā)表于 08-16 14:39 ?468次閱讀

    模塊化不間斷電源和傳統(tǒng)差距,安裝位置方面

    設(shè)計的模塊化架構(gòu),用戶可以根據(jù)需要添加或刪除模塊來擴展UPS系統(tǒng)。這使得擴展UPS的容量更加容易,以滿足不斷變化的電力需求。傳統(tǒng)UPS:傳統(tǒng)UPS系統(tǒng)容量固定,不易擴展。為
    的頭像 發(fā)表于 06-25 09:34 ?351次閱讀
    <b class='flag-5'>模塊化</b>不間斷電源和傳統(tǒng)差距,安裝位置方面

    新品 | 英飛凌模塊化應(yīng)用設(shè)計套件MADK兼容的控制

    新品英飛凌模塊化應(yīng)用設(shè)計套件MADK兼容的控制板EVAL-XMC4800PSOC6M5是一款控制板,與帶有M5連接器的英飛凌模塊化應(yīng)用設(shè)計套件MADK兼容。它可以方便地評估M5接口的M
    的頭像 發(fā)表于 05-06 08:13 ?367次閱讀
    新品 | 英飛凌<b class='flag-5'>模塊化</b>應(yīng)用設(shè)計套件MADK兼容的<b class='flag-5'>控制</b>板

    為什么模塊化配線架越來越受歡迎?

    由于現(xiàn)有的布線基礎(chǔ)設(shè)施無法滿足互聯(lián)網(wǎng)連接設(shè)備不斷增長的需求,企業(yè)必須最大限度地提高網(wǎng)絡(luò)帶寬以滿足客戶需求,這將導(dǎo)致光纖密度增加和維護困難。模塊化配線架以其獨特的優(yōu)勢可以為高密度光纖布線設(shè)計提
    的頭像 發(fā)表于 04-07 10:33 ?413次閱讀

    模塊化機房:數(shù)據(jù)中心的未來

    隨著數(shù)字轉(zhuǎn)型加速,數(shù)據(jù)中心已成為企業(yè)運營的核心。傳統(tǒng)的數(shù)據(jù)中心面臨空間利用不足、能源效率低下、擴展性差和維護成本高等問題。模塊化機房應(yīng)運而生,它不僅克服了傳統(tǒng)設(shè)計的局限,還為
    的頭像 發(fā)表于 03-12 17:26 ?956次閱讀

    什么是模塊化機房?

    在這個數(shù)據(jù)驅(qū)動的時代,數(shù)據(jù)中心的作用變得日益重要。而模塊化機房,作為一種創(chuàng)新的數(shù)據(jù)中心解決方案,正在逐漸改變我們構(gòu)建和管理這些關(guān)鍵設(shè)施的方式。但究竟什么是
    的頭像 發(fā)表于 03-12 15:05 ?1528次閱讀