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

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

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

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

星星科技指導(dǎo)員 ? 來(lái)源:嵌入式計(jì)算設(shè)計(jì) ? 作者:JAY THOMAS ? 2022-11-10 17:11 ? 次閱讀

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

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

? 提高軟件可測(cè)試性? 提高軟件可維護(hù)性

? 減少變更

的影響? 簡(jiǎn)化軟件重用

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

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

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

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

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

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

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

讓我們看一個(gè)例子來(lái)闡明兩者之間的差異。

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

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

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

測(cè)量控制和數(shù)據(jù)耦合是通過(guò)控制和數(shù)據(jù)流分析的組合來(lái)實(shí)現(xiàn)的。控制流分析在調(diào)用層次結(jié)構(gòu)的程序和單個(gè)過(guò)程上執(zhí)行。

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

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

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

審核編輯:郭婷

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

    評(píng)論

    相關(guān)推薦

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

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

    原理圖模塊化,BOM 物料位號(hào)處理

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

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

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

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

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

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

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

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

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

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

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

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

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

    低成本、高性能,儲(chǔ)能變流器開(kāi)始走向模塊化

    。 ? 模塊化的PCS具有許多顯著優(yōu)勢(shì),例如靈活的配置、更高的效率和更好的可靠性,這使得它們?cè)诟鞣N規(guī)模的儲(chǔ)能系統(tǒng)中得到了廣泛應(yīng)用。其模塊化設(shè)計(jì)不僅方便了系統(tǒng)的擴(kuò)展和維護(hù),還提高了整體系統(tǒng)的靈活性和經(jīng)濟(jì)效益。 ? PCS 走向
    的頭像 發(fā)表于 09-25 00:10 ?3720次閱讀

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

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

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

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

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

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

    為什么模塊化配線架越來(lái)越受歡迎?

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

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

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

    什么是模塊化機(jī)房?

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