為可重用軟件模塊創(chuàng)建一致且適當(dāng)?shù)?a target="_blank">接口是嵌入式軟件設(shè)計(jì)中最關(guān)鍵和最受忽視的方面之一。接口通常是在飛行中開(kāi)發(fā)的,幾乎沒(méi)有預(yù)見(jiàn)到。但是為了確保軟件可以從一個(gè)應(yīng)用程序輕松地用于下一個(gè)應(yīng)用程序,每個(gè)開(kāi)發(fā)人員都應(yīng)該記住五個(gè)提示。
提示1 -從一個(gè)必需的列表開(kāi)始操作
在開(kāi)始為軟件模塊編寫(xiě)接口之前,開(kāi)發(fā)人員應(yīng)該花一些時(shí)間寫(xiě)出接口需要執(zhí)行的簡(jiǎn)單操作列表。該列表充當(dāng)開(kāi)發(fā)人員的便箋簿,以便思考接口需要做什么。模塊的操作是什么?它需要什么輸入?它將產(chǎn)生什么輸出?所有這三個(gè)問(wèn)題都需要回答。列表和問(wèn)題將作為設(shè)計(jì)界面的起點(diǎn)。
技巧#2 -使用UML類圖
UML類圖用于表示類,但也可用于表示模塊更重要的是,模塊接口。類圖的基本組件是由三個(gè)部分組成的框。第一部分(頂部)包含模塊的名稱。第二部分(中間)包含模塊的屬性。第三個(gè)也是最后一個(gè)部分用于定義接口公開(kāi)的操作和方法。
模塊的屬性可以被認(rèn)為是接口操作將要操作的私有和公共變量。屬性前面的加號(hào)表示它是公共的,并直接作為界面的一部分公開(kāi)。減號(hào)表示該屬性是私有的,只能通過(guò)使用界面公開(kāi)的操作在幕后進(jìn)行操作。將這些操作視為提示#1中列出的相同操作。圖1顯示了左側(cè)通用模塊定義的示例和EEPROM模塊的簡(jiǎn)化接口。
圖1 - 示例類/模塊圖
技巧#3 -將接口與實(shí)現(xiàn)分開(kāi)
當(dāng)開(kāi)始開(kāi)發(fā)模塊的接口時(shí),開(kāi)發(fā)人員應(yīng)該盡一切可能將接口與模塊的實(shí)現(xiàn)分開(kāi)。接口的面向公眾的部分的詳細(xì)信息都應(yīng)該包含在頭文件中,在這種情況下,頭文件定義了模塊的接口。實(shí)現(xiàn)細(xì)節(jié)應(yīng)保存在源文件中。將實(shí)現(xiàn)細(xì)節(jié)與接口分開(kāi),開(kāi)始為開(kāi)發(fā)人員提供隱藏實(shí)現(xiàn)的能力。這種隱藏導(dǎo)致了模塊類的抽象,并提供了以后重新定義實(shí)現(xiàn)而不影響接口的能力。
技巧#4 -使用抽象數(shù)據(jù)類型
要求總是改變并預(yù)測(cè)要求如何變化通常是徒勞的,即使一個(gè)人配備了水晶球。抽象數(shù)據(jù)類型旨在幫助開(kāi)發(fā)人員處理不斷變化的需求。例如,在頭文件中定義為接口的一部分的數(shù)據(jù)結(jié)構(gòu)。引用頭文件的任何模塊都能夠基于該數(shù)據(jù)結(jié)構(gòu)創(chuàng)建和修改數(shù)據(jù)。當(dāng)需求發(fā)生變化并且數(shù)據(jù)結(jié)構(gòu)發(fā)生變化時(shí),結(jié)果是需要為使用頭文件的任何文件提供更新。
如果開(kāi)發(fā)人員創(chuàng)建了一個(gè)抽象數(shù)據(jù)類型,其中數(shù)據(jù)結(jié)構(gòu)的詳細(xì)信息隱藏在實(shí)現(xiàn)中,則只需要更新源文件實(shí)現(xiàn)。使用頭文件的任何模塊都將繼續(xù)使用公共接口,底層實(shí)現(xiàn)將處理更改的數(shù)據(jù)類型。
提示#5 -封裝數(shù)據(jù)
計(jì)算機(jī)科學(xué)課程中教授的第一個(gè)概念之一是變量或?qū)ο髴?yīng)限于可能的最小程序范圍。類似地,如何實(shí)現(xiàn)接口的細(xì)節(jié)應(yīng)限于需要知道的基礎(chǔ)。開(kāi)發(fā)人員應(yīng)嘗試從模塊的用戶中隱藏盡可能多的數(shù)據(jù)和實(shí)現(xiàn)。隱藏細(xì)節(jié)有助于防止用戶直接操作模塊的內(nèi)部數(shù)據(jù),這可能導(dǎo)致模塊進(jìn)入未知或不一致?tīng)顟B(tài)。
最終想法
發(fā)展充滿了不斷變化的需求和短暫的開(kāi)發(fā)周期。使用適當(dāng)?shù)慕缑嬖O(shè)計(jì)技術(shù)可以改善軟件的整體設(shè)計(jì),并最大限度地減少不斷變化的需求移動(dòng)目標(biāo)的影響。我們已經(jīng)研究了五個(gè)設(shè)計(jì)界面的簡(jiǎn)單技巧。在開(kāi)發(fā)經(jīng)得起時(shí)間考驗(yàn)的界面時(shí),開(kāi)發(fā)人員應(yīng)該考慮哪些其他注意事項(xiàng)?
-
嵌入式
+關(guān)注
關(guān)注
5143文章
19563瀏覽量
315522 -
PCB打樣
+關(guān)注
關(guān)注
17文章
2977瀏覽量
22383 -
華強(qiáng)PCB
+關(guān)注
關(guān)注
8文章
1831瀏覽量
28467 -
華強(qiáng)pcb線路板打樣
+關(guān)注
關(guān)注
5文章
14629瀏覽量
43778
發(fā)布評(píng)論請(qǐng)先 登錄
可重用機(jī)床編碼技術(shù)及重構(gòu)算法研究
C語(yǔ)言接口與實(shí)現(xiàn)--創(chuàng)建可重用軟件的技術(shù)
c接口和實(shí)現(xiàn):創(chuàng)建可重用軟件的技術(shù) 源碼下載
單片機(jī)接口全套學(xué)習(xí)資料(接口設(shè)計(jì)資料+學(xué)習(xí)書(shū)籍)
以太網(wǎng)一致性測(cè)試硬件軟件
算法運(yùn)行時(shí)間軟件仿真和硬件仿真不一致
經(jīng)典C語(yǔ)言接口與實(shí)現(xiàn):創(chuàng)建可重用軟件的技術(shù)
數(shù)字可視接口(DVI)一致性測(cè)試
RFID協(xié)議一致性測(cè)試系統(tǒng)設(shè)計(jì)(二)

加速器一致性接口
一致性哈希是什么?為什么它是可擴(kuò)展的分布式系統(tǒng)架構(gòu)的一個(gè)必要工具
《C語(yǔ)言接口與實(shí)現(xiàn):創(chuàng)建可重用軟件的技術(shù)》電子教材免費(fèi)下載
C語(yǔ)言接口與實(shí)現(xiàn)創(chuàng)建可重用軟件的技術(shù)PDF電子書(shū)免費(fèi)下載

NVIDIA DOCA 軟件框架可提供一致開(kāi)發(fā)體驗(yàn)

可重用的驗(yàn)證組件中構(gòu)建測(cè)試平臺(tái)的步驟

評(píng)論